summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2005-09-24 14:58:18 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:38:51 -0500
commit70b52b02a77c695d32aa57daaeb5689cd6857eba (patch)
tree4f7bb8f3f645e64b8983e7fd3f439d5c629c975f
parent2a9b65cd17b271ff88fca6bda0bddc6230c2b319 (diff)
downloadsamba-70b52b02a77c695d32aa57daaeb5689cd6857eba.tar.gz
r10476: Move some more types to libreplace. Fix missing strndup errors
for heimdal (This used to be commit e09ffdfb1dba289b79ac7e5a638bf5322d45ddc0)
-rw-r--r--source4/SConstruct24
-rw-r--r--source4/build/m4/check_types.m410
-rw-r--r--source4/heimdal_build/config.h4
-rw-r--r--source4/heimdal_build/config.m44
-rw-r--r--source4/lib/replace/README4
-rw-r--r--source4/lib/replace/SConscript25
-rw-r--r--source4/lib/replace/config.m417
-rw-r--r--source4/lib/replace/replace.h12
8 files changed, 48 insertions, 52 deletions
diff --git a/source4/SConstruct b/source4/SConstruct
index 66ba8ed38b0..7b355222dcf 100644
--- a/source4/SConstruct
+++ b/source4/SConstruct
@@ -136,30 +136,6 @@ if hostenv['configure']:
# Pull in GNU extensions
defines['_GNU_SOURCE'] = 1
- needed_types = {
- 'uint_t': 'unsigned int',
- 'int8_t': 'signed char',
- 'uint8_t': 'unsigned char',
- 'int16_t': 'short',
- 'uint16_t': 'unsigned short',
- 'int32_t': 'long',
- 'uint32_t': 'unsigned long',
- 'int64_t': 'long long',
- 'uint64_t': 'unsigned long long'
- }
-
- type_headers = """
-#include <stdint.h>
-#include <sys/types.h>
-"""
- for t in needed_types:
- if not conf.CheckType(t,type_headers):
- defines[t] = needed_types[t]
-
- for t in ['u_int32_t', 'u_int16_t', 'u_int8_t']:
- if conf.CheckType(t, type_headers):
- defines['HAVE_%s' % string.upper(t)] = 1
-
if conf.CheckType('comparison_fn_t', '#include <stdlib.h>'):
defines['HAVE_COMPARISON_FN_T'] = 1
diff --git a/source4/build/m4/check_types.m4 b/source4/build/m4/check_types.m4
index b4c7b5ed1cd..88ccc7859c8 100644
--- a/source4/build/m4/check_types.m4
+++ b/source4/build/m4/check_types.m4
@@ -28,12 +28,4 @@ if test $ac_cv_sizeof_long_long -lt 8;then
AC_MSG_ERROR([Sorry we need sizeof(long long) >= 8])
fi
AC_CHECK_TYPE(_Bool)
-AC_CHECK_TYPE(uint_t, unsigned int)
-AC_CHECK_TYPE(int8_t, signed char)
-AC_CHECK_TYPE(uint8_t, unsigned char)
-AC_CHECK_TYPE(int16_t, short)
-AC_CHECK_TYPE(uint16_t, unsigned short)
-AC_CHECK_TYPE(int32_t, long)
-AC_CHECK_TYPE(uint32_t, unsigned long)
-AC_CHECK_TYPE(int64_t, long long)
-AC_CHECK_TYPE(uint64_t, unsigned long long)
+
diff --git a/source4/heimdal_build/config.h b/source4/heimdal_build/config.h
index f3660bc6aca..b97033022ab 100644
--- a/source4/heimdal_build/config.h
+++ b/source4/heimdal_build/config.h
@@ -55,4 +55,8 @@ static /**/const char *const rcsid[] = { (const char *)rcsid, "\100(#)" msg }
#define OPENLOG_PROTO_COMPATIBLE
#define GETSOCKNAME_PROTO_COMPATIBLE
+#ifndef HAVE_STRNDUP
+#define HAVE_STRNDUP
+#endif
+
#endif
diff --git a/source4/heimdal_build/config.m4 b/source4/heimdal_build/config.m4
index b42bc92ee32..fadb0a13c05 100644
--- a/source4/heimdal_build/config.m4
+++ b/source4/heimdal_build/config.m4
@@ -213,10 +213,6 @@ SMB_BINARY_ENABLE(compile_et, NO)
AC_PROG_LEX
AC_PROG_YACC
-AC_CHECK_TYPES(u_int32_t)
-AC_CHECK_TYPES(u_int16_t)
-AC_CHECK_TYPES(u_int8_t)
-
# to enable kerberos, unpack a heimdal source tree in the heimdal directory
# of the samba source tree
if test -d heimdal; then
diff --git a/source4/lib/replace/README b/source4/lib/replace/README
index eb3360b74ab..45c8bccf13b 100644
--- a/source4/lib/replace/README
+++ b/source4/lib/replace/README
@@ -51,6 +51,10 @@ pwrite
Types:
socklen_t
+u_int{8,16,32}_t
+uint_t
+uint{8,16,32,64}_t
+int{8,16,32,64}_t
Prerequisites:
memset (for bzero)
diff --git a/source4/lib/replace/SConscript b/source4/lib/replace/SConscript
index a2b3a30e105..60652b0b15a 100644
--- a/source4/lib/replace/SConscript
+++ b/source4/lib/replace/SConscript
@@ -4,7 +4,7 @@ Import('hostenv defines')
if hostenv['configure']:
conf = Configure(hostenv)
for f in ['memset','syslog','setnetgrent','getnetgrent','endnetgrent', \
- 'mktemp']:
+ 'mktemp', 'memcpy']:
if not conf.CheckFunc(f,'c'):
print "Required function `%s' not found" % f
exit(1)
@@ -26,6 +26,29 @@ if hostenv['configure']:
if not conf.CheckType('socklen_t'):
defines['socklen_t'] = 'int'
+ needed_types = {
+ 'uint_t': 'unsigned int',
+ 'int8_t': 'signed char',
+ 'uint8_t': 'unsigned char',
+ 'u_int8_t': 'unsigned char',
+ 'int16_t': 'short',
+ 'uint16_t': 'unsigned short',
+ 'u_int16_t': 'unsigned short',
+ 'int32_t': 'long',
+ 'uint32_t': 'unsigned long',
+ 'u_int32_t': 'unsigned long',
+ 'int64_t': 'long long',
+ 'uint64_t': 'unsigned long long',
+ }
+
+ type_headers = """
+#include <stdint.h>
+#include <sys/types.h>
+"""
+ for t in needed_types:
+ if not conf.CheckType(t,type_headers):
+ defines[t] = needed_types[t]
+
conf.Finish()
hostenv.StaticLibrary('repdir', ['repdir/repdir.c'])
diff --git a/source4/lib/replace/config.m4 b/source4/lib/replace/config.m4
index 26a2cae56da..2b8d4ca3d19 100644
--- a/source4/lib/replace/config.m4
+++ b/source4/lib/replace/config.m4
@@ -1,3 +1,16 @@
+AC_CHECK_TYPE(uint_t, unsigned int)
+AC_CHECK_TYPE(int8_t, signed char)
+AC_CHECK_TYPE(uint8_t, unsigned char)
+AC_CHECK_TYPE(int16_t, short)
+AC_CHECK_TYPE(uint16_t, unsigned short)
+AC_CHECK_TYPE(int32_t, long)
+AC_CHECK_TYPE(uint32_t, unsigned long)
+AC_CHECK_TYPE(int64_t, long long)
+AC_CHECK_TYPE(uint64_t, unsigned long long)
+AC_CHECK_TYPE(u_int32_t, unsigned long)
+AC_CHECK_TYPE(u_int16_t, unsigned short)
+AC_CHECK_TYPE(u_int8_t, unsigned char)
+
AC_CACHE_CHECK([for broken inet_ntoa],samba_cv_REPLACE_INET_NTOA,[
AC_TRY_RUN([
#include <stdio.h>
@@ -99,5 +112,5 @@ AC_CHECK_HEADERS(dlfcn.h)
AC_CHECK_FUNCS(dlopen dlsym dlerror dlclose)
LIBS="$SAVE_LIBS"
-AC_CHECK_FUNCS([syslog memset setnetgrent getnetgrent endnetgrent],,
- [AC_MSG_ERROR([Need syslog and memset])])
+AC_CHECK_FUNCS([syslog memset setnetgrent getnetgrent endnetgrent memcpy],,
+ [AC_MSG_ERROR([Required function not found])])
diff --git a/source4/lib/replace/replace.h b/source4/lib/replace/replace.h
index 28a6392eb3b..3ad348517d9 100644
--- a/source4/lib/replace/replace.h
+++ b/source4/lib/replace/replace.h
@@ -132,18 +132,6 @@ int asprintf(char **,const char *, ...) PRINTF_ATTRIBUTE(2,3);
typedef int (*comparison_fn_t)(const void *, const void *);
#endif
-#ifndef HAVE_U_INT32_T
-typedef unsigned u_int32_t;
-#endif
-
-#ifndef HAVE_U_INT16_T
-typedef unsigned short u_int16_t;
-#endif
-
-#ifndef HAVE_U_INT8_T
-typedef unsigned char u_int8_t;
-#endif
-
#ifdef HAVE_DLFCN_H
#include <dlfcn.h>
#endif