beta-0.89.2
[luatex.git] / source / libs / zziplib / zziplib-0.13.62 / configure.ac
blob88129d18abb8c44bf20770eef94a14733bf75292
1 AC_INIT([zziplib.spec])
2 AC_PREREQ(2.61)
3 AC_COPYRIGHT([Guido Draheim <guido@gmx.de> for ZZipLib.SF.net])
4 AC_REVISION($Revision: 1.15 $)
5 AC_CONFIG_AUX_DIR([uses])
6 AC_CONFIG_MACRO_DIR([m4])
7 # =======================================================================
8 AC_CANONICAL_SYSTEM
9 dnl AM_ENABLE_MULTILIB([Makefile],[$host])
10 AX_ENABLE_BUILDDIR_UNAME
11 AC_SET_DEFAULT_PATHS_SYSTEM
12 # -----------------------------------------------------------------------
13 AC_ARG_ENABLE([thread-safe],
14 AS_HELP_STRING([--disable-thread-safe],[disable thread-safe libtool option])
15    ,,[ enable_thread_safe="yes"])
16 THREAD_SAFE=""
17 test "$enable_thread_safe" = "yes" && THREAD_SAFE="-thread-safe"
18 test "$enable_thread_safe" = "$host_os" && THREAD_SAFE="-thread-safe"
19 AC_SUBST(THREAD_SAFE)
20 if test -n "$THREAD_SAFE" ; then
21   AC_MSG_RESULT(...using thread-safe linkage)
22 else
23   AC_MSG_RESULT(disabled thread-safe linkage)
25 # ----------------------------------------------------------------
26 AC_MSG_CHECKING(zlib install prefix)
27 AC_ARG_WITH(zlib, 
28 AS_HELP_STRING([--with-zlib],[zlib prefix (e.g. '$HOME/software')])
29     ,,[with_zlib="no"])
30 if test "${with_zlib}" = yes ; then # choose --prefix paths
31    if test "${prefix}" = NONE ; then
32       AC_MSG_RESULT([oops, but only itself...])
33       AC_MSG_ERROR(--with-zlib requires a path argument or a --prefix path set)
34    fi
35    with_zlib="$prefix"
38 case ".$with_zlib" in
39    .no|.no,*)
40       AC_MSG_RESULT(none)
41       with_zlib="no, not configured" ;;
42   ./usr)
43       AC_MSG_RESULT([oops, ignored (may try --with-zlib=/usr/.)])
44       with_zlib="no, /usr ignored" ;;
45   *)  if test ! -d "$with_zlib/include" ; then
46          AC_MSG_RESULT([oops, given but...])
47          AC_MSG_ERROR("$with_zlib/include" is not a directory)
48       fi
49       if test ! -d "$with_zlib/lib" ; then
50          AC_MSG_RESULT([oops, given but...])
51          AC_MSG_ERROR("$with_zlib/lib" is not a directory)
52       fi
53       AC_MSG_RESULT($with_zlib)
54       ZLIB_INCL="-I$with_zlib/include"
55       ZLIB_LDIR="-L$with_zlib/lib"
56       AC_MSG_RESULT(..adding CPPFLAGS $ZLIB_INCL)
57       AC_MSG_RESULT(..adding LDFLAGS  $ZLIB_LDIR)
58       CPPFLAGS="$CPPFLAGS $ZLIB_INCL"
59       LDFLAGS="$LDFLAGS $ZLIB_LDIR"
60   ;;
61 esac
62 AC_SUBST(ZLIB_INCL)
63 AC_SUBST(ZLIB_LDIR)
64 # -----------------------------------------------------------------------
65 AX_SPEC_DEFAULTS
66 AM_INIT_AUTOMAKE($PACKAGE,$VERSION)
67 dnl test ".$CFLAGS" = "." && CFLAGS=""
68 AC_PROG_CC
69 dnl test ".$CFLAGS" = "." && test "$GCC" = "yes" && CFLAGS="-O3"
70 AC_PROG_INSTALL
71 AC_LIBTOOL_WIN32_DLL
72 AM_PROG_LIBTOOL
73 AX_SET_VERSION_INFO
75 # -----------------------------------------------------------------------
76 AC_MSG_RESULT([creating zzip/_msvc.in via zzip/_msvc.sed of config.h.in])
77 test -d zzip || mkdir zzip
78 sed -f $srcdir/zzip/_msvc.sed $srcdir/config.h.in >zzip/_msvc.in
79 AC_CONFIG_HEADERS([config.h])
80 AX_PREFIX_CONFIG_H([zzip/_config.h],[zzip],[config.h])
81 AX_PREFIX_CONFIG_H([zzip/_msvc.h],[zzip],[zzip/_msvc.in])
82 AM_MAINTAINER_MODE
84 AX_CREATE_PKGCONFIG_INFO(dnl
85 [zzip/zziplib.pc], [zzip-zlib-config],[-lzzip],,[ ])
86 # -----------------------------------------------------------------------
87 AX_PAX_TAR_CREATE
88 AX_PAX_TAR_EXTRACT
89 AC_PATH_PROGS(PERL, perl5 perl, echo no perl found for)
90 AC_PATH_PROGS(PYTHON, python, echo no python found for)
91 AC_PATH_PROGS(MKZIP, zip pkzip, :)
92 AC_PATH_PROGS(XMLTO, xmlto, :)
94 AC_C_INLINE
95 AC_C_CONST
96 ACX_C_RESTRICT
97 AC_STDC_HEADERS
98 AC_HEADER_DIRENT
99 AC_CHECK_HEADERS(stdint.h unistd.h windows.h winnt.h winbase.h sys/int_types.h)
100 AC_CHECK_HEADERS(sys/types.h sys/mman.h sys/stat.h sys/param.h) dnl posix'ish
101 AC_CHECK_HEADERS(io.h direct.h zlib.h byteswap.h)
102 AC_CHECK_HEADERS(fnmatch.h)
103 AC_CHECK_FUNCS( strcasecmp strndup )
105 AC_TYPE_OFF_T
106 AC_TYPE_SIZE_T
107 dnl AC_TYPE_SSIZE_T
108 AC_CHECK_TYPE(ssize_t,int)
109 AC_CHECK_TYPE(off64_t,_zzip_off_t)
110 AC_CHECK_TYPE(__int64,long long)
111 AC_COMPILE_CHECK_SIZEOF(short)
112 AC_COMPILE_CHECK_SIZEOF(int)
113 AC_COMPILE_CHECK_SIZEOF(long)
114 AC_C_BIGENDIAN
115 AX_CHECK_ALIGNED_ACCESS_REQUIRED
116 dnl -------------------------------------------------------------
117 # the default is _disabled_!! anyway, result is prefixed in zzip/_config.h!!
118 AC_SYS_LARGEFILE_SENSITIVE
119 test ".$LARGEFILE_CFLAGS" = "." && LARGEFILE_CFLAGS=""
120 AC_ARG_WITH(largefile,AC_HELP_STRING(
121     [--with-largefile],[compile as off64_t instead of 32bit off_t])
122     ,,[with_largefile="no"])
123 if test ".$ac_cv_sys_largefile_sensitive" = ".no" ; then
124   AC_MSG_RESULT(compiles library with the only off_t seen)
125 elif test ".$with_largefile" != ".no" ; then
126   AC_MSG_RESULT(compiles library as 64bit off_t variant dnl
127 - and renaming some function names)
128   LARGEFILE_CFLAGS="$LARGEFILE_CFLAGS -D_LARGEFILE_SOURCE"
129   AC_MSG_RESULT(..adding CFLAGS $LARGEFILE_CFLAGS)
130   CFLAGS="$CFLAGS $LARGEFILE_CFLAGS"
131   AC_MSG_RESULT(..adding 64 into RELEASE_INFO for the libraries)
132   RELEASE_INFO="$RELEASE_INFO-64"
133 else
134   AC_MSG_RESULT(compiles library as 32bit off_t variant dnl
135 - largefile is not the default here)
137 AC_SUBST(LARGEFILE_CFLAGS)
138 dnl -------------------------------------------------------------
139 AC_MSG_CHECKING(for zlib being found)
140 if test "_$ac_cv_header_zlib_h" != "_yes" ; then
141   AC_MSG_RESULT(dnl
142 ...oops: zlib.h not found - try adding some CPPFLAGS to configure call)
143          AC_MSG_RESULT(dnl
144 ...note: and when linkage fails you might also need to set some LDFLAGS)
145   case "$prefix" in
146     NONE|/usr)
147             AC_MSG_RESULT(dnl
148 ...note: both can be set by specifying the install prefix of the zlib library)
149             AC_MSG_RESULT(dnl
150 ...note: via --with-zlib=path ... it will test for -Ipath/include -Lpath/lib)
151     ;;
152     *) if test -d $prefix/include ; then
153          AC_MSG_RESULT(dnl
154 ...note: -I$prefix/include is not added to CPPFLAGS automatically and)
155          AC_MSG_RESULT(dnl
156 ...note: neither is -L$prefix/lib for LDFLAGS .. both will be if you specify)
157          AC_MSG_RESULT(dnl
158 ...note: --with-zlib to configure call, or use --with-zlib=installprefix)
159        fi
160      ;;
161   esac
162   AC_MSG_ERROR(zlib.h not found: "zlib" is required to build "$PACKAGE")
163   exit 1
165 cat >conftest.c <<EOF
166 #include <zlib.h>
167 const char* zlib_VeRsIoN = ZLIB_VERSION "dEtEcT";
169 ZLIB_VERSION=`(eval "$ac_cpp conftest.c") 2>/dev/null \
170 | grep zlib_VeRsIoN | sed -e 's,.*= *.,,' -e 's,. *.dEtEcT.*,,'`
171 rm conftest.c
172 AC_SUBST(ZLIB_VERSION)
173 AC_MSG_RESULT(yes - $ZLIB_VERSION)
174 # ----------------------------------------------------------------
175 AC_MSG_CHECKING(docdir default)
176 AC_ARG_WITH(docdir, AC_HELP_STRING(
177     [--with-docdir],[docdir prefix (prefix/share/doc)])
178     ,,[with_docdir="no"])
179 case "${with_docdir}" in
180  prefix/*)  docdir=` echo "$withval" | sed 's/^prefix/${prefix}'` ;;
181  datadir/*) docdir=` echo "$withval" | sed 's/^datadir/${datadir}'` ;;
182  yes) docdir='${prefix}/doc' ;;
183  no)  docdir='${datadir}/doc' ;;
184  /*|\\*|[a-zA-Z]:*) docdir="$with_docdir"  ;;
185  *) AC_MSG_RESULT(oops)
186     AC_MSG_ERROR(bad value ${withval} for --with-docdir)
187  ;;
188 esac
189 AC_SUBST(docdir)
190 AC_MSG_RESULT($docdir)
191 # ----------------------------------------------------------------
192 AC_MSG_CHECKING(whether using debugging messages in libraries)
193 AC_ARG_WITH(debug, AC_HELP_STRING(
194     [--with-debug],[debug messages in library])
195     , [case "${withval}" in
196                 yes|no) with_debug="$withval" ;;
197                 *) AC_MSG_RESULT(oops)
198                    AC_MSG_ERROR(bad value ${withval} for --with-debug) ;;
199        esac], [with_debug="no"])
200 test "$with_debug" != "yes" && with_debug="no" # yes or no
201 test "$with_debug" = "yes" && export CFLAGS="$CFLAGS -DDEBUG"
202 result="$with_debug" ; test "$result" = "yes" && result="yes, added -DDEBUG"
203 AC_MSG_RESULT($result)
204 if test "$with_debug" = "yes" ; then if test -n "$RELEASE_INFO" ; then
205    RELEASE_INFO="$RELEASE_INFO-dbg"
206    AC_MSG_RESULT(modified release, $RELEASE_INFO)
207 fi fi
208 # ----------------------------------------------------------------
209 AC_MSG_CHECKING(whether thread stack is too small for bufsiz buffers)
210  # many embedded platforms, superthreaded systems and kernel usage
211  # will severely limit the stackspace for its threads. Use _LOWSTK
212  # compile-define on those platforms.
213 AC_ARG_WITH(lowstk, AC_HELP_STRING(
214     [--with-lowstk], [limited thread stack])
215     , [case "${withval}" in
216                 yes|no|auto) with_lowstk="$withval" ;;
217                 *) AC_MSG_ERROR(bad value ${withval} for --with-lowstk) ;;
218        esac], [with_lowstk="auto"])
219 if test "$with_lowstk" = "auto"; then
220   case $target in
221         *-palmos-*) $with_lowstk="yes" ;;
222   esac
224 test "$with_lowstk" != "yes" && with_lowstk="no" # yes or no
225 test "$with_lowstk" = "yes" && CFLAGS="$CFLAGS -D_LOWSTK"
226 result="$with_lowstk" ; test "$result" = "yes" && result="yes, added -D_LOWSTK"
227 AC_MSG_RESULT($with_lowstk)
228 # ---------------------------------------------------------------
229 AC_MSG_CHECKING(whether can use mmap for file scanning)
230  # system with mmap are probably better performing an searching
231  # and parsing - atleast memory consumption is far better
232 AC_ARG_ENABLE(mmap, AC_HELP_STRING(
233    [--disable-mmap],[disable mmap usage])
234    , [case "${enableval}" in
235                 yes|no|auto) enable_mmap="${enableval}" ;;
236                 *) AC_MSG_RESULT(oops)
237                    AC_MSG_ERROR(bad value ${enableval} for --disable-mmap) ;;
238       esac], [enable_mmap="auto"])
239 if test "$enable_mmap" = "auto"
240 then
241     test "$ac_cv_header_winbase_h"  && enable_mmap="yes, winbase.h"
242     test "$ac_cv_header_sys_mman_h" && enable_mmap="yes, sys/mman.h"
244 case "$enable_mmap" in
245    yes|yes,*) CFLAGS="$CFLAGS -D_USE_MMAP"
246       AC_MSG_RESULT($enable_mmap, added -D_USE_MMAP) ;;
247    *) enable_mmap="no"
248       AC_MSG_RESULT(no (just a bit slower)) ;;
249 esac
250 # ---------------------------------------------------------------
251 AC_MSG_CHECKING(whether making SDL parts)
252 SDL=""
253 SDL_GENERATE=""
254 AC_ARG_ENABLE(sdl, AC_HELP_STRING(
255     [--enable-sdl],[enable SDL usage (if present)])
256     ,,[enable_sdl="no"])
257 if test "$enable_sdl" = "no" ; then
258    AC_MSG_RESULT([no, disabled])
259 else
260    enable_sdl=`pkg-config --modversion sdl 2>/dev/null`
261    if test -z "$enable_sdl"; then
262       enable_sdl=`sdl-config --version 2>/dev/null`
263       SDL_GENERATE="sdl-uninstalled.pc"
264       enable_sdl="$enable_sdl (sdl-config)"
265    else
266       enable_sdl="$enable_sdl (pkgconfig)"
267    fi
268    enable_sdl="$enable_sdl."
269    case ".$enable_sdl" in
270      .1.*) AC_MSG_RESULT([yes, using SDL $enable_sdl])
271            SDL="SDL" ;;
272      .2.*) AC_MSG_RESULT([yes, untested $enable_sdl])
273            SDL="SDL" ;;
274      *)    AC_MSG_RESULT([no, $enable_sdl]) ;;
275    esac
276    if test -n "$SDL_GENERATE"; then
277       AC_MSG_RESULT([enabled SDL generation of... $SDL_GENERATE])
278    fi
280 AC_SUBST([SDL])
281 AC_SUBST([SDL_GENERATE])
282 # ---------------------------------------------------------------
283 AC_MSG_CHECKING(running extra tests on make check)
284 if test "MKZIP" != ":" ; then
285   AC_MSG_RESULT(yes)
286   ZIPTESTS=""
287 else
288   AC_MSG_RESULT(no)
289   ZIPTESTS="#"
291 AC_SUBST(ZIPTESTS)
292 # ---------------------------------------------------------------
293 AC_MSG_CHECKING([link options])
294 ZZIPLIB_LDFLAGS=""
295 case "$host_os" in mingw*)
296     # we may assume that the backend is gnu-ld but DLLs need full resolution
297     ZZIPLIB_LDFLAGS="${wl}-no-undefined ${wl}-export-all-symbols -mconsole"
298     RESOLVES=' '
299 ;; darwin*)
300     # darwin never uses gnu-ld but the linker can do it anyway
301     ZZIPLIB_LDFLAGS="-export-dynamic"
302     RESOLVES=" # "
303 ;; *)
304     if test ".$can_build_shared" != ".no" ; then
305       ZZIPLIB_LDFLAGS="-export-dynamic"
306       if test ".$lt_cv_prog_gnu_ld" == ".yes" ; then
307          ZZIPLIB_LDFLAGS="${wl}--export-dynamic"
308          # TODO: that is for backward compatibility only
309       fi
310     fi
311     RESOLVES=" # "
312 ;; esac
313 AC_MSG_RESULT([$ZZIPLIB_LDFLAGS $RESOLVES])
314 AC_SUBST([ZZIPLIB_LDFLAGS])
315 AC_SUBST([RESOLVES])
316 AC_ARG_WITH([defines], 
317 AS_HELP_STRING([--with-defines],[easy,harden,allow_modulo_entries]),
318     ,[with_defines="normal"])
321 case ",$with_defines," in *,easy,*)
322   AC_MSG_RESULT([..adding CFLAGS -DZZIP_EASY])
323   CFLAGS="$CFLAGS -DZZIP_EASY"
324 ;; esac
325 case ",$with_defines," in *,harden,*)
326   AC_MSG_RESULT([..adding CFLAGS -DZZIP_HARDEN])
327   CFLAGS="$CFLAGS -DZZIP_HARDEN"
328 ;; esac
329 case ",$with_defines," in *,allow_modulo_entries,*)
330   AC_MSG_RESULT([..adding CFLAGS -DZZIP_ALLOW_MODULO_ENTRIES])
331   CFLAGS="$CFLAGS -DZZIP_ALLOW_MODULO_ENTRIES"
332 ;; esac
334 # ---------------------------------------------------------------
335 AX_MAINTAINER_MODE_AUTO_SILENT
336 AX_NOT_ENABLE_FRAME_POINTER
337 AX_CFLAGS_WARN_ALL
338 AX_CFLAGS_GCC_OPTION(-Wpointer-arith)
339 AX_CFLAGS_GCC_OPTION(-Wsign-compare)
340 AX_CFLAGS_GCC_OPTION(-Wmissing-declarations)
341 AX_CFLAGS_GCC_OPTION(-Wdeclaration-after-statement)
342 AX_CFLAGS_GCC_OPTION(-Werror-implicit-function-declaration)
343 AX_CFLAGS_GCC_OPTION(-Wstrict-aliasing)
344 AX_CFLAGS_GCC_OPTION(-Warray-bounds)
345 AX_CFLAGS_NO_WRITABLE_STRINGS
346 AX_CFLAGS_STRICT_PROTOTYPES
347 # ---------------------------------------------------------------
348 AX_ENABLE_DEFAULT_PKGCONFIGDIR
349 AX_ENABLE_DEFAULT_ACLOCALDIR
350 AC_SUBST([CONFIG_FILES])
351 AC_OUTPUT([Makefile
352            zzip/Makefile zzipwrap/Makefile SDL/Makefile
353            docs/Makefile test/Makefile bins/Makefile])
354 dnl -------------------------------------------------------------
355 PATCH_LIBTOOL_ON_DARWIN_ZSH_OVERQUOTING
356 PATCH_LIBTOOL_SYS_LIB_SEARCH_PATH_SPEC
357 PATCH_LIBTOOL_TO_ADD_HOST_CC
358 # ---------------------------------------------------------------
359 echo '-----' $PACKAGE $VERSION $prefix
360 $SHELL libtool --features || true
361 echo "CPPFLAGS=$CPPFLAGS"
362 echo "CFLAGS=$CFLAGS"
363 test "$enable_mmap" != "no" && echo "enable  mmap   ($enable_mmap)"
364 test "$enable_mmap"  = "no" && echo "disable mmap   ($enable_mmap)"
365 test "$with_lowstk" != "no" && echo "with    lowstk ($with_lowstk)"
366 test "$with_lowstk"  = "no" && echo "without lowstk ($with_lowstk)"
367 test "$with_debug"  != "no" && echo "with    debug  ($with_debug)"
368 test "$with_debug"   = "no" && echo "without debug  ($with_debug)"
369 # test -f ./zziplib.spec && echo warning - do not build in the source dirs
370 echo '# make  && make check  && make install'