From 403dda3c22752bc117d2c842aea8445f84a0cfa0 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Fri, 1 Jun 2012 09:48:20 +1000 Subject: [PATCH] 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 --- buildtools/compare_config_h3-exceptions.grep | 10 ++++++++++ buildtools/compare_config_h3.sh | 14 +++++++++++--- source3/Makefile-smbtorture4 | 7 ++++++- 3 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 buildtools/compare_config_h3-exceptions.grep 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 -- 2.11.4.GIT