waf: bring back shared Makefile and configure (needed by s3-waf).
authorGünther Deschner <gd@samba.org>
Tue, 8 Feb 2011 19:44:55 +0000 (20:44 +0100)
committerGünther Deschner <gd@samba.org>
Tue, 8 Feb 2011 19:44:55 +0000 (20:44 +0100)
Guenther

Revert "build: removed unused build scripts"

This reverts commit 2e520ca91180920e4c8b71be4eaa7fabb56d2a12.

buildtools/scripts/Makefile.waf [new file with mode: 0644]
buildtools/scripts/autogen-waf.sh [new file with mode: 0755]
buildtools/scripts/configure.waf [new file with mode: 0755]

diff --git a/buildtools/scripts/Makefile.waf b/buildtools/scripts/Makefile.waf
new file mode 100644 (file)
index 0000000..716ab93
--- /dev/null
@@ -0,0 +1,72 @@
+# simple makefile wrapper to run waf
+
+WAF_BINARY=BUILDTOOLS/bin/waf
+WAF=WAF_MAKE=1 $(WAF_BINARY)
+
+all:
+       $(WAF) build
+
+install:
+       $(WAF) install
+
+uninstall:
+       $(WAF) uninstall
+
+test:
+       $(WAF) test $(TEST_OPTIONS)
+
+help:
+       @echo NOTE: to run extended waf options use $(WAF_BINARY) or modify your PATH
+       $(WAF) --help
+
+testenv:
+       $(WAF) test --testenv $(TEST_OPTIONS)
+
+quicktest:
+       $(WAF) test --quick $(TEST_OPTIONS)
+
+dist:
+       $(WAF) dist
+
+distcheck:
+       $(WAF) distcheck
+
+clean:
+       $(WAF) clean
+
+distclean:
+       $(WAF) distclean
+
+reconfigure: configure
+       $(WAF) reconfigure
+
+show_waf_options:
+       $(WAF) --help
+
+# some compatibility make targets
+everything: all
+
+testsuite: all
+
+check: test
+
+torture: all
+
+# this should do an install as well, once install is finished
+installcheck: test
+
+etags:
+       $(WAF) etags
+
+ctags:
+       $(WAF) ctags
+
+bin/%:: FORCE
+       $(WAF) --targets=`basename $@`
+FORCE:
+
+configure: autogen-waf.sh BUILDTOOLS/scripts/configure.waf
+       ./autogen-waf.sh
+
+Makefile: autogen-waf.sh configure BUILDTOOLS/scripts/Makefile.waf
+       ./autogen-waf.sh
diff --git a/buildtools/scripts/autogen-waf.sh b/buildtools/scripts/autogen-waf.sh
new file mode 100755 (executable)
index 0000000..7a6e94c
--- /dev/null
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+p=`dirname $0`
+
+echo "Setting up for waf build"
+
+echo "Looking for the buildtools directory"
+
+d="buildtools"
+while test \! -d "$p/$d"; do d="../$d"; done
+
+echo "Found buildtools in $p/$d"
+
+echo "Setting up configure"
+rm -f $p/configure $p/include/config*.h*
+sed "s|BUILDTOOLS|$d|g;s|BUILDPATH|$p|g" < "$p/$d/scripts/configure.waf" > $p/configure
+chmod +x $p/configure
+
+echo "Setting up Makefile"
+rm -f $p/makefile $p/Makefile
+sed "s|BUILDTOOLS|$d|g" < "$p/$d/scripts/Makefile.waf" > $p/Makefile
+
+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
diff --git a/buildtools/scripts/configure.waf b/buildtools/scripts/configure.waf
new file mode 100755 (executable)
index 0000000..a7d8d1d
--- /dev/null
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+PREVPATH=`dirname $0`
+
+WAF=BUILDTOOLS/bin/waf
+
+# using JOBS=1 gives maximum compatibility with
+# systems like AIX which have broken threading in python
+JOBS=1
+export JOBS
+
+cd BUILDPATH || exit 1
+$WAF configure "$@" || exit 1
+cd $PREVPATH