summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Bartlett <abartlet@samba.org>2012-06-01 09:48:20 +1000
committerAndrew Bartlett <abartlet@samba.org>2012-06-01 03:04:27 +0200
commit403dda3c22752bc117d2c842aea8445f84a0cfa0 (patch)
treeb23bd78517870ea8925f7ca4cbdc12d565fadea4
parent50d4c96d66b876741672f8ce4744891e713f3a3f (diff)
downloadsamba-403dda3c22752bc117d2c842aea8445f84a0cfa0.tar.gz
samba-403dda3c22752bc117d2c842aea8445f84a0cfa0.tar.bz2
samba-403dda3c22752bc117d2c842aea8445f84a0cfa0.zip
build: Add automatic compare of config.h files to recursive waf build
This uses the fact that we have both build systems running at the same time. The krb5 checks are skipped because we typically are comparing internal Heimdal with the system krb5, so they do not make sense. The required checks for krb5 are pretty well understood in any case, as we have a limited set of supported libraries. Andrew Bartlett
-rw-r--r--buildtools/compare_config_h3-exceptions.grep10
-rwxr-xr-xbuildtools/compare_config_h3.sh14
-rw-r--r--source3/Makefile-smbtorture47
3 files changed, 27 insertions, 4 deletions
diff --git a/buildtools/compare_config_h3-exceptions.grep b/buildtools/compare_config_h3-exceptions.grep
new file mode 100644
index 0000000000..aa8851f5cb
--- /dev/null
+++ b/buildtools/compare_config_h3-exceptions.grep
@@ -0,0 +1,10 @@
+^.define HAVE_.*KRB5
+^.define HAVE_.*KEYTAB
+^.define HAVE__ET_LIST
+^.define HAVE_LIBK5CRYPTO
+^.define HAVE_GSS
+^.define static
+^.define STATIC
+^.define PACKAGE
+^.define STRING_STATIC_MODULES
+^.define perfcount_test_init
diff --git a/buildtools/compare_config_h3.sh b/buildtools/compare_config_h3.sh
index 294af30930..a56dd2a147 100755
--- a/buildtools/compare_config_h3.sh
+++ b/buildtools/compare_config_h3.sh
@@ -3,17 +3,25 @@
# compare the generated config.h from a waf build with existing samba
# build
-OLD_CONFIG=$HOME/samba_old/source3/include/config.h
+OLD_CONFIG=source3/include/autoconf/config.h
if test "x$1" != "x" ; then
OLD_CONFIG=$1
fi
+NEW_CONFIG=bin/default/include/config.h
+if test "x$2" != "x" ; then
+ NEW_CONFIG=$2
+fi
+
+EXCEPTIONS=`dirname $0`/compare_config_h3-exceptions.grep
+
if test "x$DIFF" = "x" ; then
DIFF="comm -23"
fi
-grep "^.define" bin/default/source3/include/config.h | sort > waf-config.h
-grep "^.define" $OLD_CONFIG | sort > old-config.h
+grep "^.define" $NEW_CONFIG | grep -v -f $EXCEPTIONS | sort > waf-config.h
+grep "^.define" $OLD_CONFIG | grep -v -f $EXCEPTIONS | sort > old-config.h
$DIFF old-config.h waf-config.h
+rm -f old-config.h waf-config.h
diff --git a/source3/Makefile-smbtorture4 b/source3/Makefile-smbtorture4
index c2fe87a297..bd1764b486 100644
--- a/source3/Makefile-smbtorture4
+++ b/source3/Makefile-smbtorture4
@@ -10,7 +10,7 @@ samba4-configure:
.PHONY: samba4-configure
-bin/smbtorture4: $(BINARY_PREREQS) samba4-configure
+bin/smbtorture4: $(BINARY_PREREQS) samba4-configure samba4-config-compare
cd .. && $(WAF_BUILD) --targets=smbtorture
cp ../bin/smbtorture bin/smbtorture4
@@ -21,3 +21,8 @@ bin/ndrdump4: $(BINARY_PREREQS) samba4-configure
cp ../bin/ndrdump bin/ndrdump4
.PHONY: bin/ndrdump4
+
+samba4-config-compare: samba4-configure
+ @echo "Comparing config.h from autoconf and waf"
+ @echo "Configure checks missing from WAF are:"
+ ../buildtools/compare_config_h3.sh include/autoconf/config.h ../bin/default/include/config.h