/
configure.in
389 lines (349 loc) · 12.4 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=2
INTERFACE_AGE=0
BINARY_AGE=2
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
82
*-*-darwin*)
AC_ARG_ENABLE([imageio], [AC_HELP_STRING([--enable-imageio], [use native Mac OS X frameworks for loading images [default=yes]])],
[], [enable_imageio=yes])
if test x$enable_imageio = xyes; then
83
IMG_LIBS="-Wl,-framework,ApplicationServices -lobjc $IMG_LIBS"
84
85
86
87
else
CFLAGS="$CFLAGS -DSDL_IMAGE_USE_COMMON_BACKEND"
fi
;;
88
esac
89
AM_CONDITIONAL(USE_IMAGEIO, test x$enable_imageio = xyes)
90
AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue)
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
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
106
for path in $env_lib_path $gcc_bin_path $gcc_lib_path $host_lib_path; do
107
lib=[`ls -- $path/$1 2>/dev/null | sed -e '/\.so\..*\./d' -e 's,.*/,,' | sort | tail -1`]
108
109
110
111
112
113
114
if test x$lib != x; then
echo $lib
return
fi
done
}
115
dnl Check for SDL
116
SDL_VERSION=2.0.0
117
AC_SUBST(SDL_VERSION)
118
AM_PATH_SDL2($SDL_VERSION,
119
:,
120
AC_MSG_ERROR([*** SDL version $SDL_VERSION not found!])
121
)
122
CFLAGS="$CFLAGS $SDL_CFLAGS"
123
LIBS="$LIBS $SDL_LIBS"
124
saved_LIBS="$LIBS"
125
126
dnl Check command-line options
127
AC_ARG_ENABLE([bmp], [AC_HELP_STRING([--enable-bmp], [support loading BMP/ICO/CUR images [default=yes]])],
128
129
130
131
132
[], [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])
133
134
AC_ARG_ENABLE([jpg-shared], AC_HELP_STRING([--enable-jpg-shared], [dynamically load JPG support [[default=yes]]]),
[], [enable_jpg_shared=yes])
135
136
137
138
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])
139
AC_ARG_ENABLE([png], [AC_HELP_STRING([--enable-png], [support loading PNG images [default=yes]])],
140
[], [enable_png=yes])
141
142
AC_ARG_ENABLE([png-shared], AC_HELP_STRING([--enable-png-shared], [dynamically load PNG support [[default=yes]]]),
[], [enable_png_shared=yes])
143
144
AC_ARG_ENABLE([pnm], [AC_HELP_STRING([--enable-pnm], [support loading PNM images [default=yes]])],
[], [enable_pnm=yes])
145
146
AC_ARG_ENABLE([svg], [AC_HELP_STRING([--enable-svg], [support loading SVG images [default=yes]])],
[], [enable_svg=yes])
147
148
AC_ARG_ENABLE([tga], [AC_HELP_STRING([--enable-tga], [support loading TGA images [default=yes]])],
[], [enable_tga=yes])
149
150
151
152
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])
153
154
155
156
157
158
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])
159
160
161
162
AC_ARG_ENABLE([webp], [AC_HELP_STRING([--enable-webp], [support loading WEBP images [default=yes]])],
[], [enable_webp=yes])
AC_ARG_ENABLE([webp-shared], AC_HELP_STRING([--enable-webp-shared], [dynamically load WEBP support [[default=yes]]]),
[], [enable_webp_shared=yes])
163
164
165
166
167
168
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)
if (test x$enable_jpg = xyes || test x$enable_tif = xyes) && test x$enable_imageio != xyes; then
169
170
171
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
172
if test x$enable_jpg = xyes; then
173
AC_DEFINE([LOAD_JPG])
174
175
fi
LIBS="-ljpeg $LIBS"
176
177
case "$host" in
178
*-*-darwin*)
179
jpg_lib=[`find_lib libjpeg.dylib`]
180
181
;;
*-*-cygwin* | *-*-mingw32*)
182
jpg_lib=[`find_lib "libjpeg*.dll"`]
183
184
;;
*)
185
jpg_lib=[`find_lib "libjpeg[0-9]*.so.*"`]
186
if test x$jpg_lib = x; then
187
jpg_lib=[`find_lib "libjpeg.so.*"`]
188
fi
189
190
;;
esac
191
192
elif test x$enable_jpg = xyes; then
AC_MSG_WARN([*** Unable to find JPEG library (http://www.ijg.org/)])
193
194
195
AC_MSG_WARN([JPG image loading disabled])
fi
fi
196
197
if test x$enable_png = xyes -a x$enable_imageio != xyes; then
198
199
200
201
PKG_CHECK_MODULES([LIBPNG], [libpng], [dnl
have_png_hdr=yes
have_png_lib=yes
], [dnl
202
203
204
205
206
207
208
209
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])
210
])
211
if test x$have_png_hdr = xyes -a x$have_png_lib = xyes; then
212
AC_DEFINE([LOAD_PNG])
213
214
case "$host" in
215
*-*-darwin*)
216
png_lib=[`find_lib libpng.dylib`]
217
218
;;
*-*-cygwin* | *-*-mingw32*)
219
png_lib=[`find_lib "libpng*.dll"`]
220
221
;;
*)
222
png_lib=[`find_lib "libpng[0-9]*.so.*"`]
223
if test x$png_lib = x; then
224
png_lib=[`find_lib "libpng.so.*"`]
225
fi
226
227
;;
esac
228
else
229
AC_MSG_WARN([*** Unable to find PNG library (http://www.libpng.org/pub/png/libpng.html)])
230
231
232
AC_MSG_WARN([PNG image loading disabled])
fi
fi
233
234
if test x$enable_tif = xyes -a x$enable_imageio != xyes; then
235
AC_CHECK_HEADER([tiffio.h], [have_tif_hdr=yes])
236
AC_CHECK_LIB([tiff], [TIFFClientOpen], [have_tif_lib=yes], [], [-lz])
237
if test x$have_tif_hdr = xyes -a x$have_tif_lib = xyes; then
238
AC_DEFINE([LOAD_TIF])
239
240
case "$host" in
241
*-*-darwin*)
242
tif_lib=[`find_lib libtiff.dylib`]
243
244
;;
*-*-cygwin* | *-*-mingw32*)
245
tif_lib=[`find_lib "libtiff-*.dll"`]
246
247
;;
*)
248
tif_lib=[`find_lib "libtiff[0-9]*.so.*"`]
249
if test x$tif_lib = x; then
250
tif_lib=[`find_lib "libtiff.so.*"`]
251
fi
252
253
;;
esac
254
else
255
AC_MSG_WARN([*** Unable to find Tiff library (http://www.remotesensing.org/libtiff/)])
256
257
258
AC_MSG_WARN([TIF image loading disabled])
fi
fi
259
260
261
262
263
264
if test x$enable_webp = xyes; then
PKG_CHECK_MODULES([LIBWEBP], [libwebp], [dnl
have_webp_hdr=yes
have_webp_lib=yes
], [dnl
265
266
267
268
269
270
271
272
AC_CHECK_HEADER([webp/decode.h], [
have_webp_hdr=yes
LIBWEBP_CFLAGS=""
])
AC_CHECK_LIB([webp], [WebPGetDecoderVersion], [
have_webp_lib=yes
LIBWEBP_LIBS="-lwebp"
], [], [-lm])
273
274
275
276
277
278
279
280
281
282
283
284
])
if test x$have_webp_hdr = xyes -a x$have_webp_lib = xyes; then
AC_DEFINE([LOAD_WEBP])
case "$host" in
*-*-darwin*)
webp_lib=[`find_lib libwebp.dylib`]
;;
*-*-cygwin* | *-*-mingw32*)
webp_lib=[`find_lib "libwebp*.dll"`]
;;
*)
285
webp_lib=[`find_lib "libwebp[0-9]*.so.*"`]
286
if test x$webp_lib = x; then
287
webp_lib=[`find_lib "libwebp.so.*"`]
288
289
290
291
292
293
294
295
296
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
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
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
317
318
319
320
if test x$enable_svg = xyes; then
AC_DEFINE([LOAD_SVG])
fi
321
322
323
324
if test x$enable_tga = xyes; then
AC_DEFINE([LOAD_TGA])
fi
325
if test x$enable_xcf = xyes; then
326
AC_DEFINE([LOAD_XCF])
327
fi
328
329
if test x$enable_xpm = xyes; then
330
AC_DEFINE([LOAD_XPM])
331
fi
332
333
if test x$enable_xv = xyes; then
334
AC_DEFINE([LOAD_XV])
335
fi
336
337
if test x$enable_webp = xyes -a x$have_webp_hdr = xyes -a x$have_webp_lib = xyes; then
338
CFLAGS="$LIBWEBP_CFLAGS $CFLAGS"
339
340
341
342
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
343
IMG_LIBS="$LIBWEBP_LIBS $IMG_LIBS"
344
345
346
fi
fi
347
if test x$enable_tif = xyes -a x$have_tif_hdr = xyes -a x$have_tif_lib = xyes; then
348
349
350
351
352
353
354
355
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
356
IMG_LIBS="-ltiff -lz $IMG_LIBS"
357
358
fi
fi
359
if test x$enable_jpg = xyes -a x$have_jpg_hdr = xyes -a x$have_jpg_lib = xyes; then
360
361
362
363
364
365
366
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
367
if test x$enable_png = xyes -a x$have_png_hdr = xyes -a x$have_png_lib = xyes; then
368
CFLAGS="$LIBPNG_CFLAGS $CFLAGS"
369
370
371
372
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
373
IMG_LIBS="$LIBPNG_LIBS $IMG_LIBS"
374
375
376
fi
fi
377
378
LIBS="$saved_LIBS"
379
380
AC_SUBST([WINDRES])
AC_SUBST([IMG_LIBS])
381
382
383
OBJCFLAGS=$CFLAGS
384
385
386
# Finally create all the generated files
AC_OUTPUT([
Makefile
387
388
SDL2_image.spec
SDL2_image.pc
389
])