diff options
-rw-r--r-- | source4/SConstruct | 24 | ||||
-rw-r--r-- | source4/build/m4/check_types.m4 | 10 | ||||
-rw-r--r-- | source4/heimdal_build/config.h | 4 | ||||
-rw-r--r-- | source4/heimdal_build/config.m4 | 4 | ||||
-rw-r--r-- | source4/lib/replace/README | 4 | ||||
-rw-r--r-- | source4/lib/replace/SConscript | 25 | ||||
-rw-r--r-- | source4/lib/replace/config.m4 | 17 | ||||
-rw-r--r-- | source4/lib/replace/replace.h | 12 |
8 files changed, 48 insertions, 52 deletions
diff --git a/source4/SConstruct b/source4/SConstruct index 66ba8ed38b..7b355222dc 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 b4c7b5ed1c..88ccc7859c 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 f3660bc6ac..b97033022a 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 b42bc92ee3..fadb0a13c0 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 eb3360b74a..45c8bccf13 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 a2b3a30e10..60652b0b15 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 26a2cae56d..2b8d4ca3d1 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 28a6392eb3..3ad348517d 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 |