]> git.saurik.com Git - wxWidgets.git/blame - src/png/configure.ac
draw monochrome source directly onto destination when it is also monochrome
[wxWidgets.git] / src / png / configure.ac
CommitLineData
72281370
DS
1# configure.ac
2
3dnl Process this file with autoconf to produce a configure script.
4dnl
5dnl Minor upgrades (compatible ABI): increment the package version
6dnl (third field in two places below) and set the PNGLIB_RELEASE
7dnl variable.
8dnl
9dnl Major upgrades (incompatible ABI): increment the package major
10dnl version (second field, or first if desired), set the minor
11dnl to 0, set PNGLIB_MAJOR below *and* follow the instructions in
12dnl Makefile.am to upgrade the package name.
13
14dnl This is here to prevent earlier autoconf from being used, it
15dnl should not be necessary to regenerate configure if the time
16dnl stamps are correct
17AC_PREREQ(2.59)
18
19dnl Version number stuff here:
20
21AC_INIT([libpng], [1.5.7], [png-mng-implement@lists.sourceforge.net])
22AM_INIT_AUTOMAKE
23dnl stop configure from automagically running automake
24AM_MAINTAINER_MODE
25
26PNGLIB_VERSION=1.5.7
27PNGLIB_MAJOR=1
28PNGLIB_MINOR=5
29PNGLIB_RELEASE=7
30
31dnl End of version number stuff
32
33AC_CONFIG_SRCDIR([pngget.c])
34AM_CONFIG_HEADER(config.h)
35
36# Checks for programs.
37AC_LANG([C])
38AC_PROG_CC
39AM_PROG_AS
40AC_PROG_LD
41AC_PROG_CPP
42AC_CHECK_TOOL(SED, sed, :)
43AC_CHECK_TOOL(AWK, awk, :)
44AC_PROG_INSTALL
45AC_PROG_LN_S
46AC_PROG_MAKE_SET
47LT_INIT([win32-dll])
48
49# On Solaris 10 and 12 CPP gets set to cc -E, however this still
50# does some input parsing. We need strict ANSI-C style tokenization,
51# check this:
52AC_REQUIRE_CPP
53AC_MSG_CHECKING([for a C preprocessor that does not parse its input])
54AC_TRY_CPP([1.5.0 16BIT],
55 [DFNCPP="$CPP"],
56 [DFNCPP=""
57 sav_CPP="$CPP"
58 for CPP in "${CC-cc} -E" "${CC-cc} -E -traditional-cpp" "/lib/cpp" "cpp"; do
59 AC_TRY_CPP([1.5.0 16BIT],
60 [DFNCPP="$CPP"]
61 [break],,)
62 done
63 CPP="$sav_CPP"])
64if test -n "$DFNCPP"; then
65 AC_MSG_RESULT([$DFNCPP])
66 AC_SUBST(DFNCPP)
67else
68 AC_MSG_FAILURE([not found], 1)
69fi
70
71# Checks for header files.
72AC_HEADER_STDC
73AC_CHECK_HEADERS([malloc.h stdlib.h string.h strings.h])
74
75# Checks for typedefs, structures, and compiler characteristics.
76AC_C_CONST
77AC_TYPE_SIZE_T
78AC_STRUCT_TM
79AC_C_RESTRICT
80
81# Checks for library functions.
82AC_FUNC_STRTOD
83AC_CHECK_FUNCS([memset], , AC_ERROR([memset not found in libc]))
84AC_CHECK_FUNCS([pow], , AC_CHECK_LIB(m, pow, , AC_ERROR([cannot find pow])) )
85AC_ARG_WITH(zlib-prefix,
86 AC_HELP_STRING([--with-zlib-prefix],
87 [prefix that may have been used in installed zlib]),
88 [ZPREFIX=${withval}],
89 [ZPREFIX='z_'])
90AC_CHECK_LIB(z, zlibVersion, ,
91 AC_CHECK_LIB(z, ${ZPREFIX}zlibVersion, ,
92 AC_ERROR([zlib not installed])))
93
94# The following is for pngvalid, to ensure it catches FP errors even on
95# platforms that don't enable FP exceptions, the function appears in the math
96# library (typically), it's not an error if it is not found.
97AC_CHECK_LIB([m], [feenableexcept])
98AC_CHECK_FUNCS([feenableexcept])
99
100LIBPNG_DEFINES=-DPNG_CONFIGURE_LIBPNG
101LIBPNG_DEFINES=$LIBPNG_DEFINES
102AC_SUBST(LIBPNG_DEFINES)
103
104AC_MSG_CHECKING([if libraries can be versioned])
105
106AC_MSG_CHECKING([if using Solaris linker])
107SLD=`$LD --version 2>&1 | grep Solaris`
108if test "$SLD"; then
109 have_solaris_ld=yes
110 AC_MSG_RESULT(yes)
111else
112 have_solaris_ld=no
113 AC_MSG_RESULT(no)
114fi
115AM_CONDITIONAL(HAVE_SOLARIS_LD, test "$have_solaris_ld" = "yes")
116
117# Special case for PE/COFF platforms: ld reports
118# support for version-script, but doesn't actually
119# DO anything with it.
120case $host in
121*cygwin* | *mingw32* | *interix* )
122 have_ld_version_script=no
123 AC_MSG_RESULT(no)
124;;
125* )
126
127if test "$have_solaris_ld" = "yes"; then
128 GLD=`$LD --help < /dev/null 2>&1 | grep 'M mapfile'`
129else
130 GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
131fi
132
133if test "$GLD"; then
134 have_ld_version_script=yes
135 AC_MSG_RESULT(yes)
136else
137 have_ld_version_script=no
138 AC_MSG_RESULT(no)
139 AC_MSG_WARN(*** You have not enabled versioned symbols.)
140fi
141;;
142esac
143
144AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
145
146if test "$have_ld_version_script" = "yes"; then
147 AC_MSG_CHECKING([for symbol prefix])
148 SYMBOL_PREFIX=`echo "PREFIX=__USER_LABEL_PREFIX__" \
149 | ${CPP-${CC-gcc} -E} - 2>&1 \
150 | ${EGREP-grep} "^PREFIX=" \
151 | ${SED-sed} "s:^PREFIX=::"`
152 AC_SUBST(SYMBOL_PREFIX)
153 AC_MSG_RESULT($SYMBOL_PREFIX)
154fi
155
156# Substitutions for .in files
157AC_SUBST(PNGLIB_VERSION)
158AC_SUBST(PNGLIB_MAJOR)
159AC_SUBST(PNGLIB_MINOR)
160AC_SUBST(PNGLIB_RELEASE)
161
162# Additional arguments (and substitutions)
163# Allow the pkg-config directory to be set
164AC_ARG_WITH(pkgconfigdir,
165 AC_HELP_STRING([--with-pkgconfigdir],
166 [Use the specified pkgconfig dir (default is libdir/pkgconfig)]),
167 [pkgconfigdir=${withval}],
168 [pkgconfigdir='${libdir}/pkgconfig'])
169
170AC_SUBST([pkgconfigdir])
171AC_MSG_NOTICE([pkgconfig directory is ${pkgconfigdir}])
172
173# Make the *-config binary config scripts optional
174AC_ARG_WITH(binconfigs,
175 AC_HELP_STRING([--with-binconfigs],
176 [Generate shell libpng-config scripts as well as pkg-config data]
177 [@<:@default=yes@:>@]),
178 [if test "${withval}" = no; then
179 binconfigs=
180 AC_MSG_NOTICE([libpng-config scripts will not be built])
181 else
182 binconfigs='${binconfigs}'
183 fi],
184 [binconfigs='${binconfigs}'])
185AC_SUBST([binconfigs])
186
187# Because GCC by default assembles code with an executable stack, even though it
188# compiles C code with a non-executable stack, it is necessary to do a fixup
189# here (this may by GCC specific)
190AC_SUBST([AM_CCASFLAGS], [-Wa,--noexecstack])
191
192AC_ARG_ENABLE([arm-neon],
193 AC_HELP_STRING([--enable-arm-neon], [Enable ARM NEON optimizations]),
194 [if test "${enableval}" = yes; then
195 AC_DEFINE([PNG_ARM_NEON], [1], [Enable ARM NEON optimizations])
196 AC_DEFINE([PNG_ALIGNED_MEMORY_SUPPORTED], [1], [Align row buffers])
197 fi])
198AM_CONDITIONAL([PNG_ARM_NEON], [test "${enable_arm_neon:-no}" = yes])
199
200# Config files, substituting as above
201AC_CONFIG_FILES([Makefile libpng.pc:libpng.pc.in])
202AC_CONFIG_FILES([libpng-config:libpng-config.in],
203 [chmod +x libpng-config])
204
205AC_OUTPUT