On Monday 10 November 2003 17:51, you wrote:
> Benjamin Franksen wrote:
> > Including other makefiles doesn't work because convertRelease.pl
> > just looks at definitions (of the form NAME=VALUE), not at
> > everything (gnu-)make understands (include, etc...).
>
> The configure/RELEASE file was designed to contain only filesystem
> location information for the build system to use, and the syntax must
> be reasonably simple because we don't want to make the parser too
> complicated
I was not proposing to make convertRelease.pl more intelligent. I was
proposing the exact opposite i.e. use the existing gnumake we already
have and make the script simpler. The only defect is: With what I
proposed environment variables are not easily ruled out of the picture,
since EPICS build process depends on one or two env vars to work
correctly.
Also note that RELEASE is included in EPICS makefiles, which suggests to
the unsuspecting non-epert that other make variables may be used in
RELEASE.
> (we can't do everything with just gnumake which is why we
> have to parse it ourselves).
Yes (to the first statement) and no (to the second). As i already
demonstrated, expanding the right hand side to the final values is
easily possible from inside gnumake.
Another solution would be start an independent make run (one more will
hardly slow things down) with dedicated makefile and appropriate
options set (no environment, none of the other standard EPICS make
variables defined).
> Any other build configuration
> information should probably be in the configure/CONFIG or
> configure/CONFIG_APP files instead.
>
> The convertRelease.pl parser understands include statements that
> point to other RELEASE files, causing it to read and parse them in
> turn.
Yes, if their filename starts with "RELEASE", which i discovered just
now. Note that parsing RELEASE file is around since approx. 3.13.2,
when it was called makeConfigAppInclude.pl and could neither expand
variables in definitions nor include other files.
Ben
P.S. Have you ever read "Recursive Make Considered Harmful" (http://
www.tip.net.au/~millerp/rmch/recu-make-cons-harm.html)? If not, do.
Then let us discuss how the EPICS build system should be redesigned so
that things like parsing configure/RELEASE files (in order to partly
re-implement make) won't any longer be necessary. Discussions like the
above are IMO just another symptom for the general recursive make
disease.
- References:
- configure/RELEASE contents Geoff Savage
- Re: configure/RELEASE contents Benjamin Franksen
- Re: configure/RELEASE contents Andrew Johnson
- Navigate by Date:
- Prev:
Re: syncronisation bettween records kuner
- Next:
Re: Help about building a example under cygwin Geoff Savage
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
<2003>
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
Re: configure/RELEASE contents Andrew Johnson
- Next:
building et_wish on HP-UX Bill Cruise
- Index:
1994
1995
1996
1997
1998
1999
2000
2001
2002
<2003>
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
|