diff options
author | Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de> | 2010-04-08 12:38:17 +0200 |
---|---|---|
committer | Matthias Dieter Wallnöfer <mwallnoefer@yahoo.de> | 2010-04-08 14:14:24 +0200 |
commit | f3f82496ac1198ffa65d5b2a052838248e0685aa (patch) | |
tree | 4b7c64fda27f6b5b5ec61179e8265cf9bb90594e | |
parent | bf4189eb80246b3fc1fe0cf90cd790ac0b1e0e56 (diff) | |
download | samba-f3f82496ac1198ffa65d5b2a052838248e0685aa.tar.gz samba-f3f82496ac1198ffa65d5b2a052838248e0685aa.tar.bz2 samba-f3f82496ac1198ffa65d5b2a052838248e0685aa.zip |
s4:WAF buildsystem - support out of "source4" directory builds
Bug: https://bugzilla.samba.org/show_bug.cgi?id=4081
With this patch we are able to invoke s4 builds from the outside of the
"source4" directory (but the target remains the "source4/bin" path).
One constraint: all commands: "autogen-waf.sh", "configure", "make" have to be
run from the same directory!
Regarding "make": you have to run it using "make -C <source4 path> [targets]" if
the invoke directory is not "source4" itself.
-rwxr-xr-x | buildtools/scripts/configure.waf | 3 | ||||
-rwxr-xr-x | source4/autogen-waf.sh | 22 |
2 files changed, 17 insertions, 8 deletions
diff --git a/buildtools/scripts/configure.waf b/buildtools/scripts/configure.waf index a6367e7314..79a7a35c5d 100755 --- a/buildtools/scripts/configure.waf +++ b/buildtools/scripts/configure.waf @@ -1,5 +1,6 @@ #!/bin/sh +PREVPATH=`dirname $0` WAF=BUILDTOOLS/bin/waf @@ -8,4 +9,6 @@ WAF=BUILDTOOLS/bin/waf JOBS=1 export JOBS +cd BUILDPATH $WAF configure $* +cd $PREVPATH diff --git a/source4/autogen-waf.sh b/source4/autogen-waf.sh index 9cb144afcf..a3aa979f51 100755 --- a/source4/autogen-waf.sh +++ b/source4/autogen-waf.sh @@ -1,22 +1,28 @@ #!/bin/sh +p=`dirname $0` + echo "Setting up for waf build" echo "Looking for the buildtools directory" d="buildtools" -while test \! -d $d; do d="../$d"; done +while test \! -d "$p/$d"; do d="../$d"; done -echo "Found buildtools in $d" +echo "Found buildtools in $p/$d" echo "Setting up configure" -rm -f configure -sed "s|BUILDTOOLS|$d|g" < "$d/scripts/configure.waf" > configure -chmod +x configure +rm -f $p/configure +sed "s|BUILDTOOLS|$d|g;s|BUILDPATH|$p|g" < "$p/$d/scripts/configure.waf" > $p/configure +chmod +x $p/configure echo "Setting up makefile" # this relies on the fact that make looks for 'makefile' before 'Makefile' -rm -f makefile -sed "s|BUILDTOOLS|$d|g" < "$d/scripts/Makefile.waf" > makefile +rm -f $p/makefile +sed "s|BUILDTOOLS|$d|g" < "$p/$d/scripts/Makefile.waf" > $p/makefile -echo "done. Now run ./configure or ./configure.developer then make" +echo "done. Now run $p/configure or $p/configure.developer then make." +if [ $p != "." ]; then + echo "Notice: The build invoke path is not 'source4'! Use make with the parameter" + echo "-C <'source4' path>. Example: make -C source4 all" +fi |