m4trace:configure.in:2: -1- AC_INIT([cgi/cgi.c])
m4trace:configure.in:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:2: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.in:2: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:2: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:2: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:2: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.in:2: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
m4trace:configure.in:2: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
m4trace:configure.in:2: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.in:2: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.in:2: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.in:2: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.in:2: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.in:2: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.in:2: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.in:2: -1- AC_SUBST([datadir], ['${prefix}/share'])
m4trace:configure.in:2: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.in:2: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.in:2: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.in:2: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.in:2: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.in:2: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.in:2: -1- AC_SUBST([infodir], ['${prefix}/info'])
m4trace:configure.in:2: -1- AC_SUBST([mandir], ['${prefix}/man'])
m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
#undef PACKAGE_NAME])
m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME])
m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
#undef PACKAGE_VERSION])
m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
#undef PACKAGE_STRING])
m4trace:configure.in:2: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.in:2: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT])
m4trace:configure.in:2: -1- AC_SUBST([build_alias])
m4trace:configure.in:2: -1- AC_SUBST([host_alias])
m4trace:configure.in:2: -1- AC_SUBST([target_alias])
m4trace:configure.in:2: -1- AC_SUBST([DEFS])
m4trace:configure.in:2: -1- AC_SUBST([ECHO_C])
m4trace:configure.in:2: -1- AC_SUBST([ECHO_N])
m4trace:configure.in:2: -1- AC_SUBST([ECHO_T])
m4trace:configure.in:2: -1- AC_SUBST([LIBS])
m4trace:configure.in:3: -1- AC_CONFIG_HEADERS([cs_config.h])
m4trace:configure.in:6: -1- AC_PROG_CC
m4trace:configure.in:6: -1- AC_SUBST([CC])
m4trace:configure.in:6: -1- AC_SUBST([CFLAGS])
m4trace:configure.in:6: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:6: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:6: -1- AC_SUBST([CC])
m4trace:configure.in:6: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:6: -1- AC_SUBST([CC])
m4trace:configure.in:6: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:6: -1- AC_SUBST([CC])
m4trace:configure.in:6: -1- AC_SUBST([CC])
m4trace:configure.in:6: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:6: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.in:6: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.in:7: -1- AC_PROG_CPP
m4trace:configure.in:7: -1- AC_SUBST([CPP])
m4trace:configure.in:7: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:7: -1- AC_SUBST([CPP])
m4trace:configure.in:8: -1- AC_PROG_LN_S
m4trace:configure.in:8: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.in:9: -1- AC_SUBST([AR])
m4trace:configure.in:10: -1- AC_PROG_RANLIB
m4trace:configure.in:10: -1- AC_SUBST([RANLIB])
m4trace:configure.in:10: -1- AC_SUBST([ac_ct_RANLIB])
m4trace:configure.in:12: -1- AC_PROG_MAKE_SET
m4trace:configure.in:12: -1- AC_SUBST([SET_MAKE])
m4trace:configure.in:13: -1- AC_PROG_INSTALL
m4trace:configure.in:13: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.in:13: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.in:13: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:26: -1- AC_HEADER_DIRENT
m4trace:configure.in:26: -1- AH_OUTPUT([HAVE_DIRENT_H], [/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR\'.
   */
#undef HAVE_DIRENT_H])
m4trace:configure.in:26: -1- AH_OUTPUT([HAVE_SYS_NDIR_H], [/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR\'.
   */
#undef HAVE_SYS_NDIR_H])
m4trace:configure.in:26: -1- AH_OUTPUT([HAVE_SYS_DIR_H], [/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR\'.
   */
#undef HAVE_SYS_DIR_H])
m4trace:configure.in:26: -1- AH_OUTPUT([HAVE_NDIR_H], [/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR\'. */
#undef HAVE_NDIR_H])
m4trace:configure.in:27: -1- AC_HEADER_STDC
m4trace:configure.in:27: -1- AC_SUBST([EGREP])
m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:27: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
m4trace:configure.in:28: -1- AC_HEADER_SYS_WAIT
m4trace:configure.in:28: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_WAIT_H])
m4trace:configure.in:28: -1- AH_OUTPUT([HAVE_SYS_WAIT_H], [/* Define to 1 if you have <sys/wait.h> that is POSIX.1 compatible. */
#undef HAVE_SYS_WAIT_H])
m4trace:configure.in:29: -1- AC_CHECK_HEADERS([fcntl.h stdarg.h varargs.h limits.h strings.h sys/ioctl.h sys/time.h unistd.h])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDARG_H], [/* Define to 1 if you have the <stdarg.h> header file. */
#undef HAVE_STDARG_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_VARARGS_H], [/* Define to 1 if you have the <varargs.h> header file. */
#undef HAVE_VARARGS_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_LIMITS_H], [/* Define to 1 if you have the <limits.h> header file. */
#undef HAVE_LIMITS_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_IOCTL_H], [/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_TIME_H], [/* Define to 1 if you have the <sys/time.h> header file. */
#undef HAVE_SYS_TIME_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:29: -1- AC_CHECK_HEADERS([sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
                  inttypes.h stdint.h unistd.h], [], [], [$ac_includes_default])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_TYPES_H], [/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_SYS_STAT_H], [/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H])
m4trace:configure.in:29: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:32: -1- AC_C_CONST
m4trace:configure.in:32: -1- AC_DEFINE_TRACE_LITERAL([const])
m4trace:configure.in:32: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
#undef const])
m4trace:configure.in:33: -1- AC_TYPE_MODE_T
m4trace:configure.in:33: -1- AC_DEFINE_TRACE_LITERAL([mode_t])
m4trace:configure.in:33: -1- AH_OUTPUT([mode_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef mode_t])
m4trace:configure.in:34: -1- AC_TYPE_OFF_T
m4trace:configure.in:34: -1- AC_DEFINE_TRACE_LITERAL([off_t])
m4trace:configure.in:34: -1- AH_OUTPUT([off_t], [/* Define to `long\' if <sys/types.h> does not define. */
#undef off_t])
m4trace:configure.in:35: -1- AC_TYPE_PID_T
m4trace:configure.in:35: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
m4trace:configure.in:35: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef pid_t])
m4trace:configure.in:36: -1- AC_TYPE_SIZE_T
m4trace:configure.in:36: -1- AC_DEFINE_TRACE_LITERAL([size_t])
m4trace:configure.in:36: -1- AH_OUTPUT([size_t], [/* Define to `unsigned\' if <sys/types.h> does not define. */
#undef size_t])
m4trace:configure.in:37: -1- AC_HEADER_TIME
m4trace:configure.in:37: -1- AC_DEFINE_TRACE_LITERAL([TIME_WITH_SYS_TIME])
m4trace:configure.in:37: -1- AH_OUTPUT([TIME_WITH_SYS_TIME], [/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
#undef TIME_WITH_SYS_TIME])
m4trace:configure.in:38: -1- AC_STRUCT_TM
m4trace:configure.in:38: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
m4trace:configure.in:38: -1- AH_OUTPUT([TM_IN_SYS_TIME], [/* Define to 1 if your <sys/time.h> declares `struct tm\'. */
#undef TM_IN_SYS_TIME])
m4trace:configure.in:39: -1- AC_STRUCT_TIMEZONE
m4trace:configure.in:39: -1- AC_CHECK_MEMBERS([struct tm.tm_zone], [], [], [#include <sys/types.h>
#include <$ac_cv_struct_tm>
])
m4trace:configure.in:39: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_TM_ZONE])
m4trace:configure.in:39: -1- AH_OUTPUT([HAVE_STRUCT_TM_TM_ZONE], [/* Define to 1 if `tm_zone\' is member of `struct tm\'. */
#undef HAVE_STRUCT_TM_TM_ZONE])
m4trace:configure.in:39: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TM_ZONE])
m4trace:configure.in:39: -1- AH_OUTPUT([HAVE_TM_ZONE], [/* Define to 1 if your `struct tm\' has `tm_zone\'. Deprecated, use
   `HAVE_STRUCT_TM_TM_ZONE\' instead. */
#undef HAVE_TM_ZONE])
m4trace:configure.in:39: -1- AC_DEFINE_TRACE_LITERAL([HAVE_TZNAME])
m4trace:configure.in:39: -1- AH_OUTPUT([HAVE_TZNAME], [/* Define to 1 if you don\'t have `tm_zone\' but do have the external array
   `tzname\'. */
#undef HAVE_TZNAME])
m4trace:configure.in:42: -1- AC_TYPE_SIGNAL
m4trace:configure.in:42: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
m4trace:configure.in:42: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
#undef RETSIGTYPE])
m4trace:configure.in:43: -1- AC_FUNC_STRFTIME
m4trace:configure.in:43: -1- AC_CHECK_FUNCS([strftime], [], [# strftime is in -lintl on SCO UNIX.
AC_CHECK_LIB(intl, strftime,
             [AC_DEFINE(HAVE_STRFTIME)
LIBS="-lintl $LIBS"])])
m4trace:configure.in:43: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
#undef HAVE_STRFTIME])
m4trace:configure.in:43: -1- AC_CHECK_LIB([intl], [strftime], [AC_DEFINE(HAVE_STRFTIME)
LIBS="-lintl $LIBS"])
m4trace:configure.in:43: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRFTIME])
m4trace:configure.in:44: -1- AC_FUNC_VPRINTF
m4trace:configure.in:44: -1- AC_CHECK_FUNCS([vprintf], [
AC_CHECK_FUNC(_doprnt,
               [AC_DEFINE(HAVE_DOPRNT, 1,
                          [Define to 1 if you don't have `vprintf' but do have
                          `_doprnt.'])])])
m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_VPRINTF], [/* Define to 1 if you have the `vprintf\' function. */
#undef HAVE_VPRINTF])
m4trace:configure.in:44: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DOPRNT])
m4trace:configure.in:44: -1- AH_OUTPUT([HAVE_DOPRNT], [/* Define to 1 if you don\'t have `vprintf\' but do have `_doprnt.\' */
#undef HAVE_DOPRNT])
m4trace:configure.in:45: -1- AC_FUNC_WAIT3
m4trace:configure.in:45: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WAIT3])
m4trace:configure.in:45: -1- AH_OUTPUT([HAVE_WAIT3], [/* Define to 1 if you have the `wait3\' system call. Deprecated, you should no
   longer depend upon `wait3\'. */
#undef HAVE_WAIT3])
m4trace:configure.in:46: -1- AC_CHECK_FUNCS([gettimeofday mktime putenv strerror strspn strtod strtol strtoul])
m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_GETTIMEOFDAY], [/* Define to 1 if you have the `gettimeofday\' function. */
#undef HAVE_GETTIMEOFDAY])
m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_MKTIME], [/* Define to 1 if you have the `mktime\' function. */
#undef HAVE_MKTIME])
m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_PUTENV], [/* Define to 1 if you have the `putenv\' function. */
#undef HAVE_PUTENV])
m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
#undef HAVE_STRERROR])
m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STRSPN], [/* Define to 1 if you have the `strspn\' function. */
#undef HAVE_STRSPN])
m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STRTOD], [/* Define to 1 if you have the `strtod\' function. */
#undef HAVE_STRTOD])
m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
#undef HAVE_STRTOL])
m4trace:configure.in:46: -1- AH_OUTPUT([HAVE_STRTOUL], [/* Define to 1 if you have the `strtoul\' function. */
#undef HAVE_STRTOUL])
m4trace:configure.in:47: -1- AC_CHECK_FUNCS([random rand drand48])
m4trace:configure.in:47: -1- AH_OUTPUT([HAVE_RANDOM], [/* Define to 1 if you have the `random\' function. */
#undef HAVE_RANDOM])
m4trace:configure.in:47: -1- AH_OUTPUT([HAVE_RAND], [/* Define to 1 if you have the `rand\' function. */
#undef HAVE_RAND])
m4trace:configure.in:47: -1- AH_OUTPUT([HAVE_DRAND48], [/* Define to 1 if you have the `drand48\' function. */
#undef HAVE_DRAND48])
m4trace:configure.in:62: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DB2])
m4trace:configure.in:75: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCKF])
m4trace:configure.in:75: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PTHREADS])
m4trace:configure.in:77: -1- AC_CANONICAL_HOST
m4trace:configure.in:77: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.in:77: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
m4trace:configure.in:77: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
m4trace:configure.in:77: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
m4trace:configure.in:77: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.in:77: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
m4trace:configure.in:77: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
m4trace:configure.in:77: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
m4trace:configure.in:88: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SNPRINTF])
m4trace:configure.in:89: -1- AC_DEFINE_TRACE_LITERAL([HAVE_VSNPRINTF])
m4trace:configure.in:113: -1- AC_CHECK_FUNCS([localtime_r], [
  AC_MSG_CHECKING(whether localtime_r is declared)
  AC_EGREP_CPP(localtime_r,[
#include <time.h>],[
    AC_DEFINE(HAVE_LOCALTIME_R)
    AC_MSG_RESULT(yes)],[
    AC_MSG_RESULT(no)
    AC_MSG_CHECKING(whether localtime_r with -D_REENTRANT is declared)
    AC_EGREP_CPP(localtime_r,[
#define _REENTRANT
#include <time.h>],[
      cs_cv_need_reentrant=yes
      AC_MSG_RESULT(yes)],[
      cs_cv_missing=yes
      AC_MSG_RESULT(no)])])], [cs_cv_missing=yes])
m4trace:configure.in:113: -1- AH_OUTPUT([HAVE_LOCALTIME_R], [/* Define to 1 if you have the `localtime_r\' function. */
#undef HAVE_LOCALTIME_R])
m4trace:configure.in:113: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LOCALTIME_R])
m4trace:configure.in:129: -1- AC_CHECK_FUNCS([gmtime_r], [
  AC_MSG_CHECKING(whether gmtime_r is declared)
  AC_EGREP_CPP(gmtime_r,[
#include <time.h>],[
    AC_DEFINE(HAVE_GMTIME_R)
    AC_MSG_RESULT(yes)],[
    AC_MSG_RESULT(no)
    AC_MSG_CHECKING(whether gmtime_r with -D_REENTRANT is declared)
    AC_EGREP_CPP(gmtime_r,[
#define _REENTRANT
#include <time.h>],[
      cs_cv_need_reentrant=yes
      AC_MSG_RESULT(yes)],[
      cs_cv_missing=yes
      AC_MSG_RESULT(no)])])], [cs_cv_missing=yes])
m4trace:configure.in:129: -1- AH_OUTPUT([HAVE_GMTIME_R], [/* Define to 1 if you have the `gmtime_r\' function. */
#undef HAVE_GMTIME_R])
m4trace:configure.in:129: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GMTIME_R])
m4trace:configure.in:145: -1- AC_CHECK_FUNCS([strtok_r], [
  AC_MSG_CHECKING(whether strtok_r is declared)
  AC_EGREP_CPP(strtok_r,[
#include <string.h>],[
    AC_DEFINE(HAVE_STRTOK_R)
    AC_MSG_RESULT(yes)],[
    AC_MSG_RESULT(no)
    AC_MSG_CHECKING(whether strtok_r with -D_REENTRANT is declared)
    AC_EGREP_CPP(strtok_r,[
#define _REENTRANT
#include <string.h>],[
      cs_cv_need_reentrant=yes
      AC_MSG_RESULT(yes)],[
      cs_cv_missing=yes
      AC_MSG_RESULT(no)])])], [cs_cv_missing=yes])
m4trace:configure.in:145: -1- AH_OUTPUT([HAVE_STRTOK_R], [/* Define to 1 if you have the `strtok_r\' function. */
#undef HAVE_STRTOK_R])
m4trace:configure.in:145: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRTOK_R])
m4trace:configure.in:147: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MKSTEMP])
m4trace:configure.in:156: -1- AC_DEFINE_TRACE_LITERAL([HAVE_REGEX])
m4trace:configure.in:163: -1- AC_CHECK_LIB([z], [deflate], [cs_cv_compression=yes], [cs_cv_compression=no])
m4trace:configure.in:171: -1- AC_DEFINE_TRACE_LITERAL([HTML_COMPRESSION])
m4trace:configure.in:179: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_REMOTE_DEBUG])
m4trace:configure.in:417: -1- AC_SUBST([_ACJNI_JAVAC], [$ac_cv_path__ACJNI_JAVAC])
m4trace:configure.in:471: -1- AC_DEFINE_TRACE_LITERAL([ENABLE_GETTEXT])
m4trace:configure.in:474: -1- AC_SUBST([RANLIB])
m4trace:configure.in:475: -1- AC_SUBST([AR])
m4trace:configure.in:476: -1- AC_SUBST([USE_MINGW32])
m4trace:configure.in:477: -1- AC_SUBST([APXS_PATH])
m4trace:configure.in:478: -1- AC_SUBST([PERL])
m4trace:configure.in:479: -1- AC_SUBST([RUBY])
m4trace:configure.in:480: -1- AC_SUBST([BUILD_WRAPPERS])
m4trace:configure.in:481: -1- AC_SUBST([JAVA_PATH])
m4trace:configure.in:482: -1- AC_SUBST([JAVA_INCLUDE_PATH])
m4trace:configure.in:483: -1- AC_SUBST([PYTHON])
m4trace:configure.in:484: -1- AC_SUBST([PYTHON_INC])
m4trace:configure.in:485: -1- AC_SUBST([PYTHON_LIB])
m4trace:configure.in:486: -1- AC_SUBST([PYTHON_SITE])
m4trace:configure.in:487: -1- AC_SUBST([EXTRA_UTL_SRC])
m4trace:configure.in:488: -1- AC_SUBST([EXTRA_UTL_OBJS])
m4trace:configure.in:489: -1- AC_SUBST([CSHARP_PATH])
m4trace:configure.in:491: -1- AC_CONFIG_FILES([rules.mk])
m4trace:configure.in:491: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:491: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
