merge libpng 1.4.4 to trunk
[wxWidgets.git] / src / png / configure.ac
1 # configure.ac
2
3 dnl Process this file with autoconf to produce a configure script.
4 dnl
5 dnl Minor upgrades (compatible ABI): increment the package version
6 dnl (third field in two places below) and set the PNGLIB_RELEASE
7 dnl variable.
8 dnl
9 dnl Major upgrades (incompatible ABI): increment the package major
10 dnl version (second field, or first if desired), set the minor
11 dnl to 0, set PNGLIB_MAJOR below *and* follow the instructions in
12 dnl Makefile.am to upgrade the package name.
13
14 dnl This is here to prevent earlier autoconf from being used, it
15 dnl should not be necessary to regenerate configure if the time
16 dnl stamps are correct
17 AC_PREREQ(2.59)
18
19 dnl Version number stuff here:
20
21 PNGLIB_VERSION=1.4.4
22 PNGLIB_MAJOR=1
23 PNGLIB_MINOR=4
24 PNGLIB_RELEASE=4
25
26 AC_INIT([libpng], [1.4.4], [png-mng-implement@lists.sourceforge.net])
27 AM_INIT_AUTOMAKE
28 dnl stop configure from automagically running automake
29 AM_MAINTAINER_MODE
30
31 dnl End of version number stuff
32
33 AC_CONFIG_SRCDIR([pngget.c])
34 AM_CONFIG_HEADER(config.h)
35
36 # Checks for programs.
37 AC_PROG_CC
38 AC_PROG_LD
39 AC_PROG_CPP
40 AC_CHECK_TOOL(SED, sed, :)
41 AC_PROG_INSTALL
42 AC_PROG_LN_S
43 AC_PROG_MAKE_SET
44 LT_INIT([win32-dll])
45
46 # Checks for header files.
47 AC_HEADER_STDC
48 AC_CHECK_HEADERS([malloc.h stdlib.h string.h strings.h])
49
50 # Checks for typedefs, structures, and compiler characteristics.
51 AC_C_CONST
52 AC_TYPE_SIZE_T
53 AC_STRUCT_TM
54
55 # Checks for library functions.
56 AC_FUNC_STRTOD
57 AC_CHECK_FUNCS([memset], , AC_ERROR([memset not found in libc]))
58 AC_CHECK_FUNCS([pow], , AC_CHECK_LIB(m, pow, , AC_ERROR([cannot find pow])) )
59 AC_CHECK_LIB(z, zlibVersion, , AC_ERROR([zlib not installed]))
60
61 case $host_os in
62   aix*)
63    LIBPNG_DEFINES="-DPNG_CONFIGURE_LIBPNG -D_ALL_SOURCE";;
64   *)
65    LIBPNG_DEFINES=-DPNG_CONFIGURE_LIBPNG;;
66 esac
67 LIBPNG_DEFINES=$LIBPNG_DEFINES
68 AC_SUBST(LIBPNG_DEFINES)
69
70 AC_MSG_CHECKING([if libraries can be versioned])
71 # Special case for PE/COFF platforms: ld reports
72 # support for version-script, but doesn't actually
73 # DO anything with it.
74 case $host in
75 *cygwin* | *mingw32* )
76     have_ld_version_script=no
77     AC_MSG_RESULT(no)
78 ;;
79 * )
80 GLD=`$LD --help < /dev/null 2>/dev/null | grep version-script`
81 if test "$GLD"; then
82     have_ld_version_script=yes
83     AC_MSG_RESULT(yes)
84 else
85     have_ld_version_script=no
86     AC_MSG_RESULT(no)
87     AC_MSG_WARN(*** You have not enabled versioned symbols.)
88 fi
89 ;;
90 esac
91
92 AM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
93
94 if test "$have_ld_version_script" = "yes"; then
95     AC_MSG_CHECKING([for symbol prefix])
96     SYMBOL_PREFIX=`echo "PREFIX=__USER_LABEL_PREFIX__" \
97                    | ${CPP-${CC-gcc} -E} - 2>&1 \
98                    | ${EGREP-grep} "^PREFIX=" \
99                    | ${SED-sed} "s:^PREFIX=::"`
100     AC_SUBST(SYMBOL_PREFIX)
101     AC_MSG_RESULT($SYMBOL_PREFIX)
102 fi
103
104 # Substitutions for .in files
105 AC_SUBST(PNGLIB_VERSION)
106 AC_SUBST(PNGLIB_MAJOR)
107 AC_SUBST(PNGLIB_MINOR)
108 AC_SUBST(PNGLIB_RELEASE)
109
110 # Additional arguments (and substitutions)
111 # Allow the pkg-config directory to be set
112 AC_ARG_WITH(pkgconfigdir,
113         AC_HELP_STRING([--with-pkgconfigdir],
114         [Use the specified pkgconfig dir (default is libdir/pkgconfig)]),
115         [pkgconfigdir=${withval}],
116         [pkgconfigdir='${libdir}/pkgconfig'])
117
118 AC_SUBST([pkgconfigdir])
119 AC_MSG_NOTICE([pkgconfig directory is ${pkgconfigdir}])
120
121 # Make the *-config binary config scripts optional
122 AC_ARG_WITH(binconfigs,
123         AC_HELP_STRING([--with-binconfigs],
124                 [Generate shell libpng-config scripts as well as pkg-config data]
125                 [@<:@default=yes@:>@]),
126         [if test "${withval}" = no; then
127                 binconfigs=
128                 AC_MSG_NOTICE([libpng-config scripts will not be built])
129         else
130                 binconfigs='${binconfigs}'
131         fi],
132         [binconfigs='${binconfigs}'])
133 AC_SUBST([binconfigs])
134
135 # Config files, substituting as above
136 AC_CONFIG_FILES([Makefile libpng.pc:libpng.pc.in])
137 AC_CONFIG_FILES([libpng-config:libpng-config.in],
138                 [chmod +x libpng-config])
139
140 AC_OUTPUT