Use consistent identifiers for the various platforms we support.
Make sure every source file includes SDL_config.h, so the proper system
headers are chosen.
1 dnl Process this file with autoconf to produce a configure script.
3 AC_CONFIG_HEADER(include/SDL_config.h)
6 dnl Set various version strings - taken gratefully from the GTk sources
9 # Edit include/SDL/SDL_version.h and change the version, then:
10 # SDL_MICRO_VERSION += 1;
11 # SDL_INTERFACE_AGE += 1;
12 # SDL_BINARY_AGE += 1;
13 # if any functions have been added, set SDL_INTERFACE_AGE to 0.
14 # if backwards compatibility has been broken,
15 # set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
22 SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
24 AC_SUBST(SDL_MAJOR_VERSION)
25 AC_SUBST(SDL_MINOR_VERSION)
26 AC_SUBST(SDL_MICRO_VERSION)
27 AC_SUBST(SDL_INTERFACE_AGE)
28 AC_SUBST(SDL_BINARY_AGE)
32 LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION
33 LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE`
34 LT_REVISION=$SDL_INTERFACE_AGE
35 LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE`
42 dnl Detect the canonical host and target build environment
43 AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
46 if test x$ac_cv_c_bigendian = xyes; then
47 AC_DEFINE(SDL_BYTEORDER, 4321)
49 AC_DEFINE(SDL_BYTEORDER, 1234)
52 dnl Set up the compiler and linker flags
53 INCLUDE="-I$srcdir/include"
54 if test x$srcdir != x.; then
55 INCLUDE="-Iinclude $INCLUDE"
59 # We build SDL on cygwin without the UNIX emulation layer
60 CFLAGS="$CFLAGS -I/usr/include/mingw -mno-cygwin"
61 BUILD_CFLAGS="$CFLAGS \$(INCLUDE)"
62 BUILD_LDFLAGS="$LDFLAGS -mno-cygwin"
63 SDL_CFLAGS="-I/usr/include/mingw -mno-cygwin"
64 SDL_LIBS="-lSDL -mno-cygwin"
67 CFLAGS="$CFLAGS -D_GNU_SOURCE=1"
68 BUILD_CFLAGS="$CFLAGS \$(INCLUDE)"
69 BUILD_LDFLAGS="$LDFLAGS"
83 dnl Check for compiler characteristics
88 dnl See whether we are allowed to use the system C library
90 AC_HELP_STRING([--enable-libc], [Use the system C library [default=yes]]),
92 if test x$enable_libc = xyes; then
95 dnl Check for C library headers
97 AC_CHECK_HEADERS(sys/types.h stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h strings.h inttypes.h stdint.h ctype.h math.h signal.h)
99 dnl Check for typedefs, structures, etc.
101 if test x$ac_cv_header_inttypes_h = xyes -o x$ac_cv_header_stdint_h = xyes; then
102 AC_CHECK_TYPE(int64_t)
103 if test x$ac_cv_type_int64_t = xyes; then
104 AC_DEFINE(SDL_HAS_64BIT_TYPE)
109 dnl Checks for library functions.
112 if test x$ac_cv_func_memcmp_working = xyes; then
113 AC_DEFINE(HAVE_MEMCMP)
116 if test x$ac_cv_func_strtod = xyes; then
117 AC_DEFINE(HAVE_STRTOD)
119 AC_CHECK_FUNCS(malloc calloc realloc free getenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol _i64toa _ui64toa strtoll atoi atof strcmp strncmp stricmp strcasecmp sscanf snprintf vsnprintf sigaction setjmp nanosleep)
121 AC_CHECK_LIB(m, pow, [BUILD_LDFLAGS="$BUILD_LDFLAGS -lm"])
124 if test x$have_inttypes != xyes; then
125 AC_CHECK_SIZEOF(char, 1)
126 AC_CHECK_SIZEOF(short, 2)
127 AC_CHECK_SIZEOF(int, 4)
128 AC_CHECK_SIZEOF(long, 4)
129 AC_CHECK_SIZEOF(long long, 8)
130 if test x$ac_cv_sizeof_char = x1; then
131 AC_DEFINE(int8_t, signed char)
132 AC_DEFINE(uint8_t, unsigned char)
134 if test x$ac_cv_sizeof_short = x2; then
135 AC_DEFINE(int16_t, signed short)
136 AC_DEFINE(uint16_t, unsigned short)
138 if test x$ac_cv_sizeof_int = x2; then
139 AC_DEFINE(int16_t, signed int)
140 AC_DEFINE(uint16_t, unsigned int)
143 if test x$ac_cv_sizeof_int = x4; then
144 AC_DEFINE(int32_t, signed int)
145 AC_DEFINE(uint32_t, unsigned int)
147 if test x$ac_cv_sizeof_long = x4; then
148 AC_DEFINE(int32_t, signed long)
149 AC_DEFINE(uint32_t, unsigned long)
152 if test x$ac_cv_sizeof_long = x8; then
153 AC_DEFINE(int64_t, signed long)
154 AC_DEFINE(uint64_t, unsigned long)
155 AC_DEFINE(SDL_HAS_64BIT_TYPE)
157 if test x$ac_cv_sizeof_long_long = x8; then
158 AC_DEFINE(int64_t, signed long long)
159 AC_DEFINE(uint64_t, unsigned long long)
160 AC_DEFINE(SDL_HAS_64BIT_TYPE)
163 AC_DEFINE(size_t, unsigned int)
164 AC_DEFINE(uintptr_t, unsigned long)
168 SOURCES="$SOURCES $srcdir/src/*.c"
169 SOURCES="$SOURCES $srcdir/src/audio/*.c"
170 SOURCES="$SOURCES $srcdir/src/cdrom/*.c"
171 SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c"
172 SOURCES="$SOURCES $srcdir/src/events/*.c"
173 SOURCES="$SOURCES $srcdir/src/file/*.c"
174 SOURCES="$SOURCES $srcdir/src/joystick/*.c"
175 SOURCES="$SOURCES $srcdir/src/stdlib/*.c"
176 SOURCES="$SOURCES $srcdir/src/thread/*.c"
177 SOURCES="$SOURCES $srcdir/src/timer/*.c"
178 SOURCES="$SOURCES $srcdir/src/video/*.c"
180 dnl Enable/disable various subsystems of the SDL library
183 AC_HELP_STRING([--enable-audio], [Enable the audio subsystem [default=yes]]),
185 if test x$enable_audio != xyes; then
186 AC_DEFINE(SDL_AUDIO_DISABLED)
189 AC_HELP_STRING([--enable-video], [Enable the video subsystem [default=yes]]),
191 if test x$enable_video != xyes; then
192 AC_DEFINE(SDL_VIDEO_DISABLED)
194 AC_ARG_ENABLE(events,
195 AC_HELP_STRING([--enable-events], [Enable the events subsystem [default=yes]]),
197 if test x$enable_events != xyes; then
198 AC_DEFINE(SDL_EVENTS_DISABLED)
200 AC_ARG_ENABLE(joystick,
201 AC_HELP_STRING([--enable-joystick], [Enable the joystick subsystem [default=yes]]),
202 , enable_joystick=yes)
203 if test x$enable_joystick != xyes; then
204 AC_DEFINE(SDL_JOYSTICK_DISABLED)
207 AC_HELP_STRING([--enable-cdrom], [Enable the cdrom subsystem [default=yes]]),
209 if test x$enable_cdrom != xyes; then
210 AC_DEFINE(SDL_CDROM_DISABLED)
212 AC_ARG_ENABLE(threads,
213 AC_HELP_STRING([--enable-threads], [Enable the threading subsystem [default=yes]]),
214 , enable_threads=yes)
215 if test x$enable_threads != xyes; then
216 AC_DEFINE(SDL_THREADS_DISABLED)
218 AC_ARG_ENABLE(timers,
219 AC_HELP_STRING([--enable-timers], [Enable the timer subsystem [default=yes]]),
221 if test x$enable_timers != xyes; then
222 AC_DEFINE(SDL_TIMERS_DISABLED)
225 AC_HELP_STRING([--enable-file], [Enable the file subsystem [default=yes]]),
227 if test x$enable_file != xyes; then
228 AC_DEFINE(SDL_FILE_DISABLED)
230 AC_ARG_ENABLE(loadso,
231 AC_HELP_STRING([--enable-loadso], [Enable the shared object loading subsystem [default=yes]]),
233 if test x$enable_loadso != xyes; then
234 AC_DEFINE(SDL_LOADSO_DISABLED)
236 AC_ARG_ENABLE(cpuinfo,
237 AC_HELP_STRING([--enable-cpuinfo], [Enable the cpuinfo subsystem [default=yes]]),
238 , enable_cpuinfo=yes)
239 if test x$enable_cpuinfo != xyes; then
240 AC_DEFINE(SDL_CPUINFO_DISABLED)
242 AC_ARG_ENABLE(assembly,
243 AC_HELP_STRING([--enable-assembly], [Enable assembly routines [default=yes]]),
244 , enable_assembly=yes)
245 if test x$enable_assembly = xyes; then
246 AC_DEFINE(SDL_ASSEMBLY_ROUTINES)
249 dnl See if the OSS audio interface is supported
253 AC_HELP_STRING([--enable-oss], [support the OSS audio API [default=yes]]),
255 if test x$enable_audio = xyes -a x$enable_oss = xyes; then
256 AC_MSG_CHECKING(for OSS audio support)
258 if test x$have_oss != xyes; then
260 #include <sys/soundcard.h>
262 int arg = SNDCTL_DSP_SETFRAGMENT;
267 if test x$have_oss != xyes; then
269 #include <soundcard.h>
271 int arg = SNDCTL_DSP_SETFRAGMENT;
274 AC_DEFINE(SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H)
277 AC_MSG_RESULT($have_oss)
278 if test x$have_oss = xyes; then
279 AC_DEFINE(SDL_AUDIO_DRIVER_OSS)
280 SOURCES="$SOURCES $srcdir/src/audio/dsp/*.c"
281 SOURCES="$SOURCES $srcdir/src/audio/dma/*.c"
284 # OpenBSD needs linking with ossaudio emulation library
286 *-*-openbsd*|*-*-netbsd*)
287 BUILD_LDFLAGS="$BUILD_LDFLAGS -lossaudio";;
293 dnl See if the ALSA audio interface is supported
297 AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [default=yes]]),
299 if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
300 AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no)
301 # Restore all flags from before the ALSA detection runs
302 CFLAGS="$alsa_save_CFLAGS"
303 LDFLAGS="$alsa_save_LDFLAGS"
304 LIBS="$alsa_save_LIBS"
305 if test x$have_alsa = xyes; then
306 AC_ARG_ENABLE(alsa-shared,
307 AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [default=yes]]),
308 , enable_alsa_shared=yes)
309 if test "x`echo $ALSA_LIBS | grep -- -L`" = "x"; then
310 if test "x`ls /lib/libasound.so.* 2> /dev/null`" != "x"; then
311 ALSA_LIBS="-L/lib $ALSA_LIBS"
312 elif test "x`ls /usr/lib/libasound.so.* 2> /dev/null`" != "x"; then
313 ALSA_LIBS="-L/usr/lib $ALSA_LIBS"
314 elif test "x`ls /usr/local/lib/libasound.so.* 2> /dev/null`" != "x"; then
315 ALSA_LIBS="-L/usr/local/lib $ALSA_LIBS"
318 alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libasound.so.*/'`
319 alsa_lib=`ls $alsa_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
320 echo "-- $alsa_lib_spec -> $alsa_lib"
322 AC_DEFINE(SDL_AUDIO_DRIVER_ALSA)
323 SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c"
324 BUILD_CFLAGS="$BUILD_CFLAGS $ALSA_CFLAGS"
325 if test x$have_loadso != xyes && \
326 test x$enable_alsa_shared = xyes; then
327 AC_MSG_ERROR([You must have SDL_LoadObject() support])
329 if test x$have_loadso = xyes && \
330 test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then
331 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ALSA_DYNAMIC, "$alsa_lib")
333 BUILD_LDFLAGS="$BUILD_LDFLAGS $ALSA_LIBS"
338 if test x$have_alsa = xyes; then
339 AC_ARG_ENABLE(alsa-shared,
340 [ --enable-alsa-shared dynamically load ALSA audio support [default=yes]],
341 , enable_alsa_shared=yes)
342 if test "x`echo $ALSA_LIBS | grep -- -L`" = "x"; then
343 if test "x`ls /lib/libasound.so.* 2> /dev/null`" != "x"; then
344 ALSA_LIBS="-L/lib $ALSA_LIBS"
345 elif test "x`ls /usr/lib/libasound.so.* 2> /dev/null`" != "x"; then
346 ALSA_LIBS="-L/usr/lib $ALSA_LIBS"
347 elif test "x`ls /usr/local/lib/libasound.so.* 2> /dev/null`" != "x"; then
348 ALSA_LIBS="-L/usr/local/lib $ALSA_LIBS"
351 alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libasound.so.*/'`
352 alsa_lib=`ls $alsa_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
353 echo "-- $alsa_lib_spec -> $alsa_lib"
355 if test x$have_loadso != xyes && \
356 test x$enable_alsa_shared = xyes; then
357 AC_MSG_ERROR([You must have SDL_LoadObject() support])
359 if test x$have_loadso = xyes && \
360 test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then
361 CFLAGS="$CFLAGS -DALSA_SUPPORT -DALSA_DYNAMIC=\$(alsa_lib) $ALSA_CFLAGS"
365 AC_CHECK_LIB(dl, dlvsym, [use_dlvsym=yes])
366 if test x$use_dlvsym = xyes; then
367 CFLAGS="$CFLAGS -DUSE_DLVSYM"
370 CFLAGS="$CFLAGS -DALSA_SUPPORT $ALSA_CFLAGS"
371 SYSTEM_LIBS="$SYSTEM_LIBS $ALSA_LIBS"
376 dnl Check whether we want to use IRIX 6.5+ native audio or not
379 if test x$enable_audio = xyes; then
380 AC_MSG_CHECKING(for dmedia audio support)
383 #include <dmedia/audio.h>
389 AC_MSG_RESULT($have_dmedia)
390 # Set up files for the audio library
391 if test x$have_dmedia = xyes; then
392 AC_DEFINE(SDL_AUDIO_DRIVER_DMEDIA)
393 SOURCES="$SOURCES $srcdir/src/audio/dmedia/*.c"
394 BUILD_LDFLAGS="$BUILD_LDFLAGS -laudio"
400 dnl Find the ESD includes and libraries
404 AC_HELP_STRING([--enable-esd], [support the Enlightened Sound Daemon [default=yes]]),
406 if test x$enable_audio = xyes -a x$enable_esd = xyes; then
407 AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no)
408 if test x$have_esd = xyes; then
409 AC_ARG_ENABLE(esd-shared,
410 AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [default=yes]]),
411 , enable_esd_shared=yes)
412 esd_lib_spec=`echo $ESD_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libesd.so.*/'`
413 esd_lib=`ls $esd_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
414 echo "-- $esd_lib_spec -> $esd_lib"
415 if test x$have_loadso != xyes && \
416 test x$enable_esd_shared = xyes; then
417 AC_MSG_ERROR([You must have SDL_LoadObject() support])
419 if test x$have_loadso = xyes && \
420 test x$enable_esd_shared = xyes && test x$esd_lib != x; then
421 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ESD_DYNAMIC, "$esd_lib")
423 AC_DEFINE(SDL_AUDIO_DRIVER_ESD)
424 SOURCES="$SOURCES $srcdir/src/audio/esd/*.c"
425 BUILD_CFLAGS="$BUILD_CFLAGS $ESD_CFLAGS"
426 BUILD_LDFLAGS="$BUILD_LDFLAGS $ESD_LIBS"
435 AC_HELP_STRING([--enable-arts], [support the Analog Real Time Synthesizer [default=yes]]),
437 if test x$enable_audio = xyes -a x$enable_arts = xyes; then
438 AC_PATH_PROG(ARTSCONFIG, artsc-config)
439 if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then
440 : # arts isn't installed
442 ARTS_CFLAGS=`$ARTSCONFIG --cflags`
443 ARTS_LIBS=`$ARTSCONFIG --libs`
444 ARTS_PREFIX=`$ARTSCONFIG --arts-prefix`
445 AC_MSG_CHECKING(for aRts development environment)
447 save_CFLAGS="$CFLAGS"
448 CFLAGS="$CFLAGS $ARTS_CFLAGS"
452 arts_stream_t stream;
456 CFLAGS="$save_CFLAGS"
457 AC_MSG_RESULT($audio_arts)
458 if test x$audio_arts = xyes; then
459 AC_ARG_ENABLE(arts-shared,
460 AC_HELP_STRING([--enable-arts-shared], [dynamically load aRts audio support [default=yes]]),
461 , enable_arts_shared=yes)
462 arts_lib_spec="$ARTS_PREFIX/lib/libartsc.so.*"
463 arts_lib=`ls $arts_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
464 echo "-- $arts_lib_spec -> $arts_lib"
465 if test x$have_loadso != xyes && \
466 test x$enable_arts_shared = xyes; then
467 AC_MSG_ERROR([You must have SDL_LoadObject() support])
469 if test x$have_loadso = xyes && \
470 test x$enable_arts_shared = xyes && test x$arts_lib != x; then
471 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ARTS_DYNAMIC, "$arts_lib")
473 AC_DEFINE(SDL_AUDIO_DRIVER_ARTS)
474 SOURCES="$SOURCES $srcdir/src/audio/arts/*.c"
475 BUILD_CFLAGS="$BUILD_CFLAGS $ARTS_CFLAGS"
476 BUILD_LDFLAGS="$BUILD_LDFLAGS $ARTS_LIBS"
483 dnl See if the NAS audio interface is supported
487 AC_HELP_STRING([--enable-nas], [support the NAS audio API [default=yes]]),
489 if test x$enable_audio = xyes -a x$enable_nas = xyes; then
490 AC_MSG_CHECKING(for NAS audio support)
492 if test -r /usr/X11R6/include/audio/audiolib.h; then
494 NAS_CFLAGS="-I/usr/X11R6/include/"
495 NAS_LIBS="-laudio -lXt"
497 dnl On IRIX, the NAS includes are in a different directory,
498 dnl and libnas must be explicitly linked in
500 elif test -r /usr/freeware/include/nas/audiolib.h; then
502 NAS_LIBS="-lnas -lXt"
504 AC_MSG_RESULT($have_nas)
505 if test x$have_nas = xyes; then
506 AC_DEFINE(SDL_AUDIO_DRIVER_NAS)
507 SOURCES="$SOURCES $srcdir/src/audio/nas/*.c"
508 BUILD_CFLAGS="$BUILD_CFLAGS $NAS_CFLAGS"
509 BUILD_LDFLAGS="$BUILD_LDFLAGS $NAS_LIBS"
515 dnl rcg07142001 See if the user wants the disk writer audio driver...
518 AC_ARG_ENABLE(diskaudio,
519 AC_HELP_STRING([--enable-diskaudio], [support the disk writer audio driver [default=yes]]),
520 , enable_diskaudio=yes)
521 if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
522 AC_DEFINE(SDL_AUDIO_DRIVER_DISK)
523 SOURCES="$SOURCES $srcdir/src/audio/disk/*.c"
527 dnl Set up the Atari Audio driver
530 AC_ARG_ENABLE(mintaudio,
531 AC_HELP_STRING([--enable-mintaudio], [support Atari audio driver [default=yes]]),
532 , enable_mintaudio=yes)
533 if test x$enable_audio = xyes -a x$enable_mintaudio = xyes; then
535 AC_CHECK_HEADER(mint/falcon.h, have_mint_falcon_hdr=yes)
536 if test x$have_mint_falcon_hdr = xyes; then
538 AC_DEFINE(SDL_AUDIO_DRIVER_MINT)
539 SOURCES="$SOURCES $srcdir/src/audio/mint/*.c"
545 dnl See if we can use x86 assembly blitters
546 # NASM is available from: http://nasm.sourceforge.net
549 dnl Make sure we are running on an x86 platform
558 dnl Check for NASM (for assembly blit routines)
560 AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [default=yes]]),
562 if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_nasm = xyes; then
563 AC_PATH_PROG(NASM, nasm)
564 if test x$NASM != x -a x$NASM != x'"$NASM"'; then
565 AC_DEFINE(SDL_HERMES_BLITTERS)
566 SOURCES="$SOURCES $srcdir/src/hermes/*.asm"
582 # this line is needed for QNX, because it's not defined the __ELF__
584 BUILD_CFLAGS="$BUILD_CFLAGS -D__ELF__";;
586 BUILD_CFLAGS="$BUILD_CFLAGS -D__ELF__";;
592 dnl Check for altivec instruction support using gas syntax
595 AC_ARG_ENABLE(altivec,
596 AC_HELP_STRING([--enable-altivec], [use altivec assembly blitters on PPC [default=yes]]),
597 , enable_altivec=yes)
598 if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_altivec = xyes; then
599 have_altivec_h_hdr=no
600 AC_CHECK_HEADER(altivec.h, have_altivec_h_hdr=yes)
602 save_CFLAGS="$CFLAGS"
604 AC_MSG_CHECKING(for Altivec with GCC -maltivec option)
605 altivec_CFLAGS="-maltivec"
606 CFLAGS="$save_CFLAGS $altivec_CFLAGS"
608 if test x$have_altivec_h_hdr = xyes; then
611 vector unsigned int vzero() {
612 return vec_splat_u32(0);
618 AC_MSG_RESULT($have_gcc_altivec)
621 vector unsigned int vzero() {
622 return vec_splat_u32(0);
628 AC_MSG_RESULT($have_gcc_altivec)
631 if test x$have_gcc_altivec = xno; then
632 AC_MSG_CHECKING(for Altivec with GCC -faltivec option)
633 altivec_CFLAGS="-faltivec"
634 CFLAGS="$save_CFLAGS $altivec_CFLAGS"
635 if test x$have_altivec_h_hdr = xyes; then
638 vector unsigned int vzero() {
639 return vec_splat_u32(0);
645 AC_MSG_RESULT($have_gcc_altivec)
648 vector unsigned int vzero() {
649 return vec_splat_u32(0);
655 AC_MSG_RESULT($have_gcc_altivec)
658 CFLAGS="$save_CFLAGS"
660 if test x$have_gcc_altivec = xyes; then
661 AC_DEFINE(SDL_ALTIVEC_BLITTERS)
662 if test x$have_altivec_h_hdr = xyes; then
663 AC_DEFINE(HAVE_ALTIVEC_H)
665 BUILD_CFLAGS="$BUILD_CFLAGS $altivec_CFLAGS"
670 dnl Do the iPod thing
674 AC_HELP_STRING([--enable-ipod], [configure SDL to work with iPodLinux [default=yes on arm-elf]]),
677 if test x$enable_ipod = xyes; then
678 BUILD_CFLAGS="$BUILD_CFLAGS -DIPOD"
679 AC_DEFINE(SDL_VIDEO_DRIVER_IPOD)
680 SOURCES="$SOURCES $srcdir/src/video/ipod/*.c"
684 dnl Find the nanox include and library directories
687 AC_ARG_ENABLE(video-nanox,
688 AC_HELP_STRING([--enable-video-nanox], [use nanox video driver [default=no]]),
689 , enable_video_nanox=no)
691 if test x$enable_video = xyes -a x$enable_video_nanox = xyes; then
692 AC_ARG_ENABLE(nanox-debug,
693 AC_HELP_STRING([--enable-nanox-debug], [print debug messages [default=no]]),
694 , enable_nanox_debug=no)
695 if test x$enable_nanox_debug = xyes; then
696 BUILD_CFLAGS="$BUILD_CFLAGS -DENABLE_NANOX_DEBUG"
699 AC_ARG_ENABLE(nanox-share-memory,
700 AC_HELP_STRING([--enable-nanox-share-memory], [use share memory [default=no]]),
701 , enable_nanox_share_memory=no)
702 if test x$enable_nanox_share_memory = xyes; then
703 BUILD_CFLAGS="$BUILD_CFLAGS -DNANOX_SHARE_MEMORY"
706 AC_ARG_ENABLE(nanox_direct_fb,
707 AC_HELP_STRING([--enable-nanox-direct-fb], [use direct framebuffer access [default=no]]),
708 , enable_nanox_direct_fb=no)
709 if test x$enable_nanox_direct_fb = xyes; then
710 BUILD_CFLAGS="$BUILD_CFLAGS -DENABLE_NANOX_DIRECT_FB"
713 AC_DEFINE(SDL_VIDEO_DRIVER_NANOX)
714 SOURCES="$SOURCES $srcdir/src/video/nanox/*.c"
715 BUILD_LDFLAGS="$BUILD_LDFLAGS -lnano-X"
720 dnl Find the X11 include and library directories
723 AC_ARG_ENABLE(video-x11,
724 AC_HELP_STRING([--enable-video-x11], [use X11 video driver [default=yes]]),
725 , enable_video_x11=yes)
726 if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then
729 if test x$have_x = xyes; then
730 AC_ARG_ENABLE(x11-shared,
731 AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [default=yes]]),
732 , enable_x11_shared=yes)
736 x11_lib='/usr/X11R6/lib/libX11.6.dylib'
737 x11ext_lib='/usr/X11R6/lib/libXext.6.dylib'
741 x11ext_lib='libXext.so'
743 *-*-irix*) # IRIX 6.5 requires that we use /usr/lib32
745 x11ext_lib='libXext.so'
748 if test x$X_LIBS = x; then X_LIBS="-L/usr/lib"; fi
749 x11_lib_spec=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1\/libX11.so.[0-9]/'`]
750 x11_lib=`ls $x11_lib_spec 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`
751 x11ext_lib_spec=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1\/libXext.so.[0-9]/'`]
752 x11ext_lib=`ls $x11ext_lib_spec 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`
756 X_CFLAGS="$X_CFLAGS -DXTHREADS"
757 if test x$ac_cv_func_shmat != xyes; then
758 X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY"
760 if test x$have_loadso != xyes && \
761 test x$enable_x11_shared = xyes; then
762 AC_MSG_ERROR([You must have SDL_LoadObject() support])
765 if test x$have_loadso = xyes && \
766 test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then
767 echo "-- dynamic libX11 -> $x11_lib"
768 echo "-- dynamic libX11ext -> $x11ext_lib"
769 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC, "$x11_lib")
770 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT, "$x11ext_lib")
772 X_LIBS="$X_LIBS -lX11 -lXext"
775 AC_DEFINE(SDL_VIDEO_DRIVER_X11)
776 SOURCES="$SOURCES $srcdir/src/video/x11/*.c"
777 BUILD_CFLAGS="$BUILD_CFLAGS $X_CFLAGS"
778 BUILD_LDFLAGS="$BUILD_LDFLAGS $X_LIBS"
782 AC_HELP_STRING([--enable-dga], [allow use of X11 DGA code [default=yes]]),
784 if test x$enable_dga = xyes; then
785 SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86dga/*.c"
787 AC_ARG_ENABLE(video-dga,
788 AC_HELP_STRING([--enable-video-dga], [use DGA 2.0 video driver [default=yes]]),
789 , enable_video_dga=yes)
790 if test x$enable_dga = xyes -a x$enable_video_dga = xyes; then
791 AC_DEFINE(SDL_VIDEO_DRIVER_DGA)
792 SOURCES="$SOURCES $srcdir/src/video/dga/*.c"
794 AC_ARG_ENABLE(video-x11-dgamouse,
795 AC_HELP_STRING([--enable-video-x11-dgamouse], [use X11 DGA for mouse events [default=yes]]),
796 , enable_video_x11_dgamouse=yes)
797 if test x$enable_dga = xyes -a x$enable_video_x11_dgamouse = xyes; then
798 AC_DEFINE(SDL_VIDEO_DRIVER_X11_DGAMOUSE)
800 AC_ARG_ENABLE(video-x11-vm,
801 AC_HELP_STRING([--enable-video-x11-vm], [use X11 VM extension for fullscreen [default=yes]]),
802 , enable_video_x11_vm=yes)
803 if test x$enable_video_x11_vm = xyes; then
804 AC_DEFINE(SDL_VIDEO_DRIVER_X11_VIDMODE)
805 SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86vm/*.c"
807 AC_ARG_ENABLE(video-x11-xv,
808 AC_HELP_STRING([--enable-video-x11-xv], [use X11 XvImage extension for video [default=yes]]),
809 , enable_video_x11_xv=yes)
810 if test x$enable_video_x11_xv = xyes; then
811 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XV)
812 SOURCES="$SOURCES $srcdir/src/video/Xext/Xv/*.c"
814 AC_ARG_ENABLE(video-x11-xinerama,
815 AC_HELP_STRING([--enable-video-x11-xinerama], [enable X11 Xinerama support [default=yes]]),
816 , enable_video_x11_xinerama=yes)
817 if test x$enable_video_x11_xinerama = xyes; then
818 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA)
819 SOURCES="$SOURCES $srcdir/src/video/Xext/Xinerama/*.c"
821 AC_ARG_ENABLE(video-x11-xme,
822 AC_HELP_STRING([--enable-video-x11-xme], [enable Xi Graphics XME for fullscreen [default=yes]]),
823 , enable_video_x11_xme=yes)
824 if test x$enable_video_x11_xme = xyes; then
825 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XME)
826 SOURCES="$SOURCES $srcdir/src/video/Xext/XME/*.c"
832 dnl Check for QNX photon video driver
835 AC_ARG_ENABLE(video-photon,
836 AC_HELP_STRING([--enable-video-photon], [use QNX Photon video driver [default=yes]]),
837 , enable_video_photon=yes)
838 if test x$enable_video = xyes -a x$enable_video_photon = xyes; then
839 AC_MSG_CHECKING(for QNX Photon support)
844 #include <photon/Pg.h>
845 #include <photon/PdDirect.h>
847 PgDisplaySettings_t *visual;
851 AC_MSG_RESULT($video_photon)
852 if test x$video_photon = xyes; then
853 AC_DEFINE(SDL_VIDEO_DRIVER_PHOTON)
854 SOURCES="$SOURCES $srcdir/src/video/photon/*.c"
855 BUILD_LDFLAGS="$BUILD_LDFLAGS -lph"
863 dnl Set up the BWindow video driver if enabled
866 if test x$enable_video = xyes; then
867 AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW)
868 SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc"
873 dnl Set up the Carbon/QuickDraw video driver for Mac OS X (but not Darwin)
876 AC_ARG_ENABLE(video-carbon,
877 AC_HELP_STRING([--enable-video-carbon], [use Carbon/QuickDraw video driver [default=no]]),
878 , enable_video_carbon=no)
879 if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then
880 AC_MSG_CHECKING(for Carbon framework)
883 #include <Carbon/Carbon.h>
888 AC_MSG_RESULT($have_carbon)
889 if test x$have_carbon = xyes; then
890 AC_DEFINE(SDL_VIDEO_DRIVER_TOOLBOX)
891 SOURCES="$SOURCES $srcdir/src/video/maccommon/*.c"
892 SOURCES="$SOURCES $srcdir/src/video/macrom/*.c"
898 dnl Set up the Cocoa/Quartz video driver for Mac OS X (but not Darwin)
901 AC_ARG_ENABLE(video-cocoa,
902 AC_HELP_STRING([--enable-video-cocoa], [use Cocoa/Quartz video driver [default=yes]]),
903 , enable_video_cocoa=yes)
904 if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
905 save_CFLAGS="$CFLAGS"
906 dnl work around that we don't have Objective-C support in autoconf
907 CFLAGS="$CFLAGS -x objective-c"
908 AC_MSG_CHECKING(for Cocoa framework)
911 #import <Cocoa/Cocoa.h>
916 AC_MSG_RESULT($have_cocoa)
917 CFLAGS="$save_CFLAGS"
918 if test x$have_cocoa = xyes; then
919 AC_DEFINE(SDL_VIDEO_DRIVER_QUARTZ)
920 SOURCES="$SOURCES $srcdir/src/video/quartz/*.m"
926 dnl Find the framebuffer console includes
929 AC_ARG_ENABLE(video-fbcon,
930 AC_HELP_STRING([--enable-video-fbcon], [use framebuffer console video driver [default=yes]]),
931 , enable_video_fbcon=yes)
932 if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then
933 AC_MSG_CHECKING(for framebuffer console support)
936 #include <linux/fb.h>
937 #include <linux/kd.h>
938 #include <linux/keyboard.h>
943 AC_MSG_RESULT($video_fbcon)
944 if test x$video_fbcon = xyes; then
945 AC_DEFINE(SDL_VIDEO_DRIVER_FBCON)
946 SOURCES="$SOURCES $srcdir/src/video/fbcon/*.c"
955 AC_ARG_ENABLE(video-directfb,
956 AC_HELP_STRING([--enable-video-directfb], [use DirectFB video driver [default=no]]),
957 , enable_video_directfb=no)
958 if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
961 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
962 if test x$PKG_CONFIG = xno ; then
963 AC_MSG_WARN([*** pkg-config is required to build the DirectFB video driver.])
965 AC_MSG_CHECKING(for DirectFB support)
967 if ! $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
968 AC_MSG_ERROR([*** pkg-config too old; version 0.7 or better required.])
971 DIRECTFB_REQUIRED_VERSION=0.9.15
973 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
974 DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
975 DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
980 AC_MSG_RESULT($video_directfb)
981 if test x$video_directfb = xyes; then
982 AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB)
983 SOURCES="$SOURCES $srcdir/src/video/directfb/*.c"
984 BUILD_CFLAGS="$BUILD_CFLAGS $DIRECTFB_CFLAGS"
985 BUILD_LDFLAGS="$BUILD_LDFLAGS $DIRECTFB_LIBS"
991 dnl See if we're running on PlayStation 2 hardware
994 AC_ARG_ENABLE(video-ps2gs,
995 AC_HELP_STRING([--enable-video-ps2gs], [use PlayStation 2 GS video driver [default=yes]]),
996 , enable_video_ps2gs=yes)
997 if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
998 AC_MSG_CHECKING(for PlayStation 2 GS support)
1001 #include <linux/ps2/dev.h>
1002 #include <linux/ps2/gs.h>
1007 AC_MSG_RESULT($video_ps2gs)
1008 if test x$video_ps2gs = xyes; then
1009 AC_DEFINE(SDL_VIDEO_DRIVER_PS2GS)
1010 SOURCES="$SOURCES $srcdir/src/video/ps2gs/*.c"
1016 dnl Find the GGI includes
1019 AC_ARG_ENABLE(video-ggi,
1020 AC_HELP_STRING([--enable-video-ggi], [use GGI video driver [default=no]]),
1021 , enable_video_ggi=no)
1022 if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then
1023 AC_MSG_CHECKING(for GGI support)
1026 #include <ggi/ggi.h>
1027 #include <ggi/gii.h>
1032 AC_MSG_RESULT($video_ggi)
1033 if test x$video_ggi = xyes; then
1034 AC_DEFINE(SDL_VIDEO_DRIVER_GGI)
1035 SOURCES="$SOURCES $srcdir/src/video/ggi/*.c"
1036 BUILD_LDFLAGS="$BUILD_LDFLAGS -lggi -lgii -lgg"
1042 dnl Find the SVGAlib includes and libraries
1045 AC_ARG_ENABLE(video-svga,
1046 AC_HELP_STRING([--enable-video-svga], [use SVGAlib video driver [default=no]]),
1047 , enable_video_svga=no)
1048 if test x$enable_video = xyes -a x$enable_video_svga = xyes; then
1049 AC_MSG_CHECKING(for SVGAlib (1.4.0+) support)
1053 #include <vgamouse.h>
1054 #include <vgakeyboard.h>
1056 if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) {
1062 AC_MSG_RESULT($video_svga)
1063 if test x$video_svga = xyes; then
1064 AC_DEFINE(SDL_VIDEO_DRIVER_SVGALIB)
1065 SOURCES="$SOURCES $srcdir/src/video/svga/*.c"
1066 BUILD_LDFLAGS="$BUILD_LDFLAGS -lvga"
1072 dnl Find the VGL includes and libraries
1075 AC_ARG_ENABLE(video-vgl,
1076 AC_HELP_STRING([--enable-video-vgl], [use VGL video driver [default=no]]),
1077 , enable_video_vgl=no)
1078 if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
1079 AC_MSG_CHECKING(for libVGL support)
1082 #include <sys/fbio.h>
1083 #include <sys/consio.h>
1084 #include <sys/kbio.h>
1088 exit(bitmap.Bitmap);
1092 AC_MSG_RESULT($video_vgl)
1093 if test x$video_vgl = xyes; then
1094 AC_DEFINE(SDL_VIDEO_DRIVER_VGL)
1095 SOURCES="$SOURCES $srcdir/src/video/vgl/*.c"
1096 BUILD_LDFLAGS="$BUILD_LDFLAGS -lvgl"
1102 dnl Set up the wscons video driver if enabled
1105 AC_ARG_ENABLE(video-wscons,
1106 AC_HELP_STRING([--enable-video-wscons], [use wscons video driver [default=yes]]),
1107 , enable_video_wscons=yes)
1108 if test x$enable_video = xyes -a x$enable_video_wscons = xyes; then
1109 AC_MSG_CHECKING(for wscons support)
1112 #include <sys/time.h>
1113 #include <dev/wscons/wsconsio.h>
1118 AC_MSG_RESULT($video_wscons)
1119 if test x$video_wscons = xyes; then
1120 AC_DEFINE(SDL_VIDEO_DRIVER_WSCONS)
1121 SOURCES="$SOURCES $srcdir/src/video/wscons/*.c"
1128 dnl Find the AAlib includes
1131 AC_ARG_ENABLE(video-aalib,
1132 AC_HELP_STRING([--enable-video-aalib], [use AAlib video driver [default=no]]),
1133 , enable_video_aalib=no)
1134 if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then
1135 AC_MSG_CHECKING(for AAlib support)
1143 AC_MSG_RESULT($video_aalib)
1144 if test x$video_aalib = xyes; then
1145 AC_DEFINE(SDL_VIDEO_DRIVER_AALIB)
1146 SOURCES="$SOURCES $srcdir/src/video/aalib/*.c"
1147 BUILD_LDFLAGS="$BUILD_LDFLAGS -laa"
1153 dnl Set up the QTopia video driver if enabled
1156 AC_ARG_ENABLE(video-qtopia,
1157 AC_HELP_STRING([--enable-video-qtopia], [use Qtopia video driver [default=no]]),
1158 , enable_video_qtopia=no)
1159 if test x$enable_video = xyes -a x$enable_video_qtopia = xyes; then
1160 AC_MSG_CHECKING(for Qtopia support)
1162 QTOPIA_FLAGS="-DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions"
1165 CXXFLAGS="$QTOPIA_FLAGS"
1167 #include <qpe/qpeapplication.h>
1173 AC_MSG_RESULT($video_qtopia)
1174 if test x$video_qtopia = xyes; then
1175 AC_DEFINE(SDL_VIDEO_DRIVER_QTOPIA)
1176 SOURCES="$SOURCES $srcdir/src/video/qtopia/*.cc"
1177 SDLMAIN_SOURCES="$srcdir/src/main/qtopia/*.cc"
1178 BUILD_CFLAGS="$BUILD_CFLAGS $QTOPIA_FLAGS"
1179 SDL_CFLAGS="$SDL_CFLAGS -DQWS -Dmain=SDL_main"
1180 SDL_LIBS="-lSDLmain $SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte"
1187 dnl Set up the PicoGUI video driver if enabled
1190 AC_ARG_ENABLE(video-picogui,
1191 AC_HELP_STRING([--enable-video-picogui], [use PicoGUI video driver [default=no]]),
1192 , enable_video_picogui=no)
1193 if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then
1194 AC_MSG_CHECKING(for PicoGUI support)
1197 #include <picogui.h>
1202 AC_MSG_RESULT($video_picogui)
1203 if test x$video_picogui = xyes; then
1204 AC_DEFINE(SDL_VIDEO_DRIVER_PICOGUI)
1205 SOURCES="$SOURCES $srcdir/src/video/picogui/*.c"
1206 SDL_LIBS="$SDL_LIBS -lpgui"
1212 dnl Set up the Atari Bios keyboard driver
1213 CheckAtariBiosEvent()
1215 SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.c"
1218 dnl Set up the Atari Xbios driver
1219 CheckAtariXbiosVideo()
1221 AC_ARG_ENABLE(xbios,
1222 AC_HELP_STRING([--enable-video-xbios], [use Atari Xbios video driver [default=yes]]),
1223 , enable_video_xbios=yes)
1225 if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
1227 AC_DEFINE(SDL_VIDEO_DRIVER_XBIOS)
1228 SOURCES="$SOURCES $srcdir/src/video/xbios/*.c"
1233 dnl Set up the Atari Gem driver
1234 CheckAtariGemVideo()
1237 AC_HELP_STRING([--enable-video-gem], [use Atari Gem video driver [default=yes]]),
1238 , enable_video_gem=yes)
1239 if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
1241 AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
1242 AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
1243 if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
1245 AC_DEFINE(SDL_VIDEO_DRIVER_GEM)
1246 SOURCES="$SOURCES $srcdir/src/video/gem/*.c"
1247 BUILD_LDFLAGS="$BUILD_LDFLAGS -lgem"
1253 dnl rcg04172001 Set up the Null video driver.
1256 AC_ARG_ENABLE(video-dummy,
1257 AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [default=yes]]),
1258 , enable_video_dummy=yes)
1259 if test x$enable_video_dummy = xyes; then
1260 AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY)
1261 SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
1266 dnl Check to see if OpenGL support is desired
1267 AC_ARG_ENABLE(video-opengl,
1268 AC_HELP_STRING([--enable-video-opengl], [include OpenGL context creation [default=yes]]),
1269 , enable_video_opengl=yes)
1274 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1275 AC_MSG_CHECKING(for OpenGL (GLX) support)
1284 AC_MSG_RESULT($video_opengl)
1285 if test x$video_opengl = xyes; then
1286 AC_DEFINE(SDL_VIDEO_OPENGL)
1287 AC_DEFINE(SDL_VIDEO_OPENGL_GLX)
1292 dnl Find QNX RtP OpenGL
1295 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1296 AC_MSG_CHECKING(for OpenGL (Photon) support)
1304 AC_MSG_RESULT($video_opengl)
1305 if test x$video_opengl = xyes; then
1306 AC_DEFINE(SDL_VIDEO_OPENGL)
1307 BUILD_LDFLAGS="$BUILD_LDFLAGS -lGL"
1312 dnl Check for Win32 OpenGL
1315 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1316 AC_DEFINE(SDL_VIDEO_OPENGL)
1317 AC_DEFINE(SDL_VIDEO_OPENGL_WGL)
1321 dnl Check for BeOS OpenGL
1324 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1325 AC_DEFINE(SDL_VIDEO_OPENGL)
1326 BUILD_LDFLAGS="$BUILD_LDFLAGS -lGL"
1330 dnl Check for MacOS OpenGL
1333 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1334 AC_DEFINE(SDL_VIDEO_OPENGL)
1337 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework OpenGL"
1338 # The following is probably not available in Darwin:
1339 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework AGL"
1344 dnl Check for Mesa offscreen rendering
1347 if test "x$enable_video" = "xyes" -a "x$enable_video_opengl" = "xyes"; then
1348 AC_CHECK_HEADER(GL/osmesa.h, have_osmesa_hdr=yes)
1349 AC_CHECK_LIB(OSMesa, OSMesaCreateContext, have_osmesa_lib=yes, have_osmesa_lib=no, -lm)
1351 # Static linking to -lOSMesa
1352 AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
1353 if test "x$OSMESA_CONFIG" = "xno" -o "x$enable_atari_ldg" = "xno"; then
1354 # -lOSMesa is really the static library
1355 if test "x$have_osmesa_hdr" = "xyes" -a "x$have_osmesa_lib" = "xyes"; then
1356 OSMESA_LIBS="-lOSMesa"
1359 # -lOSMesa is a loader for OSMesa.ldg
1360 OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
1361 OSMESA_LIBS=`$OSMESA_CONFIG --libs`
1363 AC_DEFINE(SDL_VIDEO_OPENGL)
1364 AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA)
1365 BUILD_CFLAGS="$BUILD_CFLAGS $OSMESA_CFLAGS"
1366 BUILD_LDFLAGS="$BUILD_LDFLAGS $OSMESA_LIBS"
1368 AC_ARG_ENABLE(osmesa-shared,
1369 AC_HELP_STRING([--enable-osmesa-shared], [dynamically load OSMesa OpenGL support [default=yes]]),
1370 , enable_osmesa_shared=yes)
1371 if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then
1373 if test "x$have_osmesa_hdr" = "xyes"; then
1374 AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA_DYNAMIC)
1380 dnl See if we can use the new unified event interface in Linux 2.4
1383 dnl Check for Linux 2.4 unified input event interface support
1384 AC_ARG_ENABLE(input-events,
1385 AC_HELP_STRING([--enable-input-events], [use Linux 2.4 unified input interface [default=yes]]),
1386 , enable_input_events=yes)
1387 if test x$enable_input_events = xyes; then
1388 AC_MSG_CHECKING(for Linux 2.4 unified input interface)
1391 #include <linux/input.h>
1394 #error EVIOCGNAME() ioctl not available
1397 use_input_events=yes
1399 AC_MSG_RESULT($use_input_events)
1400 if test x$use_input_events = xyes; then
1401 AC_DEFINE(SDL_INPUT_LINUXEV)
1406 dnl See if we can use the Touchscreen input library
1409 AC_ARG_ENABLE(input-tslib,
1410 AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [default=yes]]),
1411 , enable_input_tslib=yes)
1412 if test x$enable_input_tslib = xyes; then
1413 AC_MSG_CHECKING(for Touchscreen library support)
1414 enable_input_tslib=no
1419 enable_input_tslib=yes
1421 AC_MSG_RESULT($enable_input_tslib)
1422 if test x$enable_input_tslib = xyes; then
1423 AC_DEFINE(SDL_INPUT_TSLIB)
1424 BUILD_LDFLAGS="$BUILD_LDFLAGS -lts"
1429 dnl See if we can use GNU pth library for threads
1432 dnl Check for pth support
1434 AC_HELP_STRING([--enable-pth], [use GNU pth library for multi-threading [default=yes]]),
1436 if test x$enable_threads = xyes -a x$enable_pth = xyes; then
1437 AC_PATH_PROG(PTH_CONFIG, pth-config, no)
1438 if test "$PTH_CONFIG" = "no"; then
1443 AC_MSG_CHECKING(pth)
1444 AC_MSG_RESULT($use_pth)
1445 if test "x$use_pth" = xyes; then
1446 AC_DEFINE(SDL_THREAD_PTH)
1447 SOURCES="$SOURCES $srcdir/src/thread/pth/*.c"
1448 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
1449 SDL_CFLAGS="$SDL_CFLAGS `$PTH_CONFIG --cflags`"
1450 SDL_LIBS="$SDL_LIBS `$PTH_CONFIG --libs --all`"
1456 dnl See what type of thread model to use on Linux and Solaris
1459 dnl Check for pthread support
1460 AC_ARG_ENABLE(pthreads,
1461 AC_HELP_STRING([--enable-pthreads], [use POSIX threads for multi-threading [default=yes]]),
1462 , enable_pthreads=yes)
1463 dnl This is used on Linux for glibc binary compatibility (Doh!)
1464 AC_ARG_ENABLE(pthread-sem,
1465 AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [default=yes]]),
1466 , enable_pthread_sem=yes)
1469 pthread_cflags="-D_REENTRANT"
1470 pthread_lib="-lpthread"
1473 pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
1477 pthread_cflags="-D_THREAD_SAFE"
1478 # causes Carbon.p complaints?
1479 # pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
1482 pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
1483 pthread_lib="-pthread"
1486 pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
1487 pthread_lib="-L/usr/lib -lpthread"
1490 pthread_cflags="-D_REENTRANT"
1491 pthread_lib="-pthread"
1494 pthread_cflags="-D_REENTRANT"
1495 pthread_lib="-lpthread -lposix4"
1498 pthread_cflags="-D_REENTRANT -Kthread"
1502 pthread_cflags="-D_SGI_MP_SOURCE"
1503 pthread_lib="-lpthread"
1506 pthread_cflags="-D_REENTRANT -mthreads"
1507 pthread_lib="-lpthread"
1510 pthread_cflags="-D_REENTRANT"
1511 pthread_lib="-L/usr/lib -lpthread"
1518 pthread_cflags="-D_REENTRANT"
1519 if test x$ac_cv_prog_gcc = xyes; then
1520 pthread_lib="-lpthread -lrt"
1522 pthread_lib="-lpthread -lexc -lrt"
1526 pthread_cflags="-D_REENTRANT"
1527 pthread_lib="-lpthread"
1530 if test x$enable_threads = xyes -a x$enable_pthreads = xyes -a x$enable_ipod != xyes; then
1531 # Save the original compiler flags and libraries
1532 ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
1533 # Add the pthread compiler flags and libraries
1534 CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
1535 # Check to see if we have pthread support on this system
1536 AC_MSG_CHECKING(for pthreads)
1539 #include <pthread.h>
1541 pthread_attr_t type;
1542 pthread_attr_init(&type);
1546 AC_MSG_RESULT($use_pthreads)
1547 # Restore the compiler flags and libraries
1548 CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
1550 # Do futher testing if we have pthread support...
1551 if test x$use_pthreads = xyes; then
1552 AC_DEFINE(SDL_THREAD_PTHREAD)
1553 BUILD_CFLAGS="$BUILD_CFLAGS $pthread_cflags"
1554 BUILD_LDFLAGS="$BUILD_LDFLAGS $pthread_lib"
1555 SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
1556 SDL_LIBS="$SDL_LIBS $pthread_lib"
1558 # Check to see if recursive mutexes are available
1559 AC_MSG_CHECKING(for recursive mutexes)
1560 has_recursive_mutexes=no
1561 if test x$has_recursive_mutexes = xno; then
1563 #include <pthread.h>
1565 pthread_mutexattr_t attr;
1566 pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
1568 has_recursive_mutexes=yes
1569 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX)
1572 if test x$has_recursive_mutexes = xno; then
1574 #include <pthread.h>
1576 pthread_mutexattr_t attr;
1577 pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
1579 has_recursive_mutexes=yes
1580 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP)
1583 AC_MSG_RESULT($has_recursive_mutexes)
1585 # Check to see if pthread semaphore support is missing
1586 if test x$enable_pthread_sem = xyes; then
1587 AC_MSG_CHECKING(for pthread semaphores)
1590 #include <pthread.h>
1591 #include <semaphore.h>
1594 have_pthread_sem=yes
1596 AC_MSG_RESULT($have_pthread_sem)
1599 # Basic thread creation functions
1600 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c"
1603 # We can fake these with mutexes and condition variables if necessary
1604 if test x$have_pthread_sem = xyes; then
1605 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c"
1607 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
1611 # We can fake these with semaphores if necessary
1612 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c"
1614 # Condition variables
1615 # We can fake these with semaphores and mutexes if necessary
1616 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c"
1625 dnl Determine whether the compiler can produce Win32 executables
1628 AC_MSG_CHECKING(Win32 compiler)
1631 #include <windows.h>
1636 AC_MSG_RESULT($have_win32_gcc)
1637 if test x$have_win32_gcc != xyes; then
1639 *** Your compiler ($CC) does not produce Win32 executables!
1643 dnl See if the user wants to redirect standard output to files
1644 AC_ARG_ENABLE(stdio-redirect,
1645 AC_HELP_STRING([--enable-stdio-redirect], [Redirect STDIO to files on Win32 [default=yes]]),
1646 , enable_stdio_redirect=yes)
1647 if test x$enable_stdio_redirect != xyes; then
1648 BUILD_CFLAGS="$BUILD_CFLAGS -DNO_STDIO_REDIRECT"
1651 if test x$enable_video = xyes; then
1652 AC_DEFINE(SDL_VIDEO_DRIVER_WINDIB)
1653 SOURCES="$SOURCES $srcdir/src/video/wincommon/*.c"
1654 SOURCES="$SOURCES $srcdir/src/video/windib/*.c"
1659 dnl Find the DirectX includes and libraries
1662 AC_ARG_ENABLE(directx,
1663 AC_HELP_STRING([--enable-directx], [use DirectX for Win32 audio/video [default=yes]]),
1664 , enable_directx=yes)
1665 if test x$enable_directx = xyes; then
1667 AC_CHECK_HEADER(ddraw.h, have_ddraw=yes)
1668 AC_CHECK_HEADER(dsound.h, have_dsound=yes)
1669 AC_CHECK_HEADER(dinput.h, use_dinput=yes)
1670 if test x$have_ddraw = xyes -a x$have_dsound = xyes -a x$use_dinput = xyes; then
1673 if test x$enable_video = xyes -a x$have_directx = xyes; then
1674 AC_DEFINE(SDL_VIDEO_DRIVER_DDRAW)
1675 SOURCES="$SOURCES $srcdir/src/video/windx5/*.c"
1681 dnl Check for the dlfcn.h interface for dynamically loading objects
1684 AC_ARG_ENABLE(sdl-dlopen,
1685 AC_HELP_STRING([--enable-sdl-dlopen], [use dlopen for shared object loading [default=yes]]),
1686 , enable_sdl_dlopen=yes)
1687 if test x$enable_sdl_dlopen = xyes; then
1688 AC_MSG_CHECKING(for dlopen)
1696 AC_MSG_RESULT($have_dlopen)
1698 if test x$have_dlopen = xyes; then
1699 AC_CHECK_LIB(c, dlopen, BUILD_LDFLAGS="$BUILD_LDFLAGS",
1700 AC_CHECK_LIB(dl, dlopen, BUILD_LDFLAGS="$BUILD_LDFLAGS -ldl",
1701 AC_CHECK_LIB(ltdl, dlopen, BUILD_LDFLAGS="$BUILD_LDFLAGS -lltdl")))
1702 AC_CHECK_LIB(dl, dlvsym, have_dlvsym=yes)
1703 if test x$have_dlvsym = xyes; then
1704 AC_DEFINE(HAVE_DLVSYM)
1706 AC_DEFINE(SDL_LOADSO_DLOPEN)
1707 SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c"
1713 dnl Set up the Atari LDG (shared object loader)
1716 AC_ARG_ENABLE(atari-ldg,
1717 AC_HELP_STRING([--enable-atari-ldg], [use Atari LDG for shared object loading [default=yes]]),
1718 , enable_atari_ldg=yes)
1719 if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
1720 AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
1721 AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
1722 if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
1723 AC_DEFINE(SDL_LOADSO_LDG)
1724 SOURCES="$SOURCES $srcdir/src/loadso/mint/*.c"
1725 BUILD_LDFLAGS="$BUILD_LDFLAGS -lldg -lgem"
1731 dnl Check for the usbhid(3) library on *BSD
1734 if test x$enable_joystick = xyes; then
1735 AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
1736 AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
1737 AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
1738 AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
1740 AC_CHECK_LIB(usbhid, hid_init, [USB_LIBS="$USB_LIBS -lusbhid"])
1741 AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
1743 save_CFLAGS="$CFLAGS"
1744 CFLAGS="$CFLAGS $USB_CFLAGS"
1746 AC_MSG_CHECKING(for usbhid)
1749 #include <sys/types.h>
1750 #if defined(HAVE_USB_H)
1753 #include <dev/usb/usb.h>
1754 #include <dev/usb/usbhid.h>
1755 #if defined(HAVE_USBHID_H)
1757 #elif defined(HAVE_LIBUSB_H)
1759 #elif defined(HAVE_LIBUSBHID_H)
1760 #include <libusbhid.h>
1763 struct report_desc *repdesc;
1764 struct usb_ctl_report *repbuf;
1769 AC_MSG_RESULT($have_usbhid)
1771 if test x$have_usbhid = xyes; then
1772 AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
1773 have_usbhid_ucr_data=no
1775 #include <sys/types.h>
1776 #if defined(HAVE_USB_H)
1779 #include <dev/usb/usb.h>
1780 #include <dev/usb/usbhid.h>
1781 #if defined(HAVE_USBHID_H)
1783 #elif defined(HAVE_LIBUSB_H)
1785 #elif defined(HAVE_LIBUSBHID_H)
1786 #include <libusbhid.h>
1789 struct usb_ctl_report buf;
1790 if (buf.ucr_data) { }
1792 have_usbhid_ucr_data=yes
1794 if test x$have_usbhid_ucr_data = xyes; then
1795 USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
1797 AC_MSG_RESULT($have_usbhid_ucr_data)
1799 AC_MSG_CHECKING(for new usbhid API)
1802 #include <sys/types.h>
1803 #if defined(HAVE_USB_H)
1806 #include <dev/usb/usb.h>
1807 #include <dev/usb/usbhid.h>
1808 #if defined(HAVE_USBHID_H)
1810 #elif defined(HAVE_LIBUSB_H)
1812 #elif defined(HAVE_LIBUSBHID_H)
1813 #include <libusbhid.h>
1817 hid_start_parse(d, 1, 1);
1821 if test x$have_usbhid_new = xyes; then
1822 USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
1824 AC_MSG_RESULT($have_usbhid_new)
1826 AC_DEFINE(SDL_JOYSTICK_USBHID)
1827 SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
1828 BUILD_CFLAGS="$BUILD_CFLAGS $USB_CFLAGS"
1829 BUILD_LDFLAGS="$BUILD_LDFLAGS $USB_LIBS"
1832 CFLAGS="$save_CFLAGS"
1836 dnl Check for clock_gettime()
1839 AC_ARG_ENABLE(clock_gettime,
1840 AC_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettimeofday() on UNIX [default=no]]),
1841 , enable_clock_gettime=no)
1842 if test x$enable_clock_gettime = xyes; then
1843 AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes)
1844 if test x$have_clock_gettime = xyes; then
1845 AC_DEFINE(HAVE_CLOCK_GETTIME)
1846 BUILD_LDFLAGS="$BUILD_LDFLAGS -lrt"
1851 dnl Check for a valid linux/version.h
1854 AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
1855 if test x$have_linux_version_h = xyes; then
1856 BUILD_CFLAGS="$BUILD_CFLAGS -DHAVE_LINUX_VERSION_H"
1860 dnl Check if we want to use RPATH
1863 AC_ARG_ENABLE(rpath,
1864 AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [default=yes]]),
1868 dnl Set up the configuration based on the target platform!
1870 arm-*-elf*) # FIXME: Can we get more specific for iPodLinux?
1874 # Set up files for the timer library
1875 if test x$enable_timers = xyes; then
1876 AC_DEFINE(SDL_TIMER_UNIX)
1877 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
1881 *-*-linux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*)
1883 *-*-linux*) ARCH=linux ;;
1884 *-*-kfreebsd*-gnu) ARCH=kfreebsd-gnu ;;
1885 *-*-knetbsd*-gnu) ARCH=knetbsd-gnu ;;
1886 *-*-kopenbsd*-gnu) ARCH=kopenbsd-gnu ;;
1887 *-*-gnu*) ARCH=gnu ;; # must be last of the gnu variants
1888 *-*-bsdi*) ARCH=bsdi ;;
1889 *-*-freebsd*) ARCH=freebsd ;;
1890 *-*-netbsd*) ARCH=netbsd ;;
1891 *-*-openbsd*) ARCH=openbsd ;;
1892 *-*-sysv5*) ARCH=sysv5 ;;
1893 *-*-solaris*) ARCH=solaris ;;
1894 *-*-hpux*) ARCH=hpux ;;
1895 *-*-irix*) ARCH=irix ;;
1896 *-*-aix*) ARCH=aix ;;
1897 *-*-osf*) ARCH=osf ;;
1930 # Set up files for the audio library
1931 if test x$enable_audio = xyes; then
1933 netbsd|sysv5|solaris|hpux)
1934 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
1935 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
1939 AC_DEFINE(SDL_AUDIO_DRIVER_OPENBSD)
1940 SOURCES="$SOURCES $srcdir/src/audio/openbsd/*.c"
1944 AC_DEFINE(SDL_AUDIO_DRIVER_PAUD)
1945 SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
1949 AC_DEFINE(SDL_AUDIO_DRIVER_MMEAUDIO)
1950 SOURCES="$SOURCES $srcdir/src/audio/mme/*.c"
1951 BUILD_LDFLAGS="$BUILD_LDFLAGS -lmme"
1956 # Set up files for the joystick library
1957 if test x$enable_joystick = xyes; then
1960 AC_DEFINE(SDL_JOYSTICK_LINUX)
1961 SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
1966 # Set up files for the cdrom library
1967 if test x$enable_cdrom = xyes; then
1970 AC_DEFINE(SDL_CDROM_LINUX)
1971 SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c"
1975 AC_DEFINE(SDL_CDROM_FREEBSD)
1976 SOURCES="$SOURCES $srcdir/src/cdrom/freebsd/*.c"
1980 AC_DEFINE(SDL_CDROM_OPENBSD)
1981 SOURCES="$SOURCES $srcdir/src/cdrom/openbsd/*.c"
1985 AC_DEFINE(SDL_CDROM_BSDI)
1986 SOURCES="$SOURCES $srcdir/src/cdrom/bsdi/*.c"
1990 AC_DEFINE(SDL_CDROM_AIX)
1991 SOURCES="$SOURCES $srcdir/src/cdrom/aix/*.c"
1995 AC_DEFINE(SDL_CDROM_OSF)
1996 SOURCES="$SOURCES $srcdir/src/cdrom/osf/*.c"
2001 # Set up files for the thread library
2002 if test x$enable_threads = xyes -a x$use_pthreads != xyes -a x$use_pth != xyes -a x$ARCH = xirix; then
2003 AC_DEFINE(SDL_THREAD_SPROC)
2004 SOURCES="$SOURCES $srcdir/src/thread/irix/*.c"
2005 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
2006 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
2009 # Set up files for the timer library
2010 if test x$enable_timers = xyes; then
2011 AC_DEFINE(SDL_TIMER_UNIX)
2012 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
2027 # Set up files for the audio library
2028 if test x$enable_audio = xyes; then
2029 AC_DEFINE(SDL_AUDIO_DRIVER_QNXNTO)
2030 SOURCES="$SOURCES $srcdir/src/audio/nto/*.c"
2031 BUILD_LDFLAGS="$BUILD_LDFLAGS -lasound"
2034 # Set up files for the cdrom library
2035 if test x$enable_cdrom = xyes; then
2036 AC_DEFINE(SDL_CDROM_QNX)
2037 SOURCES="$SOURCES $srcdir/src/cdrom/qnx/*.c"
2040 # Set up files for the timer library
2041 if test x$enable_timers = xyes; then
2042 AC_DEFINE(SDL_TIMER_UNIX)
2043 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
2047 *-*-cygwin* | *-*-mingw32*)
2049 if test "$build" != "$target"; then # cross-compiling
2050 # Default cross-compile location
2051 ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
2053 # Look for the location of the tools and install there
2054 if test "$BUILD_PREFIX" != ""; then
2055 ac_default_prefix=$BUILD_PREFIX
2064 # Set up files for the audio library
2065 if test x$enable_audio = xyes; then
2066 AC_DEFINE(SDL_AUDIO_DRIVER_WAVEOUT)
2067 SOURCES="$SOURCES $srcdir/src/audio/windib/*.c"
2068 if test x$have_directx = xyes; then
2069 AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND)
2070 SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c"
2074 # Set up files for the joystick library
2075 if test x$enable_joystick = xyes; then
2076 AC_DEFINE(SDL_JOYSTICK_WINMM)
2077 SOURCES="$SOURCES $srcdir/src/joystick/win32/*.c"
2080 # Set up files for the cdrom library
2081 if test x$enable_cdrom = xyes; then
2082 AC_DEFINE(SDL_CDROM_WIN32)
2083 SOURCES="$SOURCES $srcdir/src/cdrom/win32/*.c"
2086 # Set up files for the thread library
2087 if test x$enable_threads = xyes; then
2088 AC_DEFINE(SDL_THREAD_WIN32)
2089 SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_sysmutex.c"
2090 SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_syssem.c"
2091 SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_systhread.c"
2092 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
2095 # Set up files for the timer library
2096 if test x$enable_timers = xyes; then
2097 AC_DEFINE(SDL_TIMER_WIN32)
2098 SOURCES="$SOURCES $srcdir/src/timer/win32/*.c"
2101 # Set up files for the shared object loading library
2102 if test x$enable_loadso = xyes; then
2103 AC_DEFINE(SDL_LOADSO_WIN32)
2104 SOURCES="$SOURCES $srcdir/src/loadso/win32/*.c"
2107 # Set up the system libraries we need
2108 BUILD_LDFLAGS="$BUILD_LDFLAGS -luser32 -lgdi32 -lwinmm"
2109 if test x$have_directx = xyes; then
2110 BUILD_LDFLAGS="$BUILD_LDFLAGS -ldxguid"
2112 # The Win32 platform requires special setup
2113 SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
2114 SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
2115 SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
2119 ac_default_prefix=/boot/develop/tools/gnupro
2125 # Set up files for the audio library
2126 if test x$enable_audio = xyes; then
2127 AC_DEFINE(SDL_AUDIO_DRIVER_BAUDIO)
2128 SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc"
2131 # Set up files for the joystick library
2132 if test x$enable_joystick = xyes; then
2133 AC_DEFINE(SDL_JOYSTICK_BEOS)
2134 SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc"
2137 # Set up files for the cdrom library
2138 if test x$enable_cdrom = xyes; then
2139 AC_DEFINE(SDL_CDROM_BEOS)
2140 SOURCES="$SOURCES $srcdir/src/cdrom/beos/*.cc"
2143 # Set up files for the thread library
2144 if test x$enable_threads = xyes; then
2145 AC_DEFINE(SDL_THREAD_BEOS)
2146 SOURCES="$SOURCES $srcdir/src/thread/beos/*.c"
2147 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
2148 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
2151 # Set up files for the timer library
2152 if test x$enable_timers = xyes; then
2153 AC_DEFINE(SDL_TIMER_BEOS)
2154 SOURCES="$SOURCES $srcdir/src/timer/beos/*.c"
2157 # Set up files for the shared object loading library
2158 if test x$enable_loadso = xyes; then
2159 AC_DEFINE(SDL_LOADSO_BEOS)
2160 SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c"
2163 # The BeOS platform requires special setup.
2164 SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
2165 BUILD_LDFLAGS="$BUILD_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
2168 # This could be either full "Mac OS X", or plain "Darwin" which is
2169 # just the OS X kernel sans upper layers like Carbon and Cocoa.
2170 # Next line is broken, and a few files below require Mac OS X (full)
2182 # Set up files for the audio library
2183 if test x$enable_audio = xyes; then
2184 AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO)
2185 SOURCES="$SOURCES $srcdir/src/audio/macosx/*.c"
2186 AC_DEFINE(SDL_AUDIO_DRIVER_SNDMGR)
2187 SOURCES="$SOURCES $srcdir/src/audio/macrom/*.c"
2190 # Set up files for the joystick library
2191 if test x$enable_joystick = xyes; then
2192 AC_DEFINE(SDL_JOYSTICK_IOKIT)
2193 SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
2194 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework IOKit"
2197 # Set up files for the cdrom library
2198 if test x$enable_cdrom = xyes; then
2199 AC_DEFINE(SDL_CDROM_MACOSX)
2200 SOURCES="$SOURCES $srcdir/src/cdrom/macosx/*.c"
2203 # Set up files for the timer library
2204 if test x$enable_timers = xyes; then
2205 AC_DEFINE(SDL_TIMER_UNIX)
2206 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
2209 # Set up files for the shared object loading library
2210 if test x$enable_loadso = xyes -a x$have_dlopen != xyes; then
2211 AC_DEFINE(SDL_LOADSO_DLCOMPAT)
2212 SOURCES="$SOURCES $srcdir/src/loadso/macosx/*.c"
2215 # The MacOS X platform requires special setup.
2216 SDLMAIN_SOURCES="$srcdir/src/main/macosx/*.m"
2217 BUILD_CFLAGS="$BUILD_CFLAGS -fpascal-strings"
2218 SDL_LIBS="-lSDLmain $SDL_LIBS"
2219 if test x$enable_video_cocoa = xyes; then
2220 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework Cocoa"
2222 if test x$enable_video_carbon = xyes -o x$enable_video_cocoa = xyes; then
2223 # The Cocoa backend still needs Carbon, and the YUV code QuickTime
2224 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework QuickTime -framework ApplicationServices"
2225 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework Carbon"
2227 # If either the audio or CD driver is used, add the AudioUnit framework
2228 if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
2229 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework AudioToolbox -framework AudioUnit"
2237 CheckAtariXbiosVideo
2243 # Set up files for the audio library
2244 if test x$enable_threads = xyes -a x$enable_pth = xyes; then
2245 if test x$enable_audio = xyes; then
2246 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
2247 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
2251 # Set up files for the joystick library
2252 if test x$enable_joystick = xyes; then
2253 AC_DEFINE(SDL_JOYSTICK_MINT)
2254 SOURCES="$SOURCES $srcdir/src/joystick/mint/*.c"
2257 # Set up files for the cdrom library
2258 if test x$enable_cdrom = xyes; then
2259 AC_DEFINE(SDL_CDROM_MINT)
2260 SOURCES="$SOURCES $srcdir/src/cdrom/mint/*.c"
2263 # Set up files for the timer library
2264 if test x$enable_timers = xyes; then
2265 if test x$enable_threads = xyes -a x$enable_pth = xyes; then
2266 AC_DEFINE(SDL_TIMER_UNIX)
2267 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
2269 AC_DEFINE(SDL_TIMER_MINT)
2270 SOURCES="$SOURCES $srcdir/src/timer/mint/*.c"
2279 # Set up files for the video library
2280 if test x$enable_video = xyes; then
2281 AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS)
2282 SOURCES="$SOURCES $srcdir/src/video/riscos/*.c"
2285 # Set up files for the joystick library
2286 if test x$enable_joystick = xyes; then
2287 AC_DEFINE(SDL_JOYSTICK_RISCOS)
2288 SOURCES="$SOURCES $srcdir/src/joystick/riscos/*.c"
2291 # Set up files for the timer library
2292 if test x$enable_timers = xyes; then
2293 AC_DEFINE(SDL_TIMER_RISCOS)
2294 SOURCES="$SOURCES $srcdir/src/timer/riscos/*.c"
2297 # The RISC OS platform requires special setup.
2298 BUILD_LDFLAGS="$BUILD_LDFLAGS -ljpeg -ltiff -lpng -lz"
2302 *** Unsupported target: Please add to configure.in
2307 # Verify that we have all the platform specific files we need
2308 if test x$have_joystick != xyes; then
2309 if test x$enable_joystick = xyes; then
2310 AC_DEFINE(SDL_JOYSTICK_DISABLED)
2312 SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
2314 if test x$have_cdrom != xyes; then
2315 if test x$enable_cdrom = xyes; then
2316 AC_DEFINE(SDL_CDROM_DISABLED)
2318 SOURCES="$SOURCES $srcdir/src/cdrom/dummy/*.c"
2320 if test x$have_threads != xyes; then
2321 if test x$enable_threads = xyes; then
2322 AC_DEFINE(SDL_THREADS_DISABLED)
2324 SOURCES="$SOURCES $srcdir/src/thread/generic/*.c"
2326 if test x$have_timers != xyes; then
2327 if test x$enable_timers = xyes; then
2328 AC_DEFINE(SDL_TIMERS_DISABLED)
2330 SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
2332 if test x$have_loadso != xyes; then
2333 if test x$enable_loadso = xyes; then
2334 AC_DEFINE(SDL_LOADSO_DISABLED)
2336 SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
2338 if test x$SDLMAIN_SOURCES = x; then
2339 SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
2342 OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.asm,$(objects)/\1.lo,g'`
2343 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
2344 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
2345 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
2347 SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'`
2348 SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.o,g'`
2349 SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
2351 # Set runtime shared library paths as needed
2353 if test "x$enable_rpath" = "xyes"; then
2354 if test $ARCH = linux -o $ARCH = freebsd -o $ARCH = bsdi -o $ARCH = irix; then
2355 SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
2357 if test $ARCH = solaris; then
2358 SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
2365 openbsd | netbsd | bsdi)
2366 SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
2369 SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
2372 SHARED_SYSTEM_LIBS=""
2373 if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
2374 SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework Cocoa"
2376 if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then
2377 SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework Carbon"
2379 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
2380 SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework OpenGL"
2384 SHARED_SYSTEM_LIBS=""
2390 # Evil hack to allow static linking on Mac OS X
2391 SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDLmain.a \${exec_prefix}/lib/libSDL.a"
2394 SDL_STATIC_LIBS="$SDL_LIBS"
2398 STATIC_SYSTEM_LIBS="$SYSTEM_LIBS"
2400 dnl Expand the cflags and libraries needed by apps using SDL
2401 AC_SUBST(SDL_CFLAGS)
2403 AC_SUBST(SDL_STATIC_LIBS)
2404 AC_SUBST(SDL_RLD_FLAGS)
2405 if test x$enable_shared = xyes; then
2407 ENABLE_SHARED_FALSE="#"
2409 ENABLE_SHARED_TRUE="#"
2410 ENABLE_SHARED_FALSE=
2412 if test x$enable_static = xyes; then
2414 ENABLE_STATIC_FALSE="#"
2416 ENABLE_STATIC_TRUE="#"
2417 ENABLE_STATIC_FALSE=
2419 AC_SUBST(ENABLE_SHARED_TRUE)
2420 AC_SUBST(ENABLE_SHARED_FALSE)
2421 AC_SUBST(ENABLE_STATIC_TRUE)
2422 AC_SUBST(ENABLE_STATIC_FALSE)
2424 dnl Expand the libraries needed for static and dynamic linking
2425 AC_SUBST(STATIC_SYSTEM_LIBS)
2426 AC_SUBST(SHARED_SYSTEM_LIBS)
2427 AC_SUBST(SYSTEM_LIBS)
2429 dnl Expand the sources and objects needed to build the library
2430 AC_SUBST(ac_aux_dir)
2434 AC_SUBST(SDLMAIN_SOURCES)
2435 AC_SUBST(SDLMAIN_OBJECTS)
2436 AC_SUBST(BUILD_CFLAGS)
2437 AC_SUBST(BUILD_LDFLAGS)
2440 Makefile sdl-config SDL.spec SDL.qpg