m4trace:configure.ac:21: -1- AC_INIT([libpng], [1.2.29], [png-mng-implement@lists.sourceforge.net])
m4trace:configure.ac:21: -1- m4_pattern_forbid([^_?A[CHUM]_])
m4trace:configure.ac:21: -1- m4_pattern_forbid([_AC_])
m4trace:configure.ac:21: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
m4trace:configure.ac:21: -1- m4_pattern_allow([^AS_FLAGS$])
m4trace:configure.ac:21: -1- m4_pattern_forbid([^_?m4_])
m4trace:configure.ac:21: -1- m4_pattern_forbid([^dnl$])
m4trace:configure.ac:21: -1- m4_pattern_forbid([^_?AS_])
m4trace:configure.ac:21: -1- AC_SUBST([SHELL], [${CONFIG_SHELL-/bin/sh}])
m4trace:configure.ac:21: -1- AC_SUBST([PATH_SEPARATOR])
m4trace:configure.ac:21: -1- AC_SUBST([PACKAGE_NAME], [m4_ifdef([AC_PACKAGE_NAME],      ['AC_PACKAGE_NAME'])])
m4trace:configure.ac:21: -1- AC_SUBST([PACKAGE_TARNAME], [m4_ifdef([AC_PACKAGE_TARNAME],   ['AC_PACKAGE_TARNAME'])])
m4trace:configure.ac:21: -1- AC_SUBST([PACKAGE_VERSION], [m4_ifdef([AC_PACKAGE_VERSION],   ['AC_PACKAGE_VERSION'])])
m4trace:configure.ac:21: -1- AC_SUBST([PACKAGE_STRING], [m4_ifdef([AC_PACKAGE_STRING],    ['AC_PACKAGE_STRING'])])
m4trace:configure.ac:21: -1- AC_SUBST([PACKAGE_BUGREPORT], [m4_ifdef([AC_PACKAGE_BUGREPORT], ['AC_PACKAGE_BUGREPORT'])])
m4trace:configure.ac:21: -1- AC_SUBST([exec_prefix], [NONE])
m4trace:configure.ac:21: -1- AC_SUBST([prefix], [NONE])
m4trace:configure.ac:21: -1- AC_SUBST([program_transform_name], [s,x,x,])
m4trace:configure.ac:21: -1- AC_SUBST([bindir], ['${exec_prefix}/bin'])
m4trace:configure.ac:21: -1- AC_SUBST([sbindir], ['${exec_prefix}/sbin'])
m4trace:configure.ac:21: -1- AC_SUBST([libexecdir], ['${exec_prefix}/libexec'])
m4trace:configure.ac:21: -1- AC_SUBST([datadir], ['${prefix}/share'])
m4trace:configure.ac:21: -1- AC_SUBST([sysconfdir], ['${prefix}/etc'])
m4trace:configure.ac:21: -1- AC_SUBST([sharedstatedir], ['${prefix}/com'])
m4trace:configure.ac:21: -1- AC_SUBST([localstatedir], ['${prefix}/var'])
m4trace:configure.ac:21: -1- AC_SUBST([libdir], ['${exec_prefix}/lib'])
m4trace:configure.ac:21: -1- AC_SUBST([includedir], ['${prefix}/include'])
m4trace:configure.ac:21: -1- AC_SUBST([oldincludedir], ['/usr/include'])
m4trace:configure.ac:21: -1- AC_SUBST([infodir], ['${prefix}/info'])
m4trace:configure.ac:21: -1- AC_SUBST([mandir], ['${prefix}/man'])
m4trace:configure.ac:21: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_NAME])
m4trace:configure.ac:21: -1- AH_OUTPUT([PACKAGE_NAME], [/* Define to the full name of this package. */
#undef PACKAGE_NAME])
m4trace:configure.ac:21: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_TARNAME])
m4trace:configure.ac:21: -1- AH_OUTPUT([PACKAGE_TARNAME], [/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME])
m4trace:configure.ac:21: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_VERSION])
m4trace:configure.ac:21: -1- AH_OUTPUT([PACKAGE_VERSION], [/* Define to the version of this package. */
#undef PACKAGE_VERSION])
m4trace:configure.ac:21: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_STRING])
m4trace:configure.ac:21: -1- AH_OUTPUT([PACKAGE_STRING], [/* Define to the full name and version of this package. */
#undef PACKAGE_STRING])
m4trace:configure.ac:21: -1- AC_DEFINE_TRACE_LITERAL([PACKAGE_BUGREPORT])
m4trace:configure.ac:21: -1- AH_OUTPUT([PACKAGE_BUGREPORT], [/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT])
m4trace:configure.ac:21: -1- AC_SUBST([build_alias])
m4trace:configure.ac:21: -1- AC_SUBST([host_alias])
m4trace:configure.ac:21: -1- AC_SUBST([target_alias])
m4trace:configure.ac:21: -1- AC_SUBST([DEFS])
m4trace:configure.ac:21: -1- AC_SUBST([ECHO_C])
m4trace:configure.ac:21: -1- AC_SUBST([ECHO_N])
m4trace:configure.ac:21: -1- AC_SUBST([ECHO_T])
m4trace:configure.ac:21: -1- AC_SUBST([LIBS])
m4trace:configure.ac:22: -1- AM_INIT_AUTOMAKE
m4trace:configure.ac:22: -1- AM_AUTOMAKE_VERSION([1.4-p6])
m4trace:configure.ac:22: -1- AC_PROG_INSTALL
m4trace:configure.ac:22: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.ac:22: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.ac:22: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.ac:22: -1- AC_SUBST([PACKAGE])
m4trace:configure.ac:22: -1- AC_SUBST([VERSION])
m4trace:configure.ac:22: -2- AC_DEFINE_TRACE_LITERAL([PACKAGE])
m4trace:configure.ac:22: -2- AH_OUTPUT([PACKAGE], [/* Name of package */
#undef PACKAGE])
m4trace:configure.ac:22: -2- AC_DEFINE_TRACE_LITERAL([VERSION])
m4trace:configure.ac:22: -2- AH_OUTPUT([VERSION], [/* Version number of package */
#undef VERSION])
m4trace:configure.ac:22: -1- AC_SUBST([ACLOCAL])
m4trace:configure.ac:22: -1- AC_SUBST([AUTOCONF])
m4trace:configure.ac:22: -1- AC_SUBST([AUTOMAKE])
m4trace:configure.ac:22: -1- AC_SUBST([AUTOHEADER])
m4trace:configure.ac:22: -1- AC_SUBST([MAKEINFO])
m4trace:configure.ac:22: -1- AC_PROG_MAKE_SET
m4trace:configure.ac:22: -1- AC_SUBST([SET_MAKE])
m4trace:configure.ac:24: -1- AM_MAINTAINER_MODE
m4trace:configure.ac:24: -1- AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
m4trace:configure.ac:24: -1- AC_SUBST([MAINTAINER_MODE_TRUE])
m4trace:configure.ac:24: -1- AC_SUBST([MAINTAINER_MODE_FALSE])
m4trace:configure.ac:24: -1- AC_SUBST([MAINT])
m4trace:configure.ac:34: -1- AC_CONFIG_HEADERS([config.h])
m4trace:configure.ac:34: -1- _m4_warn([obsolete], [The macro `AC_OUTPUT_COMMANDS' is obsolete.
You should run autoupdate.], [autoconf/status.m4:318: AC_OUTPUT_COMMANDS is expanded from...
aclocal.m4:1008: AM_CONFIG_HEADER is expanded from...
configure.ac:34: the top level])
m4trace:configure.ac:34: -3- _m4_warn([obsolete], [The macro `_AC_OUTPUT_COMMANDS_CNT' is obsolete.
You should run autoupdate.], [autoconf/status.m4:321: _AC_OUTPUT_COMMANDS_CNT is expanded from...
autoconf/status.m4:318: AC_OUTPUT_COMMANDS is expanded from...
aclocal.m4:1008: AM_CONFIG_HEADER is expanded from...
configure.ac:34: the top level])
m4trace:configure.ac:37: -1- AC_PROG_CC
m4trace:configure.ac:37: -1- AC_SUBST([CC])
m4trace:configure.ac:37: -1- AC_SUBST([CFLAGS])
m4trace:configure.ac:37: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:37: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:37: -1- AC_SUBST([CC])
m4trace:configure.ac:37: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:37: -1- AC_SUBST([CC])
m4trace:configure.ac:37: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:37: -1- AC_SUBST([CC])
m4trace:configure.ac:37: -1- AC_SUBST([CC])
m4trace:configure.ac:37: -1- AC_SUBST([ac_ct_CC])
m4trace:configure.ac:37: -1- AC_SUBST([EXEEXT], [$ac_cv_exeext])
m4trace:configure.ac:37: -1- AC_SUBST([OBJEXT], [$ac_cv_objext])
m4trace:configure.ac:38: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
autoconf/general.m4:1331: AC_ARG_WITH is expanded from...
aclocal.m4:3221: AC_PROG_LD is expanded from...
configure.ac:38: the top level])
m4trace:configure.ac:38: -1- AC_CANONICAL_HOST
m4trace:configure.ac:38: -1- AC_SUBST([build], [$ac_cv_build])
m4trace:configure.ac:38: -1- AC_SUBST([build_cpu], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
m4trace:configure.ac:38: -1- AC_SUBST([build_vendor], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
m4trace:configure.ac:38: -1- AC_SUBST([build_os], [`echo $ac_cv_build | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
m4trace:configure.ac:38: -1- AC_SUBST([host], [$ac_cv_host])
m4trace:configure.ac:38: -1- AC_SUBST([host_cpu], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\1/'`])
m4trace:configure.ac:38: -1- AC_SUBST([host_vendor], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\2/'`])
m4trace:configure.ac:38: -1- AC_SUBST([host_os], [`echo $ac_cv_host | sed 's/^\([[^-]]*\)-\([[^-]]*\)-\(.*\)$/\3/'`])
m4trace:configure.ac:38: -1- AC_SUBST([EGREP])
m4trace:configure.ac:39: -1- AC_PROG_CPP
m4trace:configure.ac:39: -1- AC_SUBST([CPP])
m4trace:configure.ac:39: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:39: -1- AC_SUBST([CPP])
m4trace:configure.ac:40: -1- AC_SUBST([SED])
m4trace:configure.ac:40: -1- AC_SUBST([ac_ct_SED])
m4trace:configure.ac:42: -1- AC_PROG_INSTALL
m4trace:configure.ac:42: -1- AC_SUBST([INSTALL_PROGRAM])
m4trace:configure.ac:42: -1- AC_SUBST([INSTALL_SCRIPT])
m4trace:configure.ac:42: -1- AC_SUBST([INSTALL_DATA])
m4trace:configure.ac:43: -1- AC_PROG_LN_S
m4trace:configure.ac:43: -1- AC_SUBST([LN_S], [$as_ln_s])
m4trace:configure.ac:44: -1- AC_PROG_MAKE_SET
m4trace:configure.ac:44: -1- AC_SUBST([SET_MAKE])
m4trace:configure.ac:45: -1- AC_PROG_LIBTOOL
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
autoconf/general.m4:1303: AC_ARG_ENABLE is expanded from...
aclocal.m4:2946: AC_ENABLE_SHARED is expanded from...
configure.ac:45: AC_ENABLE_SHARED is required by...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
autoconf/general.m4:1303: AC_ARG_ENABLE is expanded from...
aclocal.m4:2985: AC_ENABLE_STATIC is expanded from...
configure.ac:45: AC_ENABLE_STATIC is required by...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
autoconf/general.m4:1303: AC_ARG_ENABLE is expanded from...
aclocal.m4:3024: AC_ENABLE_FAST_INSTALL is expanded from...
configure.ac:45: AC_ENABLE_FAST_INSTALL is required by...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- AC_SUBST([ECHO])
m4trace:configure.ac:45: -1- AC_SUBST([AR])
m4trace:configure.ac:45: -1- AC_SUBST([ac_ct_AR])
m4trace:configure.ac:45: -1- AC_SUBST([RANLIB])
m4trace:configure.ac:45: -1- AC_SUBST([ac_ct_RANLIB])
m4trace:configure.ac:45: -1- AC_SUBST([STRIP])
m4trace:configure.ac:45: -1- AC_SUBST([ac_ct_STRIP])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
autoconf/general.m4:1303: AC_ARG_ENABLE is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
autoconf/general.m4:1331: AC_ARG_WITH is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_TRY_LINK' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2223: AC_TRY_LINK is expanded from...
autoconf/general.m4:1799: AC_CACHE_VAL is expanded from...
autoconf/general.m4:1808: AC_CACHE_CHECK is expanded from...
aclocal.m4:1610: _LT_AC_LOCK is expanded from...
configure.ac:45: _LT_AC_LOCK is required by...
aclocal.m4:2096: AC_LIBTOOL_SYS_HARD_LINK_LOCKS is expanded from...
aclocal.m4:3733: _LT_AC_LANG_C_CONFIG is expanded from...
aclocal.m4:3664: AC_LIBTOOL_LANG_C_CONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- AC_SUBST([DLLTOOL])
m4trace:configure.ac:45: -1- AC_SUBST([ac_ct_DLLTOOL])
m4trace:configure.ac:45: -1- AC_SUBST([AS])
m4trace:configure.ac:45: -1- AC_SUBST([ac_ct_AS])
m4trace:configure.ac:45: -1- AC_SUBST([OBJDUMP])
m4trace:configure.ac:45: -1- AC_SUBST([ac_ct_OBJDUMP])
m4trace:configure.ac:45: -1- AC_CHECK_HEADERS([dlfcn.h])
m4trace:configure.ac:45: -1- AH_OUTPUT([HAVE_DLFCN_H], [/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H])
m4trace:configure.ac:45: -1- AC_HEADER_STDC
m4trace:configure.ac:45: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.ac:45: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
m4trace:configure.ac:45: -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.ac:45: -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.ac:45: -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.ac:45: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.ac:45: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.ac:45: -1- AH_OUTPUT([HAVE_MEMORY_H], [/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H])
m4trace:configure.ac:45: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.ac:45: -1- AH_OUTPUT([HAVE_INTTYPES_H], [/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H])
m4trace:configure.ac:45: -1- AH_OUTPUT([HAVE_STDINT_H], [/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H])
m4trace:configure.ac:45: -1- AH_OUTPUT([HAVE_UNISTD_H], [/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H])
m4trace:configure.ac:45: -1- AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [
    lt_cv_dlopen="dyld"
    lt_cv_dlopen_libs=
    lt_cv_dlopen_self=yes
    ])
m4trace:configure.ac:45: -1- AC_CHECK_LIB([dld], [shl_load], [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-dld"], [AC_CHECK_FUNC([dlopen],
	      [lt_cv_dlopen="dlopen"],
	  [AC_CHECK_LIB([dl], [dlopen],
		[lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
	    [AC_CHECK_LIB([svld], [dlopen],
		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
	      [AC_CHECK_LIB([dld], [dld_link],
		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
	      ])
	    ])
	  ])
	])
m4trace:configure.ac:45: -1- AC_CHECK_LIB([dl], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], [AC_CHECK_LIB([svld], [dlopen],
		  [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
	      [AC_CHECK_LIB([dld], [dld_link],
		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
	      ])
	    ])
m4trace:configure.ac:45: -1- AC_CHECK_LIB([svld], [dlopen], [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], [AC_CHECK_LIB([dld], [dld_link],
		    [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
	      ])
m4trace:configure.ac:45: -1- AC_CHECK_LIB([dld], [dld_link], [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-dld"])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
autoconf/general.m4:1331: AC_ARG_WITH is expanded from...
aclocal.m4:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -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:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [back quotes and double quotes must not be escaped in: $as_me: error: tag name \"$tagname\" already exists], [aclocal.m4:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- AC_PROG_CXX
m4trace:configure.ac:45: -1- AC_SUBST([CXX])
m4trace:configure.ac:45: -1- AC_SUBST([CXXFLAGS])
m4trace:configure.ac:45: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:45: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:45: -1- AC_SUBST([CXX])
m4trace:configure.ac:45: -1- AC_SUBST([ac_ct_CXX])
m4trace:configure.ac:45: -1- AC_SUBST([CXXCPP])
m4trace:configure.ac:45: -1- AC_SUBST([CPPFLAGS])
m4trace:configure.ac:45: -1- AC_SUBST([CXXCPP])
m4trace:configure.ac:45: -1- AC_SUBST([F77])
m4trace:configure.ac:45: -1- AC_SUBST([FFLAGS])
m4trace:configure.ac:45: -1- AC_SUBST([LDFLAGS])
m4trace:configure.ac:45: -1- AC_SUBST([F77])
m4trace:configure.ac:45: -1- AC_SUBST([ac_ct_F77])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete.
You should run autoupdate.], [autoconf/lang.m4:166: AC_LANG_SAVE is expanded from...
aclocal.m4:5054: _LT_AC_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:5006: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [instead of using `AC_LANG', `AC_LANG_SAVE',
and `AC_LANG_RESTORE', you should use `AC_LANG_PUSH' and `AC_LANG_POP'.], [autoconf/lang.m4:166: AC_LANG_SAVE is expanded from...
aclocal.m4:5054: _LT_AC_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:5006: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete.
You should run autoupdate.], [autoconf/lang.m4:172: AC_LANG_RESTORE is expanded from...
aclocal.m4:5054: _LT_AC_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:5006: AC_LIBTOOL_LANG_GCJ_CONFIG is expanded from...
aclocal.m4:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_LANG_SAVE' is obsolete.
You should run autoupdate.], [autoconf/lang.m4:166: AC_LANG_SAVE is expanded from...
aclocal.m4:5098: _LT_AC_LANG_RC_CONFIG is expanded from...
aclocal.m4:5062: AC_LIBTOOL_LANG_RC_CONFIG is expanded from...
aclocal.m4:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [instead of using `AC_LANG', `AC_LANG_SAVE',
and `AC_LANG_RESTORE', you should use `AC_LANG_PUSH' and `AC_LANG_POP'.], [autoconf/lang.m4:166: AC_LANG_SAVE is expanded from...
aclocal.m4:5098: _LT_AC_LANG_RC_CONFIG is expanded from...
aclocal.m4:5062: AC_LIBTOOL_LANG_RC_CONFIG is expanded from...
aclocal.m4:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- _m4_warn([obsolete], [The macro `AC_LANG_RESTORE' is obsolete.
You should run autoupdate.], [autoconf/lang.m4:172: AC_LANG_RESTORE is expanded from...
aclocal.m4:5098: _LT_AC_LANG_RC_CONFIG is expanded from...
aclocal.m4:5062: AC_LIBTOOL_LANG_RC_CONFIG is expanded from...
aclocal.m4:2900: _LT_AC_TAGCONFIG is expanded from...
aclocal.m4:1222: AC_LIBTOOL_SETUP is expanded from...
configure.ac:45: AC_LIBTOOL_SETUP is required by...
aclocal.m4:1077: _AC_PROG_LIBTOOL is expanded from...
configure.ac:45: _AC_PROG_LIBTOOL is required by...
aclocal.m4:1057: AC_PROG_LIBTOOL is expanded from...
configure.ac:45: the top level])
m4trace:configure.ac:45: -1- AC_SUBST([LIBTOOL])
m4trace:configure.ac:48: -1- AC_HEADER_STDC
m4trace:configure.ac:48: -1- AC_DEFINE_TRACE_LITERAL([STDC_HEADERS])
m4trace:configure.ac:48: -1- AH_OUTPUT([STDC_HEADERS], [/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS])
m4trace:configure.ac:49: -1- AC_CHECK_HEADERS([malloc.h stdlib.h string.h strings.h])
m4trace:configure.ac:49: -1- AH_OUTPUT([HAVE_MALLOC_H], [/* Define to 1 if you have the <malloc.h> header file. */
#undef HAVE_MALLOC_H])
m4trace:configure.ac:49: -1- AH_OUTPUT([HAVE_STDLIB_H], [/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H])
m4trace:configure.ac:49: -1- AH_OUTPUT([HAVE_STRING_H], [/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H])
m4trace:configure.ac:49: -1- AH_OUTPUT([HAVE_STRINGS_H], [/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H])
m4trace:configure.ac:52: -1- AC_C_CONST
m4trace:configure.ac:52: -1- AC_DEFINE_TRACE_LITERAL([const])
m4trace:configure.ac:52: -1- AH_OUTPUT([const], [/* Define to empty if `const\' does not conform to ANSI C. */
#undef const])
m4trace:configure.ac:53: -1- AC_TYPE_SIZE_T
m4trace:configure.ac:53: -1- AC_DEFINE_TRACE_LITERAL([size_t])
m4trace:configure.ac:53: -1- AH_OUTPUT([size_t], [/* Define to `unsigned\' if <sys/types.h> does not define. */
#undef size_t])
m4trace:configure.ac:54: -1- AC_STRUCT_TM
m4trace:configure.ac:54: -1- AC_DEFINE_TRACE_LITERAL([TM_IN_SYS_TIME])
m4trace:configure.ac:54: -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.ac:57: -1- AC_FUNC_STRTOD
m4trace:configure.ac:57: -1- AC_SUBST([POW_LIB])
m4trace:configure.ac:57: -1- AC_LIBSOURCE([strtod.c])
m4trace:configure.ac:57: -1- AC_SUBST([LIB@&t@OBJS])
m4trace:configure.ac:57: -1- AC_CHECK_LIB([m], [pow], [POW_LIB=-lm], [AC_MSG_WARN([cannot find library containing definition of pow])])
m4trace:configure.ac:58: -2- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [autoconf/oldnames.m4:55: AC_ERROR is expanded from...
configure.ac:58: the top level])
m4trace:configure.ac:58: -1- AC_CHECK_FUNCS([memset], [], [{ { echo "$as_me:$LINENO: error: memset not found in libc" >&5
echo "$as_me: error: memset not found in libc" >&2;}
   { (exit 1); exit 1; }; }])
m4trace:configure.ac:58: -1- AH_OUTPUT([HAVE_MEMSET], [/* Define to 1 if you have the `memset\' function. */
#undef HAVE_MEMSET])
m4trace:configure.ac:59: -3- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [autoconf/oldnames.m4:55: AC_ERROR is expanded from...
configure.ac:59: the top level])
m4trace:configure.ac:59: -2- AC_CHECK_LIB([m], [pow], [], [{ { echo "$as_me:$LINENO: error: cannot find pow" >&5
echo "$as_me: error: cannot find pow" >&2;}
   { (exit 1); exit 1; }; }])
m4trace:configure.ac:59: -2- AH_OUTPUT([HAVE_LIBM], [/* Define to 1 if you have the `m\' library (-lm). */
#undef HAVE_LIBM])
m4trace:configure.ac:59: -2- AC_DEFINE_TRACE_LITERAL([HAVE_LIBM])
m4trace:configure.ac:59: -1- AC_CHECK_FUNCS([pow], [], [
echo "$as_me:$LINENO: checking for pow in -lm" >&5
echo $ECHO_N "checking for pow in -lm... $ECHO_C" >&6
if test "${ac_cv_lib_m_pow+set}" = set; then
  echo $ECHO_N "(cached) $ECHO_C" >&6
else
  ac_check_lib_save_LIBS=$LIBS
LIBS="-lm  $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h.  */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h.  */

/* Override any gcc2 internal prototype to avoid an error.  */
#ifdef __cplusplus
extern "C"
#endif
/* We use char because int might match the return type of a gcc2
   builtin and then its argument prototype would still apply.  */
char pow ();
int
main ()
{
pow ();
  ;
  return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
  (eval $ac_link) 2>conftest.er1
  ac_status=$?
  grep -v '^ *+' conftest.er1 >conftest.err
  rm -f conftest.er1
  cat conftest.err >&5
  echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); } &&
	 { ac_try='test -z "$ac_c_werror_flag"			 || test ! -s conftest.err'
  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; } &&
	 { ac_try='test -s conftest$ac_exeext'
  { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
  (eval $ac_try) 2>&5
  ac_status=$?
  echo "$as_me:$LINENO: \$? = $ac_status" >&5
  (exit $ac_status); }; }; then
  ac_cv_lib_m_pow=yes
else
  echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5

ac_cv_lib_m_pow=no
fi
rm -f conftest.err conftest.$ac_objext \
      conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
echo "$as_me:$LINENO: result: $ac_cv_lib_m_pow" >&5
echo "${ECHO_T}$ac_cv_lib_m_pow" >&6
if test $ac_cv_lib_m_pow = yes; then
  cat >>confdefs.h <<_ACEOF
@%:@define HAVE_LIBM 1
_ACEOF

  LIBS="-lm $LIBS"

else
  { { echo "$as_me:$LINENO: error: cannot find pow" >&5
echo "$as_me: error: cannot find pow" >&2;}
   { (exit 1); exit 1; }; }
fi
 ])
m4trace:configure.ac:59: -1- AH_OUTPUT([HAVE_POW], [/* Define to 1 if you have the `pow\' function. */
#undef HAVE_POW])
m4trace:configure.ac:60: -2- _m4_warn([obsolete], [The macro `AC_ERROR' is obsolete.
You should run autoupdate.], [autoconf/oldnames.m4:55: AC_ERROR is expanded from...
configure.ac:60: the top level])
m4trace:configure.ac:60: -1- AC_CHECK_LIB([z], [zlibVersion], [], [{ { echo "$as_me:$LINENO: error: zlib not installed" >&5
echo "$as_me: error: zlib not installed" >&2;}
   { (exit 1); exit 1; }; }])
m4trace:configure.ac:60: -1- AH_OUTPUT([HAVE_LIBZ], [/* Define to 1 if you have the `z\' library (-lz). */
#undef HAVE_LIBZ])
m4trace:configure.ac:60: -1- AC_DEFINE_TRACE_LITERAL([HAVE_LIBZ])
m4trace:configure.ac:71: -1- _m4_warn([obsolete], [The macro `AC_TRY_COMPILE' is obsolete.
You should run autoupdate.], [autoconf/general.m4:2180: AC_TRY_COMPILE is expanded from...
configure.ac:71: the top level])
m4trace:configure.ac:73: -1- AC_SUBST([LIBPNG_DEFINES])
m4trace:configure.ac:74: -1- AC_SUBST([LIBPNG_NO_MMX])
m4trace:configure.ac:86: -1- AM_CONDITIONAL([HAVE_LD_VERSION_SCRIPT], [test "$have_ld_version_script" = "yes"])
m4trace:configure.ac:86: -1- AC_SUBST([HAVE_LD_VERSION_SCRIPT_TRUE])
m4trace:configure.ac:86: -1- AC_SUBST([HAVE_LD_VERSION_SCRIPT_FALSE])
m4trace:configure.ac:94: -1- AC_SUBST([SYMBOL_PREFIX])
m4trace:configure.ac:99: -1- AC_SUBST([PNGLIB_VERSION])
m4trace:configure.ac:100: -1- AC_SUBST([PNGLIB_MAJOR])
m4trace:configure.ac:101: -1- AC_SUBST([PNGLIB_MINOR])
m4trace:configure.ac:102: -1- AC_SUBST([PNGLIB_RELEASE])
m4trace:configure.ac:108: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
configure.ac:108: the top level])
m4trace:configure.ac:112: -1- AC_SUBST([pkgconfigdir])
m4trace:configure.ac:119: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
configure.ac:119: the top level])
m4trace:configure.ac:127: -1- AC_SUBST([binconfigs])
m4trace:configure.ac:133: -2- _m4_warn([obsolete], [The macro `AC_HELP_STRING' is obsolete.
You should run autoupdate.], [autoconf/general.m4:219: AC_HELP_STRING is expanded from...
configure.ac:133: the top level])
m4trace:configure.ac:141: -1- AC_SUBST([compatlib])
m4trace:configure.ac:144: -1- AC_CONFIG_FILES([Makefile libpng.pc:scripts/libpng.pc-configure.in])
m4trace:configure.ac:146: -1- AC_CONFIG_FILES([libpng-config:scripts/libpng-config.in], [chmod +x libpng-config])
m4trace:configure.ac:148: -1- AC_SUBST([LIB@&t@OBJS], [$ac_libobjs])
m4trace:configure.ac:148: -1- AC_SUBST([LTLIBOBJS], [$ac_ltlibobjs])
