diff --git a/source/lib/talloc/autogen.sh b/source/lib/talloc/autogen.sh index 94148edf698..e118019a397 100755 --- a/source/lib/talloc/autogen.sh +++ b/source/lib/talloc/autogen.sh @@ -1,6 +1,7 @@ #!/bin/sh autoconf || exit 1 +autoheader || exit 1 echo "Now run ./configure and then make." exit 0 diff --git a/source/lib/talloc/config.m4 b/source/lib/talloc/config.m4 index 298c6691b95..5f653e65776 100644 --- a/source/lib/talloc/config.m4 +++ b/source/lib/talloc/config.m4 @@ -1,3 +1,12 @@ if test x"$experimental" = x"yes"; then SMB_LIBRARY_ENABLE(libtalloc,YES) fi + +AC_CACHE_CHECK([for va_copy],samba_cv_HAVE_VA_COPY,[ +AC_TRY_LINK([#include +va_list ap1,ap2;], [va_copy(ap1,ap2);], +samba_cv_HAVE_VA_COPY=yes,samba_cv_HAVE_VA_COPY=no)]) +if test x"$samba_cv_HAVE_VA_COPY" = x"yes"; then + AC_DEFINE(HAVE_VA_COPY,1,[Whether va_copy() is available]) +fi + diff --git a/source/lib/talloc/configure.in b/source/lib/talloc/configure.in index 2dfb66a17ea..436fe365dae 100644 --- a/source/lib/talloc/configure.in +++ b/source/lib/talloc/configure.in @@ -8,5 +8,7 @@ fi AC_PROG_INSTALL AC_PATH_PROG(XSLTPROC,xsltproc) AC_PATH_PROG(GCOV,gcov) +AC_CHECK_HEADERS(stdint.h stdarg.h) +AC_CONFIG_HEADER(config.h) sinclude(config.m4) AC_OUTPUT(Makefile talloc.pc) diff --git a/source/lib/talloc/talloc.c b/source/lib/talloc/talloc.c index 46abd89bac5..ca2fd9a288c 100644 --- a/source/lib/talloc/talloc.c +++ b/source/lib/talloc/talloc.c @@ -28,7 +28,6 @@ #ifdef _SAMBA_BUILD_ -#include "includes.h" #if ((SAMBA_VERSION_MAJOR==3)&&(SAMBA_VERSION_MINOR<9)) /* This is to circumvent SAMBA3's paranoid malloc checker. Here in this file * we trust ourselves... */ @@ -39,17 +38,26 @@ #undef realloc #endif #endif -#else +#endif + +#include "config.h" + #include #include #include + +#ifdef HAVE_STDARG_H #include -#include -#include "talloc.h" -/* assume a modern system */ -#define HAVE_VA_COPY +#else +#include #endif +#ifdef HAVE_STDINT_H +#include +#endif + +#include "talloc.h" + /* use this to force every realloc to change the pointer, to stress test code that might not cope */ #define ALWAYS_REALLOC 0 diff --git a/source/lib/talloc/testsuite.c b/source/lib/talloc/testsuite.c index 0447749abde..0e3d3343160 100644 --- a/source/lib/talloc/testsuite.c +++ b/source/lib/talloc/testsuite.c @@ -20,17 +20,19 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#ifdef _SAMBA_BUILD_ -#include "includes.h" -#else +#include "config.h" #include #include #include + +#ifdef HAVE_STDARG_H #include +#endif + #include #include + #include "talloc.h" -#endif /* the test suite can be built standalone, or as part of Samba */ #ifndef _SAMBA_BUILD_