1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-22 13:34:15 +03:00

lib/replace: define HAVE_WORKING_STRPTIME instead of REPLACE_STRPTIME

That makes the logic in 'wscript' simpler.

metze
This commit is contained in:
Stefan Metzmacher 2012-06-11 09:11:17 +02:00
parent 0a92ac2ddc
commit deca298d7b
3 changed files with 16 additions and 10 deletions

View File

@ -451,7 +451,7 @@ void rep_vsyslog (int facility_priority, const char *format, va_list arglist) PR
typedef int (*comparison_fn_t)(const void *, const void *);
#endif
#ifdef REPLACE_STRPTIME
#ifndef HAVE_WORKING_STRPTIME
#define strptime rep_strptime
struct tm;
char *rep_strptime(const char *buf, const char *format, struct tm *tm);

View File

@ -1,3 +1,5 @@
AC_CHECK_FUNCS(strptime)
AC_CHECK_DECLS(strptime, [], [], [#include <time.h>])
AC_CACHE_CHECK([whether strptime is available and works],libreplace_cv_STRPTIME_OK,[
AC_TRY_RUN([
#define LIBREPLACE_CONFIGURE_TEST_STRPTIME
@ -8,6 +10,7 @@ AC_CACHE_CHECK([whether strptime is available and works],libreplace_cv_STRPTIME_
[libreplace_cv_STRPTIME_OK="assuming not"])
])
if test x"$libreplace_cv_STRPTIME_OK" != x"yes"; then
AC_DEFINE(REPLACE_STRPTIME,1,[Whether strptime should be replaced])
LIBREPLACEOBJ="${LIBREPLACEOBJ} $libreplacedir/strptime.o"
else
AC_DEFINE(HAVE_WORKING_STRPTIME,1,[Whether strptime is working correct])
fi

View File

@ -311,13 +311,14 @@ removeea setea
conf.CHECK_HEADERS('poll.h')
conf.CHECK_FUNCS('poll')
if not conf.CHECK_CODE('''#define LIBREPLACE_CONFIGURE_TEST_STRPTIME
#include "test/strptime.c"''',
define='HAVE_STRPTIME',
execute=True,
addmain=False,
msg='Checking for working strptime'):
conf.DEFINE('REPLACE_STRPTIME', 1)
conf.CHECK_FUNCS('strptime')
conf.CHECK_DECLS('strptime', headers='time.h')
conf.CHECK_CODE('''#define LIBREPLACE_CONFIGURE_TEST_STRPTIME
#include "test/strptime.c"''',
define='HAVE_WORKING_STRPTIME',
execute=True,
addmain=False,
msg='Checking for working strptime')
conf.CHECK_CODE('gettimeofday(NULL, NULL)', 'HAVE_GETTIMEOFDAY_TZ', execute=False)
@ -460,6 +461,9 @@ REPLACEMENT_FUNCTIONS = {
# Note: C99_VSNPRINTF is not a function, but a special condition
# for replacement
'snprintf.c': ['C99_VSNPRINTF', 'snprintf', 'vsnprintf', 'asprintf', 'vasprintf'],
# Note: WORKING_STRPTIME is not a function, but a special condition
# for replacement
'strptime.c': ['WORKING_STRPTIME', 'strptime'],
}
@ -468,7 +472,6 @@ def build(bld):
REPLACE_HOSTCC_SOURCE = ''
if bld.CONFIG_SET('REPLACE_STRPTIME'): REPLACE_HOSTCC_SOURCE += ' strptime.c'
for filename, functions in REPLACEMENT_FUNCTIONS.iteritems():
for function in functions:
if not bld.CONFIG_SET('HAVE_%s' % function.upper()):