/
configure.in
392 lines (354 loc) · 12.6 KB
1
dnl Process this file with autoconf to produce a configure script.
2
AC_INIT(README.txt)
3
4
5
6
7
8
9
10
11
12
13
dnl Set various version strings - taken gratefully from the GTk sources
# Making releases:
# MICRO_VERSION += 1;
# INTERFACE_AGE += 1;
# BINARY_AGE += 1;
# if any functions have been added, set INTERFACE_AGE to 0.
# if backwards compatibility has been broken,
# set BINARY_AGE and INTERFACE_AGE to 0.
14
15
MAJOR_VERSION=2
MINOR_VERSION=0
16
17
18
MICRO_VERSION=6
INTERFACE_AGE=0
BINARY_AGE=6
19
20
21
22
23
24
25
26
27
28
VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
AC_SUBST(MAJOR_VERSION)
AC_SUBST(MINOR_VERSION)
AC_SUBST(MICRO_VERSION)
AC_SUBST(INTERFACE_AGE)
AC_SUBST(BINARY_AGE)
AC_SUBST(VERSION)
# libtool versioning
29
30
LT_INIT([win32-dll])
31
32
33
34
35
36
37
38
39
40
LT_RELEASE=$MAJOR_VERSION.$MINOR_VERSION
LT_CURRENT=`expr $MICRO_VERSION - $INTERFACE_AGE`
LT_REVISION=$INTERFACE_AGE
LT_AGE=`expr $BINARY_AGE - $INTERFACE_AGE`
AC_SUBST(LT_RELEASE)
AC_SUBST(LT_CURRENT)
AC_SUBST(LT_REVISION)
AC_SUBST(LT_AGE)
41
42
dnl Detect the canonical build and host environments
AC_CANONICAL_HOST
43
44
dnl Setup for automake
45
AM_INIT_AUTOMAKE(SDL2_image, $VERSION)
46
47
dnl Check for tools
48
AC_PROG_LIBTOOL
49
AC_PROG_CC
50
AC_PROG_OBJC
51
AC_C_INLINE
52
AC_PROG_INSTALL
53
54
55
56
57
58
59
AC_PROG_MAKE_SET
if test -z "$host_alias"; then
hostaliaswindres=
else
hostaliaswindres="$host_alias-windres"
fi
AC_CHECK_PROGS(WINDRES, [windres $hostaliaswindres $host_os-windres])
60
61
case "$host" in
62
63
64
*-*-beos*)
ac_default_prefix=/boot/develop/tools/gnupro
;;
65
*-*-cygwin* | *-*-mingw32*)
66
if test "$build" != "$host"; then # cross-compiling
67
# Default cross-compile location
68
ac_default_prefix=/usr/local/cross-tools/$host
69
70
else
# Look for the location of the tools and install there
71
if test "$BUILD_PREFIX" != ""; then
72
73
ac_default_prefix=$BUILD_PREFIX
fi
74
fi
75
76
77
if test x$WINDRES != x; then
use_version_rc=true
fi
78
;;
79
80
81
*-*-darwin*)
AC_ARG_ENABLE([imageio], [AC_HELP_STRING([--enable-imageio], [use native Mac OS X frameworks for loading images [default=yes]])],
[], [enable_imageio=yes])
82
83
84
dnl Show a message when we use ImageIO support so it's not a surprise
AC_MSG_CHECKING([for ImageIO support])
AC_MSG_RESULT($enable_imageio)
85
if test x$enable_imageio = xyes; then
86
IMG_LIBS="-Wl,-framework,ApplicationServices -lobjc $IMG_LIBS"
87
88
89
90
else
CFLAGS="$CFLAGS -DSDL_IMAGE_USE_COMMON_BACKEND"
fi
;;
91
esac
92
AM_CONDITIONAL(USE_IMAGEIO, test x$enable_imageio = xyes)
93
AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
dnl set this to use on systems that use lib64 instead of lib
base_libdir=`echo \${libdir} | sed 's/.*\/\(.*\)/\1/; q'`
dnl Function to find a library in the compiler search path
find_lib()
{
gcc_bin_path=[`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
env_lib_path=[`echo $LIBS $LDFLAGS $* | sed 's/-L[ ]*//g'`]
if test "$cross_compiling" = yes; then
host_lib_path=""
else
host_lib_path="/usr/$base_libdir /usr/local/$base_libdir"
fi
109
for path in $env_lib_path $gcc_bin_path $gcc_lib_path $host_lib_path; do
110
lib=[`ls -- $path/$1 2>/dev/null | sed -e '/\.so\..*\./d' -e 's,.*/,,' | sort | tail -1`]
111
112
113
114
115
116
117
if test x$lib != x; then
echo $lib
return
fi
done
}
118
dnl Check command-line options
119
AC_ARG_ENABLE([bmp], [AC_HELP_STRING([--enable-bmp], [support loading BMP/ICO/CUR images [default=yes]])],
120
121
122
123
124
[], [enable_bmp=yes])
AC_ARG_ENABLE([gif], [AC_HELP_STRING([--enable-gif], [support loading GIF images [default=yes]])],
[], [enable_gif=yes])
AC_ARG_ENABLE([jpg], [AC_HELP_STRING([--enable-jpg], [support loading JPG images [default=yes]])],
[], [enable_jpg=yes])
125
126
AC_ARG_ENABLE([jpg-shared], AC_HELP_STRING([--enable-jpg-shared], [dynamically load JPG support [[default=yes]]]),
[], [enable_jpg_shared=yes])
127
128
129
130
AC_ARG_ENABLE([lbm], [AC_HELP_STRING([--enable-lbm], [support loading LBM images [default=yes]])],
[], [enable_lbm=yes])
AC_ARG_ENABLE([pcx], [AC_HELP_STRING([--enable-pcx], [support loading PCX images [default=yes]])],
[], [enable_pcx=yes])
131
AC_ARG_ENABLE([png], [AC_HELP_STRING([--enable-png], [support loading PNG images [default=yes]])],
132
[], [enable_png=yes])
133
134
AC_ARG_ENABLE([png-shared], AC_HELP_STRING([--enable-png-shared], [dynamically load PNG support [[default=yes]]]),
[], [enable_png_shared=yes])
135
136
AC_ARG_ENABLE([pnm], [AC_HELP_STRING([--enable-pnm], [support loading PNM images [default=yes]])],
[], [enable_pnm=yes])
137
138
AC_ARG_ENABLE([svg], [AC_HELP_STRING([--enable-svg], [support loading SVG images [default=yes]])],
[], [enable_svg=yes])
139
140
AC_ARG_ENABLE([tga], [AC_HELP_STRING([--enable-tga], [support loading TGA images [default=yes]])],
[], [enable_tga=yes])
141
142
143
144
AC_ARG_ENABLE([tif], [AC_HELP_STRING([--enable-tif], [support loading TIFF images [default=yes]])],
[], [enable_tif=yes])
AC_ARG_ENABLE([tif-shared], AC_HELP_STRING([--enable-tif-shared], [dynamically load TIFF support [[default=yes]]]),
[], [enable_tif_shared=yes])
145
146
147
148
149
150
AC_ARG_ENABLE([xcf], [AC_HELP_STRING([--enable-xcf], [support loading XCF images [default=yes]])],
[], [enable_xcf=yes])
AC_ARG_ENABLE([xpm], [AC_HELP_STRING([--enable-xpm], [support loading XPM images [default=yes]])],
[], [enable_xpm=yes])
AC_ARG_ENABLE([xv], [AC_HELP_STRING([--enable-xv], [support loading XV images [default=yes]])],
[], [enable_xv=yes])
151
152
AC_ARG_ENABLE([webp], [AC_HELP_STRING([--enable-webp], [support loading WEBP images [default=yes]])],
[], [enable_webp=yes])
153
154
AC_ARG_ENABLE([webpdec], [AC_HELP_STRING([--enable-webpdec], [support loading WEBP images via libwebpdecoder instead of libwebp [default=no]])],
[], [enable_webpdec=no])
155
156
AC_ARG_ENABLE([webp-shared], AC_HELP_STRING([--enable-webp-shared], [dynamically load WEBP support [[default=yes]]]),
[], [enable_webp_shared=yes])
157
158
if (test x$enable_jpg = xyes || test x$enable_tif = xyes) && test x$enable_imageio != xyes; then
159
160
161
AC_CHECK_HEADER([jpeglib.h], [have_jpg_hdr=yes])
AC_CHECK_LIB([jpeg], [jpeg_CreateDecompress], [have_jpg_lib=yes])
if test x$have_jpg_hdr = xyes -a x$have_jpg_lib = xyes; then
162
if test x$enable_jpg = xyes; then
163
AC_DEFINE([LOAD_JPG])
164
165
fi
LIBS="-ljpeg $LIBS"
166
167
case "$host" in
168
*-*-darwin*)
169
jpg_lib=[`find_lib libjpeg.dylib`]
170
171
;;
*-*-cygwin* | *-*-mingw32*)
172
jpg_lib=[`find_lib "libjpeg*.dll"`]
173
174
;;
*)
175
jpg_lib=[`find_lib "libjpeg[0-9]*.so.*"`]
176
if test x$jpg_lib = x; then
177
jpg_lib=[`find_lib "libjpeg.so.*"`]
178
fi
179
180
;;
esac
181
182
elif test x$enable_jpg = xyes; then
AC_MSG_WARN([*** Unable to find JPEG library (http://www.ijg.org/)])
183
184
185
AC_MSG_WARN([JPG image loading disabled])
fi
fi
186
187
if test x$enable_png = xyes -a x$enable_imageio != xyes; then
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
PKG_CHECK_MODULES([LIBPNG], [libpng], [dnl
have_png_hdr=yes
have_png_lib=yes
], [dnl
AC_CHECK_HEADER([png.h], [
have_png_hdr=yes
LIBPNG_CFLAGS=""
])
AC_CHECK_LIB([png], [png_create_read_struct], [
have_png_lib=yes
LIBPNG_LIBS="-lpng -lz"
], [], [-lz])
])
if test x$have_png_hdr = xyes -a x$have_png_lib = xyes; then
AC_DEFINE([LOAD_PNG])
case "$host" in
*-*-darwin*)
png_lib=[`find_lib libpng.dylib`]
;;
*-*-cygwin* | *-*-mingw32*)
png_lib=[`find_lib "libpng*.dll"`]
;;
*)
png_lib=[`find_lib "libpng[0-9]*.so.*"`]
if test x$png_lib = x; then
png_lib=[`find_lib "libpng.so.*"`]
fi
;;
esac
else
AC_MSG_WARN([*** Unable to find PNG library (http://www.libpng.org/pub/png/libpng.html)])
AC_MSG_WARN([PNG image loading disabled])
fi
222
fi
223
224
if test x$enable_tif = xyes -a x$enable_imageio != xyes; then
225
AC_CHECK_HEADER([tiffio.h], [have_tif_hdr=yes])
226
AC_CHECK_LIB([tiff], [TIFFClientOpen], [have_tif_lib=yes], [], [-lz])
227
if test x$have_tif_hdr = xyes -a x$have_tif_lib = xyes; then
228
AC_DEFINE([LOAD_TIF])
229
230
case "$host" in
231
*-*-darwin*)
232
tif_lib=[`find_lib libtiff.dylib`]
233
234
;;
*-*-cygwin* | *-*-mingw32*)
235
tif_lib=[`find_lib "libtiff-*.dll"`]
236
237
;;
*)
238
tif_lib=[`find_lib "libtiff[0-9]*.so.*"`]
239
if test x$tif_lib = x; then
240
tif_lib=[`find_lib "libtiff.so.*"`]
241
fi
242
243
;;
esac
244
else
245
AC_MSG_WARN([*** Unable to find Tiff library (http://www.remotesensing.org/libtiff/)])
246
247
248
AC_MSG_WARN([TIF image loading disabled])
fi
fi
249
250
251
252
253
254
if test x$enable_webpdec = xyes; then
webplib=webpdecoder
else
webplib=webp
fi
255
if test x$enable_webp = xyes; then
256
PKG_CHECK_MODULES([LIBWEBP], [lib$webplib], [dnl
257
258
259
have_webp_hdr=yes
have_webp_lib=yes
], [dnl
260
261
262
263
AC_CHECK_HEADER([webp/decode.h], [
have_webp_hdr=yes
LIBWEBP_CFLAGS=""
])
264
AC_CHECK_LIB([$webplib], [WebPGetDecoderVersion], [
265
have_webp_lib=yes
266
LIBWEBP_LIBS="-l$webplib"
267
], [], [-lm])
268
269
270
271
272
273
])
if test x$have_webp_hdr = xyes -a x$have_webp_lib = xyes; then
AC_DEFINE([LOAD_WEBP])
case "$host" in
*-*-darwin*)
274
webp_lib=[`find_lib lib$webplib.dylib`]
275
276
;;
*-*-cygwin* | *-*-mingw32*)
277
webp_lib=[`find_lib "lib$webplib-*.dll"`]
278
279
;;
*)
280
webp_lib=[`find_lib "lib$webplib[0-9]*.so.*"`]
281
if test x$webp_lib = x; then
282
webp_lib=[`find_lib "lib$webplib.so.*"`]
283
284
285
286
287
288
289
290
291
fi
;;
esac
else
AC_MSG_WARN([*** Unable to find WEBP library (http://code.google.com/intl/en-US/speed/webp/index.html)])
AC_MSG_WARN([WEBP Pimage loading disabled])
fi
fi
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
if test x$enable_bmp = xyes; then
AC_DEFINE([LOAD_BMP])
fi
if test x$enable_gif = xyes; then
AC_DEFINE([LOAD_GIF])
fi
if test x$enable_lbm = xyes; then
AC_DEFINE([LOAD_LBM])
fi
if test x$enable_pcx = xyes; then
AC_DEFINE([LOAD_PCX])
fi
if test x$enable_pnm = xyes; then
AC_DEFINE([LOAD_PNM])
fi
312
313
314
315
if test x$enable_svg = xyes; then
AC_DEFINE([LOAD_SVG])
fi
316
317
318
319
if test x$enable_tga = xyes; then
AC_DEFINE([LOAD_TGA])
fi
320
if test x$enable_xcf = xyes; then
321
AC_DEFINE([LOAD_XCF])
322
fi
323
324
if test x$enable_xpm = xyes; then
325
AC_DEFINE([LOAD_XPM])
326
fi
327
328
if test x$enable_xv = xyes; then
329
AC_DEFINE([LOAD_XV])
330
fi
331
332
if test x$enable_webp = xyes -a x$have_webp_hdr = xyes -a x$have_webp_lib = xyes; then
333
CFLAGS="$LIBWEBP_CFLAGS $CFLAGS"
334
335
336
337
if test x$enable_webp_shared = xyes && test x$webp_lib != x; then
echo "-- dynamic libwebp -> $webp_lib"
AC_DEFINE_UNQUOTED(LOAD_WEBP_DYNAMIC, "$webp_lib")
else
338
IMG_LIBS="$LIBWEBP_LIBS $IMG_LIBS"
339
340
341
fi
fi
342
if test x$enable_tif = xyes -a x$have_tif_hdr = xyes -a x$have_tif_lib = xyes; then
343
344
345
346
347
348
349
350
if test x$enable_tif_shared = xyes && test x$tif_lib != x; then
echo "-- dynamic libtiff -> $tif_lib"
AC_DEFINE_UNQUOTED(LOAD_TIF_DYNAMIC, "$tif_lib")
else
if test x$have_libjpeg = xyes; then
# Disable dynamic jpeg since we're linking it explicitly
jpg_lib=''
fi
351
IMG_LIBS="-ltiff -lz $IMG_LIBS"
352
353
fi
fi
354
if test x$enable_jpg = xyes -a x$have_jpg_hdr = xyes -a x$have_jpg_lib = xyes; then
355
356
357
358
359
360
361
if test x$enable_jpg_shared = xyes && test x$jpg_lib != x; then
echo "-- dynamic libjpeg -> $jpg_lib"
AC_DEFINE_UNQUOTED(LOAD_JPG_DYNAMIC, "$jpg_lib")
else
IMG_LIBS="-ljpeg $IMG_LIBS"
fi
fi
362
363
364
365
366
367
368
369
370
if test x$enable_png = xyes -a x$have_png_hdr = xyes -a x$have_png_lib = xyes; then
CFLAGS="$LIBPNG_CFLAGS $CFLAGS"
if test x$enable_png_shared = xyes && test x$png_lib != x; then
echo "-- dynamic libpng -> $png_lib"
AC_DEFINE_UNQUOTED(LOAD_PNG_DYNAMIC, "$png_lib")
else
IMG_LIBS="$LIBPNG_LIBS $IMG_LIBS"
fi
fi
371
372
373
374
375
376
377
378
379
380
dnl Check for SDL
SDL_VERSION=2.0.8
AC_SUBST(SDL_VERSION)
AM_PATH_SDL2($SDL_VERSION,
:,
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
)
CFLAGS="$CFLAGS $SDL_CFLAGS"
LIBS="$LIBS $SDL_LIBS"
381
382
383
AC_SUBST([WINDRES])
AC_SUBST([IMG_LIBS])
384
385
386
OBJCFLAGS=$CFLAGS
387
388
389
# Finally create all the generated files
AC_OUTPUT([
Makefile
390
391
SDL2_image.spec
SDL2_image.pc
392
])