Add the NAS library directory, since X11 is dynamically loaded now...
FIXME: See if we can dynamically load NAS
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 iconv.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 strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp sscanf snprintf vsnprintf iconv 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_WARN([You must have SDL_LoadObject() support for dynamic ALSA loading])
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"
340 dnl Check whether we want to use IRIX 6.5+ native audio or not
343 if test x$enable_audio = xyes; then
344 AC_MSG_CHECKING(for dmedia audio support)
347 #include <dmedia/audio.h>
353 AC_MSG_RESULT($have_dmedia)
354 # Set up files for the audio library
355 if test x$have_dmedia = xyes; then
356 AC_DEFINE(SDL_AUDIO_DRIVER_DMEDIA)
357 SOURCES="$SOURCES $srcdir/src/audio/dmedia/*.c"
358 BUILD_LDFLAGS="$BUILD_LDFLAGS -laudio"
364 dnl Check whether we want to use Tru64 UNIX native audio or not
367 dnl Make sure we are running on an Tru64 UNIX
375 if test x$enable_audio = xyes; then
376 AC_MSG_CHECKING(for MME audio support)
377 MME_CFLAGS="-I/usr/include/mme"
380 save_CFLAGS="$CFLAGS"
381 CFLAGS="$CFLAGS $MME_CFLAGS"
389 CFLAGS="$save_CFLAGS"
390 AC_MSG_RESULT($have_mme)
391 # Set up files for the audio library
392 if test x$have_mme = xyes; then
393 AC_DEFINE(SDL_AUDIO_DRIVER_MMEAUDIO)
394 SOURCES="$SOURCES $srcdir/src/audio/mme/*.c"
395 BUILD_CFLAGS="$BUILD_CFLAGS $MME_CFLAGS"
396 BUILD_LDFLAGS="$BUILD_LDFLAGS $MME_LIBS"
402 dnl Find the ESD includes and libraries
406 AC_HELP_STRING([--enable-esd], [support the Enlightened Sound Daemon [default=yes]]),
408 if test x$enable_audio = xyes -a x$enable_esd = xyes; then
409 AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no)
410 if test x$have_esd = xyes; then
411 AC_ARG_ENABLE(esd-shared,
412 AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [default=yes]]),
413 , enable_esd_shared=yes)
414 esd_lib_spec=`echo $ESD_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libesd.so.*/'`
415 esd_lib=`ls $esd_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
416 echo "-- $esd_lib_spec -> $esd_lib"
418 AC_DEFINE(SDL_AUDIO_DRIVER_ESD)
419 SOURCES="$SOURCES $srcdir/src/audio/esd/*.c"
420 BUILD_CFLAGS="$BUILD_CFLAGS $ESD_CFLAGS"
421 if test x$have_loadso != xyes && \
422 test x$enable_esd_shared = xyes; then
423 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ESD loading])
425 if test x$have_loadso = xyes && \
426 test x$enable_esd_shared = xyes && test x$esd_lib != x; then
427 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ESD_DYNAMIC, "$esd_lib")
429 BUILD_LDFLAGS="$BUILD_LDFLAGS $ESD_LIBS"
439 AC_HELP_STRING([--enable-arts], [support the Analog Real Time Synthesizer [default=yes]]),
441 if test x$enable_audio = xyes -a x$enable_arts = xyes; then
442 AC_PATH_PROG(ARTSCONFIG, artsc-config)
443 if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then
444 : # arts isn't installed
446 ARTS_CFLAGS=`$ARTSCONFIG --cflags`
447 ARTS_LIBS=`$ARTSCONFIG --libs`
448 ARTS_PREFIX=`$ARTSCONFIG --arts-prefix`
449 AC_MSG_CHECKING(for aRts development environment)
451 save_CFLAGS="$CFLAGS"
452 CFLAGS="$CFLAGS $ARTS_CFLAGS"
456 arts_stream_t stream;
460 CFLAGS="$save_CFLAGS"
461 AC_MSG_RESULT($audio_arts)
462 if test x$audio_arts = xyes; then
463 AC_ARG_ENABLE(arts-shared,
464 AC_HELP_STRING([--enable-arts-shared], [dynamically load aRts audio support [default=yes]]),
465 , enable_arts_shared=yes)
466 arts_lib_spec="$ARTS_PREFIX/lib/libartsc.so.*"
467 arts_lib=`ls $arts_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
468 echo "-- $arts_lib_spec -> $arts_lib"
470 AC_DEFINE(SDL_AUDIO_DRIVER_ARTS)
471 SOURCES="$SOURCES $srcdir/src/audio/arts/*.c"
472 BUILD_CFLAGS="$BUILD_CFLAGS $ARTS_CFLAGS"
473 if test x$have_loadso != xyes && \
474 test x$enable_arts_shared = xyes; then
475 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ARTS loading])
477 if test x$have_loadso = xyes && \
478 test x$enable_arts_shared = xyes && test x$arts_lib != x; then
479 AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ARTS_DYNAMIC, "$arts_lib")
481 BUILD_LDFLAGS="$BUILD_LDFLAGS $ARTS_LIBS"
489 dnl See if the NAS audio interface is supported
493 AC_HELP_STRING([--enable-nas], [support the NAS audio API [default=yes]]),
495 if test x$enable_audio = xyes -a x$enable_nas = xyes; then
496 AC_MSG_CHECKING(for NAS audio support)
498 if test -r /usr/X11R6/include/audio/audiolib.h; then
500 NAS_CFLAGS="-I/usr/X11R6/include/"
501 NAS_LIBS="-L/usr/X11R6/lib -laudio -lXt"
503 dnl On IRIX, the NAS includes are in a different directory,
504 dnl and libnas must be explicitly linked in
506 elif test -r /usr/freeware/include/nas/audiolib.h; then
508 NAS_LIBS="-lnas -lXt"
510 AC_MSG_RESULT($have_nas)
511 if test x$have_nas = xyes; then
512 AC_DEFINE(SDL_AUDIO_DRIVER_NAS)
513 SOURCES="$SOURCES $srcdir/src/audio/nas/*.c"
514 BUILD_CFLAGS="$BUILD_CFLAGS $NAS_CFLAGS"
515 BUILD_LDFLAGS="$BUILD_LDFLAGS $NAS_LIBS"
521 dnl rcg07142001 See if the user wants the disk writer audio driver...
524 AC_ARG_ENABLE(diskaudio,
525 AC_HELP_STRING([--enable-diskaudio], [support the disk writer audio driver [default=yes]]),
526 , enable_diskaudio=yes)
527 if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
528 AC_DEFINE(SDL_AUDIO_DRIVER_DISK)
529 SOURCES="$SOURCES $srcdir/src/audio/disk/*.c"
533 dnl Set up the Atari Audio driver
536 AC_ARG_ENABLE(mintaudio,
537 AC_HELP_STRING([--enable-mintaudio], [support Atari audio driver [default=yes]]),
538 , enable_mintaudio=yes)
539 if test x$enable_audio = xyes -a x$enable_mintaudio = xyes; then
541 AC_CHECK_HEADER(mint/falcon.h, have_mint_falcon_hdr=yes)
542 if test x$have_mint_falcon_hdr = xyes; then
544 AC_DEFINE(SDL_AUDIO_DRIVER_MINT)
545 SOURCES="$SOURCES $srcdir/src/audio/mint/*.c"
546 SOURCES="$SOURCES $srcdir/src/audio/mint/*.S"
552 dnl See if we can use x86 assembly blitters
553 # NASM is available from: http://nasm.sourceforge.net
556 dnl Make sure we are running on an x86 platform
565 dnl Check for NASM (for assembly blit routines)
567 AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [default=yes]]),
569 if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_nasm = xyes; then
570 AC_PATH_PROG(NASM, nasm)
571 if test x$NASM != x -a x$NASM != x'"$NASM"'; then
572 AC_DEFINE(SDL_HERMES_BLITTERS)
573 SOURCES="$SOURCES $srcdir/src/hermes/*.asm"
589 # this line is needed for QNX, because it's not defined the __ELF__
591 BUILD_CFLAGS="$BUILD_CFLAGS -D__ELF__";;
593 BUILD_CFLAGS="$BUILD_CFLAGS -D__ELF__";;
599 dnl Check for altivec instruction support using gas syntax
602 AC_ARG_ENABLE(altivec,
603 AC_HELP_STRING([--enable-altivec], [use altivec assembly blitters on PPC [default=yes]]),
604 , enable_altivec=yes)
605 if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_altivec = xyes; then
606 have_altivec_h_hdr=no
607 AC_CHECK_HEADER(altivec.h, have_altivec_h_hdr=yes)
609 save_CFLAGS="$CFLAGS"
611 AC_MSG_CHECKING(for Altivec with GCC -maltivec option)
612 altivec_CFLAGS="-maltivec"
613 CFLAGS="$save_CFLAGS $altivec_CFLAGS"
615 if test x$have_altivec_h_hdr = xyes; then
618 vector unsigned int vzero() {
619 return vec_splat_u32(0);
625 AC_MSG_RESULT($have_gcc_altivec)
628 vector unsigned int vzero() {
629 return vec_splat_u32(0);
635 AC_MSG_RESULT($have_gcc_altivec)
638 if test x$have_gcc_altivec = xno; then
639 AC_MSG_CHECKING(for Altivec with GCC -faltivec option)
640 altivec_CFLAGS="-faltivec"
641 CFLAGS="$save_CFLAGS $altivec_CFLAGS"
642 if test x$have_altivec_h_hdr = xyes; then
645 vector unsigned int vzero() {
646 return vec_splat_u32(0);
652 AC_MSG_RESULT($have_gcc_altivec)
655 vector unsigned int vzero() {
656 return vec_splat_u32(0);
662 AC_MSG_RESULT($have_gcc_altivec)
665 CFLAGS="$save_CFLAGS"
667 if test x$have_gcc_altivec = xyes; then
668 AC_DEFINE(SDL_ALTIVEC_BLITTERS)
669 if test x$have_altivec_h_hdr = xyes; then
670 AC_DEFINE(HAVE_ALTIVEC_H)
672 BUILD_CFLAGS="$BUILD_CFLAGS $altivec_CFLAGS"
677 dnl Do the iPod thing
681 AC_HELP_STRING([--enable-ipod], [configure SDL to work with iPodLinux [default=yes on arm-elf]]),
684 if test x$enable_ipod = xyes; then
685 BUILD_CFLAGS="$BUILD_CFLAGS -DIPOD"
686 AC_DEFINE(SDL_VIDEO_DRIVER_IPOD)
687 SOURCES="$SOURCES $srcdir/src/video/ipod/*.c"
691 dnl Find the nanox include and library directories
694 AC_ARG_ENABLE(video-nanox,
695 AC_HELP_STRING([--enable-video-nanox], [use nanox video driver [default=no]]),
696 , enable_video_nanox=no)
698 if test x$enable_video = xyes -a x$enable_video_nanox = xyes; then
699 AC_ARG_ENABLE(nanox-debug,
700 AC_HELP_STRING([--enable-nanox-debug], [print debug messages [default=no]]),
701 , enable_nanox_debug=no)
702 if test x$enable_nanox_debug = xyes; then
703 BUILD_CFLAGS="$BUILD_CFLAGS -DENABLE_NANOX_DEBUG"
706 AC_ARG_ENABLE(nanox-share-memory,
707 AC_HELP_STRING([--enable-nanox-share-memory], [use share memory [default=no]]),
708 , enable_nanox_share_memory=no)
709 if test x$enable_nanox_share_memory = xyes; then
710 BUILD_CFLAGS="$BUILD_CFLAGS -DNANOX_SHARE_MEMORY"
713 AC_ARG_ENABLE(nanox_direct_fb,
714 AC_HELP_STRING([--enable-nanox-direct-fb], [use direct framebuffer access [default=no]]),
715 , enable_nanox_direct_fb=no)
716 if test x$enable_nanox_direct_fb = xyes; then
717 BUILD_CFLAGS="$BUILD_CFLAGS -DENABLE_NANOX_DIRECT_FB"
720 AC_DEFINE(SDL_VIDEO_DRIVER_NANOX)
721 SOURCES="$SOURCES $srcdir/src/video/nanox/*.c"
722 BUILD_LDFLAGS="$BUILD_LDFLAGS -lnano-X"
727 dnl Find the X11 include and library directories
730 AC_ARG_ENABLE(video-x11,
731 AC_HELP_STRING([--enable-video-x11], [use X11 video driver [default=yes]]),
732 , enable_video_x11=yes)
733 if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then
736 if test x$have_x = xyes; then
737 AC_ARG_ENABLE(x11-shared,
738 AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [default=yes]]),
739 , enable_x11_shared=yes)
743 x11_lib='/usr/X11R6/lib/libX11.6.dylib'
744 x11ext_lib='/usr/X11R6/lib/libXext.6.dylib'
748 x11ext_lib='libXext.so'
750 *-*-irix*) # IRIX 6.5 requires that we use /usr/lib32
752 x11ext_lib='libXext.so'
755 if test "x$X_LIBS" = "x"; then X_LIBS="-L/usr/lib"; fi
756 x11_lib_spec=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1\/libX11.so.[0-9]/'`]
757 x11_lib=`ls $x11_lib_spec 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`
758 x11ext_lib_spec=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1\/libXext.so.[0-9]/'`]
759 x11ext_lib=`ls $x11ext_lib_spec 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`
763 X_CFLAGS="$X_CFLAGS -DXTHREADS"
764 if test x$ac_cv_func_shmat != xyes; then
765 X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY"
768 AC_DEFINE(SDL_VIDEO_DRIVER_X11)
769 SOURCES="$SOURCES $srcdir/src/video/x11/*.c"
770 BUILD_CFLAGS="$BUILD_CFLAGS $X_CFLAGS"
771 if test x$have_loadso != xyes && \
772 test x$enable_x11_shared = xyes; then
773 AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic X11 loading])
775 if test x$have_loadso = xyes && \
776 test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then
777 echo "-- dynamic libX11 -> $x11_lib"
778 echo "-- dynamic libX11ext -> $x11ext_lib"
779 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC, "$x11_lib")
780 AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT, "$x11ext_lib")
782 BUILD_LDFLAGS="$BUILD_LDFLAGS $X_LIBS -lX11 -lXext"
787 AC_HELP_STRING([--enable-dga], [allow use of X11 DGA code [default=yes]]),
789 if test x$enable_dga = xyes; then
790 SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86dga/*.c"
792 AC_ARG_ENABLE(video-dga,
793 AC_HELP_STRING([--enable-video-dga], [use DGA 2.0 video driver [default=yes]]),
794 , enable_video_dga=yes)
795 if test x$enable_dga = xyes -a x$enable_video_dga = xyes; then
796 AC_DEFINE(SDL_VIDEO_DRIVER_DGA)
797 SOURCES="$SOURCES $srcdir/src/video/dga/*.c"
799 AC_ARG_ENABLE(video-x11-dgamouse,
800 AC_HELP_STRING([--enable-video-x11-dgamouse], [use X11 DGA for mouse events [default=yes]]),
801 , enable_video_x11_dgamouse=yes)
802 if test x$enable_dga = xyes -a x$enable_video_x11_dgamouse = xyes; then
803 AC_DEFINE(SDL_VIDEO_DRIVER_X11_DGAMOUSE)
805 AC_ARG_ENABLE(video-x11-vm,
806 AC_HELP_STRING([--enable-video-x11-vm], [use X11 VM extension for fullscreen [default=yes]]),
807 , enable_video_x11_vm=yes)
808 if test x$enable_video_x11_vm = xyes; then
809 AC_DEFINE(SDL_VIDEO_DRIVER_X11_VIDMODE)
810 SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86vm/*.c"
812 AC_ARG_ENABLE(video-x11-xv,
813 AC_HELP_STRING([--enable-video-x11-xv], [use X11 XvImage extension for video [default=yes]]),
814 , enable_video_x11_xv=yes)
815 if test x$enable_video_x11_xv = xyes; then
816 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XV)
817 SOURCES="$SOURCES $srcdir/src/video/Xext/Xv/*.c"
819 AC_ARG_ENABLE(video-x11-xinerama,
820 AC_HELP_STRING([--enable-video-x11-xinerama], [enable X11 Xinerama support [default=yes]]),
821 , enable_video_x11_xinerama=yes)
822 if test x$enable_video_x11_xinerama = xyes; then
823 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA)
824 SOURCES="$SOURCES $srcdir/src/video/Xext/Xinerama/*.c"
826 AC_ARG_ENABLE(video-x11-xme,
827 AC_HELP_STRING([--enable-video-x11-xme], [enable Xi Graphics XME for fullscreen [default=yes]]),
828 , enable_video_x11_xme=yes)
829 if test x$enable_video_x11_xme = xyes; then
830 AC_DEFINE(SDL_VIDEO_DRIVER_X11_XME)
831 SOURCES="$SOURCES $srcdir/src/video/Xext/XME/*.c"
837 dnl Check for QNX photon video driver
840 AC_ARG_ENABLE(video-photon,
841 AC_HELP_STRING([--enable-video-photon], [use QNX Photon video driver [default=yes]]),
842 , enable_video_photon=yes)
843 if test x$enable_video = xyes -a x$enable_video_photon = xyes; then
844 AC_MSG_CHECKING(for QNX Photon support)
849 #include <photon/Pg.h>
850 #include <photon/PdDirect.h>
852 PgDisplaySettings_t *visual;
856 AC_MSG_RESULT($video_photon)
857 if test x$video_photon = xyes; then
858 AC_DEFINE(SDL_VIDEO_DRIVER_PHOTON)
859 SOURCES="$SOURCES $srcdir/src/video/photon/*.c"
860 BUILD_LDFLAGS="$BUILD_LDFLAGS -lph"
868 dnl Set up the BWindow video driver if enabled
871 if test x$enable_video = xyes; then
872 AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW)
873 SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc"
878 dnl Set up the Carbon/QuickDraw video driver for Mac OS X (but not Darwin)
881 AC_ARG_ENABLE(video-carbon,
882 AC_HELP_STRING([--enable-video-carbon], [use Carbon/QuickDraw video driver [default=no]]),
883 , enable_video_carbon=no)
884 if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then
885 AC_MSG_CHECKING(for Carbon framework)
888 #include <Carbon/Carbon.h>
893 AC_MSG_RESULT($have_carbon)
894 if test x$have_carbon = xyes; then
895 AC_DEFINE(SDL_VIDEO_DRIVER_TOOLBOX)
896 SOURCES="$SOURCES $srcdir/src/video/maccommon/*.c"
897 SOURCES="$SOURCES $srcdir/src/video/macrom/*.c"
903 dnl Set up the Cocoa/Quartz video driver for Mac OS X (but not Darwin)
906 AC_ARG_ENABLE(video-cocoa,
907 AC_HELP_STRING([--enable-video-cocoa], [use Cocoa/Quartz video driver [default=yes]]),
908 , enable_video_cocoa=yes)
909 if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
910 save_CFLAGS="$CFLAGS"
911 dnl work around that we don't have Objective-C support in autoconf
912 CFLAGS="$CFLAGS -x objective-c"
913 AC_MSG_CHECKING(for Cocoa framework)
916 #import <Cocoa/Cocoa.h>
921 AC_MSG_RESULT($have_cocoa)
922 CFLAGS="$save_CFLAGS"
923 if test x$have_cocoa = xyes; then
924 AC_DEFINE(SDL_VIDEO_DRIVER_QUARTZ)
925 SOURCES="$SOURCES $srcdir/src/video/quartz/*.m"
931 dnl Find the framebuffer console includes
934 AC_ARG_ENABLE(video-fbcon,
935 AC_HELP_STRING([--enable-video-fbcon], [use framebuffer console video driver [default=yes]]),
936 , enable_video_fbcon=yes)
937 if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then
938 AC_MSG_CHECKING(for framebuffer console support)
941 #include <linux/fb.h>
942 #include <linux/kd.h>
943 #include <linux/keyboard.h>
948 AC_MSG_RESULT($video_fbcon)
949 if test x$video_fbcon = xyes; then
950 AC_DEFINE(SDL_VIDEO_DRIVER_FBCON)
951 SOURCES="$SOURCES $srcdir/src/video/fbcon/*.c"
960 AC_ARG_ENABLE(video-directfb,
961 AC_HELP_STRING([--enable-video-directfb], [use DirectFB video driver [default=no]]),
962 , enable_video_directfb=no)
963 if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
966 AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
967 if test x$PKG_CONFIG = xno ; then
968 AC_MSG_WARN([*** pkg-config is required to build the DirectFB video driver.])
970 AC_MSG_CHECKING(for DirectFB support)
972 if ! $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
973 AC_MSG_ERROR([*** pkg-config too old; version 0.7 or better required.])
976 DIRECTFB_REQUIRED_VERSION=0.9.15
978 if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
979 DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
980 DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
985 AC_MSG_RESULT($video_directfb)
986 if test x$video_directfb = xyes; then
987 AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB)
988 SOURCES="$SOURCES $srcdir/src/video/directfb/*.c"
989 BUILD_CFLAGS="$BUILD_CFLAGS $DIRECTFB_CFLAGS"
990 BUILD_LDFLAGS="$BUILD_LDFLAGS $DIRECTFB_LIBS"
996 dnl See if we're running on PlayStation 2 hardware
999 AC_ARG_ENABLE(video-ps2gs,
1000 AC_HELP_STRING([--enable-video-ps2gs], [use PlayStation 2 GS video driver [default=yes]]),
1001 , enable_video_ps2gs=yes)
1002 if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
1003 AC_MSG_CHECKING(for PlayStation 2 GS support)
1006 #include <linux/ps2/dev.h>
1007 #include <linux/ps2/gs.h>
1012 AC_MSG_RESULT($video_ps2gs)
1013 if test x$video_ps2gs = xyes; then
1014 AC_DEFINE(SDL_VIDEO_DRIVER_PS2GS)
1015 SOURCES="$SOURCES $srcdir/src/video/ps2gs/*.c"
1021 dnl Find the GGI includes
1024 AC_ARG_ENABLE(video-ggi,
1025 AC_HELP_STRING([--enable-video-ggi], [use GGI video driver [default=no]]),
1026 , enable_video_ggi=no)
1027 if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then
1028 AC_MSG_CHECKING(for GGI support)
1031 #include <ggi/ggi.h>
1032 #include <ggi/gii.h>
1037 AC_MSG_RESULT($video_ggi)
1038 if test x$video_ggi = xyes; then
1039 AC_DEFINE(SDL_VIDEO_DRIVER_GGI)
1040 SOURCES="$SOURCES $srcdir/src/video/ggi/*.c"
1041 BUILD_LDFLAGS="$BUILD_LDFLAGS -lggi -lgii -lgg"
1047 dnl Find the SVGAlib includes and libraries
1050 AC_ARG_ENABLE(video-svga,
1051 AC_HELP_STRING([--enable-video-svga], [use SVGAlib video driver [default=no]]),
1052 , enable_video_svga=no)
1053 if test x$enable_video = xyes -a x$enable_video_svga = xyes; then
1054 AC_MSG_CHECKING(for SVGAlib (1.4.0+) support)
1058 #include <vgamouse.h>
1059 #include <vgakeyboard.h>
1061 if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) {
1067 AC_MSG_RESULT($video_svga)
1068 if test x$video_svga = xyes; then
1069 AC_DEFINE(SDL_VIDEO_DRIVER_SVGALIB)
1070 SOURCES="$SOURCES $srcdir/src/video/svga/*.c"
1071 BUILD_LDFLAGS="$BUILD_LDFLAGS -lvga"
1077 dnl Find the VGL includes and libraries
1080 AC_ARG_ENABLE(video-vgl,
1081 AC_HELP_STRING([--enable-video-vgl], [use VGL video driver [default=no]]),
1082 , enable_video_vgl=no)
1083 if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
1084 AC_MSG_CHECKING(for libVGL support)
1087 #include <sys/fbio.h>
1088 #include <sys/consio.h>
1089 #include <sys/kbio.h>
1093 exit(bitmap.Bitmap);
1097 AC_MSG_RESULT($video_vgl)
1098 if test x$video_vgl = xyes; then
1099 AC_DEFINE(SDL_VIDEO_DRIVER_VGL)
1100 SOURCES="$SOURCES $srcdir/src/video/vgl/*.c"
1101 BUILD_LDFLAGS="$BUILD_LDFLAGS -lvgl"
1107 dnl Set up the wscons video driver if enabled
1110 AC_ARG_ENABLE(video-wscons,
1111 AC_HELP_STRING([--enable-video-wscons], [use wscons video driver [default=yes]]),
1112 , enable_video_wscons=yes)
1113 if test x$enable_video = xyes -a x$enable_video_wscons = xyes; then
1114 AC_MSG_CHECKING(for wscons support)
1117 #include <sys/time.h>
1118 #include <dev/wscons/wsconsio.h>
1123 AC_MSG_RESULT($video_wscons)
1124 if test x$video_wscons = xyes; then
1125 AC_DEFINE(SDL_VIDEO_DRIVER_WSCONS)
1126 SOURCES="$SOURCES $srcdir/src/video/wscons/*.c"
1133 dnl Find the AAlib includes
1136 AC_ARG_ENABLE(video-aalib,
1137 AC_HELP_STRING([--enable-video-aalib], [use AAlib video driver [default=no]]),
1138 , enable_video_aalib=no)
1139 if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then
1140 AC_MSG_CHECKING(for AAlib support)
1148 AC_MSG_RESULT($video_aalib)
1149 if test x$video_aalib = xyes; then
1150 AC_DEFINE(SDL_VIDEO_DRIVER_AALIB)
1151 SOURCES="$SOURCES $srcdir/src/video/aalib/*.c"
1152 BUILD_LDFLAGS="$BUILD_LDFLAGS -laa"
1158 dnl Set up the QTopia video driver if enabled
1161 AC_ARG_ENABLE(video-qtopia,
1162 AC_HELP_STRING([--enable-video-qtopia], [use Qtopia video driver [default=no]]),
1163 , enable_video_qtopia=no)
1164 if test x$enable_video = xyes -a x$enable_video_qtopia = xyes; then
1165 AC_MSG_CHECKING(for Qtopia support)
1167 QTOPIA_FLAGS="-DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions"
1170 CXXFLAGS="$QTOPIA_FLAGS"
1172 #include <qpe/qpeapplication.h>
1178 AC_MSG_RESULT($video_qtopia)
1179 if test x$video_qtopia = xyes; then
1180 AC_DEFINE(SDL_VIDEO_DRIVER_QTOPIA)
1181 SOURCES="$SOURCES $srcdir/src/video/qtopia/*.cc"
1182 SDLMAIN_SOURCES="$srcdir/src/main/qtopia/*.cc"
1183 BUILD_CFLAGS="$BUILD_CFLAGS $QTOPIA_FLAGS"
1184 SDL_CFLAGS="$SDL_CFLAGS -DQWS -Dmain=SDL_main"
1185 SDL_LIBS="-lSDLmain $SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte"
1192 dnl Set up the PicoGUI video driver if enabled
1195 AC_ARG_ENABLE(video-picogui,
1196 AC_HELP_STRING([--enable-video-picogui], [use PicoGUI video driver [default=no]]),
1197 , enable_video_picogui=no)
1198 if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then
1199 AC_MSG_CHECKING(for PicoGUI support)
1202 #include <picogui.h>
1207 AC_MSG_RESULT($video_picogui)
1208 if test x$video_picogui = xyes; then
1209 AC_DEFINE(SDL_VIDEO_DRIVER_PICOGUI)
1210 SOURCES="$SOURCES $srcdir/src/video/picogui/*.c"
1211 SDL_LIBS="$SDL_LIBS -lpgui"
1217 dnl Set up the Atari Bios keyboard driver
1218 CheckAtariBiosEvent()
1220 SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.c"
1221 SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.S"
1224 dnl Set up the Atari Xbios driver
1225 CheckAtariXbiosVideo()
1227 AC_ARG_ENABLE(xbios,
1228 AC_HELP_STRING([--enable-video-xbios], [use Atari Xbios video driver [default=yes]]),
1229 , enable_video_xbios=yes)
1231 if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
1233 AC_DEFINE(SDL_VIDEO_DRIVER_XBIOS)
1234 SOURCES="$SOURCES $srcdir/src/video/xbios/*.c"
1239 dnl Set up the Atari Gem driver
1240 CheckAtariGemVideo()
1243 AC_HELP_STRING([--enable-video-gem], [use Atari Gem video driver [default=yes]]),
1244 , enable_video_gem=yes)
1245 if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
1247 AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
1248 AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
1249 if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
1251 AC_DEFINE(SDL_VIDEO_DRIVER_GEM)
1252 SOURCES="$SOURCES $srcdir/src/video/gem/*.c"
1253 BUILD_LDFLAGS="$BUILD_LDFLAGS -lgem"
1259 dnl rcg04172001 Set up the Null video driver.
1262 AC_ARG_ENABLE(video-dummy,
1263 AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [default=yes]]),
1264 , enable_video_dummy=yes)
1265 if test x$enable_video_dummy = xyes; then
1266 AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY)
1267 SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
1272 dnl Check to see if OpenGL support is desired
1273 AC_ARG_ENABLE(video-opengl,
1274 AC_HELP_STRING([--enable-video-opengl], [include OpenGL context creation [default=yes]]),
1275 , enable_video_opengl=yes)
1280 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1281 AC_MSG_CHECKING(for OpenGL (GLX) support)
1290 AC_MSG_RESULT($video_opengl)
1291 if test x$video_opengl = xyes; then
1292 AC_DEFINE(SDL_VIDEO_OPENGL)
1293 AC_DEFINE(SDL_VIDEO_OPENGL_GLX)
1298 dnl Find QNX RtP OpenGL
1301 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1302 AC_MSG_CHECKING(for OpenGL (Photon) support)
1310 AC_MSG_RESULT($video_opengl)
1311 if test x$video_opengl = xyes; then
1312 AC_DEFINE(SDL_VIDEO_OPENGL)
1313 BUILD_LDFLAGS="$BUILD_LDFLAGS -lGL"
1318 dnl Check for Win32 OpenGL
1321 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1322 AC_DEFINE(SDL_VIDEO_OPENGL)
1323 AC_DEFINE(SDL_VIDEO_OPENGL_WGL)
1327 dnl Check for BeOS OpenGL
1330 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1331 AC_DEFINE(SDL_VIDEO_OPENGL)
1332 BUILD_LDFLAGS="$BUILD_LDFLAGS -lGL"
1336 dnl Check for MacOS OpenGL
1339 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
1340 AC_DEFINE(SDL_VIDEO_OPENGL)
1343 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework OpenGL"
1344 # The following is probably not available in Darwin:
1345 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework AGL"
1350 dnl Check for Mesa offscreen rendering
1353 if test "x$enable_video" = "xyes" -a "x$enable_video_opengl" = "xyes"; then
1354 AC_CHECK_HEADER(GL/osmesa.h, have_osmesa_hdr=yes)
1355 AC_CHECK_LIB(OSMesa, OSMesaCreateContext, have_osmesa_lib=yes, have_osmesa_lib=no, -lm)
1357 # Static linking to -lOSMesa
1358 AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
1359 if test "x$OSMESA_CONFIG" = "xno" -o "x$enable_atari_ldg" = "xno"; then
1360 # -lOSMesa is really the static library
1361 if test "x$have_osmesa_hdr" = "xyes" -a "x$have_osmesa_lib" = "xyes"; then
1362 OSMESA_LIBS="-lOSMesa"
1365 # -lOSMesa is a loader for OSMesa.ldg
1366 OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
1367 OSMESA_LIBS=`$OSMESA_CONFIG --libs`
1369 AC_DEFINE(SDL_VIDEO_OPENGL)
1370 AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA)
1371 BUILD_CFLAGS="$BUILD_CFLAGS $OSMESA_CFLAGS"
1372 BUILD_LDFLAGS="$BUILD_LDFLAGS $OSMESA_LIBS"
1374 AC_ARG_ENABLE(osmesa-shared,
1375 AC_HELP_STRING([--enable-osmesa-shared], [dynamically load OSMesa OpenGL support [default=yes]]),
1376 , enable_osmesa_shared=yes)
1377 if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then
1379 if test "x$have_osmesa_hdr" = "xyes"; then
1380 AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA_DYNAMIC)
1386 dnl See if we can use the new unified event interface in Linux 2.4
1389 dnl Check for Linux 2.4 unified input event interface support
1390 AC_ARG_ENABLE(input-events,
1391 AC_HELP_STRING([--enable-input-events], [use Linux 2.4 unified input interface [default=yes]]),
1392 , enable_input_events=yes)
1393 if test x$enable_input_events = xyes; then
1394 AC_MSG_CHECKING(for Linux 2.4 unified input interface)
1397 #include <linux/input.h>
1400 #error EVIOCGNAME() ioctl not available
1403 use_input_events=yes
1405 AC_MSG_RESULT($use_input_events)
1406 if test x$use_input_events = xyes; then
1407 AC_DEFINE(SDL_INPUT_LINUXEV)
1412 dnl See if we can use the Touchscreen input library
1415 AC_ARG_ENABLE(input-tslib,
1416 AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [default=yes]]),
1417 , enable_input_tslib=yes)
1418 if test x$enable_input_tslib = xyes; then
1419 AC_MSG_CHECKING(for Touchscreen library support)
1420 enable_input_tslib=no
1425 enable_input_tslib=yes
1427 AC_MSG_RESULT($enable_input_tslib)
1428 if test x$enable_input_tslib = xyes; then
1429 AC_DEFINE(SDL_INPUT_TSLIB)
1430 BUILD_LDFLAGS="$BUILD_LDFLAGS -lts"
1435 dnl See if we can use GNU pth library for threads
1438 dnl Check for pth support
1440 AC_HELP_STRING([--enable-pth], [use GNU pth library for multi-threading [default=yes]]),
1442 if test x$enable_threads = xyes -a x$enable_pth = xyes; then
1443 AC_PATH_PROG(PTH_CONFIG, pth-config, no)
1444 if test "$PTH_CONFIG" = "no"; then
1449 AC_MSG_CHECKING(pth)
1450 AC_MSG_RESULT($use_pth)
1451 if test "x$use_pth" = xyes; then
1452 AC_DEFINE(SDL_THREAD_PTH)
1453 SOURCES="$SOURCES $srcdir/src/thread/pth/*.c"
1454 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
1455 SDL_CFLAGS="$SDL_CFLAGS `$PTH_CONFIG --cflags`"
1456 SDL_LIBS="$SDL_LIBS `$PTH_CONFIG --libs --all`"
1462 dnl See what type of thread model to use on Linux and Solaris
1465 dnl Check for pthread support
1466 AC_ARG_ENABLE(pthreads,
1467 AC_HELP_STRING([--enable-pthreads], [use POSIX threads for multi-threading [default=yes]]),
1468 , enable_pthreads=yes)
1469 dnl This is used on Linux for glibc binary compatibility (Doh!)
1470 AC_ARG_ENABLE(pthread-sem,
1471 AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [default=yes]]),
1472 , enable_pthread_sem=yes)
1475 pthread_cflags="-D_REENTRANT"
1476 pthread_lib="-lpthread"
1479 pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
1483 pthread_cflags="-D_THREAD_SAFE"
1484 # causes Carbon.p complaints?
1485 # pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
1488 pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
1489 pthread_lib="-pthread"
1492 pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
1493 pthread_lib="-L/usr/lib -lpthread"
1496 pthread_cflags="-D_REENTRANT"
1497 pthread_lib="-pthread"
1500 pthread_cflags="-D_REENTRANT"
1501 pthread_lib="-lpthread -lposix4"
1504 pthread_cflags="-D_REENTRANT -Kthread"
1508 pthread_cflags="-D_SGI_MP_SOURCE"
1509 pthread_lib="-lpthread"
1512 pthread_cflags="-D_REENTRANT -mthreads"
1513 pthread_lib="-lpthread"
1516 pthread_cflags="-D_REENTRANT"
1517 pthread_lib="-L/usr/lib -lpthread"
1524 pthread_cflags="-D_REENTRANT"
1525 if test x$ac_cv_prog_gcc = xyes; then
1526 pthread_lib="-lpthread -lrt"
1528 pthread_lib="-lpthread -lexc -lrt"
1532 pthread_cflags="-D_REENTRANT"
1533 pthread_lib="-lpthread"
1536 if test x$enable_threads = xyes -a x$enable_pthreads = xyes -a x$enable_ipod != xyes; then
1537 # Save the original compiler flags and libraries
1538 ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
1539 # Add the pthread compiler flags and libraries
1540 CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
1541 # Check to see if we have pthread support on this system
1542 AC_MSG_CHECKING(for pthreads)
1545 #include <pthread.h>
1547 pthread_attr_t type;
1548 pthread_attr_init(&type);
1552 AC_MSG_RESULT($use_pthreads)
1553 # Restore the compiler flags and libraries
1554 CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
1556 # Do futher testing if we have pthread support...
1557 if test x$use_pthreads = xyes; then
1558 AC_DEFINE(SDL_THREAD_PTHREAD)
1559 BUILD_CFLAGS="$BUILD_CFLAGS $pthread_cflags"
1560 BUILD_LDFLAGS="$BUILD_LDFLAGS $pthread_lib"
1561 SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
1562 SDL_LIBS="$SDL_LIBS $pthread_lib"
1564 # Save the original compiler flags and libraries
1565 ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
1566 # Add the pthread compiler flags and libraries
1567 CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
1569 # Check to see if recursive mutexes are available
1570 AC_MSG_CHECKING(for recursive mutexes)
1571 has_recursive_mutexes=no
1572 if test x$has_recursive_mutexes = xno; then
1574 #include <pthread.h>
1576 pthread_mutexattr_t attr;
1577 pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
1579 has_recursive_mutexes=yes
1580 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX)
1583 if test x$has_recursive_mutexes = xno; then
1585 #include <pthread.h>
1587 pthread_mutexattr_t attr;
1588 pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
1590 has_recursive_mutexes=yes
1591 AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP)
1594 AC_MSG_RESULT($has_recursive_mutexes)
1596 # Check to see if pthread semaphore support is missing
1597 if test x$enable_pthread_sem = xyes; then
1598 AC_MSG_CHECKING(for pthread semaphores)
1601 #include <pthread.h>
1602 #include <semaphore.h>
1605 have_pthread_sem=yes
1607 AC_MSG_RESULT($have_pthread_sem)
1610 # Restore the compiler flags and libraries
1611 CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
1613 # Basic thread creation functions
1614 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c"
1617 # We can fake these with mutexes and condition variables if necessary
1618 if test x$have_pthread_sem = xyes; then
1619 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c"
1621 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
1625 # We can fake these with semaphores if necessary
1626 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c"
1628 # Condition variables
1629 # We can fake these with semaphores and mutexes if necessary
1630 SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c"
1639 dnl Determine whether the compiler can produce Win32 executables
1642 AC_MSG_CHECKING(Win32 compiler)
1645 #include <windows.h>
1650 AC_MSG_RESULT($have_win32_gcc)
1651 if test x$have_win32_gcc != xyes; then
1653 *** Your compiler ($CC) does not produce Win32 executables!
1657 dnl See if the user wants to redirect standard output to files
1658 AC_ARG_ENABLE(stdio-redirect,
1659 AC_HELP_STRING([--enable-stdio-redirect], [Redirect STDIO to files on Win32 [default=yes]]),
1660 , enable_stdio_redirect=yes)
1661 if test x$enable_stdio_redirect != xyes; then
1662 BUILD_CFLAGS="$BUILD_CFLAGS -DNO_STDIO_REDIRECT"
1665 if test x$enable_video = xyes; then
1666 AC_DEFINE(SDL_VIDEO_DRIVER_WINDIB)
1667 SOURCES="$SOURCES $srcdir/src/video/wincommon/*.c"
1668 SOURCES="$SOURCES $srcdir/src/video/windib/*.c"
1673 dnl Find the DirectX includes and libraries
1676 AC_ARG_ENABLE(directx,
1677 AC_HELP_STRING([--enable-directx], [use DirectX for Win32 audio/video [default=yes]]),
1678 , enable_directx=yes)
1679 if test x$enable_directx = xyes; then
1681 AC_CHECK_HEADER(ddraw.h, have_ddraw=yes)
1682 AC_CHECK_HEADER(dsound.h, have_dsound=yes)
1683 AC_CHECK_HEADER(dinput.h, use_dinput=yes)
1684 if test x$have_ddraw = xyes -a x$have_dsound = xyes -a x$use_dinput = xyes; then
1687 if test x$enable_video = xyes -a x$have_directx = xyes; then
1688 AC_DEFINE(SDL_VIDEO_DRIVER_DDRAW)
1689 SOURCES="$SOURCES $srcdir/src/video/windx5/*.c"
1695 dnl Check for the dlfcn.h interface for dynamically loading objects
1698 AC_ARG_ENABLE(sdl-dlopen,
1699 AC_HELP_STRING([--enable-sdl-dlopen], [use dlopen for shared object loading [default=yes]]),
1700 , enable_sdl_dlopen=yes)
1701 if test x$enable_sdl_dlopen = xyes; then
1702 AC_MSG_CHECKING(for dlopen)
1710 AC_MSG_RESULT($have_dlopen)
1712 if test x$have_dlopen = xyes; then
1713 AC_CHECK_LIB(c, dlopen, BUILD_LDFLAGS="$BUILD_LDFLAGS",
1714 AC_CHECK_LIB(dl, dlopen, BUILD_LDFLAGS="$BUILD_LDFLAGS -ldl",
1715 AC_CHECK_LIB(ltdl, dlopen, BUILD_LDFLAGS="$BUILD_LDFLAGS -lltdl")))
1716 AC_CHECK_LIB(dl, dlvsym, have_dlvsym=yes)
1717 if test x$have_dlvsym = xyes; then
1718 AC_DEFINE(HAVE_DLVSYM)
1720 AC_DEFINE(SDL_LOADSO_DLOPEN)
1721 SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c"
1727 dnl Set up the Atari LDG (shared object loader)
1730 AC_ARG_ENABLE(atari-ldg,
1731 AC_HELP_STRING([--enable-atari-ldg], [use Atari LDG for shared object loading [default=yes]]),
1732 , enable_atari_ldg=yes)
1733 if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
1734 AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
1735 AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
1736 if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
1737 AC_DEFINE(SDL_LOADSO_LDG)
1738 SOURCES="$SOURCES $srcdir/src/loadso/mint/*.c"
1739 BUILD_LDFLAGS="$BUILD_LDFLAGS -lldg -lgem"
1745 dnl Check for the usbhid(3) library on *BSD
1748 if test x$enable_joystick = xyes; then
1749 AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
1750 AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
1751 AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
1752 AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
1754 AC_CHECK_LIB(usbhid, hid_init, [USB_LIBS="$USB_LIBS -lusbhid"])
1755 AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
1757 save_CFLAGS="$CFLAGS"
1758 CFLAGS="$CFLAGS $USB_CFLAGS"
1760 AC_MSG_CHECKING(for usbhid)
1763 #include <sys/types.h>
1764 #if defined(HAVE_USB_H)
1767 #include <dev/usb/usb.h>
1768 #include <dev/usb/usbhid.h>
1769 #if defined(HAVE_USBHID_H)
1771 #elif defined(HAVE_LIBUSB_H)
1773 #elif defined(HAVE_LIBUSBHID_H)
1774 #include <libusbhid.h>
1777 struct report_desc *repdesc;
1778 struct usb_ctl_report *repbuf;
1783 AC_MSG_RESULT($have_usbhid)
1785 if test x$have_usbhid = xyes; then
1786 AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
1787 have_usbhid_ucr_data=no
1789 #include <sys/types.h>
1790 #if defined(HAVE_USB_H)
1793 #include <dev/usb/usb.h>
1794 #include <dev/usb/usbhid.h>
1795 #if defined(HAVE_USBHID_H)
1797 #elif defined(HAVE_LIBUSB_H)
1799 #elif defined(HAVE_LIBUSBHID_H)
1800 #include <libusbhid.h>
1803 struct usb_ctl_report buf;
1804 if (buf.ucr_data) { }
1806 have_usbhid_ucr_data=yes
1808 if test x$have_usbhid_ucr_data = xyes; then
1809 USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
1811 AC_MSG_RESULT($have_usbhid_ucr_data)
1813 AC_MSG_CHECKING(for new usbhid API)
1816 #include <sys/types.h>
1817 #if defined(HAVE_USB_H)
1820 #include <dev/usb/usb.h>
1821 #include <dev/usb/usbhid.h>
1822 #if defined(HAVE_USBHID_H)
1824 #elif defined(HAVE_LIBUSB_H)
1826 #elif defined(HAVE_LIBUSBHID_H)
1827 #include <libusbhid.h>
1831 hid_start_parse(d, 1, 1);
1835 if test x$have_usbhid_new = xyes; then
1836 USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
1838 AC_MSG_RESULT($have_usbhid_new)
1840 AC_DEFINE(SDL_JOYSTICK_USBHID)
1841 SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
1842 BUILD_CFLAGS="$BUILD_CFLAGS $USB_CFLAGS"
1843 BUILD_LDFLAGS="$BUILD_LDFLAGS $USB_LIBS"
1846 CFLAGS="$save_CFLAGS"
1850 dnl Check for clock_gettime()
1853 AC_ARG_ENABLE(clock_gettime,
1854 AC_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettimeofday() on UNIX [default=no]]),
1855 , enable_clock_gettime=no)
1856 if test x$enable_clock_gettime = xyes; then
1857 AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes)
1858 if test x$have_clock_gettime = xyes; then
1859 AC_DEFINE(HAVE_CLOCK_GETTIME)
1860 BUILD_LDFLAGS="$BUILD_LDFLAGS -lrt"
1865 dnl Check for a valid linux/version.h
1868 AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
1869 if test x$have_linux_version_h = xyes; then
1870 BUILD_CFLAGS="$BUILD_CFLAGS -DHAVE_LINUX_VERSION_H"
1874 dnl Check if we want to use RPATH
1877 AC_ARG_ENABLE(rpath,
1878 AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [default=yes]]),
1882 dnl Set up the configuration based on the target platform!
1884 arm-*-elf*) # FIXME: Can we get more specific for iPodLinux?
1888 # Set up files for the timer library
1889 if test x$enable_timers = xyes; then
1890 AC_DEFINE(SDL_TIMER_UNIX)
1891 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
1895 *-*-linux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*)
1897 *-*-linux*) ARCH=linux ;;
1898 *-*-kfreebsd*-gnu) ARCH=kfreebsd-gnu ;;
1899 *-*-knetbsd*-gnu) ARCH=knetbsd-gnu ;;
1900 *-*-kopenbsd*-gnu) ARCH=kopenbsd-gnu ;;
1901 *-*-gnu*) ARCH=gnu ;; # must be last of the gnu variants
1902 *-*-bsdi*) ARCH=bsdi ;;
1903 *-*-freebsd*) ARCH=freebsd ;;
1904 *-*-netbsd*) ARCH=netbsd ;;
1905 *-*-openbsd*) ARCH=openbsd ;;
1906 *-*-sysv5*) ARCH=sysv5 ;;
1907 *-*-solaris*) ARCH=solaris ;;
1908 *-*-hpux*) ARCH=hpux ;;
1909 *-*-irix*) ARCH=irix ;;
1910 *-*-aix*) ARCH=aix ;;
1911 *-*-osf*) ARCH=osf ;;
1945 # Set up files for the audio library
1946 if test x$enable_audio = xyes; then
1948 netbsd|sysv5|solaris|hpux)
1949 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
1950 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
1954 AC_DEFINE(SDL_AUDIO_DRIVER_OPENBSD)
1955 SOURCES="$SOURCES $srcdir/src/audio/openbsd/*.c"
1959 AC_DEFINE(SDL_AUDIO_DRIVER_PAUD)
1960 SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
1965 # Set up files for the joystick library
1966 if test x$enable_joystick = xyes; then
1969 AC_DEFINE(SDL_JOYSTICK_LINUX)
1970 SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
1975 # Set up files for the cdrom library
1976 if test x$enable_cdrom = xyes; then
1979 AC_DEFINE(SDL_CDROM_LINUX)
1980 SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c"
1984 AC_DEFINE(SDL_CDROM_FREEBSD)
1985 SOURCES="$SOURCES $srcdir/src/cdrom/freebsd/*.c"
1989 AC_DEFINE(SDL_CDROM_OPENBSD)
1990 SOURCES="$SOURCES $srcdir/src/cdrom/openbsd/*.c"
1994 AC_DEFINE(SDL_CDROM_BSDI)
1995 SOURCES="$SOURCES $srcdir/src/cdrom/bsdi/*.c"
1999 AC_DEFINE(SDL_CDROM_AIX)
2000 SOURCES="$SOURCES $srcdir/src/cdrom/aix/*.c"
2004 AC_DEFINE(SDL_CDROM_OSF)
2005 SOURCES="$SOURCES $srcdir/src/cdrom/osf/*.c"
2010 # Set up files for the thread library
2011 if test x$enable_threads = xyes -a x$use_pthreads != xyes -a x$use_pth != xyes -a x$ARCH = xirix; then
2012 AC_DEFINE(SDL_THREAD_SPROC)
2013 SOURCES="$SOURCES $srcdir/src/thread/irix/*.c"
2014 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
2015 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
2018 # Set up files for the timer library
2019 if test x$enable_timers = xyes; then
2020 AC_DEFINE(SDL_TIMER_UNIX)
2021 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
2036 # Set up files for the audio library
2037 if test x$enable_audio = xyes; then
2038 AC_DEFINE(SDL_AUDIO_DRIVER_QNXNTO)
2039 SOURCES="$SOURCES $srcdir/src/audio/nto/*.c"
2040 BUILD_LDFLAGS="$BUILD_LDFLAGS -lasound"
2043 # Set up files for the cdrom library
2044 if test x$enable_cdrom = xyes; then
2045 AC_DEFINE(SDL_CDROM_QNX)
2046 SOURCES="$SOURCES $srcdir/src/cdrom/qnx/*.c"
2049 # Set up files for the timer library
2050 if test x$enable_timers = xyes; then
2051 AC_DEFINE(SDL_TIMER_UNIX)
2052 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
2056 *-*-cygwin* | *-*-mingw32*)
2058 if test "$build" != "$target"; then # cross-compiling
2059 # Default cross-compile location
2060 ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
2062 # Look for the location of the tools and install there
2063 if test "$BUILD_PREFIX" != ""; then
2064 ac_default_prefix=$BUILD_PREFIX
2073 # Set up files for the audio library
2074 if test x$enable_audio = xyes; then
2075 AC_DEFINE(SDL_AUDIO_DRIVER_WAVEOUT)
2076 SOURCES="$SOURCES $srcdir/src/audio/windib/*.c"
2077 if test x$have_directx = xyes; then
2078 AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND)
2079 SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c"
2083 # Set up files for the joystick library
2084 if test x$enable_joystick = xyes; then
2085 AC_DEFINE(SDL_JOYSTICK_WINMM)
2086 SOURCES="$SOURCES $srcdir/src/joystick/win32/*.c"
2089 # Set up files for the cdrom library
2090 if test x$enable_cdrom = xyes; then
2091 AC_DEFINE(SDL_CDROM_WIN32)
2092 SOURCES="$SOURCES $srcdir/src/cdrom/win32/*.c"
2095 # Set up files for the thread library
2096 if test x$enable_threads = xyes; then
2097 AC_DEFINE(SDL_THREAD_WIN32)
2098 SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_sysmutex.c"
2099 SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_syssem.c"
2100 SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_systhread.c"
2101 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
2104 # Set up files for the timer library
2105 if test x$enable_timers = xyes; then
2106 AC_DEFINE(SDL_TIMER_WIN32)
2107 SOURCES="$SOURCES $srcdir/src/timer/win32/*.c"
2110 # Set up files for the shared object loading library
2111 if test x$enable_loadso = xyes; then
2112 AC_DEFINE(SDL_LOADSO_WIN32)
2113 SOURCES="$SOURCES $srcdir/src/loadso/win32/*.c"
2116 # Set up the system libraries we need
2117 BUILD_LDFLAGS="$BUILD_LDFLAGS -luser32 -lgdi32 -lwinmm"
2118 if test x$have_directx = xyes; then
2119 BUILD_LDFLAGS="$BUILD_LDFLAGS -ldxguid"
2121 # The Win32 platform requires special setup
2122 SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
2123 SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
2124 SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
2128 ac_default_prefix=/boot/develop/tools/gnupro
2134 # Set up files for the audio library
2135 if test x$enable_audio = xyes; then
2136 AC_DEFINE(SDL_AUDIO_DRIVER_BAUDIO)
2137 SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc"
2140 # Set up files for the joystick library
2141 if test x$enable_joystick = xyes; then
2142 AC_DEFINE(SDL_JOYSTICK_BEOS)
2143 SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc"
2146 # Set up files for the cdrom library
2147 if test x$enable_cdrom = xyes; then
2148 AC_DEFINE(SDL_CDROM_BEOS)
2149 SOURCES="$SOURCES $srcdir/src/cdrom/beos/*.cc"
2152 # Set up files for the thread library
2153 if test x$enable_threads = xyes; then
2154 AC_DEFINE(SDL_THREAD_BEOS)
2155 SOURCES="$SOURCES $srcdir/src/thread/beos/*.c"
2156 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
2157 SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
2160 # Set up files for the timer library
2161 if test x$enable_timers = xyes; then
2162 AC_DEFINE(SDL_TIMER_BEOS)
2163 SOURCES="$SOURCES $srcdir/src/timer/beos/*.c"
2166 # Set up files for the shared object loading library
2167 if test x$enable_loadso = xyes; then
2168 AC_DEFINE(SDL_LOADSO_BEOS)
2169 SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c"
2172 # The BeOS platform requires special setup.
2173 SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
2174 BUILD_LDFLAGS="$BUILD_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
2177 # This could be either full "Mac OS X", or plain "Darwin" which is
2178 # just the OS X kernel sans upper layers like Carbon and Cocoa.
2179 # Next line is broken, and a few files below require Mac OS X (full)
2192 # Need this or things might misbuild on a G3.
2193 BUILD_CFLAGS="$BUILD_CFLAGS -force_cpusubtype_ALL"
2195 # Set up files for the audio library
2196 if test x$enable_audio = xyes; then
2197 AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO)
2198 SOURCES="$SOURCES $srcdir/src/audio/macosx/*.c"
2199 AC_DEFINE(SDL_AUDIO_DRIVER_SNDMGR)
2200 SOURCES="$SOURCES $srcdir/src/audio/macrom/*.c"
2203 # Set up files for the joystick library
2204 if test x$enable_joystick = xyes; then
2205 AC_DEFINE(SDL_JOYSTICK_IOKIT)
2206 SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
2207 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework IOKit"
2210 # Set up files for the cdrom library
2211 if test x$enable_cdrom = xyes; then
2212 AC_DEFINE(SDL_CDROM_MACOSX)
2213 SOURCES="$SOURCES $srcdir/src/cdrom/macosx/*.c"
2216 # Set up files for the timer library
2217 if test x$enable_timers = xyes; then
2218 AC_DEFINE(SDL_TIMER_UNIX)
2219 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
2222 # Set up files for the shared object loading library
2223 if test x$enable_loadso = xyes -a x$have_dlopen != xyes; then
2224 AC_DEFINE(SDL_LOADSO_DLCOMPAT)
2225 SOURCES="$SOURCES $srcdir/src/loadso/macosx/*.c"
2228 # The MacOS X platform requires special setup.
2229 SDLMAIN_SOURCES="$srcdir/src/main/macosx/*.m"
2230 BUILD_CFLAGS="$BUILD_CFLAGS -fpascal-strings"
2231 SDL_LIBS="-lSDLmain $SDL_LIBS"
2232 if test x$enable_video_cocoa = xyes; then
2233 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework Cocoa"
2235 if test x$enable_video_carbon = xyes -o x$enable_video_cocoa = xyes; then
2236 # The Cocoa backend still needs Carbon, and the YUV code QuickTime
2237 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework QuickTime -framework ApplicationServices"
2238 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework Carbon"
2240 # If either the audio or CD driver is used, add the AudioUnit framework
2241 if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
2242 BUILD_LDFLAGS="$BUILD_LDFLAGS -framework AudioToolbox -framework AudioUnit"
2250 CheckAtariXbiosVideo
2256 # Set up files for the audio library
2257 if test x$enable_threads = xyes -a x$enable_pth = xyes; then
2258 if test x$enable_audio = xyes; then
2259 AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
2260 SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
2264 # Set up files for the joystick library
2265 if test x$enable_joystick = xyes; then
2266 AC_DEFINE(SDL_JOYSTICK_MINT)
2267 SOURCES="$SOURCES $srcdir/src/joystick/mint/*.c"
2270 # Set up files for the cdrom library
2271 if test x$enable_cdrom = xyes; then
2272 AC_DEFINE(SDL_CDROM_MINT)
2273 SOURCES="$SOURCES $srcdir/src/cdrom/mint/*.c"
2276 # Set up files for the timer library
2277 if test x$enable_timers = xyes; then
2278 if test x$enable_threads = xyes -a x$enable_pth = xyes; then
2279 AC_DEFINE(SDL_TIMER_UNIX)
2280 SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
2282 AC_DEFINE(SDL_TIMER_MINT)
2283 SOURCES="$SOURCES $srcdir/src/timer/mint/*.c"
2284 SOURCES="$SOURCES $srcdir/src/timer/mint/*.S"
2293 # Set up files for the video library
2294 if test x$enable_video = xyes; then
2295 AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS)
2296 SOURCES="$SOURCES $srcdir/src/video/riscos/*.c"
2297 SOURCES="$SOURCES $srcdir/src/video/riscos/*.S"
2300 # Set up files for the joystick library
2301 if test x$enable_joystick = xyes; then
2302 AC_DEFINE(SDL_JOYSTICK_RISCOS)
2303 SOURCES="$SOURCES $srcdir/src/joystick/riscos/*.c"
2306 # Set up files for the timer library
2307 if test x$enable_timers = xyes; then
2308 AC_DEFINE(SDL_TIMER_RISCOS)
2309 SOURCES="$SOURCES $srcdir/src/timer/riscos/*.c"
2312 # The RISC OS platform requires special setup.
2313 BUILD_LDFLAGS="$BUILD_LDFLAGS -ljpeg -ltiff -lpng -lz"
2317 *** Unsupported target: Please add to configure.in
2322 # Verify that we have all the platform specific files we need
2323 if test x$have_joystick != xyes; then
2324 if test x$enable_joystick = xyes; then
2325 AC_DEFINE(SDL_JOYSTICK_DISABLED)
2327 SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
2329 if test x$have_cdrom != xyes; then
2330 if test x$enable_cdrom = xyes; then
2331 AC_DEFINE(SDL_CDROM_DISABLED)
2333 SOURCES="$SOURCES $srcdir/src/cdrom/dummy/*.c"
2335 if test x$have_threads != xyes; then
2336 if test x$enable_threads = xyes; then
2337 AC_DEFINE(SDL_THREADS_DISABLED)
2339 SOURCES="$SOURCES $srcdir/src/thread/generic/*.c"
2341 if test x$have_timers != xyes; then
2342 if test x$enable_timers = xyes; then
2343 AC_DEFINE(SDL_TIMERS_DISABLED)
2345 SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
2347 if test x$have_loadso != xyes; then
2348 if test x$enable_loadso = xyes; then
2349 AC_DEFINE(SDL_LOADSO_DISABLED)
2351 SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
2353 if test x$SDLMAIN_SOURCES = x; then
2354 SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
2357 OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.asm,$(objects)/\1.lo,g'`
2358 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
2359 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
2360 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
2361 OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'`
2363 SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'`
2364 SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.o,g'`
2365 SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
2367 # Set runtime shared library paths as needed
2369 if test "x$enable_rpath" = "xyes"; then
2370 if test $ARCH = linux -o $ARCH = freebsd -o $ARCH = bsdi -o $ARCH = irix; then
2371 SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
2373 if test $ARCH = solaris; then
2374 SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
2381 openbsd | netbsd | bsdi)
2382 SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
2385 SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
2388 SHARED_SYSTEM_LIBS=""
2389 if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
2390 SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework Cocoa"
2392 if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then
2393 SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework Carbon"
2395 if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
2396 SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework OpenGL"
2400 SHARED_SYSTEM_LIBS=""
2406 # Evil hack to allow static linking on Mac OS X
2407 SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDLmain.a \${exec_prefix}/lib/libSDL.a"
2410 SDL_STATIC_LIBS="$SDL_LIBS"
2414 STATIC_SYSTEM_LIBS="$SYSTEM_LIBS"
2416 dnl Expand the cflags and libraries needed by apps using SDL
2417 AC_SUBST(SDL_CFLAGS)
2419 AC_SUBST(SDL_STATIC_LIBS)
2420 AC_SUBST(SDL_RLD_FLAGS)
2421 if test x$enable_shared = xyes; then
2423 ENABLE_SHARED_FALSE="#"
2425 ENABLE_SHARED_TRUE="#"
2426 ENABLE_SHARED_FALSE=
2428 if test x$enable_static = xyes; then
2430 ENABLE_STATIC_FALSE="#"
2432 ENABLE_STATIC_TRUE="#"
2433 ENABLE_STATIC_FALSE=
2435 AC_SUBST(ENABLE_SHARED_TRUE)
2436 AC_SUBST(ENABLE_SHARED_FALSE)
2437 AC_SUBST(ENABLE_STATIC_TRUE)
2438 AC_SUBST(ENABLE_STATIC_FALSE)
2440 dnl Expand the libraries needed for static and dynamic linking
2441 AC_SUBST(STATIC_SYSTEM_LIBS)
2442 AC_SUBST(SHARED_SYSTEM_LIBS)
2443 AC_SUBST(SYSTEM_LIBS)
2445 dnl Expand the sources and objects needed to build the library
2446 AC_SUBST(ac_aux_dir)
2450 AC_SUBST(SDLMAIN_SOURCES)
2451 AC_SUBST(SDLMAIN_OBJECTS)
2452 AC_SUBST(BUILD_CFLAGS)
2453 AC_SUBST(BUILD_LDFLAGS)
2456 Makefile sdl-config SDL.spec SDL.qpg