1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-04 17:47:26 +03:00

r10476: Move some more types to libreplace. Fix missing strndup errors

for heimdal
(This used to be commit e09ffdfb1dba289b79ac7e5a638bf5322d45ddc0)
This commit is contained in:
Jelmer Vernooij 2005-09-24 14:58:18 +00:00 committed by Gerald (Jerry) Carter
parent 2a9b65cd17
commit 70b52b02a7
8 changed files with 48 additions and 52 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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'])

View File

@ -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])])

View File

@ -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