summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2010-04-08 12:38:17 +0200
committerMatthias Dieter Wallnöfer <mwallnoefer@yahoo.de>2010-04-08 14:14:24 +0200
commitf3f82496ac1198ffa65d5b2a052838248e0685aa (patch)
tree4b7c64fda27f6b5b5ec61179e8265cf9bb90594e
parentbf4189eb80246b3fc1fe0cf90cd790ac0b1e0e56 (diff)
downloadsamba-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-xbuildtools/scripts/configure.waf3
-rwxr-xr-xsource4/autogen-waf.sh22
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