summaryrefslogtreecommitdiff
path: root/source4/lib/talloc
diff options
context:
space:
mode:
Diffstat (limited to 'source4/lib/talloc')
-rwxr-xr-xsource4/lib/talloc/autogen.sh1
-rw-r--r--source4/lib/talloc/config.m49
-rw-r--r--source4/lib/talloc/configure.in2
-rw-r--r--source4/lib/talloc/talloc.c18
-rw-r--r--source4/lib/talloc/testsuite.c10
5 files changed, 31 insertions, 9 deletions
diff --git a/source4/lib/talloc/autogen.sh b/source4/lib/talloc/autogen.sh
index 94148edf69..e118019a39 100755
--- a/source4/lib/talloc/autogen.sh
+++ b/source4/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/source4/lib/talloc/config.m4 b/source4/lib/talloc/config.m4
index 298c6691b9..5f653e6577 100644
--- a/source4/lib/talloc/config.m4
+++ b/source4/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 <stdarg.h>
+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/source4/lib/talloc/configure.in b/source4/lib/talloc/configure.in
index 2dfb66a17e..436fe365da 100644
--- a/source4/lib/talloc/configure.in
+++ b/source4/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/source4/lib/talloc/talloc.c b/source4/lib/talloc/talloc.c
index 46abd89bac..ca2fd9a288 100644
--- a/source4/lib/talloc/talloc.c
+++ b/source4/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 <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#ifdef HAVE_STDARG_H
#include <stdarg.h>
+#else
+#include <varargs.h>
+#endif
+
+#ifdef HAVE_STDINT_H
#include <stdint.h>
-#include "talloc.h"
-/* assume a modern system */
-#define HAVE_VA_COPY
#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/source4/lib/talloc/testsuite.c b/source4/lib/talloc/testsuite.c
index 0447749abd..0e3d334316 100644
--- a/source4/lib/talloc/testsuite.c
+++ b/source4/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 <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#ifdef HAVE_STDARG_H
#include <stdarg.h>
+#endif
+
#include <sys/time.h>
#include <time.h>
+
#include "talloc.h"
-#endif
/* the test suite can be built standalone, or as part of Samba */
#ifndef _SAMBA_BUILD_