1AC_INIT([imlib2], [1.7.0], [enlightenment-devel@lists.sourceforge.net])
2AC_CONFIG_SRCDIR(configure.ac)
3AC_CONFIG_MACRO_DIR([m4])
4AC_CANONICAL_BUILD
5AC_CANONICAL_HOST
6
7AM_INIT_AUTOMAKE(1.6 dist-bzip2)
8m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
9
10AC_C_BIGENDIAN
11AC_PROG_CC
12AM_PROG_AS
13
14AC_HEADER_STDC
15AC_C_CONST
16
17dnl Next two lines is a hack to prevent libtool checking for CXX/F77
18define([AC_LIBTOOL_LANG_CXX_CONFIG], [:])dnl
19define([AC_LIBTOOL_LANG_F77_CONFIG], [:])dnl
20LT_INIT
21
22VERSION_CUR=8
23VERSION_REV=0
24VERSION_AGE=7
25lt_version=${VERSION_CUR}:${VERSION_REV}:${VERSION_AGE}
26AC_SUBST(lt_version)
27
28PKG_PROG_PKG_CONFIG
29
30
31mmx=no
32amd64=no
33case $host_cpu in
34  i*86)   mmx="yes";;
35  x86_64) amd64="yes";;
36  amd64) amd64="yes";;
37esac
38
39case $host_os in
40  solaris*) mmx="no";;
41  darwin*) mmx="no";;
42esac
43
44AC_ARG_ENABLE([mmx],
45  [AS_HELP_STRING([--enable-mmx], [attempt compiling using x86 mmx assembly @<:@default=auto@:>@])],
46  [
47   if test x$enableval = xyes; then
48     mmx=yes
49     # Cannot compile with both options enabled
50     amd64=no
51   else
52     mmx=no
53   fi
54  ]
55)
56
57AC_ARG_ENABLE([amd64],
58  [AS_HELP_STRING([--enable-amd64], [attempt compiling using amd64 assembly @<:@default=auto@:>@])],
59  [
60   if test x$enableval = xyes; then
61     amd64=yes
62     mmx=no
63   else
64     amd64=no
65   fi
66  ]
67)
68
69AC_MSG_CHECKING(whether to enable x86 mmx support)
70if test x$mmx = xyes; then
71  AC_DEFINE(DO_MMX_ASM, 1, [enabling MMX Assembly])
72fi
73AC_MSG_RESULT($mmx)
74AM_CONDITIONAL(BUILD_MMX, test x$mmx = xyes)
75
76AC_MSG_CHECKING(whether to enable amd64 asm support)
77if test x$amd64 = xyes; then
78  AC_DEFINE(DO_AMD64_ASM, 1, [enabling AMD64 Assembly])
79fi
80AC_MSG_RESULT($amd64)
81AM_CONDITIONAL(BUILD_AMD64, test x$amd64 = xyes)
82
83# check for freetype
84PKG_CHECK_MODULES(FREETYPE, freetype2)
85
86AC_PATH_X
87AC_PATH_XTRA
88
89if test "x$have_x" = "xno"; then
90   # If --without-x was passed, this will be "disabled" instead of "no" --
91   # so always treat "no" as an error
92   AC_MSG_ERROR(
93[no X support found.  Use --x-includes and --x-libraries to specify the X
94path on your system, or --without-x to disable X support.])
95fi
96
97if test "x$have_x" = "xyes"; then
98  AC_DEFINE(BUILD_X11, 1, [enabling X11 support])
99  AC_MSG_CHECKING(whether to enable X11 MIT-SHM FD-passing support)
100  AC_ARG_WITH([x-shm-fd],
101    [AS_HELP_STRING([--without-x-shm-fd], [Disable X11 MIT-SHM FD-passing support])],
102    [
103     if test "$withval" = no ; then
104       x_shm_fd=no
105     else
106       x_shm_fd=yes
107     fi
108    ],
109    [ x_shm_fd=auto ]
110  )
111  AC_MSG_RESULT($x_shm_fd)
112
113  if test "$x_shm_fd" != no ; then
114    PKG_CHECK_MODULES(X_SHM_FD, x11-xcb xcb xcb-shm >= 1.9, [ x_shm_fd="yes" ], [ x_shm_fd="no"])
115  else
116    x_shm_fd="no"
117  fi
118  if test "$x_shm_fd" = yes ; then
119    AC_DEFINE(HAVE_X11_SHM_FD, 1, [enabling X11 MIT-SHM FD-passing support])
120  fi
121else
122  have_x="no"
123  x_shm_fd="no"
124fi
125AM_CONDITIONAL(BUILD_X11, test "x$have_x" = "xyes")
126
127AC_CHECK_LIB(dl, dlopen, DLOPEN_LIBS=-ldl)
128AC_SUBST(DLOPEN_LIBS)
129
130
131AC_MSG_CHECKING(whether to enable jpeg support)
132AC_ARG_WITH([jpeg],
133  [AS_HELP_STRING([--without-jpeg], [Disable JPEG image loader])],
134  [
135   if test "$withval" = no ; then
136     jpeg_loader=no
137   else
138     jpeg_loader=yes
139   fi
140  ],
141  [ jpeg_loader=auto ]
142)
143AC_MSG_RESULT($jpeg_loader)
144
145if test "$jpeg_loader" != no ; then
146  AC_CHECK_LIB(jpeg, jpeg_destroy_decompress, jpeg_ok=yes, jpeg_ok=no)
147  if test "$jpeg_ok" = yes; then
148    AC_CHECK_HEADER([jpeglib.h], , jpeg_ok=no)
149    if test "$jpeg_ok" = yes; then
150      JPEGLIBS="-ljpeg"
151    fi
152  fi
153  if test "$jpeg_ok" = no ; then
154    if test "$jpeg_loader" = yes ; then
155      AC_MSG_ERROR(JPEG support was requested but system does not support it)
156    else
157      AC_MSG_WARN(*** Native JPEG support will not be built (JPEG not found) ***)
158    fi
159  fi
160else
161  jpeg_ok=no
162fi
163AM_CONDITIONAL(BUILD_JPEG_LOADER, test "$jpeg_ok" = yes)
164AC_SUBST(JPEGLIBS)
165
166
167AC_MSG_CHECKING(whether to enable png support)
168AC_ARG_WITH([png],
169  [AS_HELP_STRING([--without-png], [Disable PNG image loader])],
170  [
171   if test "$withval" = no ; then
172     png_loader=no
173   else
174     png_loader=yes
175   fi
176  ],
177  [ png_loader=auto ]
178)
179AC_MSG_RESULT($png_loader)
180
181if test "$png_loader" != no ; then
182  PKG_CHECK_MODULES(PNG, libpng, [ png_ok="yes" ], [
183    PKG_CHECK_MODULES(PNG, libpng12, [ png_ok="yes" ], [
184      PKG_CHECK_MODULES(PNG, libpng10, [ png_ok="yes" ], [ png_ok="no"])
185    ])
186  ])
187else
188  png_ok="no"
189fi
190AM_CONDITIONAL(BUILD_PNG_LOADER, test "$png_ok" = yes)
191
192AC_MSG_CHECKING(whether to enable webp support)
193AC_ARG_WITH([webp],
194  [AS_HELP_STRING([--without-webp], [Disable WEBP image loader])],
195  [
196   if test "$withval" = no ; then
197     webp_loader=no
198   else
199     webp_loader=yes
200   fi
201  ],
202  [ webp_loader=auto ]
203)
204AC_MSG_RESULT($webp_loader)
205
206if test "$webp_loader" != no ; then
207  PKG_CHECK_MODULES(WEBP, libwebp, [ webp_ok="yes" ], [ webp_ok="no" ])
208else
209  webp_ok="no"
210fi
211AM_CONDITIONAL(BUILD_WEBP_LOADER, test "$webp_ok" = yes)
212
213
214AC_MSG_CHECKING(whether to enable tiff support)
215AC_ARG_WITH([tiff],
216  [AS_HELP_STRING([--without-tiff], [Disable TIFF image loader])],
217  [
218   if test "$withval" = no ; then
219     tiff_loader=no
220   else
221     tiff_loader=yes
222   fi
223  ],
224  [ tiff_loader=auto ]
225)
226AC_MSG_RESULT($tiff_loader)
227
228if test "$tiff_loader" != no ; then
229  AC_CHECK_LIB(tiff, TIFFReadScanline,
230    tiff_libs="-ltiff"
231    tiff_ok=yes,
232  AC_CHECK_LIB(tiff, TIFFReadScanline,
233    tiff_libs="-ltiff -ljpeg -lz -lm"
234    tiff_ok=yes,
235  AC_CHECK_LIB(tiff34, TIFFReadScanline,
236    tiff_libs="-ltiff34 -ljpeg -lz -lm"
237    tiff_ok=yes,
238    tiff_ok=no,
239    -ljpeg -lz -lm),
240    -ljpeg -lz -lm),
241    )
242  if test "$tiff_ok" = yes; then
243    AC_CHECK_HEADER([tiffio.h], , tiff_ok=no)
244    if test "$tiff_ok" = yes; then
245      TIFFLIBS=$tiff_libs
246    fi
247  fi
248  if test "$tiff_ok" = no ; then
249    if test "$tiff_loader" = yes ; then
250      AC_MSG_ERROR(TIFF support was requested but system does not support it)
251    else
252      AC_MSG_WARN(*** Native TIFF support will not be built (TIFF not found) ***)
253    fi
254  fi
255else
256  tiff_ok=no
257fi
258AM_CONDITIONAL(BUILD_TIFF_LOADER, test "$tiff_ok" = yes)
259AC_SUBST(TIFFLIBS)
260
261
262AC_MSG_CHECKING(whether to enable gif support)
263gif_lib=any
264AC_ARG_WITH([gif],
265  [AS_HELP_STRING([--without-gif], [Disable GIF image loader])],
266  [
267   if test "$withval" = no ; then
268     gif_loader=no
269   else
270     gif_loader=yes
271     case "$withval" in
272       giflib)   gif_lib=giflib;;
273       libungif) gif_lib=libungif;;
274     esac
275   fi
276  ],
277  [ gif_loader=auto ]
278)
279AC_MSG_RESULT($gif_loader)
280
281if test "$gif_loader" != no ; then
282  AC_MSG_CHECKING(for preferred gif provider)
283  AC_MSG_RESULT($gif_lib)
284
285  if test "$gif_lib" != libungif ; then
286    AC_CHECK_LIB(gif, DGifOpenFileName, gif_libs="-lgif" gif_ok=yes, gif_ok=no)
287    if test "$gif_ok" = yes; then
288      AC_CHECK_HEADER([gif_lib.h], , gif_ok=no)
289      if test "$gif_ok" = yes; then
290        GIFLIBS=$gif_libs
291        gif_lib=giflib
292      fi
293    fi
294  fi
295
296  if test "$gif_lib" != giflib ; then
297    AC_CHECK_LIB(ungif, DGifOpenFileName, gif_libs="-lungif" gif_ok=yes, gif_ok=no)
298    if test "$gif_ok" = yes; then
299      AC_CHECK_HEADER([gif_lib.h], , gif_ok=no)
300      if test "$gif_ok" = yes; then
301        GIFLIBS=$gif_libs
302        gif_lib=libungif
303      fi
304    fi
305  fi
306
307  if test "$gif_ok" = no ; then
308    if test "$gif_loader" = yes ; then
309      AC_MSG_ERROR(GIF support was requested but system does not support it)
310    else
311      AC_MSG_WARN(*** Native GIF support will not be built (GIF not found) ***)
312    fi
313  fi
314else
315  gif_ok=no
316fi
317AM_CONDITIONAL(BUILD_GIF_LOADER, test "$gif_ok" = yes)
318AC_SUBST(GIFLIBS)
319
320
321AC_MSG_CHECKING(whether to enable zlib support)
322AC_ARG_WITH([zlib],
323  [AS_HELP_STRING([--without-zlib], [Disable ZLIB loader])],
324  [
325   if test "$withval" = no ; then
326     zlib_loader=no
327   else
328     zlib_loader=yes
329   fi
330  ],
331  [ zlib_loader=auto ]
332)
333AC_MSG_RESULT($zlib_loader)
334
335if test "$zlib_loader" != no ; then
336  AC_CHECK_LIB(z, uncompress, zlib_ok=yes, zlib_ok=no)
337  if test "$zlib_ok" = yes; then
338    AC_CHECK_HEADER([zlib.h], , zlib_ok=no)
339    if test "$zlib_ok" = yes; then
340      ZLIBLIBS="-lz"
341    fi
342  fi
343  if test "$zlib_ok" = no ; then
344    if test "$zlib_loader" = yes ; then
345      AC_MSG_ERROR(ZLIB support was requested but system does not support it)
346    else
347      AC_MSG_WARN(*** Native zlib support will not be built (zlib not found) ***)
348    fi
349  fi
350else
351  zlib_ok=no
352fi
353AM_CONDITIONAL(BUILD_ZLIB_LOADER, test "$zlib_ok" = yes)
354AC_SUBST(ZLIBLIBS)
355
356
357AC_MSG_CHECKING(whether to enable bzip2 support)
358AC_ARG_WITH([bzip2],
359  [AS_HELP_STRING([--without-bzip2], [Disable BZIP2 loader])],
360  [
361   if test "$withval" = no ; then
362     bz2_loader=no
363   else
364     bz2_loader=yes
365   fi
366  ],
367  [ bz2_loader=auto ]
368)
369AC_MSG_RESULT($bz2_loader)
370
371if test "$bz2_loader" != no ; then
372  AC_CHECK_LIB(bz2, BZ2_bzRead, bz2_ok=yes, bz2_ok=no)
373  if test "$bz2_ok" = yes; then
374    AC_CHECK_HEADER([bzlib.h], , bz2_ok=no)
375    if test "$bz2_ok" = yes; then
376      BZ2LIBS="-lbz2"
377    fi
378  fi
379  if test "$bz2_ok" = no ; then
380    if test "$bz2_loader" = yes ; then
381      AC_MSG_ERROR(BZIP2 support was requested but system does not support it)
382    else
383      AC_MSG_WARN(*** Native bz2 support will not be built (bzip2 not found) ***)
384    fi
385  fi
386else
387  bz2_ok=no
388fi
389AM_CONDITIONAL(BUILD_BZ2_LOADER, test "$bz2_ok" = yes)
390AC_SUBST(BZ2LIBS)
391
392
393AC_MSG_CHECKING(whether to enable id3 support)
394AC_ARG_WITH([id3],
395  [AS_HELP_STRING([--without-id3], [Disable ID3 loader])],
396  [
397   if test "$withval" = no ; then
398     id3_loader=no
399   else
400     id3_loader=yes
401   fi
402  ],
403  [ id3_loader=auto ]
404)
405AC_MSG_RESULT($id3_loader)
406
407if test "$id3_loader" != no ; then
408  AC_CHECK_LIB(id3tag, id3_file_open,
409    id3_libs="-lz -lid3tag"
410    id3_ok=yes,
411    id3_ok=no,
412    -lz)
413  if test "$id3_ok" = yes; then
414    AC_CHECK_HEADER([id3tag.h], , id3_ok=no)
415    if test "$id3_ok" = yes; then
416      ID3LIBS=$id3_libs
417    fi
418  fi
419  if test "$id3_ok" = no ; then
420    if test "$id3_loader" = yes ; then
421      AC_MSG_ERROR(ID3 support was requested but system does not support it)
422    else
423      AC_MSG_WARN(*** Native mp3 support will not be built (id3tag not found) ***)
424    fi
425  fi
426else
427  id3_ok=no
428fi
429AM_CONDITIONAL(BUILD_ID3_LOADER, test "$id3_ok" = yes)
430AC_SUBST(ID3LIBS)
431
432
433EC_C_WARNINGS()
434EC_C_VISIBILITY(yes)
435
436AC_CONFIG_HEADERS(config.h)
437AC_CONFIG_FILES([
438Makefile
439imlib2.pc
440src/Makefile
441src/lib/Makefile
442src/bin/Makefile
443src/modules/Makefile
444src/modules/filters/Makefile
445src/modules/loaders/Makefile
446data/Makefile
447data/fonts/Makefile
448data/images/Makefile
449doc/Makefile
450imlib2-config
451README
452imlib2.spec
453])
454AC_CONFIG_COMMANDS([default],[
455chmod +x imlib2-config
456],[])
457AC_OUTPUT
458
459#####################################################################
460## Info
461echo
462echo
463echo "------------------------------------------------------------------------"
464echo "$PACKAGE $VERSION"
465echo "------------------------------------------------------------------------"
466echo
467echo "Configuration Options Summary:"
468echo
469echo "Image loaders:"
470echo "  JPEG....................: $jpeg_ok"
471echo "  PNG.....................: $png_ok"
472echo "  TIFF....................: $tiff_ok"
473echo "  GIF.....................: $gif_ok"
474echo "  WEBP....................: $webp_ok"
475echo "  ZLIB....................: $zlib_ok"
476echo "  BZIP2...................: $bz2_ok"
477echo "  ID3.....................: $id3_ok"
478echo
479echo "Build for X11.............: $have_x"
480echo "Use X MIT-SHM FD-passing..: $x_shm_fd"
481echo
482echo "Use X86 MMX for speed.....: $mmx"
483echo "Use AMD64 for speed.......: $amd64"
484echo
485echo "Use visibility hiding.....: $enable_visibility_hiding"
486echo
487echo "Installation path.........: $prefix"
488echo
489