m4trace:configure.in:4: -1- AC_INIT([lighttpd], [1.4.19], [jan@kneschke.de])
m4trace:configure.in:4: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.in:4: -1- m4_pattern_forbid([_AC_])
m4trace:configure.in:4: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.in:4: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.in:4: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.in:4: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.in:4: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.in:4: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([SHELL])
m4trace:configure.in:4: -1- m4_pattern_allow([^SHELL$])
m4trace:configure.in:4: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([PATH_SEPARATOR])
m4trace:configure.in:4: -1- m4_pattern_allow([^PATH_SEPARATOR$])
m4trace:configure.in:4: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([PACKAGE_NAME])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.in:4: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([PACKAGE_TARNAME])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.in:4: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([PACKAGE_VERSION])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.in:4: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([PACKAGE_STRING])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.in:4: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([PACKAGE_BUGREPORT])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.in:4: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([exec_prefix])
m4trace:configure.in:4: -1- m4_pattern_allow([^exec_prefix$])
m4trace:configure.in:4: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([prefix])
m4trace:configure.in:4: -1- m4_pattern_allow([^prefix$])
m4trace:configure.in:4: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([program_transform_name])
m4trace:configure.in:4: -1- m4_pattern_allow([^program_transform_name$])
m4trace:configure.in:4: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([bindir])
m4trace:configure.in:4: -1- m4_pattern_allow([^bindir$])
m4trace:configure.in:4: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([sbindir])
m4trace:configure.in:4: -1- m4_pattern_allow([^sbindir$])
m4trace:configure.in:4: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([libexecdir])
m4trace:configure.in:4: -1- m4_pattern_allow([^libexecdir$])
m4trace:configure.in:4: -1- AC_SUBST([datarootdir], ['${prefix}/share'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([datarootdir])
m4trace:configure.in:4: -1- m4_pattern_allow([^datarootdir$])
m4trace:configure.in:4: -1- AC_SUBST([datadir], ['${datarootdir}'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([datadir])
m4trace:configure.in:4: -1- m4_pattern_allow([^datadir$])
m4trace:configure.in:4: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([sysconfdir])
m4trace:configure.in:4: -1- m4_pattern_allow([^sysconfdir$])
m4trace:configure.in:4: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([sharedstatedir])
m4trace:configure.in:4: -1- m4_pattern_allow([^sharedstatedir$])
m4trace:configure.in:4: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([localstatedir])
m4trace:configure.in:4: -1- m4_pattern_allow([^localstatedir$])
m4trace:configure.in:4: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([includedir])
m4trace:configure.in:4: -1- m4_pattern_allow([^includedir$])
m4trace:configure.in:4: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([oldincludedir])
m4trace:configure.in:4: -1- m4_pattern_allow([^oldincludedir$])
m4trace:configure.in:4: -1- AC_SUBST([docdir], [m4_ifset([AC_PACKAGE_TARNAME],
				     ['${datarootdir}/doc/${PACKAGE_TARNAME}'],
				     ['${datarootdir}/doc/${PACKAGE}'])])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([docdir])
m4trace:configure.in:4: -1- m4_pattern_allow([^docdir$])
m4trace:configure.in:4: -1- AC_SUBST([infodir], ['${datarootdir}/info'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([infodir])
m4trace:configure.in:4: -1- m4_pattern_allow([^infodir$])
m4trace:configure.in:4: -1- AC_SUBST([htmldir], ['${docdir}'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([htmldir])
m4trace:configure.in:4: -1- m4_pattern_allow([^htmldir$])
m4trace:configure.in:4: -1- AC_SUBST([dvidir], ['${docdir}'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([dvidir])
m4trace:configure.in:4: -1- m4_pattern_allow([^dvidir$])
m4trace:configure.in:4: -1- AC_SUBST([pdfdir], ['${docdir}'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([pdfdir])
m4trace:configure.in:4: -1- m4_pattern_allow([^pdfdir$])
m4trace:configure.in:4: -1- AC_SUBST([psdir], ['${docdir}'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([psdir])
m4trace:configure.in:4: -1- m4_pattern_allow([^psdir$])
m4trace:configure.in:4: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([libdir])
m4trace:configure.in:4: -1- m4_pattern_allow([^libdir$])
m4trace:configure.in:4: -1- AC_SUBST([localedir], ['${datarootdir}/locale'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([localedir])
m4trace:configure.in:4: -1- m4_pattern_allow([^localedir$])
m4trace:configure.in:4: -1- AC_SUBST([mandir], ['${datarootdir}/man'])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([mandir])
m4trace:configure.in:4: -1- m4_pattern_allow([^mandir$])
m4trace:configure.in:4: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_NAME$])
m4trace:configure.in:4: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
#undef PACKAGE_NAME])
m4trace:configure.in:4: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_TARNAME$])
m4trace:configure.in:4: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME])
m4trace:configure.in:4: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_VERSION$])
m4trace:configure.in:4: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
#undef PACKAGE_VERSION])
m4trace:configure.in:4: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_STRING$])
m4trace:configure.in:4: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
#undef PACKAGE_STRING])
m4trace:configure.in:4: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.in:4: -1- m4_pattern_allow([^PACKAGE_BUGREPORT$])
m4trace:configure.in:4: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT])
m4trace:configure.in:4: -1- AC_SUBST([DEFS])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([DEFS])
m4trace:configure.in:4: -1- m4_pattern_allow([^DEFS$])
m4trace:configure.in:4: -1- AC_SUBST([ECHO_C])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([ECHO_C])
m4trace:configure.in:4: -1- m4_pattern_allow([^ECHO_C$])
m4trace:configure.in:4: -1- AC_SUBST([ECHO_N])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([ECHO_N])
m4trace:configure.in:4: -1- m4_pattern_allow([^ECHO_N$])
m4trace:configure.in:4: -1- AC_SUBST([ECHO_T])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([ECHO_T])
m4trace:configure.in:4: -1- m4_pattern_allow([^ECHO_T$])
m4trace:configure.in:4: -1- AC_SUBST([LIBS])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.in:4: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.in:4: -1- AC_SUBST([build_alias])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([build_alias])
m4trace:configure.in:4: -1- m4_pattern_allow([^build_alias$])
m4trace:configure.in:4: -1- AC_SUBST([host_alias])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([host_alias])
m4trace:configure.in:4: -1- m4_pattern_allow([^host_alias$])
m4trace:configure.in:4: -1- AC_SUBST([target_alias])
m4trace:configure.in:4: -1- AC_SUBST_TRACE([target_alias])
m4trace:configure.in:4: -1- m4_pattern_allow([^target_alias$])
m4trace:configure.in:7: -1- AC_CANONICAL_TARGET
m4trace:configure.in:7: -1- AC_CANONICAL_HOST
m4trace:configure.in:7: -1- AC_CANONICAL_BUILD
m4trace:configure.in:7: -1- AC_REQUIRE_AUX_FILE([config.sub])
m4trace:configure.in:7: -1- AC_REQUIRE_AUX_FILE([config.guess])
m4trace:configure.in:7: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([build])
m4trace:configure.in:7: -1- m4_pattern_allow([^build$])
m4trace:configure.in:7: -1- AC_SUBST([build_cpu], [$[1]])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([build_cpu])
m4trace:configure.in:7: -1- m4_pattern_allow([^build_cpu$])
m4trace:configure.in:7: -1- AC_SUBST([build_vendor], [$[2]])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([build_vendor])
m4trace:configure.in:7: -1- m4_pattern_allow([^build_vendor$])
m4trace:configure.in:7: -1- AC_SUBST([build_os])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([build_os])
m4trace:configure.in:7: -1- m4_pattern_allow([^build_os$])
m4trace:configure.in:7: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([host])
m4trace:configure.in:7: -1- m4_pattern_allow([^host$])
m4trace:configure.in:7: -1- AC_SUBST([host_cpu], [$[1]])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([host_cpu])
m4trace:configure.in:7: -1- m4_pattern_allow([^host_cpu$])
m4trace:configure.in:7: -1- AC_SUBST([host_vendor], [$[2]])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([host_vendor])
m4trace:configure.in:7: -1- m4_pattern_allow([^host_vendor$])
m4trace:configure.in:7: -1- AC_SUBST([host_os])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([host_os])
m4trace:configure.in:7: -1- m4_pattern_allow([^host_os$])
m4trace:configure.in:7: -1- AC_SUBST([target], [$ac_cv_target])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([target])
m4trace:configure.in:7: -1- m4_pattern_allow([^target$])
m4trace:configure.in:7: -1- AC_SUBST([target_cpu], [$[1]])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([target_cpu])
m4trace:configure.in:7: -1- m4_pattern_allow([^target_cpu$])
m4trace:configure.in:7: -1- AC_SUBST([target_vendor], [$[2]])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([target_vendor])
m4trace:configure.in:7: -1- m4_pattern_allow([^target_vendor$])
m4trace:configure.in:7: -1- AC_SUBST([target_os])
m4trace:configure.in:7: -1- AC_SUBST_TRACE([target_os])
m4trace:configure.in:7: -1- m4_pattern_allow([^target_os$])
m4trace:configure.in:9: -1- AM_INIT_AUTOMAKE
m4trace:configure.in:9: -1- m4_pattern_allow([^AM_[A-Z]+FLAGS$])
m4trace:configure.in:9: -1- AM_AUTOMAKE_VERSION([1.9.6])
m4trace:configure.in:9: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.in:9: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
m4trace:configure.in:9: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
m4trace:configure.in:9: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([INSTALL_DATA])
m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_DATA$])
m4trace:configure.in:9: -1- AC_SUBST([CYGPATH_W])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([CYGPATH_W])
m4trace:configure.in:9: -1- m4_pattern_allow([^CYGPATH_W$])
m4trace:configure.in:9: -1- _m4_warn([obsolete], [The macro `AC_FOREACH' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:196: AC_FOREACH is expanded from...
aclocal.m4:7533: _AM_SET_OPTIONS is expanded from...
aclocal.m4:7178: AM_INIT_AUTOMAKE is expanded from...
configure.in:9: the top level])
m4trace:configure.in:9: -1- AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([PACKAGE])
m4trace:configure.in:9: -1- m4_pattern_allow([^PACKAGE$])
m4trace:configure.in:9: -1- AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([VERSION])
m4trace:configure.in:9: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.in:9: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE])
m4trace:configure.in:9: -1- m4_pattern_allow([^PACKAGE$])
m4trace:configure.in:9: -1- AH_OUTPUT([PACKAGE], [/* Name of package */
#undef PACKAGE])
m4trace:configure.in:9: -1- AC_DEFINE_TRACE_LITERAL([VERSION])
m4trace:configure.in:9: -1- m4_pattern_allow([^VERSION$])
m4trace:configure.in:9: -1- AH_OUTPUT([VERSION], [/* Version number of package */
#undef VERSION])
m4trace:configure.in:9: -1- AC_SUBST([ACLOCAL])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([ACLOCAL])
m4trace:configure.in:9: -1- m4_pattern_allow([^ACLOCAL$])
m4trace:configure.in:9: -1- AC_SUBST([AUTOCONF])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([AUTOCONF])
m4trace:configure.in:9: -1- m4_pattern_allow([^AUTOCONF$])
m4trace:configure.in:9: -1- AC_SUBST([AUTOMAKE])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([AUTOMAKE])
m4trace:configure.in:9: -1- m4_pattern_allow([^AUTOMAKE$])
m4trace:configure.in:9: -1- AC_SUBST([AUTOHEADER])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([AUTOHEADER])
m4trace:configure.in:9: -1- m4_pattern_allow([^AUTOHEADER$])
m4trace:configure.in:9: -1- AC_SUBST([MAKEINFO])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([MAKEINFO])
m4trace:configure.in:9: -1- m4_pattern_allow([^MAKEINFO$])
m4trace:configure.in:9: -1- AC_SUBST([install_sh])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([install_sh])
m4trace:configure.in:9: -1- m4_pattern_allow([^install_sh$])
m4trace:configure.in:9: -1- AC_SUBST([STRIP])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([STRIP])
m4trace:configure.in:9: -1- m4_pattern_allow([^STRIP$])
m4trace:configure.in:9: -1- AC_SUBST([INSTALL_STRIP_PROGRAM])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([INSTALL_STRIP_PROGRAM])
m4trace:configure.in:9: -1- m4_pattern_allow([^INSTALL_STRIP_PROGRAM$])
m4trace:configure.in:9: -1- AC_SUBST([mkdir_p])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([mkdir_p])
m4trace:configure.in:9: -1- m4_pattern_allow([^mkdir_p$])
m4trace:configure.in:9: -1- AC_SUBST([AWK])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([AWK])
m4trace:configure.in:9: -1- m4_pattern_allow([^AWK$])
m4trace:configure.in:9: -1- AC_SUBST([SET_MAKE])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([SET_MAKE])
m4trace:configure.in:9: -1- m4_pattern_allow([^SET_MAKE$])
m4trace:configure.in:9: -1- AC_SUBST([am__leading_dot])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([am__leading_dot])
m4trace:configure.in:9: -1- m4_pattern_allow([^am__leading_dot$])
m4trace:configure.in:9: -1- AC_SUBST([AMTAR])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([AMTAR])
m4trace:configure.in:9: -1- m4_pattern_allow([^AMTAR$])
m4trace:configure.in:9: -1- AC_SUBST([am__tar])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([am__tar])
m4trace:configure.in:9: -1- m4_pattern_allow([^am__tar$])
m4trace:configure.in:9: -1- AC_SUBST([am__untar])
m4trace:configure.in:9: -1- AC_SUBST_TRACE([am__untar])
m4trace:configure.in:9: -1- m4_pattern_allow([^am__untar$])
m4trace:configure.in:11: -1- AC_CONFIG_HEADERS([config.h])
m4trace:configure.in:13: -1- AM_MAINTAINER_MODE
m4trace:configure.in:13: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
m4trace:configure.in:13: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
m4trace:configure.in:13: -1- AC_SUBST_TRACE([MAINTAINER_MODE_TRUE])
m4trace:configure.in:13: -1- m4_pattern_allow([^MAINTAINER_MODE_TRUE$])
m4trace:configure.in:13: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
m4trace:configure.in:13: -1- AC_SUBST_TRACE([MAINTAINER_MODE_FALSE])
m4trace:configure.in:13: -1- m4_pattern_allow([^MAINTAINER_MODE_FALSE$])
m4trace:configure.in:13: -1- AC_SUBST([MAINT])
m4trace:configure.in:13: -1- AC_SUBST_TRACE([MAINT])
m4trace:configure.in:13: -1- m4_pattern_allow([^MAINT$])
m4trace:configure.in:16: -1- AC_SUBST([CC])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:16: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:16: -1- AC_SUBST([CFLAGS])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([CFLAGS])
m4trace:configure.in:16: -1- m4_pattern_allow([^CFLAGS$])
m4trace:configure.in:16: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.in:16: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.in:16: -1- AC_SUBST([LIBS])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.in:16: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.in:16: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.in:16: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.in:16: -1- AC_SUBST([CC])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:16: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:16: -1- AC_SUBST([CC])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:16: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:16: -1- AC_SUBST([CC])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:16: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:16: -1- AC_SUBST([CC])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([CC])
m4trace:configure.in:16: -1- m4_pattern_allow([^CC$])
m4trace:configure.in:16: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([ac_ct_CC])
m4trace:configure.in:16: -1- m4_pattern_allow([^ac_ct_CC$])
m4trace:configure.in:16: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([EXEEXT])
m4trace:configure.in:16: -1- m4_pattern_allow([^EXEEXT$])
m4trace:configure.in:16: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([OBJEXT])
m4trace:configure.in:16: -1- m4_pattern_allow([^OBJEXT$])
m4trace:configure.in:16: -1- AC_SUBST([DEPDIR], ["${am__leading_dot}deps"])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([DEPDIR])
m4trace:configure.in:16: -1- m4_pattern_allow([^DEPDIR$])
m4trace:configure.in:16: -1- AC_SUBST([am__include])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([am__include])
m4trace:configure.in:16: -1- m4_pattern_allow([^am__include$])
m4trace:configure.in:16: -1- AC_SUBST([am__quote])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([am__quote])
m4trace:configure.in:16: -1- m4_pattern_allow([^am__quote$])
m4trace:configure.in:16: -1- AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
m4trace:configure.in:16: -1- AC_SUBST([AMDEP_TRUE])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([AMDEP_TRUE])
m4trace:configure.in:16: -1- m4_pattern_allow([^AMDEP_TRUE$])
m4trace:configure.in:16: -1- AC_SUBST([AMDEP_FALSE])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([AMDEP_FALSE])
m4trace:configure.in:16: -1- m4_pattern_allow([^AMDEP_FALSE$])
m4trace:configure.in:16: -1- AC_SUBST([AMDEPBACKSLASH])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([AMDEPBACKSLASH])
m4trace:configure.in:16: -1- m4_pattern_allow([^AMDEPBACKSLASH$])
m4trace:configure.in:16: -1- AC_SUBST([CCDEPMODE], [depmode=$am_cv_CC_dependencies_compiler_type])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([CCDEPMODE])
m4trace:configure.in:16: -1- m4_pattern_allow([^CCDEPMODE$])
m4trace:configure.in:16: -1- AM_CONDITIONAL([am__fastdepCC], [
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_CC_dependencies_compiler_type" = gcc3])
m4trace:configure.in:16: -1- AC_SUBST([am__fastdepCC_TRUE])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([am__fastdepCC_TRUE])
m4trace:configure.in:16: -1- m4_pattern_allow([^am__fastdepCC_TRUE$])
m4trace:configure.in:16: -1- AC_SUBST([am__fastdepCC_FALSE])
m4trace:configure.in:16: -1- AC_SUBST_TRACE([am__fastdepCC_FALSE])
m4trace:configure.in:16: -1- m4_pattern_allow([^am__fastdepCC_FALSE$])
m4trace:configure.in:17: -1- AM_PROG_CC_C_O
m4trace:configure.in:17: -1- AC_DEFINE_TRACE_LITERAL([NO_MINUS_C_MINUS_O])
m4trace:configure.in:17: -1- m4_pattern_allow([^NO_MINUS_C_MINUS_O$])
m4trace:configure.in:17: -1- AH_OUTPUT([NO_MINUS_C_MINUS_O], [/* Define to 1 if your C compiler doesn\'t accept -c and -o together. */
#undef NO_MINUS_C_MINUS_O])
m4trace:configure.in:18: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from...
aclocal.m4:2268: AC_PROG_LD is expanded from...
configure.in:18: the top level])
m4trace:configure.in:18: -1- AC_SUBST([SED])
m4trace:configure.in:18: -1- AC_SUBST_TRACE([SED])
m4trace:configure.in:18: -1- m4_pattern_allow([^SED$])
m4trace:configure.in:18: -1- AC_SUBST([GREP])
m4trace:configure.in:18: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.in:18: -1- m4_pattern_allow([^GREP$])
m4trace:configure.in:18: -1- AC_SUBST([GREP])
m4trace:configure.in:18: -1- AC_SUBST_TRACE([GREP])
m4trace:configure.in:18: -1- m4_pattern_allow([^GREP$])
m4trace:configure.in:18: -1- AC_SUBST([EGREP])
m4trace:configure.in:18: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.in:18: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.in:18: -1- AC_SUBST([EGREP])
m4trace:configure.in:18: -1- AC_SUBST_TRACE([EGREP])
m4trace:configure.in:18: -1- m4_pattern_allow([^EGREP$])
m4trace:configure.in:19: -1- AC_REQUIRE_AUX_FILE([install-sh])
m4trace:configure.in:19: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.in:19: -1- AC_SUBST_TRACE([INSTALL_PROGRAM])
m4trace:configure.in:19: -1- m4_pattern_allow([^INSTALL_PROGRAM$])
m4trace:configure.in:19: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.in:19: -1- AC_SUBST_TRACE([INSTALL_SCRIPT])
m4trace:configure.in:19: -1- m4_pattern_allow([^INSTALL_SCRIPT$])
m4trace:configure.in:19: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.in:19: -1- AC_SUBST_TRACE([INSTALL_DATA])
m4trace:configure.in:19: -1- m4_pattern_allow([^INSTALL_DATA$])
m4trace:configure.in:20: -1- AC_SUBST([AWK])
m4trace:configure.in:20: -1- AC_SUBST_TRACE([AWK])
m4trace:configure.in:20: -1- m4_pattern_allow([^AWK$])
m4trace:configure.in:21: -1- AC_SUBST([CPP])
m4trace:configure.in:21: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.in:21: -1- m4_pattern_allow([^CPP$])
m4trace:configure.in:21: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:21: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.in:21: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.in:21: -1- AC_SUBST([CPP])
m4trace:configure.in:21: -1- AC_SUBST_TRACE([CPP])
m4trace:configure.in:21: -1- m4_pattern_allow([^CPP$])
m4trace:configure.in:23: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.in:23: -1- AC_SUBST_TRACE([LN_S])
m4trace:configure.in:23: -1- m4_pattern_allow([^LN_S$])
m4trace:configure.in:24: -1- AC_SUBST([SET_MAKE])
m4trace:configure.in:24: -1- AC_SUBST_TRACE([SET_MAKE])
m4trace:configure.in:24: -1- m4_pattern_allow([^SET_MAKE$])
m4trace:configure.in:27: -1- AH_OUTPUT([_ALL_SOURCE], [/* Define to 1 if on AIX 3.
   System headers sometimes define this.
   We just want to avoid a redefinition error message.  */
@%:@ifndef _ALL_SOURCE
@%:@ undef _ALL_SOURCE
@%:@endif])
m4trace:configure.in:27: -1- AC_DEFINE_TRACE_LITERAL([_ALL_SOURCE])
m4trace:configure.in:27: -1- m4_pattern_allow([^_ALL_SOURCE$])
m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:29: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.in:29: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
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:29: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_SOURCE])
m4trace:configure.in:29: -1- m4_pattern_allow([^_POSIX_SOURCE$])
m4trace:configure.in:29: -1- AH_OUTPUT([_POSIX_SOURCE], [/* Define to 1 if you need to in order for `stat\' and other things to work. */
#undef _POSIX_SOURCE])
m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([_POSIX_1_SOURCE])
m4trace:configure.in:29: -1- m4_pattern_allow([^_POSIX_1_SOURCE$])
m4trace:configure.in:29: -1- AH_OUTPUT([_POSIX_1_SOURCE], [/* Define to 2 if the system does not provide POSIX.1 features except with
   this defined. */
#undef _POSIX_1_SOURCE])
m4trace:configure.in:29: -1- AC_DEFINE_TRACE_LITERAL([_MINIX])
m4trace:configure.in:29: -1- m4_pattern_allow([^_MINIX$])
m4trace:configure.in:29: -1- AH_OUTPUT([_MINIX], [/* Define to 1 if on MINIX. */
#undef _MINIX])
m4trace:configure.in:36: -1- AM_CONDITIONAL([NO_RDYNAMIC], [test x$NO_RDYNAMIC = xyes])
m4trace:configure.in:36: -1- AC_SUBST([NO_RDYNAMIC_TRUE])
m4trace:configure.in:36: -1- AC_SUBST_TRACE([NO_RDYNAMIC_TRUE])
m4trace:configure.in:36: -1- m4_pattern_allow([^NO_RDYNAMIC_TRUE$])
m4trace:configure.in:36: -1- AC_SUBST([NO_RDYNAMIC_FALSE])
m4trace:configure.in:36: -1- AC_SUBST_TRACE([NO_RDYNAMIC_FALSE])
m4trace:configure.in:36: -1- m4_pattern_allow([^NO_RDYNAMIC_FALSE$])
m4trace:configure.in:41: -1- AC_DEFINE_TRACE_LITERAL([PROTOTYPES])
m4trace:configure.in:41: -1- m4_pattern_allow([^PROTOTYPES$])
m4trace:configure.in:41: -1- AH_OUTPUT([PROTOTYPES], [/* Define to 1 if the C compiler supports function prototypes. */
#undef PROTOTYPES])
m4trace:configure.in:41: -1- AC_DEFINE_TRACE_LITERAL([__PROTOTYPES])
m4trace:configure.in:41: -1- m4_pattern_allow([^__PROTOTYPES$])
m4trace:configure.in:41: -1- AH_OUTPUT([__PROTOTYPES], [/* Define like PROTOTYPES; this can be used by system headers. */
#undef __PROTOTYPES])
m4trace:configure.in:41: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:41: -1- AC_SUBST([U])
m4trace:configure.in:41: -1- AC_SUBST_TRACE([U])
m4trace:configure.in:41: -1- m4_pattern_allow([^U$])
m4trace:configure.in:41: -1- AC_SUBST([ANSI2KNR])
m4trace:configure.in:41: -1- AC_SUBST_TRACE([ANSI2KNR])
m4trace:configure.in:41: -1- m4_pattern_allow([^ANSI2KNR$])
m4trace:configure.in:44: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from...
aclocal.m4:2088: AC_ENABLE_STATIC is expanded from...
aclocal.m4:2117: AC_DISABLE_STATIC is expanded from...
configure.in:44: the top level])
m4trace:configure.in:45: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from...
aclocal.m4:2049: AC_ENABLE_SHARED is expanded from...
configure.in:45: the top level])
m4trace:configure.in:48: -1- AC_PROG_LIBTOOL
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from...
aclocal.m4:2127: AC_ENABLE_FAST_INSTALL is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- AC_SUBST([ECHO])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([ECHO])
m4trace:configure.in:48: -1- m4_pattern_allow([^ECHO$])
m4trace:configure.in:48: -1- AC_SUBST([AR])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([AR])
m4trace:configure.in:48: -1- m4_pattern_allow([^AR$])
m4trace:configure.in:48: -1- AC_SUBST([RANLIB])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([RANLIB])
m4trace:configure.in:48: -1- m4_pattern_allow([^RANLIB$])
m4trace:configure.in:48: -1- AC_SUBST([STRIP])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([STRIP])
m4trace:configure.in:48: -1- m4_pattern_allow([^STRIP$])
m4trace:configure.in:48: -1- AC_SUBST([DSYMUTIL])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([DSYMUTIL])
m4trace:configure.in:48: -1- m4_pattern_allow([^DSYMUTIL$])
m4trace:configure.in:48: -1- AC_SUBST([NMEDIT])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([NMEDIT])
m4trace:configure.in:48: -1- m4_pattern_allow([^NMEDIT$])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1364: AC_ARG_ENABLE is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from...
../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from...
aclocal.m4:557: _LT_AC_LOCK is expanded from...
aclocal.m4:1177: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
aclocal.m4:2801: _LT_AC_LANG_C_CONFIG is expanded from...
aclocal.m4:2800: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H])
m4trace:configure.in:48: -1- _LT_AC_TAGCONFIG
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
../../lib/autoconf/general.m4:1382: AC_ARG_WITH is expanded from...
aclocal.m4:1926: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me:$LINENO: error: tag name \"$tagname\" already exists], [aclocal.m4:1926: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: tag name \"$tagname\" already exists], [aclocal.m4:1926: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- AC_SUBST([CXX])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([CXX])
m4trace:configure.in:48: -1- m4_pattern_allow([^CXX$])
m4trace:configure.in:48: -1- AC_SUBST([CXXFLAGS])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([CXXFLAGS])
m4trace:configure.in:48: -1- m4_pattern_allow([^CXXFLAGS$])
m4trace:configure.in:48: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.in:48: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.in:48: -1- AC_SUBST([LIBS])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.in:48: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.in:48: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.in:48: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.in:48: -1- AC_SUBST([CXX])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([CXX])
m4trace:configure.in:48: -1- m4_pattern_allow([^CXX$])
m4trace:configure.in:48: -1- AC_SUBST([ac_ct_CXX])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([ac_ct_CXX])
m4trace:configure.in:48: -1- m4_pattern_allow([^ac_ct_CXX$])
m4trace:configure.in:48: -1- AC_SUBST([CXXDEPMODE], [depmode=$am_cv_CXX_dependencies_compiler_type])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([CXXDEPMODE])
m4trace:configure.in:48: -1- m4_pattern_allow([^CXXDEPMODE$])
m4trace:configure.in:48: -1- AM_CONDITIONAL([am__fastdepCXX], [
  test "x$enable_dependency_tracking" != xno \
  && test "$am_cv_CXX_dependencies_compiler_type" = gcc3])
m4trace:configure.in:48: -1- AC_SUBST([am__fastdepCXX_TRUE])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([am__fastdepCXX_TRUE])
m4trace:configure.in:48: -1- m4_pattern_allow([^am__fastdepCXX_TRUE$])
m4trace:configure.in:48: -1- AC_SUBST([am__fastdepCXX_FALSE])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([am__fastdepCXX_FALSE])
m4trace:configure.in:48: -1- m4_pattern_allow([^am__fastdepCXX_FALSE$])
m4trace:configure.in:48: -1- AC_SUBST([CXXCPP])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([CXXCPP])
m4trace:configure.in:48: -1- m4_pattern_allow([^CXXCPP$])
m4trace:configure.in:48: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([CPPFLAGS])
m4trace:configure.in:48: -1- m4_pattern_allow([^CPPFLAGS$])
m4trace:configure.in:48: -1- AC_SUBST([CXXCPP])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([CXXCPP])
m4trace:configure.in:48: -1- m4_pattern_allow([^CXXCPP$])
m4trace:configure.in:48: -1- AC_SUBST([F77])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([F77])
m4trace:configure.in:48: -1- m4_pattern_allow([^F77$])
m4trace:configure.in:48: -1- AC_SUBST([FFLAGS])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([FFLAGS])
m4trace:configure.in:48: -1- m4_pattern_allow([^FFLAGS$])
m4trace:configure.in:48: -1- AC_SUBST([LDFLAGS])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([LDFLAGS])
m4trace:configure.in:48: -1- m4_pattern_allow([^LDFLAGS$])
m4trace:configure.in:48: -1- AC_SUBST([LIBS])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([LIBS])
m4trace:configure.in:48: -1- m4_pattern_allow([^LIBS$])
m4trace:configure.in:48: -1- AC_SUBST([F77])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([F77])
m4trace:configure.in:48: -1- m4_pattern_allow([^F77$])
m4trace:configure.in:48: -1- AC_SUBST([ac_ct_F77])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([ac_ct_F77])
m4trace:configure.in:48: -1- m4_pattern_allow([^ac_ct_F77$])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from...
aclocal.m4:4187: _LT_AC_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:4186: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:1926: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from...
aclocal.m4:4187: _LT_AC_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:4186: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:1926: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/lang.m4:167: AC_LANG_SAVE is expanded from...
aclocal.m4:4243: _LT_AC_LANG_RC_CONFIG is expanded from...
aclocal.m4:4242: AC_LIBTOOL_LANG_RC_CONFIG is expanded from...
aclocal.m4:1926: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete.
You should run autoupdate.], [../../lib/autoconf/lang.m4:176: AC_LANG_RESTORE is expanded from...
aclocal.m4:4243: _LT_AC_LANG_RC_CONFIG is expanded from...
aclocal.m4:4242: AC_LIBTOOL_LANG_RC_CONFIG is expanded from...
aclocal.m4:1926: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:86: AC_LIBTOOL_SETUP is expanded from...
aclocal.m4:66: _AC_PROG_LIBTOOL is expanded from...
aclocal.m4:31: AC_PROG_LIBTOOL is expanded from...
configure.in:48: the top level])
m4trace:configure.in:48: -1- AC_SUBST([LIBTOOL])
m4trace:configure.in:48: -1- AC_SUBST_TRACE([LIBTOOL])
m4trace:configure.in:48: -1- m4_pattern_allow([^LIBTOOL$])
m4trace:configure.in:54: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.in:54: -1- m4_pattern_allow([^STDC_HEADERS$])
m4trace:configure.in:54: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
m4trace:configure.in:55: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SYS_WAIT_H])
m4trace:configure.in:55: -1- m4_pattern_allow([^HAVE_SYS_WAIT_H$])
m4trace:configure.in:55: -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:56: -1- AH_OUTPUT([HAVE_ARPA_INET_H], [/* Define to 1 if you have the <arpa/inet.h> header file. */
#undef HAVE_ARPA_INET_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_FCNTL_H], [/* Define to 1 if you have the <fcntl.h> header file. */
#undef HAVE_FCNTL_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_NETINET_IN_H], [/* Define to 1 if you have the <netinet/in.h> header file. */
#undef HAVE_NETINET_IN_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_SOCKET_H], [/* Define to 1 if you have the <sys/socket.h> header file. */
#undef HAVE_SYS_SOCKET_H])
m4trace:configure.in:56: -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:56: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_SENDFILE_H], [/* Define to 1 if you have the <sys/sendfile.h> header file. */
#undef HAVE_SYS_SENDFILE_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_UIO_H], [/* Define to 1 if you have the <sys/uio.h> header file. */
#undef HAVE_SYS_UIO_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_GETOPT_H], [/* Define to 1 if you have the <getopt.h> header file. */
#undef HAVE_GETOPT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_EPOLL_H], [/* Define to 1 if you have the <sys/epoll.h> header file. */
#undef HAVE_SYS_EPOLL_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_SELECT_H], [/* Define to 1 if you have the <sys/select.h> header file. */
#undef HAVE_SYS_SELECT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_POLL_H], [/* Define to 1 if you have the <poll.h> header file. */
#undef HAVE_POLL_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_POLL_H], [/* Define to 1 if you have the <sys/poll.h> header file. */
#undef HAVE_SYS_POLL_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_DEVPOLL_H], [/* Define to 1 if you have the <sys/devpoll.h> header file. */
#undef HAVE_SYS_DEVPOLL_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_FILIO_H], [/* Define to 1 if you have the <sys/filio.h> header file. */
#undef HAVE_SYS_FILIO_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_MMAN_H], [/* Define to 1 if you have the <sys/mman.h> header file. */
#undef HAVE_SYS_MMAN_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_EVENT_H], [/* Define to 1 if you have the <sys/event.h> header file. */
#undef HAVE_SYS_EVENT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_PORT_H], [/* Define to 1 if you have the <sys/port.h> header file. */
#undef HAVE_SYS_PORT_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_PWD_H], [/* Define to 1 if you have the <pwd.h> header file. */
#undef HAVE_PWD_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_SYSLIMITS_H], [/* Define to 1 if you have the <sys/syslimits.h> header file. */
#undef HAVE_SYS_SYSLIMITS_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_RESOURCE_H], [/* Define to 1 if you have the <sys/resource.h> header file. */
#undef HAVE_SYS_RESOURCE_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_UN_H], [/* Define to 1 if you have the <sys/un.h> header file. */
#undef HAVE_SYS_UN_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYSLOG_H], [/* Define to 1 if you have the <syslog.h> header file. */
#undef HAVE_SYSLOG_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_SYS_PRCTL_H], [/* Define to 1 if you have the <sys/prctl.h> header file. */
#undef HAVE_SYS_PRCTL_H])
m4trace:configure.in:56: -1- AH_OUTPUT([HAVE_UUID_UUID_H], [/* Define to 1 if you have the <uuid/uuid.h> header file. */
#undef HAVE_UUID_UUID_H])
m4trace:configure.in:63: -1- AC_DEFINE_TRACE_LITERAL([const])
m4trace:configure.in:63: -1- m4_pattern_allow([^const$])
m4trace:configure.in:63: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
#undef const])
m4trace:configure.in:64: -1- AH_OUTPUT([inline], [/* Define to `__inline__\' or `__inline\' if that\'s what the C compiler
   calls it, or to nothing if \'inline\' is not supported under any name.  */
#ifndef __cplusplus
#undef inline
#endif])
m4trace:configure.in:65: -1- AH_OUTPUT([__CHAR_UNSIGNED__], [/* Define to 1 if type `char\' is unsigned and you are not using gcc.  */
#ifndef __CHAR_UNSIGNED__
# undef __CHAR_UNSIGNED__
#endif])
m4trace:configure.in:65: -1- AC_DEFINE_TRACE_LITERAL([__CHAR_UNSIGNED__])
m4trace:configure.in:65: -1- m4_pattern_allow([^__CHAR_UNSIGNED__$])
m4trace:configure.in:66: -1- AC_DEFINE_TRACE_LITERAL([off_t])
m4trace:configure.in:66: -1- m4_pattern_allow([^off_t$])
m4trace:configure.in:66: -1- AH_OUTPUT([off_t], [/* Define to `long int\' if <sys/types.h> does not define. */
#undef off_t])
m4trace:configure.in:67: -1- AC_DEFINE_TRACE_LITERAL([pid_t])
m4trace:configure.in:67: -1- m4_pattern_allow([^pid_t$])
m4trace:configure.in:67: -1- AH_OUTPUT([pid_t], [/* Define to `int\' if <sys/types.h> does not define. */
#undef pid_t])
m4trace:configure.in:68: -1- AC_DEFINE_TRACE_LITERAL([size_t])
m4trace:configure.in:68: -1- m4_pattern_allow([^size_t$])
m4trace:configure.in:68: -1- AH_OUTPUT([size_t], [/* Define to `unsigned int\' if <sys/types.h> does not define. */
#undef size_t])
m4trace:configure.in:70: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_TM_GMTOFF])
m4trace:configure.in:70: -1- m4_pattern_allow([^HAVE_STRUCT_TM_GMTOFF$])
m4trace:configure.in:70: -1- AH_OUTPUT([HAVE_STRUCT_TM_GMTOFF], [/* gmtoff in struct tm */
#undef HAVE_STRUCT_TM_GMTOFF])
m4trace:configure.in:71: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRUCT_SOCKADDR_STORAGE])
m4trace:configure.in:71: -1- m4_pattern_allow([^HAVE_STRUCT_SOCKADDR_STORAGE$])
m4trace:configure.in:71: -1- AH_OUTPUT([HAVE_STRUCT_SOCKADDR_STORAGE], [/* Define to 1 if the system has the type `struct sockaddr_storage\'. */
#undef HAVE_STRUCT_SOCKADDR_STORAGE])
m4trace:configure.in:72: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SOCKLEN_T])
m4trace:configure.in:72: -1- m4_pattern_allow([^HAVE_SOCKLEN_T$])
m4trace:configure.in:72: -1- AH_OUTPUT([HAVE_SOCKLEN_T], [/* Define to 1 if the system has the type `socklen_t\'. */
#undef HAVE_SOCKLEN_T])
m4trace:configure.in:76: -1- AH_OUTPUT([HAVE_VFORK_H], [/* Define to 1 if you have the <vfork.h> header file. */
#undef HAVE_VFORK_H])
m4trace:configure.in:76: -1- AH_OUTPUT([HAVE_FORK], [/* Define to 1 if you have the `fork\' function. */
#undef HAVE_FORK])
m4trace:configure.in:76: -1- AH_OUTPUT([HAVE_VFORK], [/* Define to 1 if you have the `vfork\' function. */
#undef HAVE_VFORK])
m4trace:configure.in:76: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_VFORK])
m4trace:configure.in:76: -1- m4_pattern_allow([^HAVE_WORKING_VFORK$])
m4trace:configure.in:76: -1- AH_OUTPUT([HAVE_WORKING_VFORK], [/* Define to 1 if `vfork\' works. */
#undef HAVE_WORKING_VFORK])
m4trace:configure.in:76: -1- AC_DEFINE_TRACE_LITERAL([vfork])
m4trace:configure.in:76: -1- m4_pattern_allow([^vfork$])
m4trace:configure.in:76: -1- AH_OUTPUT([vfork], [/* Define as `fork\' if `vfork\' does not work. */
#undef vfork])
m4trace:configure.in:76: -1- AC_DEFINE_TRACE_LITERAL([HAVE_WORKING_FORK])
m4trace:configure.in:76: -1- m4_pattern_allow([^HAVE_WORKING_FORK$])
m4trace:configure.in:76: -1- AH_OUTPUT([HAVE_WORKING_FORK], [/* Define to 1 if `fork\' works. */
#undef HAVE_WORKING_FORK])
m4trace:configure.in:80: -1- AC_DEFINE_TRACE_LITERAL([RETSIGTYPE])
m4trace:configure.in:80: -1- m4_pattern_allow([^RETSIGTYPE$])
m4trace:configure.in:80: -1- AH_OUTPUT([RETSIGTYPE], [/* Define as the return type of signal handlers (`int\' or `void\'). */
#undef RETSIGTYPE])
m4trace:configure.in:81: -1- AC_DEFINE_TRACE_LITERAL([LSTAT_FOLLOWS_SLASHED_SYMLINK])
m4trace:configure.in:81: -1- m4_pattern_allow([^LSTAT_FOLLOWS_SLASHED_SYMLINK$])
m4trace:configure.in:81: -1- AH_OUTPUT([LSTAT_FOLLOWS_SLASHED_SYMLINK], [/* Define to 1 if `lstat\' dereferences a symlink specified with a trailing
   slash. */
#undef LSTAT_FOLLOWS_SLASHED_SYMLINK])
m4trace:configure.in:81: -1- AC_LIBSOURCE([lstat.c])
m4trace:configure.in:81: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS lstat.$ac_objext"])
m4trace:configure.in:81: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:81: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.in:81: -1- AC_LIBSOURCE([stat.c])
m4trace:configure.in:81: -1- AC_SUBST([LIB@&t@OBJS], ["$LIB@&t@OBJS stat.$ac_objext"])
m4trace:configure.in:81: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:81: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.in:81: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STAT_EMPTY_STRING_BUG])
m4trace:configure.in:81: -1- m4_pattern_allow([^HAVE_STAT_EMPTY_STRING_BUG$])
m4trace:configure.in:81: -1- AH_OUTPUT([HAVE_STAT_EMPTY_STRING_BUG], [/* Define to 1 if `stat\' has the bug that it succeeds when given the
   zero-length file name argument. */
#undef HAVE_STAT_EMPTY_STRING_BUG])
m4trace:configure.in:82: -1- AH_OUTPUT([HAVE_STRFTIME], [/* Define to 1 if you have the `strftime\' function. */
#undef HAVE_STRFTIME])
m4trace:configure.in:82: -1- AC_DEFINE_TRACE_LITERAL([HAVE_STRFTIME])
m4trace:configure.in:82: -1- m4_pattern_allow([^HAVE_STRFTIME$])
m4trace:configure.in:90: -1- AC_SUBST([AXIS2C_LIBS])
m4trace:configure.in:90: -1- AC_SUBST_TRACE([AXIS2C_LIBS])
m4trace:configure.in:90: -1- m4_pattern_allow([^AXIS2C_LIBS$])
m4trace:configure.in:91: -1- AC_SUBST([AXIS2C_INCLUDE])
m4trace:configure.in:91: -1- AC_SUBST_TRACE([AXIS2C_INCLUDE])
m4trace:configure.in:91: -1- m4_pattern_allow([^AXIS2C_INCLUDE$])
m4trace:configure.in:95: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:95: the top level])
m4trace:configure.in:101: -1- AC_SUBST([MYSQL_CONFIG])
m4trace:configure.in:101: -1- AC_SUBST_TRACE([MYSQL_CONFIG])
m4trace:configure.in:101: -1- m4_pattern_allow([^MYSQL_CONFIG$])
m4trace:configure.in:128: -1- AH_OUTPUT([HAVE_ERRMSG_H], [/* Define to 1 if you have the <errmsg.h> header file. */
#undef HAVE_ERRMSG_H])
m4trace:configure.in:128: -1- AH_OUTPUT([HAVE_MYSQL_H], [/* Define to 1 if you have the <mysql.h> header file. */
#undef HAVE_MYSQL_H])
m4trace:configure.in:131: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MYSQL])
m4trace:configure.in:131: -1- m4_pattern_allow([^HAVE_MYSQL$])
m4trace:configure.in:131: -1- AH_OUTPUT([HAVE_MYSQL], [/* mysql support */
#undef HAVE_MYSQL])
m4trace:configure.in:136: -1- AC_SUBST([MYSQL_LIBS])
m4trace:configure.in:136: -1- AC_SUBST_TRACE([MYSQL_LIBS])
m4trace:configure.in:136: -1- m4_pattern_allow([^MYSQL_LIBS$])
m4trace:configure.in:137: -1- AC_SUBST([MYSQL_INCLUDE])
m4trace:configure.in:137: -1- AC_SUBST_TRACE([MYSQL_INCLUDE])
m4trace:configure.in:137: -1- m4_pattern_allow([^MYSQL_INCLUDE$])
m4trace:configure.in:141: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:141: the top level])
m4trace:configure.in:145: -1- AH_OUTPUT([HAVE_LDAP_H], [/* Define to 1 if you have the <ldap.h> header file. */
#undef HAVE_LDAP_H])
m4trace:configure.in:145: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBLDAP])
m4trace:configure.in:145: -1- m4_pattern_allow([^HAVE_LIBLDAP$])
m4trace:configure.in:145: -1- AH_OUTPUT([HAVE_LIBLDAP], [/* libldap */
#undef HAVE_LIBLDAP])
m4trace:configure.in:145: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LDAP_H])
m4trace:configure.in:145: -1- m4_pattern_allow([^HAVE_LDAP_H$])
m4trace:configure.in:152: -1- AC_SUBST([LDAP_LIB])
m4trace:configure.in:152: -1- AC_SUBST_TRACE([LDAP_LIB])
m4trace:configure.in:152: -1- m4_pattern_allow([^LDAP_LIB$])
m4trace:configure.in:153: -1- AH_OUTPUT([HAVE_LBER_H], [/* Define to 1 if you have the <lber.h> header file. */
#undef HAVE_LBER_H])
m4trace:configure.in:153: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBLBER])
m4trace:configure.in:153: -1- m4_pattern_allow([^HAVE_LIBLBER$])
m4trace:configure.in:153: -1- AH_OUTPUT([HAVE_LIBLBER], [/* liblber */
#undef HAVE_LIBLBER])
m4trace:configure.in:153: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LBER_H])
m4trace:configure.in:153: -1- m4_pattern_allow([^HAVE_LBER_H$])
m4trace:configure.in:160: -1- AC_SUBST([LBER_LIB])
m4trace:configure.in:160: -1- AC_SUBST_TRACE([LBER_LIB])
m4trace:configure.in:160: -1- m4_pattern_allow([^LBER_LIB$])
m4trace:configure.in:165: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:165: the top level])
m4trace:configure.in:169: -1- AH_OUTPUT([HAVE_ATTR_ATTRIBUTES_H], [/* Define to 1 if you have the <attr/attributes.h> header file. */
#undef HAVE_ATTR_ATTRIBUTES_H])
m4trace:configure.in:169: -1- AC_DEFINE_TRACE_LITERAL([HAVE_XATTR])
m4trace:configure.in:169: -1- m4_pattern_allow([^HAVE_XATTR$])
m4trace:configure.in:169: -1- AH_OUTPUT([HAVE_XATTR], [/* libattr */
#undef HAVE_XATTR])
m4trace:configure.in:169: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ATTR_ATTRIBUTES_H])
m4trace:configure.in:169: -1- m4_pattern_allow([^HAVE_ATTR_ATTRIBUTES_H$])
m4trace:configure.in:176: -1- AC_SUBST([ATTR_LIB])
m4trace:configure.in:176: -1- AC_SUBST_TRACE([ATTR_LIB])
m4trace:configure.in:176: -1- m4_pattern_allow([^ATTR_LIB$])
m4trace:configure.in:185: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H])
m4trace:configure.in:185: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBDL])
m4trace:configure.in:185: -1- m4_pattern_allow([^HAVE_LIBDL$])
m4trace:configure.in:185: -1- AH_OUTPUT([HAVE_LIBDL], [/* libdl */
#undef HAVE_LIBDL])
m4trace:configure.in:185: -1- AC_DEFINE_TRACE_LITERAL([HAVE_DLFCN_H])
m4trace:configure.in:185: -1- m4_pattern_allow([^HAVE_DLFCN_H$])
m4trace:configure.in:196: -1- AC_SUBST([DL_LIB])
m4trace:configure.in:196: -1- AC_SUBST_TRACE([DL_LIB])
m4trace:configure.in:196: -1- m4_pattern_allow([^DL_LIB$])
m4trace:configure.in:200: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:200: the top level])
m4trace:configure.in:204: -1- AH_OUTPUT([HAVE_VALGRIND_VALGRIND_H], [/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
#undef HAVE_VALGRIND_VALGRIND_H])
m4trace:configure.in:210: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:210: the top level])
m4trace:configure.in:225: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:225: the top level])
m4trace:configure.in:230: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:230: the top level])
m4trace:configure.in:235: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:235: the top level])
m4trace:configure.in:244: -1- AH_OUTPUT([HAVE_OPENSSL_SSL_H], [/* Define to 1 if you have the <openssl/ssl.h> header file. */
#undef HAVE_OPENSSL_SSL_H])
m4trace:configure.in:246: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBSSL])
m4trace:configure.in:246: -1- m4_pattern_allow([^HAVE_LIBSSL$])
m4trace:configure.in:246: -1- AH_OUTPUT([HAVE_LIBSSL], [/* Have libssl */
#undef HAVE_LIBSSL])
m4trace:configure.in:251: -1- AC_SUBST([SSL_LIB])
m4trace:configure.in:251: -1- AC_SUBST_TRACE([SSL_LIB])
m4trace:configure.in:251: -1- m4_pattern_allow([^SSL_LIB$])
m4trace:configure.in:255: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:255: the top level])
m4trace:configure.in:260: -1- AC_SUBST([PCRECONFIG])
m4trace:configure.in:260: -1- AC_SUBST_TRACE([PCRECONFIG])
m4trace:configure.in:260: -1- m4_pattern_allow([^PCRECONFIG$])
m4trace:configure.in:267: -1- AH_OUTPUT([HAVE_PCRE_H], [/* Define to 1 if you have the <pcre.h> header file. */
#undef HAVE_PCRE_H])
m4trace:configure.in:267: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBPCRE])
m4trace:configure.in:267: -1- m4_pattern_allow([^HAVE_LIBPCRE$])
m4trace:configure.in:267: -1- AH_OUTPUT([HAVE_LIBPCRE], [/* libpcre */
#undef HAVE_LIBPCRE])
m4trace:configure.in:267: -1- AC_DEFINE_TRACE_LITERAL([HAVE_PCRE_H])
m4trace:configure.in:267: -1- m4_pattern_allow([^HAVE_PCRE_H$])
m4trace:configure.in:279: -1- AC_SUBST([PCRE_LIB])
m4trace:configure.in:279: -1- AC_SUBST_TRACE([PCRE_LIB])
m4trace:configure.in:279: -1- m4_pattern_allow([^PCRE_LIB$])
m4trace:configure.in:282: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:282: the top level])
m4trace:configure.in:287: -1- AH_OUTPUT([HAVE_ZLIB_H], [/* Define to 1 if you have the <zlib.h> header file. */
#undef HAVE_ZLIB_H])
m4trace:configure.in:287: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBZ])
m4trace:configure.in:287: -1- m4_pattern_allow([^HAVE_LIBZ$])
m4trace:configure.in:287: -1- AH_OUTPUT([HAVE_LIBZ], [/* libz */
#undef HAVE_LIBZ])
m4trace:configure.in:287: -1- AC_DEFINE_TRACE_LITERAL([HAVE_ZLIB_H])
m4trace:configure.in:287: -1- m4_pattern_allow([^HAVE_ZLIB_H$])
m4trace:configure.in:298: -1- AC_SUBST([Z_LIB])
m4trace:configure.in:298: -1- AC_SUBST_TRACE([Z_LIB])
m4trace:configure.in:298: -1- m4_pattern_allow([^Z_LIB$])
m4trace:configure.in:301: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:301: the top level])
m4trace:configure.in:306: -1- AH_OUTPUT([HAVE_BZLIB_H], [/* Define to 1 if you have the <bzlib.h> header file. */
#undef HAVE_BZLIB_H])
m4trace:configure.in:306: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBBZ2])
m4trace:configure.in:306: -1- m4_pattern_allow([^HAVE_LIBBZ2$])
m4trace:configure.in:306: -1- AH_OUTPUT([HAVE_LIBBZ2], [/* libbz2 */
#undef HAVE_LIBBZ2])
m4trace:configure.in:306: -1- AC_DEFINE_TRACE_LITERAL([HAVE_BZLIB_H])
m4trace:configure.in:306: -1- m4_pattern_allow([^HAVE_BZLIB_H$])
m4trace:configure.in:317: -1- AC_SUBST([BZ_LIB])
m4trace:configure.in:317: -1- AC_SUBST_TRACE([BZ_LIB])
m4trace:configure.in:317: -1- m4_pattern_allow([^BZ_LIB$])
m4trace:configure.in:320: -1- AC_SUBST([PKG_CONFIG])
m4trace:configure.in:320: -1- AC_SUBST_TRACE([PKG_CONFIG])
m4trace:configure.in:320: -1- m4_pattern_allow([^PKG_CONFIG$])
m4trace:configure.in:325: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:325: the top level])
m4trace:configure.in:330: -1- AH_OUTPUT([HAVE_FAM_H], [/* Define to 1 if you have the <fam.h> header file. */
#undef HAVE_FAM_H])
m4trace:configure.in:330: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFAM])
m4trace:configure.in:330: -1- m4_pattern_allow([^HAVE_LIBFAM$])
m4trace:configure.in:330: -1- AH_OUTPUT([HAVE_LIBFAM], [/* libfam */
#undef HAVE_LIBFAM])
m4trace:configure.in:330: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FAM_H])
m4trace:configure.in:330: -1- m4_pattern_allow([^HAVE_FAM_H$])
m4trace:configure.in:330: -1- AH_OUTPUT([HAVE_FAM_H], [/* fam.h */
#undef HAVE_FAM_H])
m4trace:configure.in:338: -1- m4_pattern_forbid([^_?PKG_[A-Z_]+$])
m4trace:configure.in:338: -1- m4_pattern_allow([^PKG_CONFIG(_PATH)?$])
m4trace:configure.in:338: -1- AC_SUBST([PKG_CONFIG])
m4trace:configure.in:338: -1- AC_SUBST_TRACE([PKG_CONFIG])
m4trace:configure.in:338: -1- m4_pattern_allow([^PKG_CONFIG$])
m4trace:configure.in:338: -1- AC_SUBST([PKG_CONFIG])
m4trace:configure.in:338: -1- AC_SUBST_TRACE([PKG_CONFIG])
m4trace:configure.in:338: -1- m4_pattern_allow([^PKG_CONFIG$])
m4trace:configure.in:338: -1- AC_SUBST([FAM_CFLAGS])
m4trace:configure.in:338: -1- AC_SUBST_TRACE([FAM_CFLAGS])
m4trace:configure.in:338: -1- m4_pattern_allow([^FAM_CFLAGS$])
m4trace:configure.in:338: -1- AC_SUBST([FAM_LIBS])
m4trace:configure.in:338: -1- AC_SUBST_TRACE([FAM_LIBS])
m4trace:configure.in:338: -1- m4_pattern_allow([^FAM_LIBS$])
m4trace:configure.in:338: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBFAM])
m4trace:configure.in:338: -1- m4_pattern_allow([^HAVE_LIBFAM$])
m4trace:configure.in:338: -1- AH_OUTPUT([HAVE_LIBFAM], [/* libfam */
#undef HAVE_LIBFAM])
m4trace:configure.in:338: -1- AC_DEFINE_TRACE_LITERAL([HAVE_FAM_H])
m4trace:configure.in:338: -1- m4_pattern_allow([^HAVE_FAM_H$])
m4trace:configure.in:338: -1- AH_OUTPUT([HAVE_FAM_H], [/* fam.h */
#undef HAVE_FAM_H])
m4trace:configure.in:345: -1- AH_OUTPUT([HAVE_FAMNOEXISTS], [/* Define to 1 if you have the `FAMNoExists\' function. */
#undef HAVE_FAMNOEXISTS])
m4trace:configure.in:354: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:354: the top level])
m4trace:configure.in:359: -1- AC_SUBST([XML_CFLAGS])
m4trace:configure.in:359: -1- AC_SUBST_TRACE([XML_CFLAGS])
m4trace:configure.in:359: -1- m4_pattern_allow([^XML_CFLAGS$])
m4trace:configure.in:359: -1- AC_SUBST([XML_LIBS])
m4trace:configure.in:359: -1- AC_SUBST_TRACE([XML_LIBS])
m4trace:configure.in:359: -1- m4_pattern_allow([^XML_LIBS$])
m4trace:configure.in:359: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXML2])
m4trace:configure.in:359: -1- m4_pattern_allow([^HAVE_LIBXML2$])
m4trace:configure.in:359: -1- AH_OUTPUT([HAVE_LIBXML2], [/* libxml2 */
#undef HAVE_LIBXML2])
m4trace:configure.in:359: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBXML_H])
m4trace:configure.in:359: -1- m4_pattern_allow([^HAVE_LIBXML_H$])
m4trace:configure.in:359: -1- AH_OUTPUT([HAVE_LIBXML_H], [/* libxml.h */
#undef HAVE_LIBXML_H])
m4trace:configure.in:363: -1- AC_SUBST([SQLITE_CFLAGS])
m4trace:configure.in:363: -1- AC_SUBST_TRACE([SQLITE_CFLAGS])
m4trace:configure.in:363: -1- m4_pattern_allow([^SQLITE_CFLAGS$])
m4trace:configure.in:363: -1- AC_SUBST([SQLITE_LIBS])
m4trace:configure.in:363: -1- AC_SUBST_TRACE([SQLITE_LIBS])
m4trace:configure.in:363: -1- m4_pattern_allow([^SQLITE_LIBS$])
m4trace:configure.in:363: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SQLITE3])
m4trace:configure.in:363: -1- m4_pattern_allow([^HAVE_SQLITE3$])
m4trace:configure.in:363: -1- AH_OUTPUT([HAVE_SQLITE3], [/* libsqlite3 */
#undef HAVE_SQLITE3])
m4trace:configure.in:363: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SQLITE3_H])
m4trace:configure.in:363: -1- m4_pattern_allow([^HAVE_SQLITE3_H$])
m4trace:configure.in:363: -1- AH_OUTPUT([HAVE_SQLITE3_H], [/* sqlite3.h */
#undef HAVE_SQLITE3_H])
m4trace:configure.in:369: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:369: the top level])
m4trace:configure.in:374: -1- AH_OUTPUT([HAVE_UUID_UUID_H], [/* Define to 1 if you have the <uuid/uuid.h> header file. */
#undef HAVE_UUID_UUID_H])
m4trace:configure.in:374: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UUID])
m4trace:configure.in:374: -1- m4_pattern_allow([^HAVE_UUID$])
m4trace:configure.in:374: -1- AH_OUTPUT([HAVE_UUID], [/* libuuid */
#undef HAVE_UUID])
m4trace:configure.in:374: -1- AC_DEFINE_TRACE_LITERAL([HAVE_UUID_H])
m4trace:configure.in:374: -1- m4_pattern_allow([^HAVE_UUID_H$])
m4trace:configure.in:374: -1- AH_OUTPUT([HAVE_UUID_H], [/* uuid/uuid.h is available */
#undef HAVE_UUID_H])
m4trace:configure.in:384: -1- AC_SUBST([UUID_LIBS])
m4trace:configure.in:384: -1- AC_SUBST_TRACE([UUID_LIBS])
m4trace:configure.in:384: -1- m4_pattern_allow([^UUID_LIBS$])
m4trace:configure.in:388: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:388: the top level])
m4trace:configure.in:393: -1- AH_OUTPUT([HAVE_GDBM_H], [/* Define to 1 if you have the <gdbm.h> header file. */
#undef HAVE_GDBM_H])
m4trace:configure.in:393: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GDBM])
m4trace:configure.in:393: -1- m4_pattern_allow([^HAVE_GDBM$])
m4trace:configure.in:393: -1- AH_OUTPUT([HAVE_GDBM], [/* libgdbm */
#undef HAVE_GDBM])
m4trace:configure.in:393: -1- AC_DEFINE_TRACE_LITERAL([HAVE_GDBM_H])
m4trace:configure.in:393: -1- m4_pattern_allow([^HAVE_GDBM_H$])
m4trace:configure.in:400: -1- AC_SUBST([GDBM_LIB])
m4trace:configure.in:400: -1- AC_SUBST_TRACE([GDBM_LIB])
m4trace:configure.in:400: -1- m4_pattern_allow([^GDBM_LIB$])
m4trace:configure.in:405: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:405: the top level])
m4trace:configure.in:409: -1- AH_OUTPUT([HAVE_MEMCACHE_H], [/* Define to 1 if you have the <memcache.h> header file. */
#undef HAVE_MEMCACHE_H])
m4trace:configure.in:409: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MEMCACHE])
m4trace:configure.in:409: -1- m4_pattern_allow([^HAVE_MEMCACHE$])
m4trace:configure.in:409: -1- AH_OUTPUT([HAVE_MEMCACHE], [/* libmemcache */
#undef HAVE_MEMCACHE])
m4trace:configure.in:409: -1- AC_DEFINE_TRACE_LITERAL([HAVE_MEMCACHE_H])
m4trace:configure.in:409: -1- m4_pattern_allow([^HAVE_MEMCACHE_H$])
m4trace:configure.in:409: -1- AH_OUTPUT([HAVE_MEMCACHE_H], [/* memcache.h */
#undef HAVE_MEMCACHE_H])
m4trace:configure.in:416: -1- AC_SUBST([MEMCACHE_LIB])
m4trace:configure.in:416: -1- AC_SUBST_TRACE([MEMCACHE_LIB])
m4trace:configure.in:416: -1- m4_pattern_allow([^MEMCACHE_LIB$])
m4trace:configure.in:421: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:421: the top level])
m4trace:configure.in:429: -1- AC_SUBST([LUA_CFLAGS])
m4trace:configure.in:429: -1- AC_SUBST_TRACE([LUA_CFLAGS])
m4trace:configure.in:429: -1- m4_pattern_allow([^LUA_CFLAGS$])
m4trace:configure.in:429: -1- AC_SUBST([LUA_LIBS])
m4trace:configure.in:429: -1- AC_SUBST_TRACE([LUA_LIBS])
m4trace:configure.in:429: -1- m4_pattern_allow([^LUA_LIBS$])
m4trace:configure.in:429: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA])
m4trace:configure.in:429: -1- m4_pattern_allow([^HAVE_LUA$])
m4trace:configure.in:429: -1- AH_OUTPUT([HAVE_LUA], [/* liblua */
#undef HAVE_LUA])
m4trace:configure.in:429: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LUA_H])
m4trace:configure.in:429: -1- m4_pattern_allow([^HAVE_LUA_H$])
m4trace:configure.in:429: -1- AH_OUTPUT([HAVE_LUA_H], [/* lua.h */
#undef HAVE_LUA_H])
m4trace:configure.in:434: -1- AC_SUBST([LUA_CFLAGS])
m4trace:configure.in:434: -1- AC_SUBST_TRACE([LUA_CFLAGS])
m4trace:configure.in:434: -1- m4_pattern_allow([^LUA_CFLAGS$])
m4trace:configure.in:435: -1- AC_SUBST([LUA_LIBS])
m4trace:configure.in:435: -1- AC_SUBST_TRACE([LUA_LIBS])
m4trace:configure.in:435: -1- m4_pattern_allow([^LUA_LIBS$])
m4trace:configure.in:439: -1- AH_OUTPUT([HAVE_CRYPT_H], [/* Define to 1 if you have the <crypt.h> header file. */
#undef HAVE_CRYPT_H])
m4trace:configure.in:439: -1- AC_DEFINE_TRACE_LITERAL([HAVE_CRYPT_H])
m4trace:configure.in:439: -1- m4_pattern_allow([^HAVE_CRYPT_H$])
m4trace:configure.in:439: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBCRYPT])
m4trace:configure.in:439: -1- m4_pattern_allow([^HAVE_LIBCRYPT$])
m4trace:configure.in:439: -1- AH_OUTPUT([HAVE_LIBCRYPT], [/* libcrypt */
#undef HAVE_LIBCRYPT])
m4trace:configure.in:450: -1- AC_SUBST([CRYPT_LIB])
m4trace:configure.in:450: -1- AC_SUBST_TRACE([CRYPT_LIB])
m4trace:configure.in:450: -1- m4_pattern_allow([^CRYPT_LIB$])
m4trace:configure.in:453: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SENDFILEV])
m4trace:configure.in:453: -1- m4_pattern_allow([^HAVE_SENDFILEV$])
m4trace:configure.in:453: -1- AH_OUTPUT([HAVE_SENDFILEV], [/* solaris sendfilev */
#undef HAVE_SENDFILEV])
m4trace:configure.in:460: -1- AC_SUBST([SENDFILE_LIB])
m4trace:configure.in:460: -1- AC_SUBST_TRACE([SENDFILE_LIB])
m4trace:configure.in:460: -1- m4_pattern_allow([^SENDFILE_LIB$])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_DUP2], [/* Define to 1 if you have the `dup2\' function. */
#undef HAVE_DUP2])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_GETCWD], [/* Define to 1 if you have the `getcwd\' function. */
#undef HAVE_GETCWD])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_INET_NTOA], [/* Define to 1 if you have the `inet_ntoa\' function. */
#undef HAVE_INET_NTOA])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_INET_NTOP], [/* Define to 1 if you have the `inet_ntop\' function. */
#undef HAVE_INET_NTOP])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
#undef HAVE_MEMSET])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_MMAP], [/* Define to 1 if you have the `mmap\' function. */
#undef HAVE_MMAP])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_MUNMAP], [/* Define to 1 if you have the `munmap\' function. */
#undef HAVE_MUNMAP])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_STRCHR], [/* Define to 1 if you have the `strchr\' function. */
#undef HAVE_STRCHR])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_STRDUP], [/* Define to 1 if you have the `strdup\' function. */
#undef HAVE_STRDUP])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_STRERROR], [/* Define to 1 if you have the `strerror\' function. */
#undef HAVE_STRERROR])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_STRSTR], [/* Define to 1 if you have the `strstr\' function. */
#undef HAVE_STRSTR])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_STRTOL], [/* Define to 1 if you have the `strtol\' function. */
#undef HAVE_STRTOL])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_SENDFILE], [/* Define to 1 if you have the `sendfile\' function. */
#undef HAVE_SENDFILE])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_GETOPT], [/* Define to 1 if you have the `getopt\' function. */
#undef HAVE_GETOPT])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_SOCKET], [/* Define to 1 if you have the `socket\' function. */
#undef HAVE_SOCKET])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_LSTAT], [/* Define to 1 if you have the `lstat\' function. */
#undef HAVE_LSTAT])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_GETHOSTBYNAME], [/* Define to 1 if you have the `gethostbyname\' function. */
#undef HAVE_GETHOSTBYNAME])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_POLL], [/* Define to 1 if you have the `poll\' function. */
#undef HAVE_POLL])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_SIGTIMEDWAIT], [/* Define to 1 if you have the `sigtimedwait\' function. */
#undef HAVE_SIGTIMEDWAIT])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_EPOLL_CTL], [/* Define to 1 if you have the `epoll_ctl\' function. */
#undef HAVE_EPOLL_CTL])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_GETRLIMIT], [/* Define to 1 if you have the `getrlimit\' function. */
#undef HAVE_GETRLIMIT])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_CHROOT], [/* Define to 1 if you have the `chroot\' function. */
#undef HAVE_CHROOT])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_GETUID], [/* Define to 1 if you have the `getuid\' function. */
#undef HAVE_GETUID])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_SELECT], [/* Define to 1 if you have the `select\' function. */
#undef HAVE_SELECT])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_SIGNAL], [/* Define to 1 if you have the `signal\' function. */
#undef HAVE_SIGNAL])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_PATHCONF], [/* Define to 1 if you have the `pathconf\' function. */
#undef HAVE_PATHCONF])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_MADVISE], [/* Define to 1 if you have the `madvise\' function. */
#undef HAVE_MADVISE])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_POSIX_FADVISE], [/* Define to 1 if you have the `posix_fadvise\' function. */
#undef HAVE_POSIX_FADVISE])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_POSIX_MADVISE], [/* Define to 1 if you have the `posix_madvise\' function. */
#undef HAVE_POSIX_MADVISE])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_WRITEV], [/* Define to 1 if you have the `writev\' function. */
#undef HAVE_WRITEV])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_SIGACTION], [/* Define to 1 if you have the `sigaction\' function. */
#undef HAVE_SIGACTION])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_SENDFILE64], [/* Define to 1 if you have the `sendfile64\' function. */
#undef HAVE_SENDFILE64])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_SEND_FILE], [/* Define to 1 if you have the `send_file\' function. */
#undef HAVE_SEND_FILE])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_KQUEUE], [/* Define to 1 if you have the `kqueue\' function. */
#undef HAVE_KQUEUE])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_PORT_CREATE], [/* Define to 1 if you have the `port_create\' function. */
#undef HAVE_PORT_CREATE])
m4trace:configure.in:467: -1- AH_OUTPUT([HAVE_LOCALTIME_R], [/* Define to 1 if you have the `localtime_r\' function. */
#undef HAVE_LOCALTIME_R])
m4trace:configure.in:475: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:475: the top level])
m4trace:configure.in:484: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_LONG])
m4trace:configure.in:484: -1- m4_pattern_allow([^SIZEOF_LONG$])
m4trace:configure.in:484: -1- AH_OUTPUT([SIZEOF_LONG], [/* The size of `long\', as computed by sizeof. */
#undef SIZEOF_LONG])
m4trace:configure.in:485: -1- AC_DEFINE_TRACE_LITERAL([SIZEOF_OFF_T])
m4trace:configure.in:485: -1- m4_pattern_allow([^SIZEOF_OFF_T$])
m4trace:configure.in:485: -1- AH_OUTPUT([SIZEOF_OFF_T], [/* The size of `off_t\', as computed by sizeof. */
#undef SIZEOF_OFF_T])
m4trace:configure.in:491: -1- _m4_warn([obsolete], [The macro `AC_TRY_RUN' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2478: AC_TRY_RUN is expanded from...
configure.in:491: the top level])
m4trace:configure.in:491: -1- _m4_warn([cross], [AC_RUN_IFELSE called without default to allow cross compiling], [../../lib/autoconf/general.m4:2462: AC_RUN_IFELSE is expanded from...
../../lib/autoconf/general.m4:2478: AC_TRY_RUN is expanded from...
configure.in:491: the top level])
m4trace:configure.in:491: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SENDFILE_BROKEN])
m4trace:configure.in:491: -1- m4_pattern_allow([^HAVE_SENDFILE_BROKEN$])
m4trace:configure.in:491: -1- AH_OUTPUT([HAVE_SENDFILE_BROKEN], [/* broken sendfile */
#undef HAVE_SENDFILE_BROKEN])
m4trace:configure.in:506: -1- AC_DEFINE_TRACE_LITERAL([HAVE_SENDFILE_BROKEN])
m4trace:configure.in:506: -1- m4_pattern_allow([^HAVE_SENDFILE_BROKEN$])
m4trace:configure.in:506: -1- AH_OUTPUT([HAVE_SENDFILE_BROKEN], [/* broken sendfile */
#undef HAVE_SENDFILE_BROKEN])
m4trace:configure.in:513: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:209: AC_HELP_STRING is expanded from...
configure.in:513: the top level])
m4trace:configure.in:521: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [../../lib/autoconf/general.m4:2414: AC_TRY_LINK is expanded from...
../../lib/m4sugar/m4sh.m4:516: AS_IF is expanded from...
../../lib/autoconf/general.m4:1898: AC_CACHE_VAL is expanded from...
../../lib/autoconf/general.m4:1911: AC_CACHE_CHECK is expanded from...
configure.in:521: the top level])
m4trace:configure.in:528: -1- AC_DEFINE_TRACE_LITERAL([HAVE_IPV6])
m4trace:configure.in:528: -1- m4_pattern_allow([^HAVE_IPV6$])
m4trace:configure.in:528: -1- AH_OUTPUT([HAVE_IPV6], [/* Whether to enable IPv6 support */
#undef HAVE_IPV6])
m4trace:configure.in:533: -1- AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = xyes])
m4trace:configure.in:533: -1- AC_SUBST([CROSS_COMPILING_TRUE])
m4trace:configure.in:533: -1- AC_SUBST_TRACE([CROSS_COMPILING_TRUE])
m4trace:configure.in:533: -1- m4_pattern_allow([^CROSS_COMPILING_TRUE$])
m4trace:configure.in:533: -1- AC_SUBST([CROSS_COMPILING_FALSE])
m4trace:configure.in:533: -1- AC_SUBST_TRACE([CROSS_COMPILING_FALSE])
m4trace:configure.in:533: -1- m4_pattern_allow([^CROSS_COMPILING_FALSE$])
m4trace:configure.in:537: -1- AH_OUTPUT([HAVE_FASTCGI_H], [/* Define to 1 if you have the <fastcgi.h> header file. */
#undef HAVE_FASTCGI_H])
m4trace:configure.in:537: -1- AH_OUTPUT([HAVE_FASTCGI_FASTCGI_H], [/* Define to 1 if you have the <fastcgi/fastcgi.h> header file. */
#undef HAVE_FASTCGI_FASTCGI_H])
m4trace:configure.in:543: -1- AM_CONDITIONAL([CHECK_WITH_FASTCGI], [test "x$fastcgi_found" = xyes])
m4trace:configure.in:543: -1- AC_SUBST([CHECK_WITH_FASTCGI_TRUE])
m4trace:configure.in:543: -1- AC_SUBST_TRACE([CHECK_WITH_FASTCGI_TRUE])
m4trace:configure.in:543: -1- m4_pattern_allow([^CHECK_WITH_FASTCGI_TRUE$])
m4trace:configure.in:543: -1- AC_SUBST([CHECK_WITH_FASTCGI_FALSE])
m4trace:configure.in:543: -1- AC_SUBST_TRACE([CHECK_WITH_FASTCGI_FALSE])
m4trace:configure.in:543: -1- m4_pattern_allow([^CHECK_WITH_FASTCGI_FALSE$])
m4trace:configure.in:552: -1- AC_DEFINE_TRACE_LITERAL([LIGHTTPD_VERSION_ID])
m4trace:configure.in:552: -1- m4_pattern_allow([^LIGHTTPD_VERSION_ID$])
m4trace:configure.in:552: -1- AH_OUTPUT([LIGHTTPD_VERSION_ID], [/* lighttpd-version-id */
#undef LIGHTTPD_VERSION_ID])
m4trace:configure.in:554: -1- AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile tests/Makefile \
		 tests/docroot/Makefile \
		 tests/docroot/123/Makefile \
		 tests/docroot/www/Makefile \
		 tests/docroot/www/go/Makefile \
		 tests/docroot/www/indexfile/Makefile \
		 tests/docroot/www/expire/Makefile \
		 lighttpd.spec distribute.sh cygwin/Makefile cygwin/lighttpd.README
		 openwrt/Makefile openwrt/control openwrt/lighttpd.mk])
m4trace:configure.in:563: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([LIB@&t@OBJS])
m4trace:configure.in:563: -1- m4_pattern_allow([^LIB@&t@OBJS$])
m4trace:configure.in:563: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([LTLIBOBJS])
m4trace:configure.in:563: -1- m4_pattern_allow([^LTLIBOBJS$])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([top_builddir])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([srcdir])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([abs_srcdir])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([top_srcdir])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([abs_top_srcdir])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([builddir])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([abs_builddir])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([abs_top_builddir])
m4trace:configure.in:563: -1- AC_SUBST_TRACE([INSTALL])
