mirror of
https://github.com/php/php-src.git
synced 2024-12-01 13:54:10 +08:00
0ffa84d740
The ext/date/lib is bundled library and also includes additional timelib.m4 macros and checks specific for PHP. All the checks in the timelib.m4 are already done in the PHP's configure.ac: - headers except for io.h and strings.h - two functions checked strftime and gettimeofday - if size of longint is 8 - if size of int is 4 - int32_t and uint32_t types using the PHP_CHECK_STDINT_TYPES Macro `AC_TIMELIB_C_BIGENDIAN` defined in timelib.m4 is not used. The two checkings for strtoll and atoll have been moved to date extension's config0.m4 file. Additional check for headers <io.h> and <strings.h> has been added to config0.m4 of the date extension. Therefore the timelib.m4 can be simplified and removed from the bundled library to have easier maintenance in the later branches and also upstream library.
43 lines
1.1 KiB
Plaintext
43 lines
1.1 KiB
Plaintext
dnl $Id$
|
|
dnl config.m4 for date extension
|
|
|
|
dnl Check for headers needed by timelib
|
|
AC_CHECK_HEADERS([ \
|
|
strings.h \
|
|
io.h
|
|
])
|
|
|
|
dnl Check for strtoll, atoll
|
|
AC_CHECK_FUNCS(strtoll atoll)
|
|
|
|
PHP_DATE_CFLAGS="-I@ext_builddir@/lib -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1 -DHAVE_TIMELIB_CONFIG_H=1"
|
|
timelib_sources="lib/astro.c lib/dow.c lib/parse_date.c lib/parse_tz.c
|
|
lib/timelib.c lib/tm2unixtime.c lib/unixtime2tm.c lib/parse_iso_intervals.c lib/interval.c"
|
|
|
|
PHP_NEW_EXTENSION(date, php_date.c $timelib_sources, no,, $PHP_DATE_CFLAGS)
|
|
|
|
PHP_ADD_BUILD_DIR([$ext_builddir/lib], 1)
|
|
PHP_ADD_INCLUDE([$ext_builddir/lib])
|
|
PHP_ADD_INCLUDE([$ext_srcdir/lib])
|
|
|
|
PHP_INSTALL_HEADERS([ext/date], [php_date.h lib/timelib.h lib/timelib_config.h])
|
|
AC_DEFINE([HAVE_TIMELIB_CONFIG_H], [1], [Have timelib_config.h])
|
|
|
|
cat > $ext_builddir/lib/timelib_config.h <<EOF
|
|
#ifdef PHP_WIN32
|
|
# include "config.w32.h"
|
|
#else
|
|
# include <php_config.h>
|
|
#endif
|
|
#include <php_stdint.h>
|
|
#define TIMELIB_OMIT_STDINT 1
|
|
|
|
#include "zend.h"
|
|
|
|
#define timelib_malloc emalloc
|
|
#define timelib_realloc erealloc
|
|
#define timelib_calloc ecalloc
|
|
#define timelib_strdup estrdup
|
|
#define timelib_free efree
|
|
EOF
|