root/tags/rel-5-0-2/mapserver/configure.in

Revision 6961, 83.4 kB (checked in by warmerdam, 10 months ago)

improve configuration logic for fastcgi (#2355)

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
Line 
1 dnl **************************************************************************
2 dnl $Id$
3 dnl
4 dnl Project:  MapServer
5 dnl Purpose:  Main autoconf script ( Process this file with autoconf to
6 dnl           produce a configure script.)
7 dnl Author:   Steve Lime and the MapServer team.
8 dnl
9 dnl **************************************************************************
10 dnl Copyright (c) 1996-2007 Regents of the University of Minnesota.
11 dnl
12 dnl Permission is hereby granted, free of charge, to any person obtaining a
13 dnl copy of this software and associated documentation files (the "Software"),
14 dnl to deal in the Software without restriction, including without limitation
15 dnl the rights to use, copy, modify, merge, publish, distribute, sublicense,
16 dnl and/or sell copies of the Software, and to permit persons to whom the
17 dnl Software is furnished to do so, subject to the following conditions:
18 dnl
19 dnl The above copyright notice and this permission notice shall be included in
20 dnl all copies of this Software or works derived from this Software.
21 dnl
22 dnl THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
23 dnl OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
24 dnl FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
25 dnl THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
26 dnl LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
27 dnl FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
28 dnl DEALINGS IN THE SOFTWARE.
29 dnl **************************************************************************
30
31 AC_INIT(Makefile.in)
32
33 dnl Checks for programs.
34 AC_PROG_CC
35 AC_PROG_CXX
36 AC_PROG_RANLIB
37 AC_PROG_LEX
38 AC_PROG_YACC
39 AC_RUNPATH_SWITCH
40
41 dnl ---------------------------------------------------------------------
42 dnl Checks for libraries.
43 dnl ---------------------------------------------------------------------
44 AC_CHECK_LIB(m,exp, XTRALIBS="$XTRALIBS -lm",,)
45 AC_SUBST(XTRALIBS, $XTRALIBS)
46
47 AC_CHECK_LIB(stdc++,__gxx_personality_v0, XTRALIBS="$XTRALIBS -lstdc++",,)
48 AC_SUBST(XTRALIBS, $XTRALIBS)
49
50 LIBS="$XTRALIBS $LIBS"
51
52 dnl ---------------------------------------------------------------------
53 dnl Checks for header files.
54 dnl ---------------------------------------------------------------------
55 AC_HEADER_STDC
56
57 dnl ---------------------------------------------------------------------
58 dnl Add -fPIC to compiler flags if appropriate
59 dnl ---------------------------------------------------------------------
60 AC_COMPILER_PIC
61 CFLAGS="$CFLAGS $C_PIC"
62 CXXFLAGS="$CXXFLAGS $C_PIC"
63
64 dnl ---------------------------------------------------------------------
65 dnl Check for some string functions
66 dnl ---------------------------------------------------------------------
67 AC_CHECK_FUNC(strcasecmp, ,  STRINGS="-DNEED_STRCASECMP $STRINGS")
68 AC_CHECK_FUNC(strncasecmp, , STRINGS="-DNEED_STRNCASECMP $STRINGS")
69 AC_CHECK_FUNC(strdup, ,      STRINGS="-DNEED_STRDUP $STRINGS")
70 AC_CHECK_FUNC(strlcat, ,      STRINGS="-DNEED_STRLCAT $STRINGS")
71 AC_CHECK_FUNC(vsnprintf, STRINGS="-DHAVE_VSNPRINTF $STRINGS", )
72 AC_SUBST(STRINGS, $STRINGS)
73
74 dnl ---------------------------------------------------------------------
75 dnl Look for MapServer version in mapserver.h
76 dnl ---------------------------------------------------------------------
77 MS_VERSION=`grep MS_VERSION mapserver.h | grep '#define' | cut -d\" -f2`
78 AC_MSG_RESULT([MapServer Version from mapserver.h: '$MS_VERSION'])
79 AC_SUBST(MS_VERSION,    "$MS_VERSION")
80
81 dnl ---------------------------------------------------------------------
82 dnl Several libraries might be needed for GD: png, zlib, freetype,
83 dnl and jpeg (processed above).  Use where GD was found as default.
84 dnl ---------------------------------------------------------------------
85
86 dnl ---------------------------------------------------------------------
87 dnl Check where FreeType is installed
88 dnl ---------------------------------------------------------------------
89
90 unset ac_cv_lib_freetype_FT_Init_FreeType
91 unset ac_cv_lib_ttf_TT_Init_FreeType
92
93 AC_ARG_WITH(freetype,
94 [  --with-freetype=DIR     GD: Specify where FreeType 2.x is installed (DIR is
95                               path to freetype-config program or install dir).],
96     FT_DIR=$withval,FT_DIR='')
97
98 AC_EXPAND_PATH($FT_DIR, FT_DIR)
99 AC_CHECKING(where FreeType 2.x is installed)
100 FT_LIB=''
101 FT_BIN=''
102 FT_TYPE=''
103
104 test -x "$FT_DIR" -a "freetype-config" = "`basename $FT_DIR ''`" && FT_BIN="$FT_DIR"
105 test -x "$FT_DIR/freetype-config" && FT_BIN="$FT_DIR/freetype-config"
106 test -x "$FT_DIR/bin/freetype-config" && FT_BIN="$FT_DIR/bin/freetype-config"
107
108 if test "$with_freetype" = "yes" ; then
109  AC_PATH_PROG(FT_BIN, freetype-config, no)
110 fi
111
112 if test -n "$FT_BIN" ; then
113   dnl we have freetype-config program, use its values
114   FT_LIB=`$FT_BIN --libs`
115   FT_LIBDIR="`$FT_BIN --exec-prefix`/lib"
116   AC_MSG_RESULT([        using libfreetype from $FT_LIB])
117   AC_ADD_RUNPATH("$FT_LIBDIR")
118
119 else
120   dnl try freetype 2.x install lib name
121   test -f $FT_DIR/lib/libfreetype.a -o -f $FT_DIR/lib/libfreetype.so -o -f $FT_DIR/lib/libfreetype.sl -o -f $FT_DIR/lib/libfreetype.dylib && FT_LIBDIR="$FT_DIR/lib"
122   test -f $FT_DIR/lib64/libfreetype.a -o -f $FT_DIR/lib64/libfreetype.so -o -f $FT_DIR/lib64/libfreetype.sl && FT_LIBDIR="$FT_DIR/lib64"
123   test -f $FT_DIR/libfreetype.a -o -f $FT_DIR/libfreetype.so -o -f $FT_DIR/libfreetype.sl -o -f $FT_DIR/libfreetype.dylib && FT_LIBDIR="$FT_DIR"
124
125   if test -n "$FT_LIBDIR" ; then
126      FT_TYPE="-lfreetype" 
127   fi
128 fi
129
130 if test -n "$FT_LIBDIR" -a -z "$FT_BIN" ; then
131   FT_LIB="-L$FT_LIBDIR $FT_TYPE"
132   AC_MSG_RESULT([        using libfreetype from $FT_LIB])
133   AC_ADD_RUNPATH("$FT_LIBDIR")
134 else
135   dnl check for lib in system libs 
136   AC_CHECK_LIB(freetype, FT_Init_FreeType, FT_LIB="-lfreetype",,)
137
138   if test -n "$FT_LIB" ; then
139     AC_MSG_RESULT([        using libfreetype $FT_LIB from system libs.])
140   else
141     AC_MSG_RESULT([        freetype-config or libfreetype cannot be found, possibly needed for GD])
142   fi
143 fi
144
145
146 dnl ---------------------------------------------------------------------
147 dnl Check where zlib is installed (used by libpng and by ZVG compressed output)
148 dnl ---------------------------------------------------------------------
149
150 unset ac_cv_lib_z_zlibVersion
151
152 AC_ARG_WITH(zlib,
153 [  --with-zlib=DIR         GD,SVG: Specify where zlib is installed (DIR is path
154                               to zlib install dir).],
155     ZLIB_DIR=$withval,ZLIB_DIR='')
156
157 AC_EXPAND_PATH($ZLIB_DIR, ZLIB_DIR)
158 AC_CHECKING(where Zlib is installed)
159 ZLIB_LIB=''
160
161 test -f $ZLIB_DIR/include/zlib.h && ZLIB_INCDIR="$ZLIB_DIR/include"
162
163 test -f $ZLIB_DIR/lib/libz.a -o -f $ZLIB_DIR/lib/libz.so -o -f $ZLIB_DIR/lib/libz.sl -o -f $ZLIB_DIR/lib/libz.dylib && ZLIB_LIBDIR="$ZLIB_DIR/lib"
164 test -f $ZLIB_DIR/lib64/libz.a -o -f $ZLIB_DIR/lib64/libz.so -o -f $ZLIB_DIR/lib64/libz.sl && ZLIB_LIBDIR="$ZLIB_DIR/lib64"
165 test -f $ZLIB_DIR/libz.a -o -f $ZLIB_DIR/libz.so -o -f $ZLIB_DIR/libz.sl && ZLIB_LIBDIR="$ZLIB_DIR"
166
167
168 if test -n "$ZLIB_LIBDIR" -a -n "$ZLIB_INCDIR" ; then
169
170   dnl
171   dnl Found libz runtime and headers. Enable USE_ZLIB (SVG compressed output)
172   dnl
173   ZLIB_ENABLED="-DUSE_ZLIB"
174   ZLIB_INC="-I$ZLIB_INCDIR"
175   ZLIB_LIB="-L$ZLIB_LIBDIR -lz"
176   AC_MSG_RESULT([        using libz from $ZLIB_LIB ($ZLIB_ENABLED)])
177   AC_ADD_RUNPATH("$ZLIB_DIR")
178
179 elif test -n "$ZLIB_LIBDIR" ; then
180
181   dnl
182   dnl Found only runtime but no headers (good only for libpng)
183   dnl
184   ZLIB_LIB="-L$ZLIB_LIBDIR -lz"
185   AC_MSG_RESULT([        using runtime libz from $ZLIB_LIB])
186   AC_ADD_RUNPATH("$ZLIB_DIR")
187
188 else
189
190   dnl check for lib in system libs
191
192   AC_CHECK_LIB(z, zlibVersion, ZLIB_LIB="-lz",,)
193
194   if test -n "$ZLIB_LIB" ; then
195     ZLIB_ENABLED="-DUSE_ZLIB"
196     AC_MSG_RESULT([        using libz from system libs ($ZLIB_ENABLED).])
197   else
198     AC_MSG_RESULT([        Zlib (libz) library cannot be found, possibly needed for GD])
199   fi
200
201 fi
202
203 dnl If we found ZLIB headers then enable it by default since SVG output
204 dnl is enabled by default and will take advantage of it, otherwise the
205 dnl PNG code below will take care of including the runtime lib only.
206
207 AC_SUBST(ZLIB_ENABLED,$ZLIB_ENABLED)
208 AC_SUBST(ZLIB_INC,    $ZLIB_INC)
209 AC_SUBST(ZLIB_LIB,    $ZLIB_LIB)
210
211 ALL_ENABLED="$ZLIB_ENABLED $ALL_ENABLED"
212 ALL_INC="$ZLIB_INC $ALL_INC"
213 ALL_LIB="$ZLIB_LIB $ALL_LIB"
214
215 dnl ---------------------------------------------------------------------
216 dnl Check where PNG is installed
217 dnl ---------------------------------------------------------------------
218
219 unset ac_cv_lib_png_png_init_io
220
221 AC_ARG_WITH(png,
222 [  --with-png=DIR          GD: Specify where PNG is installed (DIR is path to
223                               PNG install dir).],
224     PNG_DIR=$withval,PNG_DIR='')
225
226 AC_EXPAND_PATH($PNG_DIR, PNG_DIR)
227 AC_CHECKING(where PNG is installed)
228 PNG_LIB=''
229
230 test -f $PNG_DIR/lib/libpng.a -o -f $PNG_DIR/lib/libpng.so -o -f $PNG_DIR/lib/libpng.sl -o -f $PNG_DIR/lib/libpng.dylib && PNG_LIBDIR="$PNG_DIR/lib"
231 test -f $PNG_DIR/lib64/libpng.a -o -f $PNG_DIR/lib64/libpng.so -o -f $PNG_DIR/lib64/libpng.sl -o -f $PNG_DIR/libpng.dylib && PNG_LIBDIR="$PNG_DIR/lib64"
232 test -f $PNG_DIR/libpng.a -o -f $PNG_DIR/libpng.so -o -f $PNG_DIR/libpng.sl -o -f $PNG_DIR/libpng.dylib && PNG_LIBDIR="$PNG_DIR"
233
234 if test -n "$PNG_LIBDIR" ; then
235
236   PNG_LIB="-L$PNG_LIBDIR -lpng"
237   AC_MSG_RESULT([        using libpng from $PNG_LIB])
238   AC_ADD_RUNPATH("$PNG_LIBDIR")
239
240 else
241
242   dnl check for lib in system libs
243
244   AC_CHECK_LIB(png, png_init_io, PNG_LIB="-lpng",, $ZLIB_LIB)
245
246   if test -n "$PNG_LIB" ; then
247     AC_MSG_RESULT([        using libpng from system libs.])
248   else
249     AC_MSG_RESULT([        PNG (libpng) library cannot be found, possibly needed for GD])
250   fi
251
252 fi
253
254 dnl ---------------------------------------------------------------------
255 dnl libJPEG (included by default if found on system).
256 dnl ---------------------------------------------------------------------
257
258 unset ac_cv_lib_jpeg_jpeg_read_header
259
260 AC_CHECKING(whether we should include JPEG support)
261 AC_ARG_WITH(jpeg,
262 [  --with-jpeg[[=DIR]]       Include JPEG support (DIR is LibJPEG's install dir).],,)
263
264 if test -n "$with_jpeg" -a "$with_jpeg" != "yes" ; then
265
266   AC_EXPAND_PATH($with_jpeg, JPEG_DIR)
267   test -f $JPEG_DIR/include/jpeg/jpeglib.h && JPEG_INCLUDE="$JPEG_DIR/include/jpeg"
268   test -f $JPEG_DIR/include/jpeglib.h && JPEG_INCLUDE="$JPEG_DIR/include"
269   test -f $JPEG_DIR/lib/jpeglib.h && JPEG_INCLUDE="$JPEG_DIR/lib"
270   test -f $JPEG_DIR/jpeglib.h && JPEG_INCLUDE="$JPEG_DIR"
271
272   test -f $JPEG_DIR/lib/libjpeg.a && JPEG_LIBDIR="$JPEG_DIR/lib"
273   test -f $JPEG_DIR/lib64/libjpeg.a && JPEG_LIBDIR="$JPEG_DIR/lib64"
274   test -f $JPEG_DIR/libjpeg.a && JPEG_LIBDIR="$JPEG_DIR"
275
276   test -f $JPEG_DIR/lib/libjpeg.so -o -f $JPEG_DIR/lib/libjpeg.sl -o -f $JPEG_DIR/lib/libjpeg.dylib && JPEG_LIBDIR="$JPEG_DIR/lib"
277   test -f $JPEG_DIR/lib64/libjpeg.so -o -f $JPEG_DIR/lib64/libjpeg.sl && JPEG_LIBDIR="$JPEG_DIR/lib64"
278   test -f $JPEG_DIR/libjpeg.so -o -f $JPEG_DIR/libjpeg.sl -o -f $JPEG_DIR/libjpeg.dylib && JPEG_LIBDIR="$JPEG_DIR"
279
280   if test -n "$JPEG_INCLUDE" -a -n "$JPEG_LIBDIR" ; then
281       JPEG_ENABLED="-DUSE_JPEG"
282       JPEG_INC=-I$JPEG_INCLUDE
283       JPEG_LIB="-L$JPEG_LIBDIR -ljpeg"
284       AC_ADD_RUNPATH("$JPEG_LIBDIR")
285   else
286       if test "$with_jpeg" != "no" ; then
287         AC_MSG_RESULT("Could not find jpeglib.h or libjpeg.a/libjpeg.so/libjpeg.dylib in $JPEG_DIR.")
288       fi
289   fi
290
291   dnl if --without-jpeg was requested, disable mapserver from using it, but
292   dnl libjpeg may still be needed by GD
293
294   if test "$with_jpeg" = "no" ; then
295     AC_MSG_RESULT([        disabled by --without-jpeg])
296   else
297     JPEG_ENABLED="-DUSE_JPEG"
298   fi
299
300   if test -z "$JPEG_LIB" ; then
301
302     AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_LIB="-ljpeg",,,)
303
304     if test -n "$JPEG_LIB" ; then
305         JPEG_LIB="-ljpeg"
306         AC_MSG_RESULT([        using libjpeg from system libs.])
307     else
308         AC_MSG_RESULT([        libjpeg not found. JPEG support not included, possibly needed for GD.])
309     fi
310   else
311      AC_MSG_RESULT([        using libjpeg from system $JPEG_LIB])
312   fi
313
314 else
315
316   AC_CHECK_LIB(jpeg, jpeg_read_header, JPEG_ENABLED=-DUSE_JPEG,,,)
317
318   if test -n "$JPEG_ENABLED" ; then
319       JPEG_LIB="-ljpeg"
320       AC_MSG_RESULT([        using libjpeg from system libs.])
321   else
322       AC_MSG_RESULT([        libjpeg not found. JPEG support not included, possibly needed for GD.])
323   fi
324
325 fi
326
327 AC_SUBST(JPEG_ENABLED,$JPEG_ENABLED)
328 AC_SUBST(JPEG_INC,    $JPEG_INC)
329 AC_SUBST(JPEG_LIB,    $JPEG_LIB)
330
331 dnl ---------------------------------------------------------------------
332 dnl Look for X11 and XPM libs used by GD
333 dnl ---------------------------------------------------------------------
334
335 unset ac_cv_lib_Xpm_XpmFreeXpmImage
336
337 AC_ARG_WITH(xpm,
338 [  --with-xpm=DIR          GD: Specify where libXpm is installed (DIR it the
339                               libXpm install prefix).],
340     XPM_DIR=$withval,XPM_DIR='')
341
342 if test "$with_xpm" != "no" ; then
343
344   AC_EXPAND_PATH($XPM_DIR, XPM_DIR)
345   AC_CHECKING(where libXpm is installed)
346   XPM_LIB=''
347
348   test -f $XPM_DIR/lib/libXpm.a -o -f $XPM_DIR/lib/libXpm.so -o -f $XPM_DIR/lib/libXpm.sl -o -f $XPM_DIR/lib/libXpm.dylib && XPM_LIBDIR="$XPM_DIR/lib"
349   test -f $XPM_DIR/lib64/libXpm.a -o -f $XPM_DIR/lib64/libXpm.so -o -f $XPM_DIR/lib64/libXpm.sl && XPM_LIBDIR="$XPM_DIR/lib64"
350   test -f $XPM_DIR/libXpm.a -o -f $XPM_DIR/libXpm.so -o -f $XPM_DIR/libXpm.sl -o -f $XPM_DIR/libXpm.dylib && XPM_LIBDIR="$XPM_DIR"
351
352   if test -n "$XPM_LIBDIR" ; then
353
354     XPM_LIB="-L$XPM_LIBDIR -lXpm -lX11"
355     AC_MSG_RESULT([        using libXpm from $XPM_LIB])
356     AC_ADD_RUNPATH("$XPM_LIBDIR")
357
358   else
359  
360     dnl check for lib in system libs
361
362     AC_CHECK_LIB(Xpm, XpmFreeXpmImage, XPM_LIB="-lXpm -lX11",,-lX11)
363
364     if test -n "$XPM_LIB" ; then
365       AC_MSG_RESULT([        using libXpm from system libs.])
366     else
367       AC_MSG_RESULT([        XPM (libXpm) library cannot be found, possibly needed for GD])
368     fi
369   fi
370
371 fi
372
373 dnl Note: don't include iconv by default in GD_XTRA_LIBS as it may not
374 dnl       be required by GD.
375
376 GD_XTRA_LIBS="$JPEG_LIB $FT_LIB $PNG_LIB $ZLIB_LIB $XPM_LIB"
377
378
379 dnl ---------------------------------------------------------------------
380 dnl Check where libiconv is installed. We always look for it, even if not
381 dnl explicitly requested since GD may require it for linking.
382 dnl Iconv can come either as libiconv.so or as part of glibc
383 dnl ---------------------------------------------------------------------
384
385 unset ac_cv_lib_iconv_libiconv_open
386 unset ac_cv_lib_c_iconv_open
387
388 AC_ARG_WITH(libiconv,
389 [  --with-libiconv=DIR     Specify where libiconv is installed (DIR is path
390                           to libiconv install dir (prefix)).],
391     ICONV_DIR=$withval,ICONV_DIR='')
392
393 AC_CHECKING(where libiconv is installed)
394
395 ICONV_LIB=''
396
397 if test -n "$ICONV_DIR" ; then
398
399   AC_EXPAND_PATH($ICONV_DIR, ICONV_DIR)
400
401   test -f $ICONV_DIR/include/iconv.h && ICONV_LIBDIR="$ICONV_DIR/lib" && ICONV_INCDIR="$ICONV_DIR/include"
402   test -f $ICONV_DIR/lib/libiconv.a -o -f $ICONV_DIR/lib/libiconv.so -o -f $ICONV_DIR/lib/libiconv.sl -o -f $ICONV_DIR/lib/libiconv.dylib && ICONV_LIBDIR="$ICONV_DIR/lib" && ICONV_INCDIR="$ICONV_DIR/include"
403   test -f $ICONV_DIR/lib64/libiconv.a -o -f $ICONV_DIR/lib64/libiconv.so -o -f $ICONV_DIR/lib64/libiconv.sl && ICONV_LIBDIR="$ICONV_DIR/lib64" && ICONV_INCDIR="$ICONV_DIR/include"
404
405   dnl If we have both the glibc and a local libiconv, then the local libiconv
406   dnl will be included in the link line no matter what. This shouldn't hurt
407   dnl programs that don't need it, and saves us from having to figure some
408   dnl black magic to detect what was used to build GD, etc.
409   dnl Just doing the AC_CHECK_LIB(iconv ...) last does the trick.
410   AC_CHECK_LIB(c, iconv_open, ICONV_LIB="-L$ICONV_LIBDIR -lc",,"-L$ICONV_LIBDIR")
411   AC_CHECK_LIB(iconv, libiconv_open, ICONV_LIB="-L$ICONV_LIBDIR -liconv",,"-L$ICONV_LIBDIR")
412
413 fi
414
415 if test -n "$ICONV_LIB" ; then
416   if test -n "$ICONV_INCDIR"; then
417      ICONV_INC="-I$ICONV_INCDIR"
418   fi
419   AC_MSG_RESULT([        using libiconv from $ICONV_LIB])
420   AC_ADD_RUNPATH("$ICONV_DIR")
421
422 else
423
424   dnl check for lib in system libs
425
426   unset ac_cv_lib_iconv_libiconv_open
427   unset ac_cv_lib_c_iconv_open
428   AC_CHECK_LIB(c, iconv_open, ICONV_LIB="-lc",,)
429   AC_CHECK_LIB(iconv, libiconv_open, ICONV_LIB="-liconv",,)
430
431   if test -n "$ICONV_LIB" ; then
432     AC_MSG_RESULT([        using libiconv from system libs.])
433   else
434     AC_MSG_RESULT([        libiconv library cannot be found, possibly needed for GD])
435   fi
436
437 fi
438
439 if test -n "$ICONV_LIB" ; then
440   ICONV_ENABLED="-DUSE_ICONV"
441   AC_MSG_RESULT([        libiconv found. Enabling internationalization ($ICONV_ENABLED)])
442 fi
443
444
445 AC_SUBST(ICONV_ENABLED, $ICONV_ENABLED)
446 AC_SUBST(ICONV_INC,     $ICONV_INC)
447 AC_SUBST(ICONV_LIB,     $ICONV_LIB)
448
449 ALL_ENABLED="$ICONV_ENABLED $ALL_ENABLED"
450 ALL_INC="$ICONV_INC $ALL_INC"
451 ALL_LIB="$ICONV_LIB $ALL_LIB"
452
453
454 dnl ---------------------------------------------------------------------
455 dnl Find GD library
456 dnl
457 dnl If --with-gd not given, then check in system libs.
458 dnl ---------------------------------------------------------------------
459
460 dnl We don't want LIBS updated by all the GD stuff, so we save it and
461 dnl restore later.
462
463 ms_saved_LIBS="$LIBS"
464 IS_GD2="false";
465
466 dnl Clear some cache variables
467 unset ac_cv_lib_gd_gdImageCreate
468 unset ac_cv_lib_gd_gdImageString16
469 unset ac_cv_lib_gd_gdImageGif
470 unset ac_cv_lib_gd_gdImagePng
471 unset ac_cv_lib_gd_gdImageJpeg
472 unset ac_cv_lib_gd_gdImageWBMP
473 unset ac_cv_lib_gd_gdImageStringFT
474 unset ac_cv_lib_gd_gdImageGifPtr
475 unset ac_cv_lib_gd_gdFontGetTiny
476 unset ac_cv_lib_c_gdImageCreate
477 unset ac_cv_lib_c_gdImageString16
478 unset ac_cv_lib_c_gdImageGif
479 unset ac_cv_lib_c_gdImagePng
480 unset ac_cv_lib_c_gdImageJpeg
481 unset ac_cv_lib_c_gdImageWBMP
482 unset ac_cv_lib_c_gdImageStringFT
483 unset ac_cv_lib_c_gdImageGifPtr
484 unset ac_cv_lib_c_gdFontGetTiny
485 unset ac_cv_lib_gd_gdFontCacheSetup
486
487 AC_CHECKING(for GD 2.0.16 or higher)
488 AC_ARG_WITH(gd,
489 [  --with-gd[[=[static,]DIR]] Specify which version of GD to use (DIR is GD's
490                           install dir).],,)
491
492 if test "$with_gd" = "no" ; then
493   AC_MSG_ERROR(GD library cannot be disabled)
494 elif test -n "$with_gd" -a "$with_gd" != "yes" ; then
495   dnl
496   dnl --with-gd was specified explicitly...
497   dnl
498   AC_PARSE_WITH_LIB_STATIC($with_gd, GD_DIR, GD_STATIC)
499   AC_EXPAND_PATH($GD_DIR, GD_DIR)
500   test -f $GD_DIR/include/gd.h && GD_INCLUDE="$GD_DIR/include"
501   test -f $GD_DIR/include/gd/gd.h && GD_INCLUDE="$GD_DIR/include/gd"
502   test -f $GD_DIR/gd.h && GD_INCLUDE="$GD_DIR"
503
504   test -f $GD_DIR/lib/libgd.a && GD_LIBDIR="$GD_DIR/lib"
505   test -f $GD_DIR/lib64/libgd.a && GD_LIBDIR="$GD_DIR/lib64"
506   test -f $GD_DIR/.libs/libgd.a && GD_LIBDIR="$GD_DIR/.libs"
507   test -f $GD_DIR/_libs/libgd.a && GD_LIBDIR="$GD_DIR/_libs"
508   test -f $GD_DIR/libgd.a && GD_LIBDIR="$GD_DIR"
509
510   test -f $GD_DIR/lib/libgd.so -o -f $GD_DIR/lib/libgd.sl -o -f $GD_DIR/lib/libgd.dylib && GD_LIBDIR="$GD_DIR/lib"
511   test -f $GD_DIR/lib64/libgd.so -o -f $GD_DIR/lib/libgd.sl && GD_LIBDIR="$GD_DIR/lib64"
512   test -f $GD_DIR/.libs/libgd.so -o -f $GD_DIR/.libs/libgd.sl -o -f $GD_DIR/.libs/libgd.dylib && GD_LIBDIR="$GD_DIR/.libs"
513   test -f $GD_DIR/_libs/libgd.so -o -f $GD_DIR/_libs/libgd.sl -o -f $GD_DIR/_libs/libgd.dylib && GD_LIBDIR="$GD_DIR/_libs"
514   test -f $GD_DIR/libgd.so -o -f $GD_DIR/libgd.sl -o -f $GD_DIR/libgd.dylib && GD_LIBDIR="$GD_DIR"
515
516   dnl make sure it is GD 2.0.16+ with antialias and gdFontCacheSetup() support
517   AC_CHECK_LIB(gd, gdFontCacheSetup,IS_GD2="true",,$GD_XTRA_LIBS -L$GD_LIBDIR)
518
519   if test "$IS_GD2" = "false" -a -n "$ICONV_LIB"; then
520     dnl try again including libiconv this time
521     unset ac_cv_lib_gd_gdFontCacheSetup
522     AC_CHECKING(whether GD needs libiconv)
523     AC_CHECK_LIB(gd, gdFontCacheSetup,IS_GD2="true",,$GD_XTRA_LIBS -L$GD_LIBDIR $ICONV_LIB)
524     GD_NEED_ICONV_LIB="$ICONV_LIB"
525   fi
526
527   if test -n "$GD_INCLUDE" -a -n "$GD_LIBDIR" -a "$IS_GD2" = "true"; then
528       GD_INC=-I$GD_INCLUDE
529       GD_LIB="-L$GD_LIBDIR -lgd"
530       GD_XTRA_LIBS="$GD_XTRA_LIBS $GD_NEED_ICONV_LIB"
531       AC_MSG_RESULT([        using libgd 2.0.16 (or higher) from $GD_LIB $GD_XTRA_LIBS])
532       AC_ADD_RUNPATH("$GD_LIBDIR")
533   else
534       AC_MSG_ERROR([Could not find gd.h or libgd.a/libgd.so in $GD_DIR.  Make sure GD 2.0.16 or higher is compiled before calling configure. You may also get this error if you didn't specify the appropriate location for one of GD's dependencies (freetype, libpng, libjpeg or libiconv).])
535   fi
536 else
537   dnl  --with-gd specified without a DIR, look for gd in system dirs /usr or /usr/local
538   FOUND_GD="false"
539   for GD_DIR in /usr /usr/local
540   do
541     test -f $GD_DIR/include/gd.h && GD_INCLUDE="$GD_DIR/include"
542     test -f $GD_DIR/lib/libgd.a && GD_LIBDIR="$GD_DIR/lib"
543     test -f $GD_DIR/lib64/libgd.a && GD_LIBDIR="$GD_DIR/lib64"
544     test -f $GD_DIR/lib/libgd.so -o -f $GD_DIR/lib/libgd.sl -o -f $GD_DIR/lib/libgd.dylib && GD_LIBDIR="$GD_DIR/lib"
545     test -f $GD_DIR/lib64/libgd.so -o -f $GD_DIR/lib/libgd.sl && GD_LIBDIR="$GD_DIR/lib64"
546
547     dnl make sure it is GD 2.0.16 or higher
548     AC_CHECK_LIB(gd, gdFontCacheSetup, IS_GD2="true",,$GD_XTRA_LIBS)
549  
550     if test "$IS_GD2" = "false" -a -n "$ICONV_LIB"; then
551       dnl try again including libiconv this time
552       AC_CHECKING(whether GD needs libiconv)
553       unset ac_cv_lib_gd_gdFontCacheSetup
554       AC_CHECK_LIB(gd, gdFontCacheSetup,IS_GD2="true",,$GD_XTRA_LIBS $ICONV_LIB)
555       GD_NEED_ICONV_LIB="$ICONV_LIB"
556     fi
557
558     if test -n "$GD_INCLUDE" -a -n "$GD_LIBDIR" -a "$IS_GD2" = "true"; then
559       GD_INC=-I$GD_INCLUDE
560       GD_LIB="-L$GD_LIBDIR -lgd"
561       GD_XTRA_LIBS="$GD_XTRA_LIBS $GD_NEED_ICONV_LIB"
562       AC_MSG_RESULT([        using libgd 2.0.16 (or higher) from system libs ($GD_LIB $GD_XTRA_LIBS).])
563       AC_ADD_RUNPATH("$GD_LIBDIR")
564       FOUND_GD="true"
565       break;
566     fi
567   done
568
569   if test "$FOUND_GD" = "false" ; then
570     AC_MSG_ERROR([Could not find gd.h or libgd.a/libgd.so in $GD_DIR.  Make sure GD 2.0.16 or higher is compiled before calling configure. You may also get this error if you didn't specify the appropriate location for one of GD's dependencies (freetype, libpng, libjpeg or libiconv).])
571   fi
572 fi
573
574 dnl ----------------------------------------------------------------------
575 dnl Continue with GD processing - determine GD formats and other features
576 dnl ----------------------------------------------------------------------
577
578 if test -n "$with_gd" -a "$with_gd" != "yes" ; then
579
580   dnl check gd lib that was found on --with-gd=
581
582   if test "$GD_STATIC" = "yes" ; then
583     dnl To test against static GD, do AC_CHECK_LIB calls against -lc and
584     dnl include libgd.a in GD_LIB param
585     GD_CHECKLIB=c
586     GD_LIB=""
587     GD_STATIC=$GD_LIBDIR/libgd.a
588     AC_MSG_RESULT([static linkage of $GD_STATIC requested... testing supported formats...])
589   else
590     GD_CHECKLIB=c
591     # GD_LIB was already set above
592     GD_STATIC=""
593   fi
594
595   AC_CHECK_LIB($GD_CHECKLIB, gdImageGif, GD_DEF="$GD_DEF -DUSE_GD_GIF",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
596   AC_CHECK_LIB($GD_CHECKLIB, gdImagePng, GD_DEF="$GD_DEF -DUSE_GD_PNG",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
597   AC_CHECK_LIB($GD_CHECKLIB, gdImageJpeg, GD_DEF="$GD_DEF -DUSE_GD_JPEG",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
598   AC_CHECK_LIB($GD_CHECKLIB, gdImageWBMP, GD_DEF="$GD_DEF -DUSE_GD_WBMP",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
599
600   dnl check for Freetype 2.x support 
601   AC_CHECK_LIB($GD_CHECKLIB, gdImageStringFT, GD_DEF="$GD_DEF -DUSE_GD_FT",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
602
603   dnl check for gdImageOpenPolygon (means GD version 2.0.29 or higher)
604   AC_CHECK_LIB($GD_CHECKLIB, gdImageOpenPolygon, GD_DEF="$GD_DEF -DGD_HAS_FTEX_XSHOW",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
605
606   dnl gdImageGifPtr is there only in GIF-patched GD versions
607   AC_CHECK_LIB($GD_CHECKLIB, gdImageGifPtr, GD_DEF="$GD_DEF -DGD_HAS_GDIMAGEGIFPTR",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
608
609   dnl GD 2.0.22 and more recent replaced the static font pointers with
610   dnl getter functions.
611   AC_CHECK_LIB($GD_CHECKLIB, gdFontGetTiny, GD_DEF="$GD_DEF -DGD_HAS_GETBITMAPFONTS",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
612
613   AC_MSG_RESULT([        using GD ($GD_DEF) from $GD_DIR.])
614
615 else
616
617   dnl
618   dnl --with-gd was not given... then look in system libs
619   dnl
620
621   dnl Make sure GD is at least there!
622   AC_CHECK_LIB(gd, gdImageCreate, GD_FOUND=yes , ,$GD_XTRA_LIBS)
623   if test -z "$GD_FOUND" ; then
624       AC_MSG_ERROR([GD is required but was not found... use --with-gd=DIR to specify its location.])
625   fi
626
627   dnl Check supported formats
628   AC_CHECK_LIB(gd, gdImageGif, GD_DEF="$GD_DEF -DUSE_GD_GIF",, $GD_LIB $GD_XTRA_LIBS)
629   AC_CHECK_LIB(gd, gdImagePng, GD_DEF="$GD_DEF -DUSE_GD_PNG",, $GD_LIB $GD_XTRA_LIBS)
630   AC_CHECK_LIB(gd, gdImageJpeg, GD_DEF="$GD_DEF -DUSE_GD_JPEG",, $GD_LIB $GD_XTRA_LIBS)
631   AC_CHECK_LIB(gd, gdImageWBMP, GD_DEF="$GD_DEF -DUSE_GD_WBMP",, $GD_LIB $GD_XTRA_LIBS)
632
633   dnl Check for Freetype 2 support
634   AC_CHECK_LIB(gd, gdImageStringFT, GD_DEF="$GD_DEF -DUSE_GD_FT",, $GD_LIB $GD_XTRA_LIBS)
635
636   dnl check for gdImageOpenPolygon (means GD version 2.0.29 or higher)
637   AC_CHECK_LIB(gd, gdImageOpenPolygon, GD_DEF="$GD_DEF -DGD_HAS_FTEX_XSHOW",, $GD_STATIC $GD_LIB $GD_XTRA_LIBS)
638
639   dnl gdImageGifPtr is there only in GIF-patched GD versions
640   AC_CHECK_LIB(gd, gdImageGifPtr, GD_DEF="$GD_DEF -DGD_HAS_GDIMAGEGIFPTR",, $GD_LIB $GD_XTRA_LIBS)
641
642   dnl GD 2.0.22 and more recent replaced the static font pointers with
643   dnl getter functions.
644   AC_CHECK_LIB(gd, gdFontGetTiny, GD_DEF="$GD_DEF -DGD_HAS_GETBITMAPFONTS",, $GD_LIB $GD_XTRA_LIBS)
645
646   if test -n "$GD_DEF" ; then
647       GD_LIB="-lgd $GD_LIB"
648       AC_MSG_RESULT([        using GD ($GD_DEF) from system libs.])
649   fi
650 fi
651
652 GD_LIB="$GD_LIB $GD_XTRA_LIBS"
653
654 AC_SUBST(GD_DEF, $GD_DEF)
655 AC_SUBST(GD_INC, $GD_INC)
656 AC_SUBST(GD_LIB, $GD_LIB)
657 AC_SUBST(GD_STATIC, $GD_STATIC)
658 AC_SUBST(MAKE_GD, $MAKE_GD)
659 AC_SUBST(MAKE_GD_CLEAN, $MAKE_GD_CLEAN)
660
661 ALL_ENABLED="$GD_DEF $ALL_ENABLED"
662 ALL_INC="$GD_INC $ALL_INC"
663 ALL_LIB="$GD_LIB $ALL_LIB"
664 ALL_STATIC_LIB="$GD_STATIC $ALL_STATIC_LIB"
665
666 dnl Restore LIBS environment to state at beginning of gd tests.
667 LIBS="$ms_saved_LIBS"
668
669 dnl ---------------------------------------------------------------------
670 dnl Find PDFlib library
671 dnl
672 dnl If --with-pdflib not given, then check in system libs.
673 dnl ---------------------------------------------------------------------
674
675 dnl We don't want LIBS updated by all the PDF stuff, so we save it and
676 dnl restore later.
677
678 ms_saved_LIBS="$LIBS"
679
680 dnl Clear some cache variables
681 unset ac_cv_lib_pdf_PDF_setlinewidth
682 unset ac_cv_lib_pdf_PDF_setrgbcolor
683 unset ac_cv_lib_pdf_PDF_moveto
684 unset ac_cv_lib_pdf_PDF_curveto
685 unset ac_cv_lib_pdf_PDF_show_xy
686 unset ac_cv_lib_pdf_PDF_load_font
687
688 AC_CHECKING(whether we should include PDF support)
689 AC_ARG_WITH(pdf,
690 [  --without-pdf           Disable PDF support.
691   --with-pdf[[=DIR]]        Include PDF support (DIR is PDFlib's install dir).],,)
692 if test "$with_pdf" = "no" ; then
693   AC_MSG_RESULT([        disabled by --without-pdf])
694 elif test -n "$with_pdf" -a "$with_pdf" != "yes" ; then
695
696   AC_EXPAND_PATH($with_pdf, PDF_DIR)
697   test -f $PDF_DIR/include/pdflib.h && PDF_INCLUDE="$PDF_DIR/include"
698   test -f $PDF_DIR/libpdf/pdflib.h && PDF_INCLUDE="$PDF_DIR/libpdf"
699   test -f $PDF_DIR/include/libpdf/pdflib.h && PDF_INCLUDE="$PDF_DIR/include/libpdf"
700   test -f $PDF_DIR/pdflib.h && PDF_INCLUDE="$PDF_DIR"
701
702   test -f $PDF_DIR/lib/libpdf.a && PDF_LIBDIR="$PDF_DIR/lib"
703   test -f $PDF_DIR/lib64/libpdf.a && PDF_LIBDIR="$PDF_DIR/lib64"
704   test -f $PDF_DIR/libpdf/libpdf.a && PDF_LIBDIR="$PDF_DIR/libpdf"
705   test -f $PDF_DIR/libpdf.a && PDF_LIBDIR="$PDF_DIR"
706
707   test -f $PDF_DIR/lib/libpdf.so -o -f $PDF_DIR/lib/libpdf.sl -o -f $PDF_DIR/lib/libpdf.dylib && PDF_LIBDIR="$PDF_DIR/lib"
708   test -f $PDF_DIR/lib64/libpdf.so -o -f $PDF_DIR/lib64/libpdf.sl && PDF_LIBDIR="$PDF_DIR/lib64"
709   test -f $PDF_DIR/libpdf/libpdf.so -o -f $PDF_DIR/libpdf/libpdf.sl -o -f $PDF_DIR/libpdf/libpdf.dylib && PDF_LIBDIR="$PDF_DIR/libpdf"
710   test -f $PDF_DIR/libpdf.so -o -f $PDF_DIR/libpdf.sl -o -f $PDF_DIR/libpdf.dylib && PDF_LIBDIR="$PDF_DIR"
711
712   if test -n "$PDF_INCLUDE" -a -n "$PDF_LIBDIR" ; then
713
714       PDF_LIB="-L$PDF_LIBDIR -lpdf"
715       PDF_INC=-I$PDF_INCLUDE
716       AC_ADD_RUNPATH("$PDF_LIBDIR")
717   else
718       AC_MSG_ERROR("Could not find pdflib.h or libpdf.a/libpdf.so in $PDF_DIR.")
719   fi
720
721   PDF_VERSION_CHECK="pass"
722   AC_CHECK_LIB(pdf,PDF_setlinewidth,,PDF_VERSION_CHECK="fail",$PDF_LIB)
723   AC_CHECK_LIB(pdf,PDF_setrgbcolor,,PDF_VERSION_CHECK="fail",$PDF_LIB)
724   AC_CHECK_LIB(pdf,PDF_moveto,,PDF_VERSION_CHECK="fail",$PDF_LIB)
725   AC_CHECK_LIB(pdf,PDF_curveto,,PDF_VERSION_CHECK="fail",$PDF_LIB)
726   AC_CHECK_LIB(pdf,PDF_show_xy,,PDF_VERSION_CHECK="fail",$PDF_LIB)
727   AC_CHECK_LIB(pdf,PDF_load_font,,PDF_VERSION_CHECK="fail",$PDF_LIB)
728
729   if test "$PDF_VERSION_CHECK" = "fail" ; then
730       AC_MSG_ERROR([libpdf in $PDF_DIR missing some required functions. Please upgrade to a more recent version of libpdf.])
731   fi
732
733   PDF_ENABLED="-DUSE_PDF"
734   AC_MSG_RESULT([        using libpdf from $PDF_LIB.])
735
736 else
737
738   AC_CHECK_LIB(pdf,PDF_setlinewidth,PDF_LIB="-lpdf",,)
739   AC_CHECK_LIB(pdf,PDF_setrgbcolor,PDF_LIB="-lpdf",,)
740   AC_CHECK_LIB(pdf,PDF_moveto,PDF_LIB="-lpdf",,)
741   AC_CHECK_LIB(pdf,PDF_curveto,PDF_LIB="-lpdf",,)
742   AC_CHECK_LIB(pdf,PDF_show_xy,PDF_LIB="-lpdf",,)
743   AC_CHECK_LIB(pdf,PDF_load_font,PDF_LIB="-lpdf",,)
744   if test -n "$PDF_LIB" ; then
745       PDF_ENABLED=-DUSE_PDF
746       AC_MSG_RESULT([        using libpdf from system libs.])
747   else
748       AC_MSG_RESULT([        libpdf not found or too old... PDF support not included.])
749   fi
750
751 fi
752
753 dnl
754 dnl libpdf may need the same libs (libz, libjpeg) that are included with GD
755 dnl
756 PDF_LIB="$PDF_LIB"
757
758 AC_SUBST(PDF_ENABLED,$PDF_ENABLED)
759 AC_SUBST(PDF_INC,    $PDF_INC)
760 AC_SUBST(PDF_LIB,    $PDF_LIB)
761
762 ALL_ENABLED="$PDF_ENABLED $ALL_ENABLED"
763 ALL_INC="$PDF_INC $ALL_INC"
764 ALL_LIB="$PDF_LIB $ALL_LIB"
765
766 dnl Restore LIBS environment to state at beginning of PDF tests.
767 LIBS="$ms_saved_LIBS"
768
769 dnl ---------------------------------------------------------------------
770 dnl Optional AGG Support.
771 dnl ---------------------------------------------------------------------
772
773 AC_MSG_CHECKING(if AGG support requested)
774 AC_ARG_WITH(agg,
775 [  --with-agg[[=DIR]]        Include AGG support (DIR is AGG's install dir).],,)
776
777 if test "$with_agg" = "yes" ; then
778
779   if test -n "$FT_BIN" ; then
780      FT_INC=`$FT_BIN --cflags`
781   else
782      AC_MSG_ERROR([freetype required for agg support - please configure --with-freetype.])
783   fi
784  
785   with_agg="/usr"
786   AC_MSG_RESULT([looking for agg libs in /usr])
787 fi
788 if test -n "$with_agg" -a "$with_agg" != "no" ; then
789
790   if test -n "$FT_BIN" ; then
791      FT_INC=`$FT_BIN --cflags`
792   else
793      AC_MSG_ERROR([freetype required for agg support - please configure --with-freetype.])
794   fi
795  
796   AC_EXPAND_PATH($with_agg, AGG_DIR)
797
798   test -f $AGG_DIR/include/agg_rendering_buffer.h && AGG_INCLUDE="-I$AGG_DIR/include"
799   test -f $AGG_DIR/include/agg/agg_rendering_buffer.h && AGG_INCLUDE="-I$AGG_DIR/include/agg"
800   test -f $AGG_DIR/include/agg2/agg_rendering_buffer.h && AGG_INCLUDE="-I$AGG_DIR/include/agg2"
801
802   # Include font_freetype directory if we are building from source tree.
803   test -f $AGG_DIR/font_freetype/agg_font_freetype.h && AGG_INCLUDE="$AGG_INCLUDE -I$AGG_DIR/font_freetype"
804
805   if test -z "$AGG_INCLUDE" ; then
806       AC_MSG_ERROR("could not find agg_rendering_buffer.h in $AGG_DIR.")
807   fi
808
809   test -f $AGG_DIR/lib/libagg.a && AGG_LIBDIR="$AGG_DIR/lib"
810   test -f $AGG_DIR/lib/libagg.so && AGG_LIBDIR="$AGG_DIR/lib"
811   test -f $AGG_DIR/lib64/libagg.a && AGG_LIBDIR="$AGG_DIR/lib64"
812   test -f $AGG_DIR/lib64/libagg.so && AGG_LIBDIR="$AGG_DIR/lib64"
813   test -f $AGG_DIR/src/libagg.a && AGG_LIBDIR="$AGG_DIR/src"
814   test -f $AGG_DIR/src/libagg.so && AGG_LIBDIR="$AGG_DIR/src"
815
816   if test -z "$AGG_LIBDIR" ; then
817       AC_MSG_ERROR("could not find libagg.a or libagg.so in $AGG_DIR.")
818   fi
819
820   AC_MSG_RESULT([using libagg from $AGG_DIR])
821
822   dnl Check whether libaggfontfreetype is available, if yes then we'll use it,
823   dnl if not then we'll build agg_font_freetype.o from source.
824   test -f $AGG_LIBDIR/libaggfontfreetype.a && AGG_FT_LIB="-laggfontfreetype"
825   test -f $AGG_LIBDIR/libaggfontfreetype.so && AGG_FT_LIB="-laggfontfreetype"
826
827   if test -n "$AGG_FT_LIB" ; then
828     AC_MSG_RESULT([using libaggfontfreetype from $AGG_DIR])
829   else
830     dnl Build agg_font_freetype.o from source.
831     test -f $AGG_DIR/font_freetype/agg_font_freetype.cpp && AGG_FT_DIR="$AGG_DIR/font_freetype"
832
833     if test -z "$AGG_FT_DIR" ; then
834       AC_MSG_ERROR([could not find libaggfontfreetype or agg_font_freetype.cpp in $AGG_DIR. Please download and compile an AGG source package from http://antigrain.com/download/index.html, and then specify the location of the AGG source tree using --with-agg.])
835     fi
836
837     AGG_FT_OBJ=agg_font_freetype.o
838     AC_MSG_RESULT([libaggfontfreetype not found, building/linking agg_font_freetype.o from source])
839   fi
840
841   dnl If we got this far all is well!
842   AGG_ENABLED="-DUSE_AGG"
843   AGG_INC="$AGG_INCLUDE $FT_INC"
844   AGG_LIB="-L$AGG_LIBDIR -lagg $AGG_FT_LIB"
845   AC_ADD_RUNPATH("$AGG_LIBDIR")
846
847 else
848
849   AC_MSG_RESULT([no])
850
851 fi
852
853 AC_SUBST(AGG_ENABLED,$AGG_ENABLED)
854 AC_SUBST(AGG_INC,    $AGG_INC)
855 AC_SUBST(AGG_LIB,    $AGG_LIB)
856 AC_SUBST(AGG_FT_DIR, $AGG_FT_DIR)
857 AC_SUBST(AGG_FT_OBJ, $AGG_FT_OBJ)
858
859 ALL_ENABLED="$AGG_ENABLED $ALL_ENABLED"
860 ALL_INC="$AGG_INC $ALL_INC"
861 ALL_LIB="$AGG_LIB $ALL_LIB"
862
863 dnl ---------------------------------------------------------------------
864 dnl EPPL7 support (included by default)
865 dnl ---------------------------------------------------------------------
866
867 AC_CHECKING(whether we should include EPPL7 support)
868 AC_ARG_WITH(eppl,
869 [  --without-eppl          Disable EPPL7 support.
870   --with-eppl             Include EPPL7 support.],,)
871 if test "$with_eppl" = "no" ; then
872   AC_MSG_RESULT([        disabled by --without-eppl])
873 else
874
875   EPPL_OBJ="epplib.o"
876   EPPL_ENABLED="-DUSE_EPPL"
877
878   AC_MSG_RESULT([        including EPPL7 support.])
879
880 fi
881
882 AC_SUBST(EPPL_ENABLED,$EPPL_ENABLED)
883 AC_SUBST(EPPL_OBJ,    $EPPL_OBJ)
884
885 ALL_ENABLED="$EPPL_ENABLED $ALL_ENABLED"
886
887 dnl ---------------------------------------------------------------------
888 dnl Find PROJ.4 ONLY IF REQUESTED.
889 dnl ---------------------------------------------------------------------
890
891 dnl Clear some cache variables
892 unset ac_cv_lib_proj_pj_init
893 unset ac_cv_lib_proj_pj_transform
894 unset ac_cv_lib_proj_pj_latlong_from_proj
895
896 AC_CHECKING(whether we should include PROJ.4 support)
897 AC_ARG_WITH(proj,
898 [  --with-proj[[=DIR]]       Include PROJ.4 support (DIR is PROJ.4's install dir).],,)
899
900 if test "$with_proj" = "yes" ; then
901
902   AC_CHECK_LIB(proj,pj_init,PROJ_ENABLED=-DUSE_PROJ,,,)
903   AC_CHECK_LIB(proj,pj_transform,PJ_TRANSFORM=yes,PJ_TRANSFORM=no,,)
904
905   if test -n "$PROJ_ENABLED" -a "$PJ_TRANSFORM" = "no"; then
906       AC_MSG_ERROR([This version of PROJ is too old.  PROJ4.4.2 or later is required.])
907   elif test -n "$PROJ_ENABLED" -a "$PJ_TRANSFORM" = "yes"; then
908       PROJ_LIBS="-lproj"
909       AC_MSG_RESULT([        using PROJ.4 from system libs.])
910   else
911       AC_MSG_WARN([        PROJ.4 not found in system libs... use --with-proj=DIR.])
912   fi
913
914 elif test -n "$with_proj" -a "$with_proj" != "no" ; then
915
916   AC_EXPAND_PATH($with_proj, PROJ_DIR)
917   test -f $PROJ_DIR/include/proj_api.h && PROJ_INCLUDE="$PROJ_DIR/include"
918   test -f $PROJ_DIR/include/proj/proj_api.h && PROJ_INCLUDE="$PROJ_DIR/include/proj"
919   test -f $PROJ_DIR/src/proj_api.h && PROJ_INCLUDE="$PROJ_DIR/src"
920   test -f $PROJ_DIR/proj_api.h && PROJ_INCLUDE="$PROJ_DIR"
921
922   test -f $PROJ_DIR/src/.libs/libproj.a && PROJ_LIBDIR="$PROJ_DIR/src/.libs"
923   test -f $PROJ_DIR/lib/libproj.a && PROJ_LIBDIR="$PROJ_DIR/lib"
924   test -f $PROJ_DIR/lib64/libproj.a && PROJ_LIBDIR="$PROJ_DIR/lib64"
925   test -f $PROJ_DIR/libproj.a && PROJ_LIBDIR="$PROJ_DIR"
926
927   test -f $PROJ_DIR/src/.libs/libproj.so -o -f $PROJ_DIR/src/.libs/libproj.sl -o -f $PROJ_DIR/src/.libs/libproj.dylib && PROJ_LIBDIR="$PROJ_DIR/src/.libs"
928   test -f $PROJ_DIR/lib/libproj.so -o -f $PROJ_DIR/lib/libproj.sl -o -f $PROJ_DIR/lib/libproj.dylib && PROJ_LIBDIR="$PROJ_DIR/lib"
929   test -f $PROJ_DIR/lib64/libproj.so -o -f $PROJ_DIR/lib64/libproj.sl && PROJ_LIBDIR="$PROJ_DIR/lib64"
930   test -f $PROJ_DIR/libproj.so -o -f $PROJ_DIR/libproj.sl -o -f $PROJ_DIR/libproj.dylib && PROJ_LIBDIR="$PROJ_DIR"
931
932   if test -n "$PROJ_INCLUDE" -a -n "$PROJ_LIBDIR" ; then
933       PROJ_INC=-I$PROJ_INCLUDE
934       PROJ_LIBS="-L$PROJ_LIBDIR -lproj"
935       AC_ADD_RUNPATH("$PROJ_LIBDIR")
936   else
937       AC_MSG_ERROR("Could not find proj_api.h or libproj.a/libproj.so in $PROJ_DIR.")
938   fi
939
940   AC_CHECK_LIB(proj,pj_transform,PJ_TRANSFORM=yes,PJ_TRANSFORM=no,$PROJ_LIBS)
941   if test "$PJ_TRANSFORM" = "no"; then
942       AC_MSG_ERROR([This version of PROJ is too old.  PROJ4.4.2 or later is required.])
943   fi
944
945   PROJ_ENABLED=-DUSE_PROJ
946   AC_MSG_RESULT([        using PROJ.4 from $PROJ_DIR.])
947
948 else
949
950   AC_MSG_RESULT([        PROJ.4 support not requested.])
951 fi
952
953 AC_SUBST(PROJ_ENABLED,$PROJ_ENABLED)
954 AC_SUBST(PROJ_INC,    $PROJ_INC)
955 AC_SUBST(PROJ_LIBS,   $PROJ_LIBS)
956
957 ALL_ENABLED="$PROJ_ENABLED $ALL_ENABLED"
958 ALL_INC="$PROJ_INC $ALL_INC"
959 ALL_LIB="$PROJ_LIBS $ALL_LIB"
960
961 dnl ---------------------------------------------------------------------
962 dnl ENABLE THREADS ONLY IF REQUESTED.
963 dnl ---------------------------------------------------------------------
964
965 THREAD_LIB=""
966 THREAD_FLAG=""
967
968 AC_CHECKING(whether we should include thread safe support)
969 AC_ARG_WITH(threads,
970 [  --with-threads[[=linkopt]]Include thread safe support],,)
971
972 if test "$with_threads" = "yes" ; then
973
974   AC_CHECK_LIB(pthread,pthread_create,THREAD_FLAG=-DUSE_THREAD,,,)
975
976   if test -n "$THREAD_FLAG" ; then
977       THREAD_LIB="-lpthread"
978       AC_MSG_RESULT([        using -lpthread from system libs.])
979   else
980       AC_MSG_ERROR([        -lpthread not found, use --with-thread=<pthread link options>])
981   fi
982
983 elif test -n "$with_threads" -a "$with_threads" != "no" ; then
984
985   THREAD_FLAG=-DUSE_THREAD
986   THREAD_LIB="$with_threads" 
987
988   AC_MSG_RESULT([        using threads with link options "$THREAD_LIB".])
989
990 else
991   AC_MSG_RESULT([        thread safe support disabled.])
992 fi
993
994 AC_SUBST(THREAD_FLAG,$THREAD_FLAG)
995 AC_SUBST(THREAD_LIB,$THREAD_LIB)
996
997 ALL_ENABLED="$THREAD_FLAG $ALL_ENABLED"
998 ALL_LIB="$THREAD_LIB $ALL_LIB"
999
1000 dnl ---------------------------------------------------------------------
1001 dnl Find ESRI SDE ONLY IF REQUESTED.
1002 dnl ---------------------------------------------------------------------
1003
1004 AC_CHECKING(whether we should include ESRI SDE support)
1005 AC_ARG_WITH(sde,
1006 [  --with-sde[[=DIR]]        Include ESRI SDE support (DIR is SDE's install dir).],,)
1007
1008 AC_ARG_WITH(sde-version,
1009 [  --with-sde-version[[=VERSION NUMBER]]  Set ESRI SDE version number (Default
1010                           is 91).],SDE_VERSION=$with_sde_version,SDE_VERSION=91)
1011
1012 if test -z "$SDE_VERSION" -o `expr "$SDE_VERSION" \>\= 92` = 1; then
1013 SDE_VERSION=""
1014 fi
1015 if test "$with_sde" = "yes" ; then
1016
1017   AC_CHECK_LIB(sde$SDE_VERSION,SE_connection_create,SDE_ENABLED=-DUSE_SDE,,,)
1018
1019   if test -n "$SDE_ENABLED" ; then
1020       SDE_LIB="-lsde$SDE_VERSION -lpe$SDE_VERSION -lsg$SDE_VERSION"
1021       AC_CHECK_LIB(pthread, main, SDE_LIB="$SDE_LIB -lpthread",,)
1022       AC_CHECK_LIB(socket, main, SDE_LIB="$SDE_LIB -lsocket",,)
1023       AC_CHECK_LIB(dl, main, SDE_LIB="$SDE_LIB -ldl",,)
1024       AC_MSG_RESULT([        using ESRI SDE from system libs.])
1025   else
1026       AC_MSG_WARN([        ESRI SDE not found in system libs... use --with-sde=DIR.])
1027   fi
1028
1029 elif test -n "$with_sde" -a "$with_sde" != "no" ; then
1030
1031   AC_EXPAND_PATH($with_sde, SDE_DIR)
1032
1033   test -f $SDE_DIR/arcsde/coverages/include/sdetype.h && SDE_INCDIR="$SDE_DIR/arcsde/coverages/include"
1034   test -f $SDE_DIR/include/sdetype.h && SDE_INCDIR="$SDE_DIR/include"
1035   test -f $SDE_DIR/sdetype.h && SDE_INCDIR="$SDE_DIR"
1036
1037   test -f $SDE_DIR/lib/libsde$SDE_VERSION.a && SDE_LIBDIR="$SDE_DIR/lib"
1038   test -f $SDE_DIR/lib64/libsde$SDE_VERSION.a && SDE_LIBDIR="$SDE_DIR/lib64"
1039   test -f $SDE_DIR/libsde$SDE_VERSION.a && SDE_LIBDIR="$SDE_DIR"
1040
1041   test -f $SDE_DIR/lib/libsde$SDE_VERSION.so -o -f $SDE_DIR/lib/libsde$SDE_VERSION.sl && SDE_LIBDIR="$SDE_DIR/lib"
1042   test -f $SDE_DIR/lib64/libsde$SDE_VERSION.so -o -f $SDE_DIR/lib64/libsde$SDE_VERSION.sl && SDE_LIBDIR="$SDE_DIR/lib64"
1043   test -f $SDE_DIR/libsde$SDE_VERSION.so -o -f $SDE_DIR/libsde$SDE_VERSION.sl && SDE_LIBDIR="$SDE_DIR"
1044
1045   if test -n "$SDE_INCDIR" -a -n "$SDE_LIBDIR" ; then
1046       SDE_INC=-I$SDE_INCDIR
1047       SDE_LIB="-L$SDE_LIBDIR -lsde$SDE_VERSION -lpe$SDE_VERSION -lsg$SDE_VERSION"
1048       AC_CHECK_LIB(pthread, main, SDE_LIB="$SDE_LIB -lpthread",,)
1049       AC_CHECK_LIB(socket, main, SDE_LIB="$SDE_LIB -lsocket",,)
1050       AC_CHECK_LIB(dl, main, SDE_LIB="$SDE_LIB -ldl",,)
1051       AC_ADD_RUNPATH("$SDE_LIBDIR")
1052   else
1053       AC_MSG_ERROR("Could not find sdetype.h or libsde$SDE_VERSION.a/libsde$SDE_VERSION.so in $SDE_DIR.")
1054   fi
1055
1056   SDE_ENABLED=-DUSE_SDE
1057   AC_MSG_RESULT([        using ESRI SDE from $SDE_DIR.])
1058
1059 else
1060
1061   AC_MSG_RESULT([        ESRI SDE support not requested.])
1062 fi
1063
1064 AC_SUBST(SDE_ENABLED,$SDE_ENABLED)
1065 AC_SUBST(SDE_INC,    $SDE_INC)
1066 AC_SUBST(SDE_LIB,    $SDE_LIB)
1067
1068 ALL_ENABLED="$SDE_ENABLED $ALL_ENABLED"
1069 ALL_INC="$SDE_INC $ALL_INC"
1070 ALL_LIB="$SDE_LIB $ALL_LIB"
1071
1072 dnl ---------------------------------------------------------------------
1073 dnl Find GEOS ONLY IF REQUESTED.
1074 dnl ---------------------------------------------------------------------
1075
1076 AC_MSG_CHECKING(if GEOS support requested)
1077
1078 AC_ARG_WITH(geos,
1079 [  --with-geos[[=PATH]]      Include GEOS support (PATH is path to geos-config)],,)
1080
1081 if test -n "$with_geos" -a "$with_geos" != "no" ; then
1082
1083   AC_MSG_RESULT([yes])
1084
1085   GEOS_CONFIG=$with_geos
1086
1087   if test "$GEOS_CONFIG" = "yes" ; then
1088
1089     AC_PATH_PROG(GEOS_CONFIG, geos-config, no)
1090
1091     if test "$GEOS_CONFIG" = "no" ; then
1092       AC_MSG_ERROR([couldn't find geos-config in default path. Please specify full path to geos-config])
1093     fi
1094
1095   elif test -f "$GEOS_CONFIG" -a -x "$GEOS_CONFIG" ; then
1096     AC_MSG_RESULT([user supplied geos-config ($GEOS_CONFIG)])
1097   else
1098     AC_MSG_ERROR(['$GEOS_CONFIG' is not an executable.  Make sure you use --with-geos=/path/to/geos-config])
1099   fi
1100
1101   dnl
1102   dnl Test that we have at least version 2.2.2
1103   dnl (Version check code borrowed from GDAL's geos.m4)
1104   dnl
1105
1106   min_geos_version=2.2.2
1107
1108   AC_MSG_CHECKING(for GEOS version >= $min_geos_version)
1109
1110   geos_major_version=`$GEOS_CONFIG --version | \
1111        sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
1112   geos_minor_version=`$GEOS_CONFIG --version | \
1113        sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
1114   geos_micro_version=`$GEOS_CONFIG --version | \
1115        sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
1116
1117   req_major=`echo $min_geos_version | \
1118        sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'`
1119   req_minor=`echo $min_geos_version | \
1120        sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\2/'`
1121   req_micro=`echo $min_geos_version | \
1122        sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\3/'`
1123      
1124   ac_req_version=`expr $req_major \* 100000 \+  $req_minor \* 100 \+ $req_micro`
1125   ac_geos_version=`expr $geos_major_version \* 100000 \+  $geos_minor_version \* 100 \+ $geos_micro_version`
1126
1127   if test $ac_req_version -le $ac_geos_version; then
1128      AC_MSG_RESULT([yes. Found version ${geos_major_version}.${geos_minor_version}.${geos_micro_version}])
1129   else
1130      AC_MSG_RESULT(no)
1131      AC_MSG_ERROR([geos-config reports version ${geos_major_version}.${geos_minor_version}.${geos_micro_version}, need at least $min_geos_version or configure --without-geos])
1132   fi
1133
1134  
1135   dnl
1136   dnl All checks passed. Set compile flags
1137   dnl
1138
1139   GEOS_ENABLED=-DUSE_GEOS
1140
1141   GEOS_INCDIR=`$GEOS_CONFIG --includes`
1142   GEOS_INC="-I$GEOS_INCDIR"
1143   GEOS_LIB="`$GEOS_CONFIG --libs`_c"
1144
1145   AC_SUBST(GEOS_ENABLED,$GEOS_ENABLED)
1146   AC_SUBST(GEOS_INC,    $GEOS_INC)
1147   AC_SUBST(GEOS_LIB,    $GEOS_LIB)
1148
1149   ALL_ENABLED="$GEOS_ENABLED $ALL_ENABLED"
1150   ALL_INC="$GEOS_INC $ALL_INC"
1151   ALL_LIB="$GEOS_LIB $ALL_LIB"
1152
1153 else
1154
1155   AC_MSG_RESULT([no])
1156
1157 fi
1158
1159 dnl ---------------------------------------------------------------------
1160 dnl Find OGR ONLY IF REQUESTED.
1161 dnl ---------------------------------------------------------------------
1162
1163 AC_CHECKING(whether we should include OGR support)
1164 AC_ARG_WITH(ogr,
1165 [  --with-ogr[[=PATH]]       Include OGR support (PATH is path to gdal-config).],,)
1166
1167 if test "`basename xx/$with_ogr`" = "gdal-config" ; then
1168   GDAL_CONFIG="$with_ogr"
1169 fi
1170
1171 if test "$with_ogr" = "yes" ; then
1172  AC_PATH_PROG(GDAL_CONFIG, gdal-config, no)
1173
1174   if test "$GDAL_CONFIG" = "no" ; then
1175     AC_MSG_ERROR([couldn't find gdal-config])
1176   fi
1177 fi
1178
1179 if test -n "