DragonFly kernel List (threaded) for 2005-01
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]
Re: link: "Recursive Make Considered Harmful"
On Wed, 2005-01-12 at 23:24, Jonas Sundström wrote:
> Andrew Hacking <ahacking@xxxxxxxxxxxxxxx> wrote:
> ...
> > My interpretation of the documentation was that it is impossible to
> > invoke an external tool and assign the output of a command to a
> > variable. This seemed a serious limitation _if_ that is the case,
> > and
> > rules out interfacing source code control systems, or whatever.
>
> It looks possible, but I'm not that familiar with Jam.
>
> actions AbsSymLink
> {
> target="$(2)"
> case "$target" in
> /*) ;;
> *) target=`pwd`/"$target";;
> esac
> $(RM) "$(1)" && $(LN) -s "$target" "$(1)"
> }
>
> Snippet taken from here:
> http://cvs.sourceforge.net/viewcvs.py/*checkout*/open-beos/current/Jamfile?rev=1.28
> http://cvs.sourceforge.net/viewcvs.py/*checkout*/open-beos/current/Jamrules?rev=1.138
> (top level Jamfile and Jamrules)
>
> Two sub Jamfiles. Looks simple enough:
> http://cvs.sourceforge.net/viewcvs.py/*checkout*/open-beos/current/src/apps/showimage/Jamfile?rev=1.8
> http://cvs.sourceforge.net/viewcvs.py/*checkout*/open-beos/current/src/libs/zlib/Jamfile?rev=1.6
>
> /Jonas Sundström. www.kirilla.com
>
Jam actions are used during the updating/construction phase, not the
parsing phase, so the above does not allow variables to be assigned that
could affect the dependency graph which is built _prior_ to the
update/construction phase.
This would appear to inhibit the possibility of any dependency handling
where source code and/or additional jam files need to be checked out or
fetched as part of the build. It would prevent fetching code, extracting
tar-balls, patching and building like the ports system does.
It would seem that systems which require *all dependency knowledge* up
front are inappropriate where it is desirable to _not_ have a
pre-patched universe checked out on your machine, unless of course you
recursively used the build tool..and now we have come full circle to the
typical recursive make approach.
-Andrew Hacking.
[
Date Prev][
Date Next]
[
Thread Prev][
Thread Next]
[
Date Index][
Thread Index]