xref: /libtiff-4.0.7/configure.ac (revision 884f9736)
152f27901SAndrey Kiselevdnl                                               -*- Autoconf -*-
252f27901SAndrey Kiselevdnl Tag Image File Format (TIFF) Software
352f27901SAndrey Kiselevdnl
4b90b47e6SAndrey Kiselevdnl Copyright (C) 2004, Andrey Kiselev <[email protected]>
552f27901SAndrey Kiselevdnl
652f27901SAndrey Kiselevdnl Permission to use, copy, modify, distribute, and sell this software and
752f27901SAndrey Kiselevdnl its documentation for any purpose is hereby granted without fee, provided
852f27901SAndrey Kiselevdnl that (i) the above copyright notices and this permission notice appear in
952f27901SAndrey Kiselevdnl all copies of the software and related documentation, and (ii) the names of
1052f27901SAndrey Kiselevdnl Sam Leffler and Silicon Graphics may not be used in any advertising or
1152f27901SAndrey Kiselevdnl publicity relating to the software without the specific, prior written
1252f27901SAndrey Kiselevdnl permission of Sam Leffler and Silicon Graphics.
1352f27901SAndrey Kiselevdnl
1452f27901SAndrey Kiselevdnl THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND,
1552f27901SAndrey Kiselevdnl EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY
1652f27901SAndrey Kiselevdnl WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
1752f27901SAndrey Kiselevdnl
1852f27901SAndrey Kiselevdnl IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR
1952f27901SAndrey Kiselevdnl ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND,
2052f27901SAndrey Kiselevdnl OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
2152f27901SAndrey Kiselevdnl WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF
2252f27901SAndrey Kiselevdnl LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE
2352f27901SAndrey Kiselevdnl OF THIS SOFTWARE.
2452f27901SAndrey Kiselev
2552f27901SAndrey Kiselevdnl Process this file with autoconf to produce a configure script.
2652f27901SAndrey Kiselev
2782973070SBob FriesenhahnAC_PREREQ(2.64)
28*884f9736SBob FriesenhahnAC_INIT([LibTIFF Software],[4.0.7],[[email protected]],[tiff])
29f84c3a6aSAndrey KiselevAC_CONFIG_AUX_DIR(config)
30f84c3a6aSAndrey KiselevAC_CONFIG_MACRO_DIR(m4)
3110413ec1SAndrey KiselevAC_LANG(C)
32c7c6dee5SAndrey Kiselev
33c546a4ccSBob Friesenhahndnl Compute the canonical host (run-time) system type variable
34c546a4ccSBob FriesenhahnAC_CANONICAL_HOST
35c7c6dee5SAndrey Kiselev
36e762ba3dSBob FriesenhahnAM_INIT_AUTOMAKE(tar-pax)
377ca6367fSAndrey Kiselevdnl Do not rebuild generated files every time
387ca6367fSAndrey KiselevAM_MAINTAINER_MODE
3952f27901SAndrey Kiselev
4026800555SAndrey Kiselevdnl Versioning.
419b47725fSAndrey Kiselevdnl Don't fill the ALPHA_VERSION field, if not applicable.
42d8207f58SAndrey KiselevLIBTIFF_MAJOR_VERSION=4
43d8207f58SAndrey KiselevLIBTIFF_MINOR_VERSION=0
44*884f9736SBob FriesenhahnLIBTIFF_MICRO_VERSION=7
45f5047249SBob FriesenhahnLIBTIFF_ALPHA_VERSION=
46e816f27aSAndrey KiselevLIBTIFF_VERSION=$LIBTIFF_MAJOR_VERSION.$LIBTIFF_MINOR_VERSION.$LIBTIFF_MICRO_VERSION$LIBTIFF_ALPHA_VERSION
4726800555SAndrey Kiselevdnl This will be used with the 'make release' target
4826800555SAndrey KiselevLIBTIFF_RELEASE_DATE=`date +"%Y%m%d"`
4952f27901SAndrey Kiselev
50aeb4c8beSBob Friesenhahndnl Libtool library revision control info
51aeb4c8beSBob Friesenhahndnl See the libtool documentation under the heading "Libtool's versioning
52aeb4c8beSBob Friesenhahndnl system" in order to understand the meaning of these fields
53d8207f58SAndrey Kiselevdnl
54aeb4c8beSBob Friesenhahndnl current
55aeb4c8beSBob Friesenhahndnl      The most recent interface number that this library implements.
56aeb4c8beSBob Friesenhahndnl revision
57aeb4c8beSBob Friesenhahndnl      The implementation number of the current interface.
58aeb4c8beSBob Friesenhahndnl age
59aeb4c8beSBob Friesenhahndnl      The difference between the newest and oldest interfaces that
60aeb4c8beSBob Friesenhahndnl      this library implements. In other words, the library implements
61aeb4c8beSBob Friesenhahndnl      all the interface numbers in the range from number current -
62aeb4c8beSBob Friesenhahndnl      age to current.
63d8207f58SAndrey Kiselevdnl
64aeb4c8beSBob Friesenhahndnl Here are a set of rules to help you update your library version
65aeb4c8beSBob Friesenhahndnl information:
66d8207f58SAndrey Kiselevdnl
67aeb4c8beSBob Friesenhahndnl  1. Start with version information of `0:0:0' for each libtool library.
68aeb4c8beSBob Friesenhahndnl  2. Update the version information only immediately before a public
69aeb4c8beSBob Friesenhahndnl     release of your software. More frequent updates are unnecessary, and
70aeb4c8beSBob Friesenhahndnl     only guarantee that the current interface number gets larger faster.
71aeb4c8beSBob Friesenhahndnl  3. If the library source code has changed at all since the last update,
72aeb4c8beSBob Friesenhahndnl     then increment revision (`c:r:a' becomes `c:r+1:a').
73aeb4c8beSBob Friesenhahndnl  4. If any interfaces have been added, removed, or changed since the last
74aeb4c8beSBob Friesenhahndnl     update, increment current, and set revision to 0.
75aeb4c8beSBob Friesenhahndnl  5. If any interfaces have been added since the last public release, then
76aeb4c8beSBob Friesenhahndnl     increment age.
77aeb4c8beSBob Friesenhahndnl  6. If any interfaces have been removed since the last public release,
78aeb4c8beSBob Friesenhahndnl     then set age to 0.
7921a904d7SBob FriesenhahnLIBTIFF_CURRENT=7
80*884f9736SBob FriesenhahnLIBTIFF_REVISION=5
8121a904d7SBob FriesenhahnLIBTIFF_AGE=2
82d8207f58SAndrey KiselevLIBTIFF_VERSION_INFO=$LIBTIFF_CURRENT:$LIBTIFF_REVISION:$LIBTIFF_AGE
83d8207f58SAndrey Kiselev
84d72e52d3SAndrey Kiselev# This is a special hack for OpenBSD and MirOS systems. The dynamic linker
85d72e52d3SAndrey Kiselev# in OpenBSD uses some special semantics for shared libraries. Their soname
86d72e52d3SAndrey Kiselev# contains only two numbers, major and minor.
87d72e52d3SAndrey Kiselev# See http://bugzilla.remotesensing.org/show_bug.cgi?id=838 for details.
88c546a4ccSBob Friesenhahn#case "$host_os" in
89d8207f58SAndrey Kiselev#    openbsd* | mirbsd*)
90d8207f58SAndrey Kiselev#	LIBTIFF_VERSION_INFO=$LIBTIFF_MAJOR_VERSION$LIBTIFF_MINOR_VERSION:$LIBTIFF_MICRO_VERSION:0
91d8207f58SAndrey Kiselev#	;;
92d8207f58SAndrey Kiselev#    *)
93d8207f58SAndrey Kiselev#	LIBTIFF_VERSION_INFO=$LIBTIFF_MAJOR_VERSION:$LIBTIFF_MINOR_VERSION:$LIBTIFF_MICRO_VERSION
94d8207f58SAndrey Kiselev#	;;
95d8207f58SAndrey Kiselev#esac
96d72e52d3SAndrey Kiselev
9752f27901SAndrey KiselevAC_SUBST(LIBTIFF_MAJOR_VERSION)
9852f27901SAndrey KiselevAC_SUBST(LIBTIFF_MINOR_VERSION)
9952f27901SAndrey KiselevAC_SUBST(LIBTIFF_MICRO_VERSION)
100e816f27aSAndrey KiselevAC_SUBST(LIBTIFF_ALPHA_VERSION)
10152f27901SAndrey KiselevAC_SUBST(LIBTIFF_VERSION)
102d72e52d3SAndrey KiselevAC_SUBST(LIBTIFF_VERSION_INFO)
10326800555SAndrey KiselevAC_SUBST(LIBTIFF_RELEASE_DATE)
10452f27901SAndrey Kiselev
10552f27901SAndrey Kiselevdnl Checks for programs.
10652f27901SAndrey KiselevAC_PROG_CC
107f84c3a6aSAndrey KiselevAM_PROG_CC_C_O
108fbfe4927SBob Friesenhahn
109fbfe4927SBob Friesenhahndnl We want warnings. As many warnings as possible.
110c508cf3eSAndrey KiselevVL_PROG_CC_WARNINGS()
111fbfe4927SBob Friesenhahn
112a9afad2aSBob Friesenhahndnl Checks for programs
11352f27901SAndrey KiselevAC_PROG_INSTALL
11452f27901SAndrey KiselevAC_PROG_LN_S
115a9afad2aSBob Friesenhahn# Used only for validating the source distribution during distcheck
116a9afad2aSBob FriesenhahnAC_PATH_PROG(CMAKE, cmake)
11782973070SBob Friesenhahn
118b326998fSBob Friesenhahn
119b326998fSBob Friesenhahn# Check if LD supports linker scripts, and define automake conditional
120b326998fSBob Friesenhahn# HAVE_LD_VERSION_SCRIPT if so.  This functionality is currently
121b326998fSBob Friesenhahn# constrained to compilers using GNU ld on ELF systems or systems
122b326998fSBob Friesenhahn# which provide an adequate emulation thereof.
123b326998fSBob FriesenhahnAC_ARG_ENABLE([ld-version-script],
124b326998fSBob Friesenhahn  AS_HELP_STRING([--enable-ld-version-script],
125b326998fSBob Friesenhahn    [enable linker version script (default is disabled)]),
126b326998fSBob Friesenhahn    [have_ld_version_script=$enableval], [have_ld_version_script=no])
127b326998fSBob Friesenhahnif test "$have_ld_version_script" != no; then
128b326998fSBob Friesenhahn  AC_MSG_CHECKING([if LD -Wl,--version-script works])
129b326998fSBob Friesenhahn  save_LDFLAGS="$LDFLAGS"
130b326998fSBob Friesenhahn  LDFLAGS="$LDFLAGS -Wl,--version-script=conftest.map"
131b326998fSBob Friesenhahn  cat > conftest.map <<EOF
132b326998fSBob FriesenhahnVERS_1 {
133b326998fSBob Friesenhahn        global: sym;
134b326998fSBob Friesenhahn};
135b326998fSBob Friesenhahn
136b326998fSBob FriesenhahnVERS_2 {
137b326998fSBob Friesenhahn        global: sym;
138b326998fSBob Friesenhahn} VERS_1;
139b326998fSBob FriesenhahnEOF
140b326998fSBob Friesenhahn  AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
141b326998fSBob Friesenhahn                 [have_ld_version_script=yes], [have_ld_version_script=no])
142b326998fSBob Friesenhahn  rm -f conftest.map
143b326998fSBob Friesenhahn  LDFLAGS="$save_LDFLAGS"
144b326998fSBob Friesenhahn  AC_MSG_RESULT($have_ld_version_script)
145b326998fSBob Friesenhahnfi
146b326998fSBob FriesenhahnAM_CONDITIONAL(HAVE_LD_VERSION_SCRIPT, test "$have_ld_version_script" = "yes")
147b326998fSBob Friesenhahn
148b326998fSBob Friesenhahn
14982973070SBob Friesenhahndnl Tests for Windows
15082973070SBob FriesenhahnAC_EXEEXT
15182973070SBob FriesenhahnAC_OBJEXT
15282973070SBob Friesenhahn
15382973070SBob Friesenhahndnl initialize libtool
15482973070SBob FriesenhahnLT_INIT([win32-dll])
15582973070SBob FriesenhahnLT_LANG([C++])
15682973070SBob Friesenhahn
15782973070SBob Friesenhahn# Enable support for silent build rules
15882973070SBob FriesenhahnAM_SILENT_RULES
15952f27901SAndrey Kiselev
160e90c73e6SBob Friesenhahntiff_libs_private=
161e90c73e6SBob FriesenhahnAC_SUBST(tiff_libs_private)
162e90c73e6SBob Friesenhahn
163bcdfba3fSAndrey Kiselevdnl We don't need to add math library to all targets
164bcdfba3fSAndrey Kiselevcase "${host_os}" in
16552f27901SAndrey Kiselev    cygwin* | mingw32* | beos* | darwin*)
16652f27901SAndrey Kiselev        ;;
16752f27901SAndrey Kiselev    *)
168e90c73e6SBob Friesenhahn	AC_CHECK_LIB(m,sin,[libm_lib=yes], [libm_lib=no],)
169e90c73e6SBob Friesenhahn	if test "x$libm_lib" = "xyes" ; then
170e90c73e6SBob Friesenhahn	  LIBS="-lm $LIBS"
171e90c73e6SBob Friesenhahn	  tiff_libs_private="-lm ${tiff_libs_private}"
172e90c73e6SBob Friesenhahn	fi
17352f27901SAndrey Kiselev        ;;
17452f27901SAndrey Kiselevesac
17552f27901SAndrey Kiselev
17652f27901SAndrey Kiselevdnl Checks for header files.
17755bd0128SAndrey KiselevAC_CHECK_HEADERS([assert.h fcntl.h io.h limits.h malloc.h search.h sys/time.h unistd.h])
17852f27901SAndrey Kiselev
17952f27901SAndrey Kiselevdnl Checks for typedefs, structures, and compiler characteristics.
18052f27901SAndrey KiselevAC_C_CONST
18195edc39bSAndrey KiselevAC_C_INLINE
18252f27901SAndrey KiselevAC_C_BIGENDIAN
18352f27901SAndrey KiselevAC_TYPE_OFF_T
18452f27901SAndrey KiselevAC_TYPE_SIZE_T
18552f27901SAndrey KiselevAC_HEADER_TIME
18652f27901SAndrey KiselevAC_STRUCT_TM
1878c4398d0SBob Friesenhahn
1888ba4a1c8SBob Friesenhahndnl If the `fseeko' function is available, define `HAVE_FSEEKO'. Define
1898ba4a1c8SBob Friesenhahndnl `_LARGEFILE_SOURCE' if necessary.
1908ba4a1c8SBob FriesenhahnAC_FUNC_FSEEKO
1918ba4a1c8SBob Friesenhahn
192d21d2b30SBob Friesenhahndnl Check if optarg (and presumably related externs) already declared in headers
193d21d2b30SBob FriesenhahnAC_CHECK_DECLS([optarg])
194d21d2b30SBob Friesenhahn
1958c4398d0SBob Friesenhahndnl ---------------------------------------------------------------------------
1968c4398d0SBob Friesenhahndnl Compute sized types for current CPU and compiler options
1978c4398d0SBob Friesenhahndnl ---------------------------------------------------------------------------
1988c4398d0SBob Friesenhahn
1998c4398d0SBob Friesenhahn# Obtain size of an 'signed short' and define as SIZEOF_SIGNED_SHORT
2008c4398d0SBob FriesenhahnAC_CHECK_SIZEOF(signed short)
2018c4398d0SBob Friesenhahn
2028c4398d0SBob Friesenhahn# Obtain size of an 'unsigned short' and define as SIZEOF_UNSIGNED_SHORT
2038c4398d0SBob FriesenhahnAC_CHECK_SIZEOF(unsigned short)
2048c4398d0SBob Friesenhahn
2058c4398d0SBob Friesenhahn# Obtain size of an 'signed int' and define as SIZEOF_SIGNED_INT
2068c4398d0SBob FriesenhahnAC_CHECK_SIZEOF(signed int)
2078c4398d0SBob Friesenhahn
2088c4398d0SBob Friesenhahn# Obtain size of an 'unsigned int' and define as SIZEOF_UNSIGNED_INT
2098c4398d0SBob FriesenhahnAC_CHECK_SIZEOF(unsigned int)
2108c4398d0SBob Friesenhahn
2118c4398d0SBob Friesenhahn# Obtain size of a 'signed long' and define as SIZEOF_SIGNED_LONG
2128c4398d0SBob FriesenhahnAC_CHECK_SIZEOF(signed long)
2138c4398d0SBob Friesenhahn
2148c4398d0SBob Friesenhahn# Obtain size of a 'unsigned long' and define as SIZEOF_UNSIGNED_LONG
2158c4398d0SBob FriesenhahnAC_CHECK_SIZEOF(unsigned long)
2168c4398d0SBob Friesenhahn
217671e3708SBob Friesenhahn# Obtain size of a 'long long' and define as SIZEOF_SIGNED_LONG_LONG.
218671e3708SBob Friesenhahn# If 'long long' is not supported then the value defined is zero.
2198c4398d0SBob FriesenhahnAC_CHECK_SIZEOF(signed long long)
2208c4398d0SBob Friesenhahn
2218c4398d0SBob Friesenhahn# Obtain size of a 'unsigned long long' and define as
2228c4398d0SBob Friesenhahn# SIZEOF_UNSIGNED_LONG_LONG.  If 'unsigned long long' is not
2238c4398d0SBob Friesenhahn# supported then the value defined is zero.
2248c4398d0SBob FriesenhahnAC_CHECK_SIZEOF(unsigned long long)
2258c4398d0SBob Friesenhahn
226671e3708SBob Friesenhahn# Obtain the size of an 'unsigned char *' and define as
227671e3708SBob Friesenhahn# SIZEOF_UNSIGNED_CHAR_P.  Result is available in
228671e3708SBob Friesenhahn# ac_cv_sizeof_unsigned_char_p.
229671e3708SBob FriesenhahnAC_CHECK_SIZEOF(unsigned char *)
230671e3708SBob Friesenhahn
231d21d2b30SBob Friesenhahn# Obtain the size of 'size_t' and define as SIZEOF_SIZE_T.  Result is
232d21d2b30SBob Friesenhahn# available in ac_cv_sizeof_size_t
233d21d2b30SBob FriesenhahnAC_CHECK_SIZEOF([size_t])
234d21d2b30SBob Friesenhahn
2358c4398d0SBob FriesenhahnAC_MSG_CHECKING(for signed 8-bit type)
2368c4398d0SBob FriesenhahnINT8_T='signed char'
2378c4398d0SBob FriesenhahnAC_MSG_RESULT($INT8_T)
2388c4398d0SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_INT8_T,$INT8_T,[Signed 8-bit type])
2398c4398d0SBob Friesenhahn
2408c4398d0SBob FriesenhahnAC_MSG_CHECKING(for unsigned 8-bit type)
2418c4398d0SBob FriesenhahnUINT8_T='unsigned char'
2428c4398d0SBob FriesenhahnAC_MSG_RESULT($UINT8_T)
243785843bdSBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_UINT8_T,$UINT8_T,[Unsigned 8-bit type])
2448c4398d0SBob Friesenhahn
2458c4398d0SBob FriesenhahnAC_MSG_CHECKING(for signed 16-bit type)
2468c4398d0SBob FriesenhahnINT16_T='signed short'
2478c4398d0SBob FriesenhahnAC_MSG_RESULT($INT16_T)
2488c4398d0SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_INT16_T,$INT16_T,[Signed 16-bit type])
2498c4398d0SBob Friesenhahn
250953d02c3SBob Friesenhahn
2518c4398d0SBob FriesenhahnAC_MSG_CHECKING(for unsigned 16-bit type)
2528c4398d0SBob FriesenhahnUINT16_T='unsigned short'
2538c4398d0SBob FriesenhahnAC_MSG_RESULT($UINT16_T)
2548c4398d0SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_UINT16_T,$UINT16_T,[Unsigned 16-bit type])
2558c4398d0SBob Friesenhahn
2568c4398d0SBob FriesenhahnAC_MSG_CHECKING(for signed 32-bit type)
2578c4398d0SBob FriesenhahnINT32_T='none'
258953d02c3SBob FriesenhahnINT32_FORMAT='none'
2598c4398d0SBob Friesenhahnif test $ac_cv_sizeof_signed_int -eq 4
2608c4398d0SBob Friesenhahnthen
2618c4398d0SBob Friesenhahn  INT32_T='signed int'
262953d02c3SBob Friesenhahn  INT32_FORMAT='"%d"'
2638c4398d0SBob Friesenhahnelif test $ac_cv_sizeof_signed_long -eq 4
2648c4398d0SBob Friesenhahnthen
2658c4398d0SBob Friesenhahn  INT32_T='signed long'
266953d02c3SBob Friesenhahn  INT32_FORMAT='"%ld"'
2678c4398d0SBob Friesenhahnfi
2688c4398d0SBob FriesenhahnAC_MSG_RESULT($INT32_T)
2698c4398d0SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_INT32_T,$INT32_T,[Signed 32-bit type])
270953d02c3SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_INT32_FORMAT,$INT32_FORMAT,[Signed 32-bit type formatter])
2718c4398d0SBob Friesenhahn
2728c4398d0SBob FriesenhahnAC_MSG_CHECKING(for unsigned 32-bit type)
2738c4398d0SBob FriesenhahnUINT32_T='none'
274953d02c3SBob FriesenhahnUINT32_FORMAT='none'
2758c4398d0SBob Friesenhahnif test $ac_cv_sizeof_unsigned_int -eq 4
2768c4398d0SBob Friesenhahnthen
2778c4398d0SBob Friesenhahn  UINT32_T='unsigned int'
278953d02c3SBob Friesenhahn  UINT32_FORMAT='"%u"'
2798c4398d0SBob Friesenhahnelif test $ac_cv_sizeof_unsigned_long -eq 4
2808c4398d0SBob Friesenhahnthen
2818c4398d0SBob Friesenhahn  UINT32_T='unsigned long'
282953d02c3SBob Friesenhahn  UINT32_FORMAT='"%lu"'
2838c4398d0SBob Friesenhahnfi
2848c4398d0SBob FriesenhahnAC_MSG_RESULT($UINT32_T)
2858c4398d0SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_UINT32_T,$UINT32_T,[Unsigned 32-bit type])
286953d02c3SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_UINT32_FORMAT,$UINT32_FORMAT,[Unsigned 32-bit type formatter])
2878c4398d0SBob Friesenhahn
2888c4398d0SBob FriesenhahnAC_MSG_CHECKING(for signed 64-bit type)
2898c4398d0SBob FriesenhahnINT64_T='none'
290953d02c3SBob FriesenhahnINT64_FORMAT='none'
2918c4398d0SBob Friesenhahnif test $ac_cv_sizeof_signed_long -eq 8
2928c4398d0SBob Friesenhahnthen
2938c4398d0SBob Friesenhahn  INT64_T='signed long'
294953d02c3SBob Friesenhahn  INT64_FORMAT='"%ld"'
2958c4398d0SBob Friesenhahnelif test $ac_cv_sizeof_signed_long_long -eq 8
2968c4398d0SBob Friesenhahnthen
2978c4398d0SBob Friesenhahn  INT64_T='signed long long'
298519b7270SBob Friesenhahn  case "${host_os}" in
299519b7270SBob Friesenhahn    mingw32*)
300519b7270SBob Friesenhahn      # MinGW32 understands 'long long', but uses printf from WIN32 CRT
301519b7270SBob Friesenhahn      INT64_FORMAT='"%I64d"'
302519b7270SBob Friesenhahn      ;;
303519b7270SBob Friesenhahn    *)
304519b7270SBob Friesenhahn      INT64_FORMAT='"%lld"'
305519b7270SBob Friesenhahn      ;;
306519b7270SBob Friesenhahn  esac
3078c4398d0SBob Friesenhahnfi
308519b7270SBob Friesenhahn
309519b7270SBob Friesenhahn
3108c4398d0SBob FriesenhahnAC_MSG_RESULT($INT64_T)
3118c4398d0SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_INT64_T,$INT64_T,[Signed 64-bit type])
312953d02c3SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_INT64_FORMAT,$INT64_FORMAT,[Signed 64-bit type formatter])
3138c4398d0SBob Friesenhahn
3148c4398d0SBob FriesenhahnAC_MSG_CHECKING(for unsigned 64-bit type)
3158c4398d0SBob FriesenhahnUINT64_T='none'
316953d02c3SBob FriesenhahnUINT64_FORMAT='none'
3178c4398d0SBob Friesenhahnif test $ac_cv_sizeof_unsigned_long -eq 8
3188c4398d0SBob Friesenhahnthen
3198c4398d0SBob Friesenhahn  UINT64_T='unsigned long'
320953d02c3SBob Friesenhahn  UINT64_FORMAT='"%lu"'
3218c4398d0SBob Friesenhahnelif test $ac_cv_sizeof_unsigned_long_long -eq 8
3228c4398d0SBob Friesenhahnthen
3238c4398d0SBob Friesenhahn  UINT64_T='unsigned long long'
324519b7270SBob Friesenhahn  case "${host_os}" in
325519b7270SBob Friesenhahn    mingw32*)
326519b7270SBob Friesenhahn      # MinGW32 understands 'unsigned long long', but uses printf from WIN32 CRT
327519b7270SBob Friesenhahn      UINT64_FORMAT='"%I64u"'
328519b7270SBob Friesenhahn      ;;
329519b7270SBob Friesenhahn    *)
330953d02c3SBob Friesenhahn      UINT64_FORMAT='"%llu"'
331519b7270SBob Friesenhahn      ;;
332519b7270SBob Friesenhahn  esac
3338c4398d0SBob Friesenhahnfi
3348c4398d0SBob FriesenhahnAC_MSG_RESULT($UINT64_T)
3358c4398d0SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_UINT64_T,$UINT64_T,[Unsigned 64-bit type])
336953d02c3SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_UINT64_FORMAT,$UINT64_FORMAT,[Unsigned 64-bit type formatter])
3378c4398d0SBob Friesenhahn
338d21d2b30SBob Friesenhahn# Determine formatting specifier for 'size_t'.  While the size should
339d21d2b30SBob Friesenhahn# be precise, the type determined may not match the system definition.
340d21d2b30SBob Friesenhahn# A named type is provided to allow casting to the type we determined
341d21d2b30SBob Friesenhahn# without changing the actual size.
342d21d2b30SBob FriesenhahnAC_MSG_CHECKING([for 'size_t' format specifier])
343d21d2b30SBob FriesenhahnSIZE_T='unknown'
344d21d2b30SBob FriesenhahnSIZE_FORMAT='unknown'
345d21d2b30SBob Friesenhahnif test $ac_cv_sizeof_unsigned_int -eq $ac_cv_sizeof_size_t
346d21d2b30SBob Friesenhahnthen
347d21d2b30SBob Friesenhahn  SIZE_T='unsigned int'
348d21d2b30SBob Friesenhahn  SIZE_FORMAT='"%u"'
349d21d2b30SBob Friesenhahnelif test $ac_cv_sizeof_unsigned_long -eq $ac_cv_sizeof_size_t
350d21d2b30SBob Friesenhahnthen
351d21d2b30SBob Friesenhahn  SIZE_T='unsigned long'
352d21d2b30SBob Friesenhahn  SIZE_FORMAT='"%lu"'
353d21d2b30SBob Friesenhahnelif test $ac_cv_sizeof_unsigned_long_long -eq $ac_cv_sizeof_size_t
354d21d2b30SBob Friesenhahnthen
355d21d2b30SBob Friesenhahn  SIZE_T='unsigned long long'
356d21d2b30SBob Friesenhahn  case "${host_os}" in
357d21d2b30SBob Friesenhahn    mingw32*)
358d21d2b30SBob Friesenhahn      # MinGW32 understands 'unsigned long long', but uses printf from WIN32 CRT
359d21d2b30SBob Friesenhahn      SIZE_FORMAT='"%I64u"'
360d21d2b30SBob Friesenhahn      ;;
361d21d2b30SBob Friesenhahn    *)
362d21d2b30SBob Friesenhahn      SIZE_FORMAT='"%llu"'
363d21d2b30SBob Friesenhahn      ;;
364d21d2b30SBob Friesenhahn  esac
365d21d2b30SBob Friesenhahnfi
366d21d2b30SBob FriesenhahnAC_MSG_RESULT([$SIZE_FORMAT])
367d21d2b30SBob FriesenhahnAC_DEFINE_UNQUOTED([TIFF_SIZE_T],[$SIZE_T],[Unsigned size type])
368d21d2b30SBob FriesenhahnAC_DEFINE_UNQUOTED([TIFF_SIZE_FORMAT],[$SIZE_FORMAT],[Size type formatter])
369d21d2b30SBob Friesenhahn
37050168166SBob Friesenhahn# Determine TIFF equivalent of ssize_t
37150168166SBob FriesenhahnAC_MSG_CHECKING(for signed size type)
37250168166SBob FriesenhahnSSIZE_T='unknown'
373953d02c3SBob FriesenhahnSSIZE_FORMAT='unknown'
374d21d2b30SBob Friesenhahnif test $ac_cv_sizeof_signed_int -eq $ac_cv_sizeof_unsigned_char_p
375d21d2b30SBob Friesenhahnthen
376d21d2b30SBob Friesenhahn  SSIZE_T='signed int'
377d21d2b30SBob Friesenhahn  SSIZE_FORMAT='"%d"'
378d21d2b30SBob Friesenhahnelif test $ac_cv_sizeof_signed_long -eq $ac_cv_sizeof_unsigned_char_p
37950168166SBob Friesenhahnthen
38050168166SBob Friesenhahn  SSIZE_T='signed long'
381953d02c3SBob Friesenhahn  SSIZE_FORMAT='"%ld"'
38250168166SBob Friesenhahnelif test $ac_cv_sizeof_signed_long_long -eq $ac_cv_sizeof_unsigned_char_p
38350168166SBob Friesenhahnthen
38450168166SBob Friesenhahn  SSIZE_T='signed long long'
385108fe0c6SBob Friesenhahn  case "${host_os}" in
386108fe0c6SBob Friesenhahn    mingw32*)
387108fe0c6SBob Friesenhahn      # MinGW32 understands 'long long', but uses printf from WIN32 CRT
388108fe0c6SBob Friesenhahn      SSIZE_FORMAT='"%I64d"'
389108fe0c6SBob Friesenhahn      ;;
390108fe0c6SBob Friesenhahn    *)
391953d02c3SBob Friesenhahn      SSIZE_FORMAT='"%lld"'
392108fe0c6SBob Friesenhahn      ;;
393108fe0c6SBob Friesenhahn  esac
39450168166SBob Friesenhahnfi
39550168166SBob FriesenhahnAC_MSG_RESULT($SSIZE_T)
39650168166SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_SSIZE_T,$SSIZE_T,[Signed size type])
397953d02c3SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_SSIZE_FORMAT,$SSIZE_FORMAT,[Signed size type formatter])
39850168166SBob Friesenhahn
399671e3708SBob Friesenhahn# Determine the type to use for the difference between two pointers.
400671e3708SBob Friesenhahn# We will default to the POSIX ptrdiff_t if it is available, but will
401671e3708SBob Friesenhahn# be prepared for the case when it is not.
402671e3708SBob FriesenhahnPTRDIFF_T='unknown'
403953d02c3SBob FriesenhahnPTRDIFF_FORMAT='"%ld"'
404671e3708SBob FriesenhahnAC_CHECK_TYPE(ptrdiff_t,[PTRDIFF_T=ptrdiff_t])
405671e3708SBob Friesenhahnif test $PTRDIFF_T = unknown
406671e3708SBob Friesenhahnthen
40750168166SBob Friesenhahn  PTRDIFF_T=$SSIZE_T
408953d02c3SBob Friesenhahn  PTRDIFF_FORMAT=$SSIZE_FORMAT
409671e3708SBob Friesenhahnfi
410671e3708SBob FriesenhahnAC_MSG_CHECKING(for pointer difference type)
411671e3708SBob FriesenhahnAC_MSG_RESULT($PTRDIFF_T)
412671e3708SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_PTRDIFF_T,$PTRDIFF_T,[Pointer difference type])
413953d02c3SBob FriesenhahnAC_DEFINE_UNQUOTED(TIFF_PTRDIFF_FORMAT,$PTRDIFF_FORMAT,[Pointer difference type formatter])
414671e3708SBob Friesenhahn
4150c19f9caSAndrey Kiselevdnl Some compilers (IBM VisualAge) has these types defined, so check it here:
41604c1e2a2SAndrey KiselevAC_CHECK_TYPES([int8, int16, int32],,,
41704c1e2a2SAndrey Kiselev[
41804c1e2a2SAndrey Kiselev#if HAVE_INTTYPES_H
41904c1e2a2SAndrey Kiselev# include <inttypes.h>
42004c1e2a2SAndrey Kiselev#endif
42104c1e2a2SAndrey Kiselev])
42252f27901SAndrey Kiselev
42352f27901SAndrey Kiselevdnl Checks for library functions.
4245b90af24SBob FriesenhahnAC_CHECK_FUNCS([floor isascii memmove memset mmap pow setmode snprintf sqrt \
4255b90af24SBob Friesenhahnstrchr strrchr strstr strtol strtoul strtoull])
42652f27901SAndrey Kiselev
427973a9b78SAndrey Kiselevdnl Will use local replacements for unavailable functions
428973a9b78SAndrey KiselevAC_REPLACE_FUNCS(getopt)
4295b90af24SBob FriesenhahnAC_REPLACE_FUNCS(snprintf)
430973a9b78SAndrey KiselevAC_REPLACE_FUNCS(strcasecmp)
431973a9b78SAndrey KiselevAC_REPLACE_FUNCS(strtoul)
4328c4398d0SBob FriesenhahnAC_REPLACE_FUNCS(strtoull)
4333d0c7b27SAndrey KiselevAC_REPLACE_FUNCS(lfind)
434973a9b78SAndrey Kiselev
435fcee2689SAndrey Kiselevdnl ---------------------------------------------------------------------------
43668acdfcbSAndrey Kiselevdnl Check the native cpu bit order.
437c7c6dee5SAndrey Kiselevdnl ---------------------------------------------------------------------------
438c7c6dee5SAndrey KiselevAC_MSG_CHECKING([native cpu bit order])
439c546a4ccSBob Friesenhahncase "$host_cpu" in
4408743e538SBob Friesenhahn    i*86*|x86_64*)
44195edc39bSAndrey Kiselev        HOST_FILLORDER=FILLORDER_LSB2MSB
442c7c6dee5SAndrey Kiselev	AC_MSG_RESULT([lsb2msb])
443c7c6dee5SAndrey Kiselev	;;
444c7c6dee5SAndrey Kiselev    *)
445c7c6dee5SAndrey Kiselev	HOST_FILLORDER=FILLORDER_MSB2LSB
446c7c6dee5SAndrey Kiselev	AC_MSG_RESULT([msb2lsb])
447c7c6dee5SAndrey Kiselev        ;;
448c7c6dee5SAndrey Kiselevesac
449fbfe4927SBob FriesenhahnAC_DEFINE_UNQUOTED(HOST_FILLORDER, $HOST_FILLORDER, [Set the native cpu bit order (FILLORDER_LSB2MSB or FILLORDER_MSB2LSB)])
450fbfe4927SBob Friesenhahn
451fbfe4927SBob Friesenhahndnl ---------------------------------------------------------------------------
452fbfe4927SBob Friesenhahndnl Configure legacy tifconf.h HOST_BIGENDIAN.
453fbfe4927SBob Friesenhahndnl ---------------------------------------------------------------------------
454fbfe4927SBob Friesenhahnif test "$ac_cv_c_bigendian" = yes ; then
455fbfe4927SBob Friesenhahn    HOST_BIGENDIAN=1
456fbfe4927SBob Friesenhahnelse
457fbfe4927SBob Friesenhahn    HOST_BIGENDIAN=0
458fbfe4927SBob Friesenhahnfi
459fbfe4927SBob FriesenhahnAC_DEFINE_UNQUOTED(HOST_BIGENDIAN,$HOST_BIGENDIAN,[Native cpu byte order: 1 if big-endian (Motorola) or 0 if little-endian (Intel)])
460c7c6dee5SAndrey Kiselev
461c7c6dee5SAndrey Kiselevdnl ---------------------------------------------------------------------------
4627ad124cfSAndrey Kiselevdnl Make the POSIX.2 features available.
4637ad124cfSAndrey Kiselevdnl ---------------------------------------------------------------------------
464fbfe4927SBob Friesenhahn#_POSIX_C_SOURCE=2
465fbfe4927SBob Friesenhahn#AC_DEFINE_UNQUOTED(_POSIX_C_SOURCE, $_POSIX_C_SOURCE, [Define this macro to a positive integer to control which POSIX functionality is made available.])
4667ad124cfSAndrey Kiselev
4677ad124cfSAndrey Kiselevdnl ---------------------------------------------------------------------------
46868acdfcbSAndrey Kiselevdnl Set the floating point format.
46968acdfcbSAndrey Kiselevdnl FIXME: write appropriate test.
47068acdfcbSAndrey Kiselevdnl ---------------------------------------------------------------------------
47168acdfcbSAndrey KiselevHAVE_IEEEFP=1
47268acdfcbSAndrey KiselevAC_DEFINE_UNQUOTED(HAVE_IEEEFP, $HAVE_IEEEFP, [Define as 0 or 1 according to the floating point format suported by the machine])
47368acdfcbSAndrey Kiselev
47468acdfcbSAndrey Kiselevdnl ---------------------------------------------------------------------------
4759e8f48c9SAndrey Kiselevdnl Enable run-time paths to libraries usage.
4769e8f48c9SAndrey Kiselevdnl ---------------------------------------------------------------------------
4779e8f48c9SAndrey Kiselev
4789e8f48c9SAndrey KiselevAC_ARG_ENABLE(rpath,
4799e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--enable-rpath],
4809e8f48c9SAndrey Kiselev			     [Enable runtime linker paths (-R libtool option)]),
4819e8f48c9SAndrey Kiselev	      [HAVE_RPATH=$enableval], [HAVE_RPATH=no])
48240ae6630SAndrey KiselevAM_CONDITIONAL(HAVE_RPATH, test "$HAVE_RPATH" = "yes")
4839e8f48c9SAndrey Kiselev
4849e8f48c9SAndrey Kiselevdnl ---------------------------------------------------------------------------
4859e8f48c9SAndrey Kiselevdnl Support large files.
4869e8f48c9SAndrey Kiselevdnl ---------------------------------------------------------------------------
4879e8f48c9SAndrey Kiselev
4889e8f48c9SAndrey KiselevAC_SYS_LARGEFILE
4899e8f48c9SAndrey Kiselev
4909e8f48c9SAndrey Kiselevdnl ---------------------------------------------------------------------------
491c0d1f11fSAndrey Kiselevdnl Point to path where we should install documentation.
492c0d1f11fSAndrey Kiselevdnl ---------------------------------------------------------------------------
493c0d1f11fSAndrey Kiselev
4942a7c58caSAndrey KiselevLIBTIFF_DOCDIR=\${prefix}/share/doc/${PACKAGE}-${LIBTIFF_VERSION}
495c0d1f11fSAndrey Kiselev
496c0d1f11fSAndrey KiselevAC_ARG_WITH(docdir,
497c0d1f11fSAndrey Kiselev	    AS_HELP_STRING([--with-docdir=DIR],
498c0d1f11fSAndrey Kiselev			   [directory where documentation should be installed]),,)
499c0d1f11fSAndrey Kiselevif test "x$with_docdir" != "x" ; then
500c0d1f11fSAndrey Kiselev  LIBTIFF_DOCDIR=$with_docdir
501c0d1f11fSAndrey Kiselevfi
502c0d1f11fSAndrey Kiselev
503c0d1f11fSAndrey KiselevAC_SUBST(LIBTIFF_DOCDIR)
504c0d1f11fSAndrey Kiselev
505c0d1f11fSAndrey Kiselevdnl ---------------------------------------------------------------------------
506c7c6dee5SAndrey Kiselevdnl Switch on/off internal codecs.
507c7c6dee5SAndrey Kiselevdnl ---------------------------------------------------------------------------
508c7c6dee5SAndrey Kiselev
5099e8f48c9SAndrey KiselevAC_ARG_ENABLE(ccitt,
5109e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-ccitt],
5119e8f48c9SAndrey Kiselev			     [disable support for CCITT Group 3 & 4 algorithms]),
5129e8f48c9SAndrey Kiselev	      [HAVE_CCITT=$enableval], [HAVE_CCITT=yes])
513c7c6dee5SAndrey Kiselev
514c7c6dee5SAndrey Kiselevif test "$HAVE_CCITT" = "yes" ; then
515fbfe4927SBob Friesenhahn  AC_DEFINE(CCITT_SUPPORT,1,[Support CCITT Group 3 & 4 algorithms])
516c7c6dee5SAndrey Kiselevfi
517c7c6dee5SAndrey Kiselev
5189e8f48c9SAndrey KiselevAC_ARG_ENABLE(packbits,
5199e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-packbits],
5209e8f48c9SAndrey Kiselev			     [disable support for Macintosh PackBits algorithm]),
5219e8f48c9SAndrey Kiselev	      [HAVE_PACKBITS=$enableval], [HAVE_PACKBITS=yes])
522c7c6dee5SAndrey Kiselev
523c7c6dee5SAndrey Kiselevif test "$HAVE_PACKBITS" = "yes" ; then
524fbfe4927SBob Friesenhahn  AC_DEFINE(PACKBITS_SUPPORT,1,[Support Macintosh PackBits algorithm])
525c7c6dee5SAndrey Kiselevfi
526c7c6dee5SAndrey Kiselev
5279e8f48c9SAndrey KiselevAC_ARG_ENABLE(lzw,
5289e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-lzw],
5299e8f48c9SAndrey Kiselev			     [disable support for LZW algorithm]),
5309e8f48c9SAndrey Kiselev	      [HAVE_LZW=$enableval], [HAVE_LZW=yes])
531c7c6dee5SAndrey Kiselev
532c7c6dee5SAndrey Kiselevif test "$HAVE_LZW" = "yes" ; then
533fbfe4927SBob Friesenhahn  AC_DEFINE(LZW_SUPPORT,1,[Support LZW algorithm])
534c7c6dee5SAndrey Kiselevfi
535c7c6dee5SAndrey Kiselev
5369e8f48c9SAndrey KiselevAC_ARG_ENABLE(thunder,
5379e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-thunder],
5389e8f48c9SAndrey Kiselev			     [disable support for ThunderScan 4-bit RLE algorithm]),
5399e8f48c9SAndrey Kiselev	      [HAVE_THUNDER=$enableval], [HAVE_THUNDER=yes])
540c7c6dee5SAndrey Kiselev
541c7c6dee5SAndrey Kiselevif test "$HAVE_THUNDER" = "yes" ; then
542fbfe4927SBob Friesenhahn  AC_DEFINE(THUNDER_SUPPORT,1,[Support ThunderScan 4-bit RLE algorithm])
543c7c6dee5SAndrey Kiselevfi
544c7c6dee5SAndrey Kiselev
545c7c6dee5SAndrey KiselevHAVE_NEXT=yes
546c7c6dee5SAndrey Kiselev
5479e8f48c9SAndrey KiselevAC_ARG_ENABLE(next,
5489e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-next],
5499e8f48c9SAndrey Kiselev			     [disable support for NeXT 2-bit RLE algorithm]),
5509e8f48c9SAndrey Kiselev	      [HAVE_NEXT=$enableval], [HAVE_NEXT=yes])
551c7c6dee5SAndrey Kiselev
552c7c6dee5SAndrey Kiselevif test "$HAVE_NEXT" = "yes" ; then
553fbfe4927SBob Friesenhahn  AC_DEFINE(NEXT_SUPPORT,1,[Support NeXT 2-bit RLE algorithm])
554c7c6dee5SAndrey Kiselevfi
555c7c6dee5SAndrey Kiselev
5569e8f48c9SAndrey KiselevAC_ARG_ENABLE(logluv,
5579e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-logluv],
5589e8f48c9SAndrey Kiselev			     [disable support for LogLuv high dynamic range encoding]),
5599e8f48c9SAndrey Kiselev	      [HAVE_LOGLUV=$enableval], [HAVE_LOGLUV=yes])
560c7c6dee5SAndrey Kiselev
561c7c6dee5SAndrey Kiselevif test "$HAVE_LOGLUV" = "yes" ; then
562fbfe4927SBob Friesenhahn  AC_DEFINE(LOGLUV_SUPPORT,1,[Support LogLuv high dynamic range encoding])
563c7c6dee5SAndrey Kiselevfi
564c7c6dee5SAndrey Kiselev
565c7c6dee5SAndrey Kiselevdnl ---------------------------------------------------------------------------
566b86f199fSFrank Warmerdamdnl Switch on/off support for Microsoft Document Imaging
567b86f199fSFrank Warmerdamdnl ---------------------------------------------------------------------------
568b86f199fSFrank Warmerdam
569b86f199fSFrank WarmerdamAC_ARG_ENABLE(mdi,
570b86f199fSFrank Warmerdam	      AS_HELP_STRING([--disable-mdi],
571b86f199fSFrank Warmerdam			     [disable support for Microsoft Document Imaging]),
572b86f199fSFrank Warmerdam	      [HAVE_MDI=$enableval], [HAVE_MDI=yes])
573b86f199fSFrank Warmerdam
574b86f199fSFrank Warmerdamif test "$HAVE_MDI" = "yes" ; then
575b86f199fSFrank Warmerdam  AC_DEFINE(MDI_SUPPORT,1,[Support Microsoft Document Imaging format])
576b86f199fSFrank Warmerdamfi
577b86f199fSFrank Warmerdam
578b86f199fSFrank Warmerdamdnl ---------------------------------------------------------------------------
579fcee2689SAndrey Kiselevdnl Check for ZLIB.
580fcee2689SAndrey Kiselevdnl ---------------------------------------------------------------------------
581fcee2689SAndrey Kiselev
582fcee2689SAndrey KiselevHAVE_ZLIB=no
583fcee2689SAndrey Kiselev
5849e8f48c9SAndrey KiselevAC_ARG_ENABLE(zlib,
5859e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-zlib],
5869e8f48c9SAndrey Kiselev			     [disable Zlib usage (required for Deflate compression, enabled by default)]),,)
5879e8f48c9SAndrey KiselevAC_ARG_WITH(zlib-include-dir,
5889e8f48c9SAndrey Kiselev	    AS_HELP_STRING([--with-zlib-include-dir=DIR],
5899e8f48c9SAndrey Kiselev			   [location of Zlib headers]),,)
5909e8f48c9SAndrey KiselevAC_ARG_WITH(zlib-lib-dir,
5919e8f48c9SAndrey Kiselev	    AS_HELP_STRING([--with-zlib-lib-dir=DIR],
5929e8f48c9SAndrey Kiselev			   [location of Zlib library binary]),,)
593fcee2689SAndrey Kiselev
594fcee2689SAndrey Kiselevif test "x$enable_zlib" != "xno" ; then
595fcee2689SAndrey Kiselev
596973a9b78SAndrey Kiselev  if test "x$with_zlib_lib_dir" != "x" ; then
5979e8f48c9SAndrey Kiselev    LDFLAGS="-L$with_zlib_lib_dir $LDFLAGS"
5989e8f48c9SAndrey Kiselev  fi
5999e8f48c9SAndrey Kiselev
600973a9b78SAndrey Kiselev  AC_CHECK_LIB(z, inflateEnd, [zlib_lib=yes], [zlib_lib=no],)
601973a9b78SAndrey Kiselev  if test "$zlib_lib" = "no" -a "x$with_zlib_lib_dir" != "x"; then
602973a9b78SAndrey Kiselev    AC_MSG_ERROR([Zlib library not found at $with_zlib_lib_dir])
603fcee2689SAndrey Kiselev  fi
604fcee2689SAndrey Kiselev
605973a9b78SAndrey Kiselev  if test "x$with_zlib_include_dir" != "x" ; then
6061dd55fd5SAndrey Kiselev    CPPFLAGS="-I$with_zlib_include_dir $CPPFLAGS"
607fcee2689SAndrey Kiselev  fi
608973a9b78SAndrey Kiselev  AC_CHECK_HEADER(zlib.h, [zlib_h=yes], [zlib_h=no])
609973a9b78SAndrey Kiselev  if test "$zlib_h" = "no" -a "x$with_zlib_include_dir" != "x" ; then
610973a9b78SAndrey Kiselev    AC_MSG_ERROR([Zlib headers not found at $with_zlib_include_dir])
611fcee2689SAndrey Kiselev  fi
612fcee2689SAndrey Kiselev
613fcee2689SAndrey Kiselev  if test "$zlib_lib" = "yes" -a "$zlib_h" = "yes" ; then
614fcee2689SAndrey Kiselev    HAVE_ZLIB=yes
615fcee2689SAndrey Kiselev  fi
616fcee2689SAndrey Kiselev
617fcee2689SAndrey Kiselevfi
618fcee2689SAndrey Kiselev
619fcee2689SAndrey Kiselevif test "$HAVE_ZLIB" = "yes" ; then
620fbfe4927SBob Friesenhahn  AC_DEFINE(ZIP_SUPPORT,1,[Support Deflate compression])
621fcee2689SAndrey Kiselev  LIBS="-lz $LIBS"
622faf5f3ebSBob Friesenhahn  tiff_libs_private="-lz ${tiff_libs_private}"
62340ae6630SAndrey Kiselev
624143ed91aSAndrey Kiselev  if test "$HAVE_RPATH" = "yes" -a "x$with_zlib_lib_dir" != "x" ; then
62540ae6630SAndrey Kiselev    LIBDIR="-R $with_zlib_lib_dir $LIBDIR"
62640ae6630SAndrey Kiselev  fi
62740ae6630SAndrey Kiselev
628fcee2689SAndrey Kiselevfi
629fcee2689SAndrey Kiselev
630fcee2689SAndrey Kiselevdnl ---------------------------------------------------------------------------
631c7c6dee5SAndrey Kiselevdnl Check for Pixar log-format algorithm.
632c7c6dee5SAndrey Kiselevdnl ---------------------------------------------------------------------------
633c7c6dee5SAndrey Kiselev
6349e8f48c9SAndrey KiselevAC_ARG_ENABLE(pixarlog,
6359e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-pixarlog],
6369e8f48c9SAndrey Kiselev			     [disable support for Pixar log-format algorithm (requires Zlib)]),
6379e8f48c9SAndrey Kiselev	      [HAVE_PIXARLOG=$enableval], [HAVE_PIXARLOG=yes])
638c7c6dee5SAndrey Kiselev
639c7c6dee5SAndrey Kiselevif test "$HAVE_ZLIB" = "yes" -a "$HAVE_PIXARLOG" = "yes" ; then
6409e8f48c9SAndrey Kiselev  AC_DEFINE(PIXARLOG_SUPPORT, 1,
6419e8f48c9SAndrey Kiselev	    [Support Pixar log-format algorithm (requires Zlib)])
6429b47725fSAndrey Kiselevelse
6439b47725fSAndrey Kiselev  HAVE_PIXARLOG=no
644c7c6dee5SAndrey Kiselevfi
645c7c6dee5SAndrey Kiselev
646c7c6dee5SAndrey Kiselevdnl ---------------------------------------------------------------------------
647fcee2689SAndrey Kiselevdnl Check for JPEG.
648fcee2689SAndrey Kiselevdnl ---------------------------------------------------------------------------
649fcee2689SAndrey Kiselev
650fcee2689SAndrey KiselevHAVE_JPEG=no
651fcee2689SAndrey Kiselev
6529e8f48c9SAndrey KiselevAC_ARG_ENABLE(jpeg,
6539e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-jpeg],
6549e8f48c9SAndrey Kiselev			     [disable IJG JPEG library usage (required for JPEG compression, enabled by default)]),,)
6559e8f48c9SAndrey KiselevAC_ARG_WITH(jpeg-include-dir,
6569e8f48c9SAndrey Kiselev	    AS_HELP_STRING([--with-jpeg-include-dir=DIR],
6579e8f48c9SAndrey Kiselev			   [location of IJG JPEG library headers]),,)
6589e8f48c9SAndrey KiselevAC_ARG_WITH(jpeg-lib-dir,
6599e8f48c9SAndrey Kiselev	    AS_HELP_STRING([--with-jpeg-lib-dir=DIR],
6609e8f48c9SAndrey Kiselev			   [location of IJG JPEG library binary]),,)
661fcee2689SAndrey Kiselev
662fcee2689SAndrey Kiselevif test "x$enable_jpeg" != "xno" ; then
663fcee2689SAndrey Kiselev
664973a9b78SAndrey Kiselev  if test "x$with_jpeg_lib_dir" != "x" ; then
6659e8f48c9SAndrey Kiselev    LDFLAGS="-L$with_jpeg_lib_dir $LDFLAGS"
6669e8f48c9SAndrey Kiselev
6679e8f48c9SAndrey Kiselev  fi
6689e8f48c9SAndrey Kiselev
669973a9b78SAndrey Kiselev  AC_CHECK_LIB(jpeg, jpeg_read_scanlines, [jpeg_lib=yes], [jpeg_lib=no],)
670973a9b78SAndrey Kiselev  if test "$jpeg_lib" = "no" -a "x$with_jpeg_lib_dir" != "x" ; then
671973a9b78SAndrey Kiselev    AC_MSG_ERROR([IJG JPEG library not found at $with_jpeg_lib_dir])
672fcee2689SAndrey Kiselev  fi
673fcee2689SAndrey Kiselev
674973a9b78SAndrey Kiselev  if test "x$with_jpeg_include_dir" != "x" ; then
6751dd55fd5SAndrey Kiselev    CPPFLAGS="-I$with_jpeg_include_dir $CPPFLAGS"
676fcee2689SAndrey Kiselev  fi
677973a9b78SAndrey Kiselev  AC_CHECK_HEADER(jpeglib.h, [jpeg_h=yes], [jpeg_h=no])
678973a9b78SAndrey Kiselev  if test "$jpeg_h" = "no" -a "x$with_jpeg_include_dir" != "x" ; then
679973a9b78SAndrey Kiselev    AC_MSG_ERROR([IJG JPEG library headers not found at $with_jpeg_include_dir])
680fcee2689SAndrey Kiselev  fi
681fcee2689SAndrey Kiselev
682fcee2689SAndrey Kiselev  if test "$jpeg_lib" = "yes" -a "$jpeg_h" = "yes" ; then
683fcee2689SAndrey Kiselev    HAVE_JPEG=yes
684fcee2689SAndrey Kiselev  fi
685fcee2689SAndrey Kiselev
686fcee2689SAndrey Kiselevfi
687fcee2689SAndrey Kiselev
688fcee2689SAndrey Kiselevif test "$HAVE_JPEG" = "yes" ; then
689fbfe4927SBob Friesenhahn  AC_DEFINE(JPEG_SUPPORT,1,[Support JPEG compression (requires IJG JPEG library)])
690fcee2689SAndrey Kiselev  LIBS="-ljpeg $LIBS"
691faf5f3ebSBob Friesenhahn  tiff_libs_private="-ljpeg ${tiff_libs_private}"
69240ae6630SAndrey Kiselev
693143ed91aSAndrey Kiselev  if test "$HAVE_RPATH" = "yes" -a "x$with_jpeg_lib_dir" != "x" ; then
69440ae6630SAndrey Kiselev    LIBDIR="-R $with_jpeg_lib_dir $LIBDIR"
69540ae6630SAndrey Kiselev  fi
69640ae6630SAndrey Kiselev
697fcee2689SAndrey Kiselevfi
698fcee2689SAndrey Kiselev
699bdd91bbdSBob FriesenhahnAM_CONDITIONAL(HAVE_JPEG, test "$HAVE_JPEG" = 'yes')
700bdd91bbdSBob Friesenhahn
701fcee2689SAndrey Kiselevdnl ---------------------------------------------------------------------------
702fcee2689SAndrey Kiselevdnl Check for Old JPEG.
703fcee2689SAndrey Kiselevdnl ---------------------------------------------------------------------------
704fcee2689SAndrey Kiselev
7059e8f48c9SAndrey KiselevAC_ARG_ENABLE(old-jpeg,
706bcdfba3fSAndrey Kiselev	      AS_HELP_STRING([--disable-old-jpeg],
707bcdfba3fSAndrey Kiselev			     [disable support for Old JPEG compresson (read-only, enabled by default)]),
70804847f87SAndrey Kiselev	      [HAVE_OJPEG=${enableval}], [HAVE_OJPEG=yes])
709fcee2689SAndrey Kiselev
710fcee2689SAndrey Kiselevif test "$HAVE_JPEG" = "yes" -a "$HAVE_OJPEG" = "yes" ; then
7119e8f48c9SAndrey Kiselev  AC_DEFINE(OJPEG_SUPPORT, 1,
712bcdfba3fSAndrey Kiselev	    [Support Old JPEG compresson (read-only)])
7139b47725fSAndrey Kiselevelse
7149b47725fSAndrey Kiselev  HAVE_OJPEG=no
715fcee2689SAndrey Kiselevfi
716fcee2689SAndrey Kiselev
717fcee2689SAndrey Kiselevdnl ---------------------------------------------------------------------------
718bcdfba3fSAndrey Kiselevdnl Check for JBIG-KIT.
719bcdfba3fSAndrey Kiselevdnl ---------------------------------------------------------------------------
720bcdfba3fSAndrey Kiselev
721bcdfba3fSAndrey KiselevHAVE_JBIG=no
722bcdfba3fSAndrey Kiselev
723bcdfba3fSAndrey KiselevAC_ARG_ENABLE(jbig,
724bcdfba3fSAndrey Kiselev	      AS_HELP_STRING([--disable-jbig],
725bcdfba3fSAndrey Kiselev			     [disable JBIG-KIT usage (required for ISO JBIG compression, enabled by default)]),,)
726bcdfba3fSAndrey KiselevAC_ARG_WITH(jbig-include-dir,
727bcdfba3fSAndrey Kiselev	    AS_HELP_STRING([--with-jbig-include-dir=DIR],
728bcdfba3fSAndrey Kiselev			   [location of JBIG-KIT headers]),,)
729bcdfba3fSAndrey KiselevAC_ARG_WITH(jbig-lib-dir,
730bcdfba3fSAndrey Kiselev	    AS_HELP_STRING([--with-jbig-lib-dir=DIR],
731bcdfba3fSAndrey Kiselev			   [location of JBIG-KIT library binary]),,)
732bcdfba3fSAndrey Kiselev
733bcdfba3fSAndrey Kiselevif test "x$enable_jbig" != "xno" ; then
734bcdfba3fSAndrey Kiselev
735bcdfba3fSAndrey Kiselev  if test "x$with_jbig_lib_dir" != "x" ; then
736bcdfba3fSAndrey Kiselev    LDFLAGS="-L$with_jbig_lib_dir $LDFLAGS"
737bcdfba3fSAndrey Kiselev
738bcdfba3fSAndrey Kiselev  fi
739bcdfba3fSAndrey Kiselev
740bcdfba3fSAndrey Kiselev  AC_CHECK_LIB(jbig, jbg_dec_init, [jbig_lib=yes], [jbig_lib=no],)
741bcdfba3fSAndrey Kiselev  if test "$jbig_lib" = "no" -a "x$with_jbig_lib_dir" != "x" ; then
742bcdfba3fSAndrey Kiselev    AC_MSG_ERROR([JBIG-KIT library not found at $with_jbig_lib_dir])
743bcdfba3fSAndrey Kiselev  fi
744bcdfba3fSAndrey Kiselev
745bcdfba3fSAndrey Kiselev  if test "x$with_jbig_include_dir" != "x" ; then
746bcdfba3fSAndrey Kiselev    CPPFLAGS="-I$with_jbig_include_dir $CPPFLAGS"
747bcdfba3fSAndrey Kiselev  fi
748bcdfba3fSAndrey Kiselev  AC_CHECK_HEADER(jbig.h, [jbig_h=yes], [jbig_h=no])
749bcdfba3fSAndrey Kiselev  if test "$jbig_h" = "no" -a "x$with_jbig_include_dir" != "x" ; then
750bcdfba3fSAndrey Kiselev    AC_MSG_ERROR([JBIG-KIT library headers not found at $with_jbig_include_dir])
751bcdfba3fSAndrey Kiselev  fi
752bcdfba3fSAndrey Kiselev
753bcdfba3fSAndrey Kiselev  if test "$jbig_lib" = "yes" -a "$jbig_h" = "yes" ; then
754bcdfba3fSAndrey Kiselev    HAVE_JBIG=yes
755bcdfba3fSAndrey Kiselev  fi
756bcdfba3fSAndrey Kiselev
757bcdfba3fSAndrey Kiselevfi
758bcdfba3fSAndrey Kiselev
759bcdfba3fSAndrey Kiselevif test "$HAVE_JBIG" = "yes" ; then
760bcdfba3fSAndrey Kiselev  AC_DEFINE(JBIG_SUPPORT,1,[Support ISO JBIG compression (requires JBIG-KIT library)])
761bcdfba3fSAndrey Kiselev  LIBS="-ljbig $LIBS"
762faf5f3ebSBob Friesenhahn  tiff_libs_private="-ljbig ${tiff_libs_private}"
763bcdfba3fSAndrey Kiselev
764bcdfba3fSAndrey Kiselev  if test "$HAVE_RPATH" = "yes" -a "x$with_jbig_lib_dir" != "x" ; then
765bcdfba3fSAndrey Kiselev    LIBDIR="-R $with_jbig_lib_dir $LIBDIR"
766bcdfba3fSAndrey Kiselev  fi
767bcdfba3fSAndrey Kiselev
76833bf9a3fSBob Friesenhahn  # Older versions of jbigkit lack jbg_newlen
76933bf9a3fSBob Friesenhahn  AC_CHECK_FUNCS([jbg_newlen])
77033bf9a3fSBob Friesenhahn
771bcdfba3fSAndrey Kiselevfi
772bcdfba3fSAndrey Kiselev
773bdd91bbdSBob FriesenhahnAM_CONDITIONAL(HAVE_JBIG, test "$HAVE_JBIG" = 'yes')
774bdd91bbdSBob Friesenhahn
775bcdfba3fSAndrey Kiselevdnl ---------------------------------------------------------------------------
776a2d72c2dSAndrey Kiselevdnl Check for liblzma2.
777a2d72c2dSAndrey Kiselevdnl ---------------------------------------------------------------------------
778a2d72c2dSAndrey Kiselev
779a2d72c2dSAndrey KiselevHAVE_LZMA=no
780a2d72c2dSAndrey Kiselev
781a2d72c2dSAndrey KiselevAC_ARG_ENABLE(lzma,
782a2d72c2dSAndrey Kiselev	      AS_HELP_STRING([--disable-lzma],
783a2d72c2dSAndrey Kiselev			     [disable liblzma usage (required for LZMA2 compression, enabled by default)]),,)
784a2d72c2dSAndrey KiselevAC_ARG_WITH(lzma-include-dir,
785a2d72c2dSAndrey Kiselev	    AS_HELP_STRING([--with-lzma-include-dir=DIR],
786a2d72c2dSAndrey Kiselev			   [location of liblzma headers]),,)
787a2d72c2dSAndrey KiselevAC_ARG_WITH(lzma-lib-dir,
788a2d72c2dSAndrey Kiselev	    AS_HELP_STRING([--with-lzma-lib-dir=DIR],
789a2d72c2dSAndrey Kiselev			   [location of liblzma library binary]),,)
790a2d72c2dSAndrey Kiselev
791a2d72c2dSAndrey Kiselevif test "x$enable_lzma" != "xno" ; then
792a2d72c2dSAndrey Kiselev
793a2d72c2dSAndrey Kiselev  if test "x$with_lzma_lib_dir" != "x" ; then
794a2d72c2dSAndrey Kiselev    LDFLAGS="-L$with_lzma_lib_dir $LDFLAGS"
795a2d72c2dSAndrey Kiselev  fi
796a2d72c2dSAndrey Kiselev
797a2d72c2dSAndrey Kiselev  AC_CHECK_LIB(lzma, lzma_code, [lzma_lib=yes], [lzma_lib=no],)
798a2d72c2dSAndrey Kiselev  if test "$lzma_lib" = "no" -a "x$with_lzma_lib_dir" != "x"; then
799a2d72c2dSAndrey Kiselev    AC_MSG_ERROR([lzma library not found at $with_lzma_lib_dir])
800a2d72c2dSAndrey Kiselev  fi
801a2d72c2dSAndrey Kiselev
802a2d72c2dSAndrey Kiselev  if test "x$with_lzma_include_dir" != "x" ; then
803a2d72c2dSAndrey Kiselev    CPPFLAGS="-I$with_lzma_include_dir $CPPFLAGS"
804a2d72c2dSAndrey Kiselev  fi
805a2d72c2dSAndrey Kiselev  AC_CHECK_HEADER(lzma.h, [lzma_h=yes], [lzma_h=no])
806a2d72c2dSAndrey Kiselev  if test "$lzma_h" = "no" -a "x$with_lzma_include_dir" != "x" ; then
807a2d72c2dSAndrey Kiselev    AC_MSG_ERROR([Liblzma headers not found at $with_lzma_include_dir])
808a2d72c2dSAndrey Kiselev  fi
809a2d72c2dSAndrey Kiselev
810a2d72c2dSAndrey Kiselev  if test "$lzma_lib" = "yes" -a "$lzma_h" = "yes" ; then
811a2d72c2dSAndrey Kiselev    HAVE_LZMA=yes
812a2d72c2dSAndrey Kiselev  fi
813a2d72c2dSAndrey Kiselev
814a2d72c2dSAndrey Kiselevfi
815a2d72c2dSAndrey Kiselev
816a2d72c2dSAndrey Kiselevif test "$HAVE_LZMA" = "yes" ; then
817a2d72c2dSAndrey Kiselev  AC_DEFINE(LZMA_SUPPORT,1,[Support LZMA2 compression])
818a2d72c2dSAndrey Kiselev  LIBS="-llzma $LIBS"
819d338f7feSBob Friesenhahn  tiff_libs_private="-llzma ${tiff_libs_private}"
820a2d72c2dSAndrey Kiselev
821a2d72c2dSAndrey Kiselev  if test "$HAVE_RPATH" = "yes" -a "x$with_lzma_lib_dir" != "x" ; then
822a2d72c2dSAndrey Kiselev    LIBDIR="-R $with_lzma_lib_dir $LIBDIR"
823a2d72c2dSAndrey Kiselev  fi
824a2d72c2dSAndrey Kiselev
825a2d72c2dSAndrey Kiselevfi
826a2d72c2dSAndrey Kiselev
827bdd91bbdSBob FriesenhahnAM_CONDITIONAL(HAVE_LZMA, test "$HAVE_LZMA" = 'yes')
828bdd91bbdSBob Friesenhahn
829a2d72c2dSAndrey Kiselevdnl ---------------------------------------------------------------------------
830db1ab60dSFrank Warmerdamdnl Should 8/12 bit jpeg mode be enabled?
831db1ab60dSFrank Warmerdamdnl ---------------------------------------------------------------------------
832db1ab60dSFrank Warmerdam
833db1ab60dSFrank WarmerdamHAVE_JPEG12=no
834db1ab60dSFrank Warmerdam
835db1ab60dSFrank WarmerdamAC_ARG_ENABLE(jpeg12,
836db1ab60dSFrank Warmerdam	      AS_HELP_STRING([--enable-jpeg12],
837db1ab60dSFrank Warmerdam			     [enable libjpeg 8/12bit dual mode]),,)
838db1ab60dSFrank WarmerdamAC_ARG_WITH(jpeg12-include-dir,
839db1ab60dSFrank Warmerdam	    AS_HELP_STRING([--with-jpeg12-include-dir=DIR],
840db1ab60dSFrank Warmerdam			   [location of libjpeg 12bit headers]),,)
841db1ab60dSFrank WarmerdamAC_ARG_WITH(jpeg12-lib,
842db1ab60dSFrank Warmerdam	    AS_HELP_STRING([--with-jpeg12-lib=LIBRARY],
843db1ab60dSFrank Warmerdam			   [path to libjpeg 12bit library]),,)
844db1ab60dSFrank Warmerdam
845a411152dSLee Howardif test "x$enable_jpeg12" = "xyes" ; then
846db1ab60dSFrank Warmerdam
847db1ab60dSFrank Warmerdam  if test "x$with_jpeg12_lib" != "x" ; then
848db1ab60dSFrank Warmerdam    LIBS="$with_jpeg12_lib $LIBS"
849db1ab60dSFrank Warmerdam  fi
850db1ab60dSFrank Warmerdam
851db1ab60dSFrank Warmerdam  HAVE_JPEG12=yes
852db1ab60dSFrank Warmerdam
853db1ab60dSFrank Warmerdam  AC_DEFINE(JPEG_DUAL_MODE_8_12,1,[8/12 bit libjpeg dual mode enabled])
854db1ab60dSFrank Warmerdam  if test "x$with_jpeg12_include_dir" != "x" ; then
855db1ab60dSFrank Warmerdam    AC_DEFINE_UNQUOTED(LIBJPEG_12_PATH,"$with_jpeg12_include_dir/jpeglib.h",[12bit libjpeg primary include file with path])
856db1ab60dSFrank Warmerdam  fi
857db1ab60dSFrank Warmerdamfi
858db1ab60dSFrank Warmerdam
859db1ab60dSFrank Warmerdam
860db1ab60dSFrank Warmerdamdnl ---------------------------------------------------------------------------
861078099abSAndrey Kiselevdnl Check for C++.
862078099abSAndrey Kiselevdnl ---------------------------------------------------------------------------
863078099abSAndrey Kiselev
864309e1113SAndrey KiselevAC_ARG_ENABLE(cxx,
865309e1113SAndrey Kiselev	      AS_HELP_STRING([--enable-cxx],
866078099abSAndrey Kiselev			     [enable C++ stream API building (requires C++ compiler)]),
867078099abSAndrey Kiselev	      [HAVE_CXX=$enableval], [HAVE_CXX=yes])
868078099abSAndrey Kiselev
869078099abSAndrey Kiselevif test "$HAVE_CXX" = "yes" ; then
870078099abSAndrey Kiselev  AC_DEFINE(CXX_SUPPORT, 1, [Support C++ stream API (requires C++ compiler)])
871078099abSAndrey Kiselevelse
872078099abSAndrey Kiselev  HAVE_CXX=no
873078099abSAndrey Kiselevfi
874078099abSAndrey Kiselev
875078099abSAndrey KiselevAM_CONDITIONAL(HAVE_CXX, test "$HAVE_CXX" = "yes")
876078099abSAndrey Kiselev
877078099abSAndrey Kiselevdnl ---------------------------------------------------------------------------
878ce3bd3e7SAndrey Kiselevdnl Check for OpenGL and GLUT.
879ce3bd3e7SAndrey Kiselevdnl ---------------------------------------------------------------------------
880fcee2689SAndrey Kiselev
881ce3bd3e7SAndrey KiselevHAVE_OPENGL=no
882ce3bd3e7SAndrey Kiselev
8837d38024bSBob Friesenhahn
88476883385SAndrey KiselevAC_PATH_XTRA
885ce3bd3e7SAndrey Kiselev
8867d38024bSBob Friesenhahndnl AX_CHECK_GL sets GL_CFLAGS & GL_LIBS.  Also PTHREAD_LIBS,
8877d38024bSBob Friesenhahndnl PTHREAD_CFLAGS, & PTHREAD_CC as a side-effect
88876883385SAndrey KiselevAX_CHECK_GL
8897d38024bSBob Friesenhahn
8907d38024bSBob Friesenhahndnl AX_CHECK_GLU sets GLU_CFLAGS & GLU_LIBS
89176883385SAndrey KiselevAX_CHECK_GLU
8927d38024bSBob Friesenhahn
8937d38024bSBob Friesenhahndnl AX_CHECK_GLUT sets GLUT_CFLAGS & GLUT_LIBS
89476883385SAndrey KiselevAX_CHECK_GLUT
895ce3bd3e7SAndrey Kiselev
89676883385SAndrey Kiselevif test "$no_x" != "yes" -a "$no_gl" != "yes" \
89776883385SAndrey Kiselev	-a "$no_glu" != "yes" -a "$no_glut" != "yes" ; then
898ce3bd3e7SAndrey Kiselev  HAVE_OPENGL=yes
899ce3bd3e7SAndrey Kiselevfi
900ce3bd3e7SAndrey Kiselev
901ce3bd3e7SAndrey KiselevAM_CONDITIONAL(HAVE_OPENGL, test "$HAVE_OPENGL" = "yes")
902ce3bd3e7SAndrey Kiselev
903ef833c65SAndrey Kiselevdnl ---------------------------------------------------------------------------
904ccdc78ecSLee Howarddnl Check for Win32 IO: make sure we have windows.h but not cygwin
905ccdc78ecSLee Howarddnl this must be after the ogl test, since that looks for windows.h and we
906ccdc78ecSLee Howarddnl test it
907ccdc78ecSLee Howarddnl ---------------------------------------------------------------------------
908ccdc78ecSLee Howard
909b5587ac2SLee HowardAC_ARG_ENABLE(win32-io,
910b5587ac2SLee Howard	      AS_HELP_STRING([--disable-win32-io],
911b5587ac2SLee Howard			     [disable Win32 I/O (Windows only, enabled by default except for Cygwin)]),,)
912b5587ac2SLee Howard
913ccdc78ecSLee Howardwin32_io_ok=no
914ccdc78ecSLee Howardcase "${host_os}" in
915ccdc78ecSLee Howard    cygwin*)
916b5587ac2SLee Howard        if test x"$ac_cv_header_windows_h" = xyes -a "x$enable_win32_io" = xyes ; then
917b5587ac2SLee Howard            win32_io_ok=yes
918b5587ac2SLee Howard	fi
919ccdc78ecSLee Howard        ;;
920ccdc78ecSLee Howard    *)
921b5587ac2SLee Howard        if test x"$ac_cv_header_windows_h" = xyes -a ! "x$enable_win32_io" = xno ; then
922ccdc78ecSLee Howard            win32_io_ok=yes
923ccdc78ecSLee Howard	fi
924ccdc78ecSLee Howard        ;;
925ccdc78ecSLee Howardesac
926b5587ac2SLee Howard
927b5587ac2SLee Howardif test "$win32_io_ok" = "yes" ; then
928b5587ac2SLee Howard    AC_DEFINE(USE_WIN32_FILEIO,1,[define to use win32 IO system])
929b5587ac2SLee Howardfi
930b5587ac2SLee Howard
931ccdc78ecSLee HowardAM_CONDITIONAL([WIN32_IO], [test "$win32_io_ok" = yes])
932ccdc78ecSLee Howard
933ccdc78ecSLee Howarddnl ---------------------------------------------------------------------------
934ef833c65SAndrey Kiselevdnl Check for X Athena Widgets
935ef833c65SAndrey Kiselevdnl ---------------------------------------------------------------------------
936ef833c65SAndrey Kiselev
937ef833c65SAndrey Kiselevdnl HAVE_XAW=no
938ef833c65SAndrey Kiselev
939ef833c65SAndrey Kiselevdnl ICE_FIND_ATHENA
940ef833c65SAndrey Kiselev
941ef833c65SAndrey Kiselevdnl if test "$no_xaw" != "yes" ; then
942ef833c65SAndrey Kiselevdnl   HAVE_XAW=yes
943ef833c65SAndrey Kiselevdnl fi
944ef833c65SAndrey Kiselev
945ef833c65SAndrey Kiselevdnl AM_CONDITIONAL(HAVE_XAW, test "$HAVE_XAW" = "yes")
946ef833c65SAndrey Kiselev
94768acdfcbSAndrey Kiselevdnl ===========================================================================
94868acdfcbSAndrey Kiselevdnl ``Orthogonal Features''
94968acdfcbSAndrey Kiselevdnl ===========================================================================
95068acdfcbSAndrey Kiselev
95168acdfcbSAndrey Kiselevdnl ---------------------------------------------------------------------------
95268acdfcbSAndrey Kiselevdnl Default handling of strip chopping support.
95368acdfcbSAndrey Kiselevdnl ---------------------------------------------------------------------------
95468acdfcbSAndrey Kiselev
9559e8f48c9SAndrey KiselevAC_ARG_ENABLE(strip-chopping,
9569e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-strip-chopping],
957ab000523SAndrey Kiselev			     [disable support for strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of specified size to reduce memory usage)]),
9589e8f48c9SAndrey Kiselev	      [HAVE_STRIPCHOP=$enableval], [HAVE_STRIPCHOP=yes])
959ab000523SAndrey KiselevAC_ARG_WITH(default-strip-size,
960ab000523SAndrey Kiselev	    AS_HELP_STRING([--with-default-strip-size=SIZE],
961ab000523SAndrey Kiselev			   [default size of the strip in bytes (when strip chopping enabled) [[default=8192]]]),,)
96268acdfcbSAndrey Kiselev
963cd97834bSAndrey Kiselevif test "$HAVE_STRIPCHOP" = "yes" \
964cd97834bSAndrey Kiselev	-a "x$with_default_strip_size" != "xno"; then
965ab000523SAndrey Kiselev  AC_DEFINE(STRIPCHOP_DEFAULT,TIFF_STRIPCHOP,[Support strip chopping (whether or not to convert single-strip uncompressed images to mutiple strips of specified size to reduce memory usage)])
966ab000523SAndrey Kiselev
967cd97834bSAndrey Kiselev  if test "x$with_default_strip_size" = "x" \
968cd97834bSAndrey Kiselev	  -o "x$with_default_strip_size" = "xyes"; then
969ab000523SAndrey Kiselev    with_default_strip_size="8192"
970ab000523SAndrey Kiselev  fi
971ab000523SAndrey Kiselev
972ab000523SAndrey Kiselev  AC_DEFINE_UNQUOTED(STRIP_SIZE_DEFAULT,$with_default_strip_size,[Default size of the strip in bytes (when strip chopping enabled)])
973ab000523SAndrey Kiselev
97468acdfcbSAndrey Kiselevfi
97568acdfcbSAndrey Kiselev
97668acdfcbSAndrey Kiselevdnl ---------------------------------------------------------------------------
97782361dfaSFrank Warmerdamdnl Should we try to defer loading of strip/tile offsets and sizes to
97882361dfaSFrank Warmerdamdnl optimize directory scanning?  These is an experimental feature for
97982361dfaSFrank Warmerdamdnl libtiff 4.0.
98082361dfaSFrank Warmerdamdnl ---------------------------------------------------------------------------
98182361dfaSFrank Warmerdam
98282361dfaSFrank WarmerdamAC_ARG_ENABLE(defer-strile-load,
98382361dfaSFrank Warmerdam	      AS_HELP_STRING([--enable-defer-strile-load],
98482361dfaSFrank Warmerdam			     [enable deferred strip/tile offset/size loading (experimental)]),
98582361dfaSFrank Warmerdam	      [HAVE_DEFER_STRILE_LOAD=$enableval], [HAVE_DEFER_STRILE_LOAD=no])
98682361dfaSFrank Warmerdam
98782361dfaSFrank Warmerdamif test "$HAVE_DEFER_STRILE_LOAD" = "yes" ; then
98882361dfaSFrank Warmerdam  AC_DEFINE(DEFER_STRILE_LOAD,1,[enable deferred strip/tile offset/size loading (experimental)])
98982361dfaSFrank Warmerdam
99082361dfaSFrank Warmerdamfi
99182361dfaSFrank Warmerdam
99282361dfaSFrank Warmerdamdnl ---------------------------------------------------------------------------
993bc3bc992SFrank Warmerdamdnl Check for support of CHUNKY_STRIP_READ_SUPPORT, a mechanism to allowing
994bc3bc992SFrank Warmerdamdnl reading large strips (usually one strip files) in chunks when using
995bc3bc992SFrank Warmerdamdnl TIFFReadScanline().  This is an experimental feature in libtiff 4.0.
996bc3bc992SFrank Warmerdamdnl ---------------------------------------------------------------------------
997bc3bc992SFrank Warmerdam
998bc3bc992SFrank WarmerdamAC_ARG_ENABLE(chunky-strip-read,
999bc3bc992SFrank Warmerdam	      AS_HELP_STRING([--enable-chunky-strip-read],
1000bc3bc992SFrank Warmerdam			     [enable reading large strips in chunks for TIFFReadScanline() (experimental)]),
1001bc3bc992SFrank Warmerdam	      [HAVE_CHUNKY_STRIP_READ=$enableval], [HAVE_CHUNKY_STRIP_READ=no])
1002bc3bc992SFrank Warmerdam
1003bc3bc992SFrank Warmerdamif test "$HAVE_CHUNKY_STRIP_READ" = "yes" ; then
10049d37e463SFrank Warmerdam  AC_DEFINE(CHUNKY_STRIP_READ_SUPPORT,1,[enable partial strip reading for large strips (experimental)])
1005bc3bc992SFrank Warmerdam
1006bc3bc992SFrank Warmerdamfi
1007bc3bc992SFrank Warmerdam
1008bc3bc992SFrank Warmerdamdnl ---------------------------------------------------------------------------
1009fbfe4927SBob Friesenhahndnl Default subifd support.
1010fbfe4927SBob Friesenhahndnl ---------------------------------------------------------------------------
1011fbfe4927SBob FriesenhahnAC_DEFINE(SUBIFD_SUPPORT,1,[Enable SubIFD tag (330) support])
1012fbfe4927SBob Friesenhahn
1013fbfe4927SBob Friesenhahndnl ---------------------------------------------------------------------------
101468acdfcbSAndrey Kiselevdnl Default handling of ASSOCALPHA support.
101568acdfcbSAndrey Kiselevdnl ---------------------------------------------------------------------------
101668acdfcbSAndrey Kiselev
10179e8f48c9SAndrey KiselevAC_ARG_ENABLE(extrasample-as-alpha,
10189e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-extrasample-as-alpha],
10199e8f48c9SAndrey Kiselev			     [the RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don't mark the alpha properly]),
10209e8f48c9SAndrey Kiselev	      [HAVE_EXTRASAMPLE_AS_ALPHA=$enableval],
10219e8f48c9SAndrey Kiselev	      [HAVE_EXTRASAMPLE_AS_ALPHA=yes])
102268acdfcbSAndrey Kiselev
102368acdfcbSAndrey Kiselevif test "$HAVE_EXTRASAMPLE_AS_ALPHA" = "yes" ; then
10249e8f48c9SAndrey Kiselev  AC_DEFINE(DEFAULT_EXTRASAMPLE_AS_ALPHA, 1,
10259e8f48c9SAndrey Kiselev	    [Treat extra sample as alpha (default enabled). The RGBA interface will treat a fourth sample with no EXTRASAMPLE_ value as being ASSOCALPHA. Many packages produce RGBA files but don't mark the alpha properly.])
102668acdfcbSAndrey Kiselevfi
102768acdfcbSAndrey Kiselev
102868acdfcbSAndrey Kiselevdnl ---------------------------------------------------------------------------
102968acdfcbSAndrey Kiselevdnl Default handling of YCbCr subsampling support.
103068acdfcbSAndrey Kiselevdnl See Bug 168 in Bugzilla, and JPEGFixupTestSubsampling() for details.
103168acdfcbSAndrey Kiselevdnl ---------------------------------------------------------------------------
103268acdfcbSAndrey Kiselev
10339e8f48c9SAndrey KiselevAC_ARG_ENABLE(check-ycbcr-subsampling,
10349e8f48c9SAndrey Kiselev	      AS_HELP_STRING([--disable-check-ycbcr-subsampling],
10359e8f48c9SAndrey Kiselev			     [disable picking up YCbCr subsampling info from the JPEG data stream to support files lacking the tag]),
10369e8f48c9SAndrey Kiselev	      [CHECK_JPEG_YCBCR_SUBSAMPLING=$enableval],
10379e8f48c9SAndrey Kiselev	      [CHECK_JPEG_YCBCR_SUBSAMPLING=yes])
103868acdfcbSAndrey Kiselev
103968acdfcbSAndrey Kiselevif test "$CHECK_JPEG_YCBCR_SUBSAMPLING" = "yes" ; then
10409e8f48c9SAndrey Kiselev  AC_DEFINE(CHECK_JPEG_YCBCR_SUBSAMPLING, 1,
10419e8f48c9SAndrey Kiselev	    [Pick up YCbCr subsampling info from the JPEG data stream to support files lacking the tag (default enabled).])
104268acdfcbSAndrey Kiselevfi
104368acdfcbSAndrey Kiselev
1044ce3bd3e7SAndrey Kiselevdnl ---------------------------------------------------------------------------
1045c2b43379SAndrey Kiselev
104640ae6630SAndrey KiselevAC_SUBST(LIBDIR)
104740ae6630SAndrey Kiselev
1048fbfe4927SBob FriesenhahnAC_CONFIG_HEADERS([libtiff/tif_config.h libtiff/tiffconf.h])
104910413ec1SAndrey Kiselev
105052f27901SAndrey KiselevAC_CONFIG_FILES([Makefile \
1051ef833c65SAndrey Kiselev		 build/Makefile \
1052ce3bd3e7SAndrey Kiselev		 contrib/Makefile \
1053ce3bd3e7SAndrey Kiselev		 contrib/addtiffo/Makefile \
1054a32202b7SAndrey Kiselev		 contrib/dbs/Makefile \
1055a32202b7SAndrey Kiselev		 contrib/dbs/xtiff/Makefile \
1056adfb7583SAndrey Kiselev		 contrib/iptcutil/Makefile \
1057adfb7583SAndrey Kiselev		 contrib/mfs/Makefile \
105826800555SAndrey Kiselev		 contrib/pds/Makefile \
105926800555SAndrey Kiselev		 contrib/ras/Makefile \
106026800555SAndrey Kiselev		 contrib/stream/Makefile \
106126800555SAndrey Kiselev		 contrib/tags/Makefile \
106226800555SAndrey Kiselev		 contrib/win_dib/Makefile \
106352f27901SAndrey Kiselev                 html/Makefile \
1064f5e80e39SAndrey Kiselev		 html/images/Makefile \
1065f5e80e39SAndrey Kiselev		 html/man/Makefile \
1066faf5f3ebSBob Friesenhahn                 libtiff-4.pc \
106752f27901SAndrey Kiselev                 libtiff/Makefile \
106852f27901SAndrey Kiselev                 man/Makefile \
1069fcee2689SAndrey Kiselev		 port/Makefile \
1070532d2ad4SAndrey Kiselev		 test/Makefile \
107152f27901SAndrey Kiselev                 tools/Makefile])
107252f27901SAndrey KiselevAC_OUTPUT
107352f27901SAndrey Kiselev
1074973a9b78SAndrey Kiselevdnl ---------------------------------------------------------------------------
1075973a9b78SAndrey Kiselevdnl Display configuration status
1076973a9b78SAndrey Kiselevdnl ---------------------------------------------------------------------------
1077973a9b78SAndrey Kiselev
10782902ded7SAndrey KiselevLOC_MSG()
10792902ded7SAndrey KiselevLOC_MSG([Libtiff is now configured for ${host}])
10802902ded7SAndrey KiselevLOC_MSG()
10812902ded7SAndrey KiselevLOC_MSG([  Installation directory:             ${prefix}])
1082c0d1f11fSAndrey KiselevLOC_MSG([  Documentation directory:            ${LIBTIFF_DOCDIR}])
10832902ded7SAndrey KiselevLOC_MSG([  C compiler:                         ${CC} ${CFLAGS}])
1084078099abSAndrey KiselevLOC_MSG([  C++ compiler:                       ${CXX} ${CXXFLAGS}])
10859e8f48c9SAndrey KiselevLOC_MSG([  Enable runtime linker paths:        ${HAVE_RPATH}])
1086b326998fSBob FriesenhahnLOC_MSG([  Enable linker symbol versioning:    ${have_ld_version_script}])
1087b86f199fSFrank WarmerdamLOC_MSG([  Support Microsoft Document Imaging: ${HAVE_MDI}])
1088ccdc78ecSLee HowardLOC_MSG([  Use win32 IO:                       ${win32_io_ok}])
10892902ded7SAndrey KiselevLOC_MSG()
10902902ded7SAndrey KiselevLOC_MSG([ Support for internal codecs:])
10912902ded7SAndrey KiselevLOC_MSG([  CCITT Group 3 & 4 algorithms:       ${HAVE_CCITT}])
10922902ded7SAndrey KiselevLOC_MSG([  Macintosh PackBits algorithm:       ${HAVE_PACKBITS}])
10932902ded7SAndrey KiselevLOC_MSG([  LZW algorithm:                      ${HAVE_LZW}])
10942902ded7SAndrey KiselevLOC_MSG([  ThunderScan 4-bit RLE algorithm:    ${HAVE_THUNDER}])
10952902ded7SAndrey KiselevLOC_MSG([  NeXT 2-bit RLE algorithm:           ${HAVE_NEXT}])
10962902ded7SAndrey KiselevLOC_MSG([  LogLuv high dynamic range encoding: ${HAVE_LOGLUV}])
10972902ded7SAndrey KiselevLOC_MSG()
10982902ded7SAndrey KiselevLOC_MSG([ Support for external codecs:])
10992902ded7SAndrey KiselevLOC_MSG([  ZLIB support:                       ${HAVE_ZLIB}])
11002902ded7SAndrey KiselevLOC_MSG([  Pixar log-format algorithm:         ${HAVE_PIXARLOG}])
11012902ded7SAndrey KiselevLOC_MSG([  JPEG support:                       ${HAVE_JPEG}])
11022902ded7SAndrey KiselevLOC_MSG([  Old JPEG support:                   ${HAVE_OJPEG}])
1103db1ab60dSFrank WarmerdamLOC_MSG([  JPEG 8/12 bit dual mode:            ${HAVE_JPEG12}])
1104bcdfba3fSAndrey KiselevLOC_MSG([  ISO JBIG support:                   ${HAVE_JBIG}])
1105a2d72c2dSAndrey KiselevLOC_MSG([  LZMA2 support:                      ${HAVE_LZMA}])
11062902ded7SAndrey KiselevLOC_MSG()
1107078099abSAndrey KiselevLOC_MSG([  C++ support:                        ${HAVE_CXX}])
1108078099abSAndrey KiselevLOC_MSG()
1109ef833c65SAndrey Kiselevdnl LOC_MSG([  X Athena Widgets support:           ${HAVE_XAW}])
11102902ded7SAndrey KiselevLOC_MSG([  OpenGL support:                     ${HAVE_OPENGL}])
11112902ded7SAndrey KiselevLOC_MSG()
1112fcee2689SAndrey Kiselev
1113