summaryrefslogtreecommitdiffstats
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.xz
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 00000000000..aa8851f5cb8
--- /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 294af30930d..a56dd2a147d 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 c2fe87a2973..bd1764b4860 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