Mercurial > sdl-ios-xcode
diff configure.in @ 0:74212992fb08
Initial revision
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:45:43 +0000 |
parents | |
children | cf2af46e9e2a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/configure.in Thu Apr 26 16:45:43 2001 +0000 @@ -0,0 +1,1891 @@ +dnl Process this file with autoconf to produce a configure script. +AC_INIT(README) + +dnl Set various version strings - taken gratefully from the GTk sources +# +# Making releases: +# Edit include/SDL/SDL_version.h and change the version, then: +# SDL_MICRO_VERSION += 1; +# SDL_INTERFACE_AGE += 1; +# SDL_BINARY_AGE += 1; +# if any functions have been added, set SDL_INTERFACE_AGE to 0. +# if backwards compatibility has been broken, +# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0. +# +SDL_MAJOR_VERSION=1 +SDL_MINOR_VERSION=2 +SDL_MICRO_VERSION=0 +SDL_INTERFACE_AGE=0 +SDL_BINARY_AGE=0 +SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION + +AC_SUBST(SDL_MAJOR_VERSION) +AC_SUBST(SDL_MINOR_VERSION) +AC_SUBST(SDL_MICRO_VERSION) +AC_SUBST(SDL_INTERFACE_AGE) +AC_SUBST(SDL_BINARY_AGE) +AC_SUBST(SDL_VERSION) + +# libtool versioning +LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION +LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE` +LT_REVISION=$SDL_INTERFACE_AGE +LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE` + +AC_SUBST(LT_RELEASE) +AC_SUBST(LT_CURRENT) +AC_SUBST(LT_REVISION) +AC_SUBST(LT_AGE) + +dnl Setup for automake +AM_INIT_AUTOMAKE(SDL, $SDL_VERSION) + +dnl Detect the canonical host and target build environment +AC_CANONICAL_HOST +AC_CANONICAL_TARGET + +dnl Check for tools + +AC_LIBTOOL_WIN32_DLL +AM_PROG_LIBTOOL +AC_PROG_MAKE_SET +AC_PROG_CC +AC_C_INLINE +AC_C_CONST +case "$target" in + *-*-beos*) + AC_PROG_CXX + ;; + *-*-aix*) + AC_PROG_CXX + ;; + # This is stupid, but necessary on some versions of Linux (joysticks) + *-*-linux*) + AC_PROG_CXX + ;; +esac +AC_PROG_INSTALL +AC_FUNC_ALLOCA + +dnl The alpha architecture needs special flags for binary portability +case "$target" in + alpha*-*-linux*) + if test x$ac_cv_prog_gcc = xyes; then + CFLAGS="$CFLAGS -mcpu=ev4 -Wa,-mall" + fi + ;; +esac + +dnl Add compiler-specific optimization flags + +dnl See if the user wants aggressive optimizations of the code +AC_ARG_ENABLE(debug, +[ --enable-debug Disable aggressive optimizations [default=yes]], + , enable_debug=yes) +if test x$enable_debug != xyes; then + if test x$ac_cv_prog_gcc = xyes; then + CFLAGS="$CFLAGS -fexpensive-optimizations" + # Ack! This breaks the MMX YV12 conversion on gcc 2.95.2 + # CFLAGS="$CFLAGS -fomit-frame-pointer" + fi + case "$target" in + i486-*-*) + if test x$ac_cv_prog_gcc = xyes; then + CFLAGS="$CFLAGS -march=486" + fi + ;; + i?86-*-*) + if test x$ac_cv_prog_gcc = xyes; then + CFLAGS="$CFLAGS -march=pentium -mcpu=pentiumpro" + fi + ;; + *-*-osf*) + if test x$ac_cv_prog_gcc != xyes; then + CFLAGS="-g3 -fast -arch host" + fi + ;; + esac +fi + +dnl Add verbose warnings by default, and allow ANSI compliance checking +AC_ARG_ENABLE(strict-ansi, +[ --enable-strict-ansi Enable strict ANSI compliance build [default=no]], + , enable_strict_ansi=no) +if test x$ac_cv_prog_gcc = xyes; then + CFLAGS="$CFLAGS -Wall" + if test x$enable_strict_ansi = xyes; then + CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE" + fi +fi + +dnl Initialize the compiler and linker flags for SDL applications + +SDL_CFLAGS="" +SDL_LIBS="-lSDL" + +dnl Add the math library for the new gamma correction support + +case "$target" in + *-*-cygwin* | *-*-mingw32*) + MATHLIB="" + ;; + *-*-beos*) + MATHLIB="" + ;; + *-*-darwin*) + MATHLIB="" + ;; + *) + MATHLIB="-lm" + ;; +esac +SYSTEM_LIBS="$SYSTEM_LIBS $MATHLIB" + +dnl Enable/disable various subsystems of the SDL library + +AC_ARG_ENABLE(audio, +[ --enable-audio Enable the audio subsystem [default=yes]], + , enable_audio=yes) +if test x$enable_audio = xyes; then + SDL_EXTRADIRS="$SDL_EXTRADIRS audio" + SDL_EXTRALIBS="$SDL_EXTRALIBS audio/libaudio.la" +else + CFLAGS="$CFLAGS -DDISABLE_AUDIO" +fi +AC_ARG_ENABLE(video, +[ --enable-video Enable the video subsystem [default=yes]], + , enable_video=yes) +if test x$enable_video = xyes; then + SDL_EXTRADIRS="$SDL_EXTRADIRS video" + SDL_EXTRALIBS="$SDL_EXTRALIBS video/libvideo.la" +else + CFLAGS="$CFLAGS -DDISABLE_VIDEO" +fi +AC_ARG_ENABLE(events, +[ --enable-events Enable the events subsystem [default=yes]], + , enable_events=yes) +if test x$enable_video = xyes -a x$enable_events = xyes; then + SDL_EXTRADIRS="$SDL_EXTRADIRS events" + SDL_EXTRALIBS="$SDL_EXTRALIBS events/libevents.la" +else + CFLAGS="$CFLAGS -DDISABLE_EVENTS" +fi +AC_ARG_ENABLE(joystick, +[ --enable-joystick Enable the joystick subsystem [default=yes]], + , enable_joystick=yes) +if test x$enable_joystick = xyes; then + SDL_EXTRADIRS="$SDL_EXTRADIRS joystick" + SDL_EXTRALIBS="$SDL_EXTRALIBS joystick/libjoystick.la" +else + CFLAGS="$CFLAGS -DDISABLE_JOYSTICK" +fi +AC_ARG_ENABLE(cdrom, +[ --enable-cdrom Enable the cdrom subsystem [default=yes]], + , enable_cdrom=yes) +if test x$enable_cdrom = xyes; then + SDL_EXTRADIRS="$SDL_EXTRADIRS cdrom" + SDL_EXTRALIBS="$SDL_EXTRALIBS cdrom/libcdrom.la" +else + CFLAGS="$CFLAGS -DDISABLE_CDROM" +fi +AC_ARG_ENABLE(threads, +[ --enable-threads Enable the threading subsystem [default=yes]], + , enable_threads=yes) +SDL_EXTRADIRS="$SDL_EXTRADIRS thread" +SDL_EXTRALIBS="$SDL_EXTRALIBS thread/libthread.la" +if test x$enable_threads != xyes; then + CFLAGS="$CFLAGS -DDISABLE_THREADS" + COPY_ARCH_SRC(src/thread, generic, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, generic, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) +fi +AC_ARG_ENABLE(timers, +[ --enable-timers Enable the timer subsystem [default=yes]], + , enable_timers=yes) +if test x$enable_timers = xyes; then + SDL_EXTRADIRS="$SDL_EXTRADIRS timer" + SDL_EXTRALIBS="$SDL_EXTRALIBS timer/libtimer.la" +else + CFLAGS="$CFLAGS -DDISABLE_TIMERS" +fi +AC_ARG_ENABLE(endian, +[ --enable-endian Enable the endian subsystem [default=yes]], + , enable_endian=yes) +if test x$enable_endian = xyes; then + SDL_EXTRADIRS="$SDL_EXTRADIRS endian" + SDL_EXTRALIBS="$SDL_EXTRALIBS endian/libendian.la" +else + CFLAGS="$CFLAGS -DDISABLE_ENDIAN" +fi +AC_ARG_ENABLE(file, +[ --enable-file Enable the file subsystem [default=yes]], + , enable_file=yes) +if test x$enable_file = xyes; then + SDL_EXTRADIRS="$SDL_EXTRADIRS file" + SDL_EXTRALIBS="$SDL_EXTRALIBS file/libfile.la" +else + CFLAGS="$CFLAGS -DDISABLE_FILE" +fi + +dnl See if the OSS audio interface is supported +CheckOSS() +{ + AC_ARG_ENABLE(oss, +[ --enable-oss support the OSS audio API [default=yes]], + , enable_oss=yes) + if test x$enable_audio = xyes -a x$enable_oss = xyes; then + AC_MSG_CHECKING(for OSS audio support) + have_oss=no + AC_TRY_COMPILE([ + #ifdef linux + #include <linux/soundcard.h> + #endif + #ifdef __FreeBSD__ + #include <machine/soundcard.h> + #endif + #ifdef __bsdi__ + #include <sys/soundcard.h> + #endif + #ifdef __USLC__ + #include <sys/soundcard.h> + #endif + ],[ + int arg = SNDCTL_DSP_SETFRAGMENT; + ],[ + have_oss=yes + ]) + AC_MSG_RESULT($have_oss) + if test x$have_oss = xyes; then + CFLAGS="$CFLAGS -DOSS_SUPPORT" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS dsp" + AUDIO_DRIVERS="$AUDIO_DRIVERS dsp/libaudio_dsp.la" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS dma" + AUDIO_DRIVERS="$AUDIO_DRIVERS dma/libaudio_dma.la" + fi + fi +} + +dnl See if the ALSA audio interface is supported +CheckALSA() +{ + AC_ARG_ENABLE(alsa, +[ --enable-alsa support the ALSA audio API [default=yes]], + , enable_alsa=yes) + if test x$enable_audio = xyes -a x$enable_alsa = xyes; then + have_alsa=no + AC_CHECK_HEADER(sys/asoundlib.h, have_alsa_hdr=yes) + AC_CHECK_LIB(asound, snd_pcm_open, have_alsa_lib=yes) + if test x$have_alsa_hdr = xyes -a x$have_alsa_lib = xyes; then + CFLAGS="$CFLAGS -DALSA_SUPPORT" + SYSTEM_LIBS="$SYSTEM_LIBS -lasound" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS alsa" + AUDIO_DRIVERS="$AUDIO_DRIVERS alsa/libaudio_alsa.la" + fi + fi +} + +dnl Find the ESD includes and libraries +CheckESD() +{ + AC_ARG_ENABLE(esd, +[ --enable-esd support the Enlightened Sound Daemon [default=yes]], + , enable_esd=yes) + if test x$enable_audio = xyes -a x$enable_esd = xyes; then + AM_PATH_ESD(0.2.8, [ + CFLAGS="$CFLAGS -DESD_SUPPORT $ESD_CFLAGS" + SYSTEM_LIBS="$SYSTEM_LIBS $ESD_LIBS" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS esd" + AUDIO_DRIVERS="$AUDIO_DRIVERS esd/libaudio_esd.la" + ]) + fi +} + +CheckARTSC() +{ + AC_ARG_ENABLE(arts, +[ --enable-arts support the Analog Real Time Synthesizer [default=yes]], + , enable_arts=yes) + if test x$enable_audio = xyes -a x$enable_arts = xyes; then + AC_PATH_PROG(ARTSCCONFIG, artsc-config) + if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"'; then + : # arts isn't installed + else + ARTSC_CFLAGS=`$ARTSCCONFIG --cflags` + ARTSC_LIBS=`$ARTSCCONFIG --libs` + AC_MSG_CHECKING(for aRts development environment) + audio_arts=no + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS $ARTSC_CFLAGS" + AC_TRY_COMPILE([ + #include <artsc.h> + ],[ + arts_stream_t stream; + ],[ + audio_arts=yes + ]) + CFLAGS="$save_CFLAGS" + AC_MSG_RESULT($audio_arts) + if test x$audio_arts = xyes; then + CFLAGS="$CFLAGS -DARTSC_SUPPORT $ARTSC_CFLAGS" + SYSTEM_LIBS="$SYSTEM_LIBS $ARTSC_LIBS" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS arts" + AUDIO_DRIVERS="$AUDIO_DRIVERS arts/libaudio_arts.la" + fi + fi + fi +} + +dnl See if the NAS audio interface is supported +CheckNAS() +{ + AC_ARG_ENABLE(nas, +[ --enable-nas support the NAS audio API [default=yes]], + , enable_nas=yes) + if test x$enable_audio = xyes -a x$enable_nas = xyes; then + AC_MSG_CHECKING(for NAS audio support) + have_nas=no + if test -r /usr/X11R6/include/audio/audiolib.h ; then + have_nas=yes + fi + AC_MSG_RESULT($have_nas) + if test x$have_nas = xyes; then + CFLAGS="$CFLAGS -DNAS_SUPPORT" + SYSTEM_LIBS="$SYSTEM_LIBS -laudio -lXt" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS nas" + AUDIO_DRIVERS="$AUDIO_DRIVERS nas/libaudio_nas.la" + fi + fi +} + +dnl See if we can use x86 assembly blitters +CheckNASM() +{ + dnl Make sure we are running on an x86 platform + case $target in + i?86*) + ;; + *) + # Nope, bail early. + return + ;; + esac + dnl Check for NASM (for assembly blit routines) + AC_ARG_ENABLE(nasm, +[ --enable-nasm use nasm assembly blitters on x86 [default=yes]], + , enable_nasm=yes) + if test x$enable_video = xyes -a x$enable_nasm = xyes; then + AC_PATH_PROG(NASM, nasm) + if test x$NASM = x -o x$NASM = x'"$NASM"'; then + : # nasm isn't installed + else + CFLAGS="$CFLAGS -DUSE_ASMBLIT -I$srcdir/hermes" + case $ARCH in + win32) + NASMFLAGS="-f win32" + ;; + *) + NASMFLAGS="-f elf" + ;; + esac + AC_SUBST(NASMFLAGS) + CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hermes" + SDL_EXTRADIRS="$SDL_EXTRADIRS hermes" + SDL_EXTRALIBS="$SDL_EXTRALIBS hermes/libhermes.la" + fi + fi +} + +dnl Find the X11 include and library directories +CheckX11() +{ + AC_ARG_ENABLE(video-x11, +[ --enable-video-x11 use X11 video driver [default=yes]], + , enable_video_x11=yes) + if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then + AC_PATH_X + AC_PATH_XTRA + if test x$have_x = xyes; then + CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_X11" + if test x$ac_cv_func_shmat != xyes; then + CFLAGS="$CFLAGS -DNO_SHARED_MEMORY" + fi + SYSTEM_LIBS="$SYSTEM_LIBS $X_LIBS -lX11 -lXext" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS x11" + VIDEO_DRIVERS="$VIDEO_DRIVERS x11/libvideo_x11.la" + + AC_ARG_ENABLE(video-x11-vm, +[ --enable-video-x11-vm use X11 VM extension for fullscreen [default=yes]], + , enable_video_x11_vm=yes) + if test x$enable_video_x11_vm = xyes; then + AC_MSG_CHECKING(for XFree86 VidMode 1.0 support) + video_x11_vm=no + AC_TRY_COMPILE([ + #include <X11/Xlib.h> + #include <X11/extensions/xf86vmode.h> + ],[ + ],[ + video_x11_vm=yes + ]) + AC_MSG_RESULT($video_x11_vm) + if test x$video_x11_vm = xyes; then + CFLAGS="$CFLAGS -DXFREE86_VM" + # Check for nasty XFree86 4.0/Glide hack + AC_ARG_ENABLE(xfree86_glidehack, +[ --enable-xfree86-glidehack Alternate vidmode lib for old Glide [default=no]], + , enable_xfreeglidehack=no) + if test x$enable_xfree86_glidehack = xyes; then + ac_save_libs="$LIBS" + LIBS="$LIBS $X_LIBS -lX11 -lXext" + if test x$xfree86_glidehack = x; then + AC_CHECK_LIB(Xxf86vm, XF40VidModeQueryExtension, xfree86_glidehack=Xxf86vm) + fi + if test x$xfree86_glidehack = x; then + AC_CHECK_LIB(Xxf86vm40, XF40VidModeQueryExtension, xfree86_glidehack=Xxf86vm40) + fi + LIBS="$ac_save_libs" + fi + if test x$xfree86_glidehack != x; then + CFLAGS="$CFLAGS -DXFREE86_VM_DYNAMIC_HACK" + SYSTEM_LIBS="$SYSTEM_LIBS -l$xfree86_glidehack" + else + SYSTEM_LIBS="$SYSTEM_LIBS -lXxf86vm" + fi + AC_MSG_CHECKING(for XFree86 VidMode gamma support) + video_x11_vmgamma=no + AC_TRY_COMPILE([ + #include <X11/Xlib.h> + #include <X11/extensions/xf86vmode.h> + ],[ + XF86VidModeGamma gamma; + ],[ + video_x11_vmgamma=yes + ]) + AC_MSG_RESULT($video_x11_vmgamma) + if test x$video_x11_vmgamma = xyes; then + CFLAGS="$CFLAGS -DXFREE86_VMGAMMA" + fi + fi + fi + AC_ARG_ENABLE(video-x11-dgamouse, +[ --enable-video-x11-dgamouse use X11 DGA for mouse events [default=yes]], + , enable_video_x11_dgamouse=yes) + AC_MSG_CHECKING(for XFree86 DGA 1.0 support) + video_x11_dga=no + AC_TRY_COMPILE([ + #include <X11/Xlib.h> + #include <X11/extensions/xf86dga.h> + ],[ + ],[ + video_x11_dga=yes + ]) + AC_MSG_RESULT($video_x11_dga) + if test x$video_x11_dga = xyes; then + CFLAGS="$CFLAGS -DXFREE86_DGAMOUSE" + if test x$enable_video_x11_dgamouse = xyes; then + CFLAGS="$CFLAGS -DDEFAULT_DGAMOUSE" + fi + SYSTEM_LIBS="$SYSTEM_LIBS -lXxf86dga" + fi + AC_ARG_ENABLE(video-x11-xv, +[ --enable-video-x11-xv use X11 XvImage extension for video [default=yes]], + , enable_video_x11_xv=yes) + if test x$enable_video_x11_xv = xyes; then + AC_MSG_CHECKING(for XFree86 XvImage support) + video_x11_xv=no + AC_TRY_COMPILE([ + #include <X11/Xlib.h> + #include <sys/ipc.h> + #include <sys/shm.h> + #include <X11/extensions/XShm.h> + #include <X11/extensions/Xvlib.h> + ],[ + XvImage *image; + ],[ + video_x11_xv=yes + ]) + AC_MSG_RESULT($video_x11_xv) + if test x$video_x11_xv = xyes; then + CFLAGS="$CFLAGS -DXFREE86_XV" + SYSTEM_LIBS="$SYSTEM_LIBS -lXv" + fi + fi + fi + fi +} +CheckPHOTON() +{ + AC_ARG_ENABLE(video-photon, +[ --enable-video-photon use QNX Photonvideo driver [default=yes]], + , enable_video_photon=yes) + if test x$enable_video = xyes -a x$enable_video_photon = xyes; then + AC_MSG_CHECKING(for QNX Photon support) + video_photon=no + AC_TRY_COMPILE([ + #include <Ph.h> + #include <Pt.h> + #include <photon/Pg.h> + #include <photon/PdDirect.h> + ],[ + PgDisplaySettings_t *visual; + ],[ + video_photon=yes + ]) + AC_MSG_RESULT($video_photon) + if test x$video_photon = xyes; then + SYSTEM_LIBS="$SYSTEM_LIBS -lph" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS photon" + VIDEO_DRIVERS="$VIDEO_DRIVERS photon/libvideo_photon.la" + fi + fi +} + +dnl Find the X11 DGA 2.0 include and library directories +CheckDGA() +{ + AC_ARG_ENABLE(video-dga, +[ --enable-video-dga use DGA 2.0 video driver [default=yes]], + , enable_video_dga=yes) + if test x$video_x11_dga = xyes -a x$enable_video_dga = xyes; then + AC_MSG_CHECKING(for XFree86 DGA 2.0 support) + video_x11_dga2=no + AC_TRY_COMPILE([ + #include <X11/Xlib.h> + #include <X11/extensions/xf86dga.h> + ],[ + XDGAEvent xevent; + ],[ + video_x11_dga2=yes + ]) + AC_MSG_RESULT($video_x11_dga2) + if test x$video_x11_dga2 = xyes; then + CFLAGS="$CFLAGS -DENABLE_DGA" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS dga" + VIDEO_DRIVERS="$VIDEO_DRIVERS dga/libvideo_dga.la" + fi + fi +} + +dnl Find the framebuffer console includes +CheckFBCON() +{ + AC_ARG_ENABLE(video-fbcon, +[ --enable-video-fbcon use framebuffer console video driver [default=yes]], + , enable_video_fbcon=yes) + if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then + AC_MSG_CHECKING(for framebuffer console support) + video_fbcon=no + AC_TRY_COMPILE([ + #include <linux/fb.h> + #include <linux/kd.h> + #include <linux/keyboard.h> + ],[ + ],[ + video_fbcon=yes + ]) + AC_MSG_RESULT($video_fbcon) + if test x$video_fbcon = xyes; then + CFLAGS="$CFLAGS -DENABLE_FBCON" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS fbcon" + VIDEO_DRIVERS="$VIDEO_DRIVERS fbcon/libvideo_fbcon.la" + fi + fi +} + +dnl Find the GGI includes +CheckGGI() +{ + AC_ARG_ENABLE(video-ggi, +[ --enable-video-ggi use GGI video driver [default=no]], + , enable_video_ggi=no) + if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then + AC_MSG_CHECKING(for GGI support) + video_ggi=no + AC_TRY_COMPILE([ + #include <ggi/ggi.h> + #include <ggi/gii.h> + ],[ + ],[ + video_ggi=yes + ]) + AC_MSG_RESULT($video_ggi) + if test x$video_ggi = xyes; then + CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_GGI" + SYSTEM_LIBS="$SYSTEM_LIBS -lggi -lgii -lgg" + + VIDEO_SUBDIRS="$VIDEO_SUBDIRS ggi" + VIDEO_DRIVERS="$VIDEO_DRIVERS ggi/libvideo_ggi.la" + fi + fi +} + +dnl Find the SVGAlib includes and libraries +CheckSVGA() +{ + AC_ARG_ENABLE(video-svga, +[ --enable-video-svga use SVGAlib video driver [default=no]], + , enable_video_svga=no) + if test x$enable_video = xyes -a x$enable_video_svga = xyes; then + AC_MSG_CHECKING(for SVGAlib (1.4.0+) support) + video_svga=no + AC_TRY_COMPILE([ + #include <vga.h> + #include <vgamouse.h> + #include <vgakeyboard.h> + ],[ + if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) { + exit(0); + } + ],[ + video_svga=yes + ]) + AC_MSG_RESULT($video_svga) + if test x$video_svga = xyes; then + CFLAGS="$CFLAGS -DENABLE_SVGALIB" + SYSTEM_LIBS="$SYSTEM_LIBS -lvga" + + VIDEO_SUBDIRS="$VIDEO_SUBDIRS svga" + VIDEO_DRIVERS="$VIDEO_DRIVERS svga/libvideo_svga.la" + fi + fi +} + +dnl Find the AAlib includes +CheckAAlib() +{ + AC_ARG_ENABLE(video-aalib, +[ --enable-video-aalib use AAlib video driver [default=no]], + , enable_video_aalib=no) + if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then + AC_MSG_CHECKING(for AAlib support) + video_aalib=no + AC_TRY_COMPILE([ + #include <aalib.h> + ],[ + ],[ + video_aalib=yes + ]) + AC_MSG_RESULT($video_aalib) + if test x$video_aalib = xyes; then + CFLAGS="$CFLAGS -DENABLE_AALIB" + SYSTEM_LIBS="$SYSTEM_LIBS -laa" + + VIDEO_SUBDIRS="$VIDEO_SUBDIRS aalib" + VIDEO_DRIVERS="$VIDEO_DRIVERS aalib/libvideo_aa.la" + fi + fi +} + +dnl Check to see if OpenGL support is desired +AC_ARG_ENABLE(video-opengl, +[ --enable-video-opengl include OpenGL context creation [default=yes]], + , enable_video_opengl=yes) + +dnl Find OpenGL +CheckOpenGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + AC_MSG_CHECKING(for OpenGL (GLX) support) + video_opengl=no + AC_TRY_COMPILE([ + #include <GL/gl.h> + #include <GL/glx.h> + #include <dlfcn.h> /* For loading extensions */ + ],[ + ],[ + video_opengl=yes + ]) + AC_MSG_RESULT($video_opengl) + if test x$video_opengl = xyes; then + CFLAGS="$CFLAGS -DHAVE_OPENGL" + AC_CHECK_LIB(dl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -ldl") + fi + fi +} + +dnl Check for BeOS OpenGL +CheckBeGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + CFLAGS="$CFLAGS -DHAVE_OPENGL" + SYSTEM_LIBS="$SYSTEM_LIBS -lGL" + fi +} + +dnl Check for MacOS OpenGL +CheckMacGL() +{ + if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then + CFLAGS="$CFLAGS -DHAVE_OPENGL" + case "$target" in + *-*-darwin*) + SDL_LIBS="$SDL_LIBS -framework OpenGL -framework AGL" + esac + fi +} + +dnl See if we can use the new unified event interface in Linux 2.4 +CheckInputEvents() +{ + dnl Check for Linux 2.4 unified input event interface support + AC_ARG_ENABLE(input-events, +[ --enable-input-events use Linux 2.4 unified input interface [default=yes]], + , enable_input_events=yes) + if test x$enable_input_events = xyes; then + AC_MSG_CHECKING(for Linux 2.4 unified input interface) + use_input_events=no + AC_TRY_COMPILE([ + #include <linux/input.h> + ],[ + #ifndef EVIOCGNAME + #error EVIOCGNAME() ioctl not available + #endif + ],[ + use_input_events=yes + ]) + AC_MSG_RESULT($use_input_events) + if test x$use_input_events = xyes; then + CFLAGS="$CFLAGS -DUSE_INPUT_EVENTS" + fi + fi +} + +dnl See what type of thread model to use on Linux and Solaris +CheckPTHREAD() +{ + dnl Check for pthread support + AC_ARG_ENABLE(pthreads, +[ --enable-pthreads use POSIX threads for multi-threading [default=yes]], + , enable_pthreads=yes) + dnl This is used on Linux for glibc binary compatibility (Doh!) + AC_ARG_ENABLE(pthread-sem, +[ --enable-pthread-sem use pthread semaphores [default=yes]], + , enable_pthread_sem=yes) + ac_save_libs="$LIBS" + case "$target" in + *-*-bsdi*) + pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + pthread_lib="" + ;; + *-*-darwin*) + pthread_cflags="-D_THREAD_SAFE" +# causes Carbon.p complaints? +# pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + ;; + *-*-freebsd*) + pthread_cflags="-D_REENTRANT -D_THREAD_SAFE" + pthread_lib="-pthread" + ;; + *-*-openbsd*) + pthread_cflags="-D_REENTRANT" + pthread_lib="-pthread" + ;; + *-*-solaris*) + pthread_cflags="-D_REENTRANT" + pthread_lib="-lpthread -lposix4" + ;; + *-*-sysv5*) + pthread_cflags="-D_REENTRANT -Kthread" + pthread_lib="" + ;; + *-*-irix*) + pthread_cflags="-D_SGI_MP_SOURCE" + pthread_lib="-lpthread" + ;; + *-*-aix*) + pthread_cflags="-D_REENTRANT -mthreads" + pthread_lib="-lpthread" + ;; + *-*-qnx*) + pthread_cflags="" + pthread_lib="" + ;; + *) + pthread_cflags="-D_REENTRANT" + pthread_lib="-lpthread" + ;; + esac + LIBS="$LIBS $pthread_lib" + if test x$enable_threads = xyes -a x$enable_pthreads = xyes; then + AC_MSG_CHECKING(for pthreads) + use_pthreads=no + AC_TRY_LINK([ + #include <pthread.h> + ],[ + pthread_attr_t type; + pthread_attr_init(&type); + ],[ + use_pthreads=yes + ]) + AC_MSG_RESULT($use_pthreads) + if test x$use_pthreads = xyes; then + CFLAGS="$CFLAGS $pthread_cflags -DSDL_USE_PTHREADS" + SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags" + SDL_LIBS="$SDL_LIBS $pthread_lib" + + # Check to see if recursive mutexes are available + AC_MSG_CHECKING(for recursive mutexes) + has_recursive_mutexes=no + AC_TRY_LINK([ + #include <pthread.h> + ],[ + pthread_mutexattr_t attr; + #ifdef linux + pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP); + #else + pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE); + #endif + ],[ + has_recursive_mutexes=yes + ]) + # Some systems have broken recursive mutex implementations + case "$target" in + *-*-solaris*) + has_recursive_mutexes=no + ;; + esac + AC_MSG_RESULT($has_recursive_mutexes) + if test x$has_recursive_mutexes != xyes; then + CFLAGS="$CFLAGS -DPTHREAD_NO_RECURSIVE_MUTEX" + fi + + # Check to see if this is broken glibc 2.0 pthreads + case "$target" in + *-*-linux*) + AC_MSG_CHECKING(for broken glibc 2.0 pthreads) + glibc20_pthreads=no + AC_TRY_COMPILE([ + #include <features.h> + #if (__GLIBC__ == 2) && (__GLIBC_MINOR__ == 0) + #warning Working around a bug in glibc 2.0 pthreads + #else + #error pthread implementation okay + #endif /* glibc 2.0 */ + ],[ + ],[ + glibc20_pthreads=yes + ]) + AC_MSG_RESULT($glibc20_pthreads) + esac + fi + fi + LIBS="$ac_save_libs" + + AC_MSG_CHECKING(whether semun is defined in /usr/include/sys/sem.h) + have_semun=no + AC_TRY_COMPILE([ + #include <sys/types.h> + #include <sys/sem.h> + ],[ + union semun t; + ],[ + have_semun=yes + ]) + AC_MSG_RESULT($have_semun) + if test x$have_semun = xyes; then + CFLAGS="$CFLAGS -DHAVE_SEMUN" + fi + + # See if we can use clone() on Linux directly + use_clone=no + if test x$enable_threads = xyes -a x$use_pthreads != xyes; then + case "$target" in + *-*-linux*) + use_clone=yes + ;; + *) + CFLAGS="$CFLAGS -DFORK_HACK" + ;; + esac + fi + AM_CONDITIONAL(USE_CLONE, test x$use_clone = xyes) +} + +dnl Determine whether the compiler can produce Win32 executables +CheckWIN32() +{ + AC_MSG_CHECKING(Win32 compiler) + have_win32_gcc=no + AC_TRY_COMPILE([ + #include <windows.h> + ],[ + ],[ + have_win32_gcc=yes + ]) + AC_MSG_RESULT($have_win32_gcc) + if test x$have_win32_gcc != xyes; then + AC_MSG_ERROR([ +*** Your compiler ($CC) does not produce Win32 executables! + ]) + fi + + dnl See if the user wants to redirect standard output to files + AC_ARG_ENABLE(stdio-redirect, +[ --enable-stdio-redirect Redirect STDIO to files on Win32 [default=yes]], + , enable_stdio_redirect=yes) + if test x$enable_stdio_redirect != xyes; then + CFLAGS="$CFLAGS -DNO_STDIO_REDIRECT" + fi +} + +dnl Find the DirectX includes and libraries +CheckDIRECTX() +{ + AC_ARG_ENABLE(directx, +[ --enable-directx use DirectX for Win32 audio/video [default=yes]], + , enable_directx=yes) + if test x$enable_directx = xyes; then + AC_MSG_CHECKING(for DirectX headers and libraries) + use_directx=no + AC_TRY_COMPILE([ + #include "src/video/windx5/directx.h" + ],[ + ],[ + use_directx=yes + ]) + AC_MSG_RESULT($use_directx) + fi + AM_CONDITIONAL(USE_DIRECTX, test x$use_directx = xyes) + + CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/wincommon" + SYSTEM_LIBS="$SYSTEM_LIBS -luser32 -lgdi32 -lwinmm" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS wincommon" + VIDEO_DRIVERS="$VIDEO_DRIVERS wincommon/libvideo_wincommon.la" + # Enable the DIB driver + CFLAGS="$CFLAGS -DENABLE_WINDIB" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS windib" + VIDEO_DRIVERS="$VIDEO_DRIVERS windib/libvideo_windib.la" + # See if we should enable the DirectX driver + if test x$use_directx = xyes; then + CFLAGS="$CFLAGS -DENABLE_DIRECTX" + SYSTEM_LIBS="$SYSTEM_LIBS -ldxguid" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS windx5" + VIDEO_DRIVERS="$VIDEO_DRIVERS windx5/libvideo_windx5.la" + fi +} + +dnl Set up the BWindow video driver on BeOS +CheckBWINDOW() +{ + CFLAGS="$CFLAGS -DENABLE_BWINDOW" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS bwindow" + VIDEO_DRIVERS="$VIDEO_DRIVERS bwindow/libvideo_bwindow.la" +} + +dnl Set up the Mac toolbox video driver for Mac OS 7-9 +CheckTOOLBOX() +{ + VIDEO_SUBDIRS="$VIDEO_SUBDIRS maccommon" + VIDEO_DRIVERS="$VIDEO_DRIVERS maccommon/libvideo_maccommon.la" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS macrom" + VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la" +} + +dnl Set up the Mac toolbox video driver for Mac OS X +CheckCARBON() +{ + # "MACOSX" is not an official definition, but it's commonly + # accepted as a way to differentiate between what runs on X + # and what runs on older Macs - while in theory "Carbon" defns + # are consistent between the two, in practice Carbon is still + # changing. -sts Aug 2000 + mac_autoconf_target_workaround="MAC" + CFLAGS="$CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers \ + -fpascal-strings -DENABLE_TOOLBOX -DMACOSX -DTARGET_API_${mac_autoconf_target_workaround}_CARBON=1 -I\$(top_srcdir)/src/video/maccommon -I\$(top_srcdir)/src/video/macrom -I\$(top_srcdir)/src/video/macdsp" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS maccommon" + VIDEO_DRIVERS="$VIDEO_DRIVERS maccommon/libvideo_maccommon.la" + VIDEO_SUBDIRS="$VIDEO_SUBDIRS macrom" + VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la" +} + +dnl Set up the kernel statistics library for Solaris +CheckKSTAT() +{ + CFLAGS="$CFLAGS -DHAVE_KSTAT" + SYSTEM_LIBS="$SYSTEM_LIBS -lkstat" +} + +case "$target" in + *-*-linux*) + ARCH=linux + CheckNASM + CheckOSS + CheckALSA + CheckARTSC + CheckESD + CheckNAS + CheckX11 + CheckDGA + CheckFBCON + CheckGGI + CheckSVGA + CheckAAlib + CheckOpenGL + CheckInputEvents + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + # We use the OSS and ALSA API's, not the Sun audio API + #if test x$enable_audio = xyes; then + # AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + # AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + #fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS linux" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS linux/libjoystick_linux.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, linux, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + if test x$use_pthreads != xyes; then + COPY_ARCH_SRC(src/thread, linux, clone.S) + fi + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + else + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + fi + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + if test x$glibc20_pthreads = xyes; then + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + else + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-bsdi*) + ARCH=bsdi + CheckNASM + CheckOSS + CheckNAS + CheckX11 + CheckDGA + CheckSVGA + CheckAAlib + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + # (No cdrom support yet) + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, dummy, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-freebsd*) + ARCH=freebsd + CheckNASM + CheckOSS + CheckARTSC + CheckESD + CheckNAS + CheckX11 + CheckDGA + CheckSVGA + CheckAAlib + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + # We use the OSS and ALSA API's, not the Sun audio API + #if test x$enable_audio = xyes; then + # AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + # AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + #fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, freebsd, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + else + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + fi + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-netbsd*) + ARCH=netbsd + CheckNASM + CheckOSS + CheckARTSC + CheckESD + CheckNAS + CheckX11 + CheckAAlib + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, openbsd, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + # NetBSD does not define "unix" + CFLAGS="$CFLAGS -Dunix" + ;; + *-*-openbsd*) + ARCH=openbsd + CheckNASM + CheckOSS + CheckARTSC + CheckESD + CheckNAS + CheckX11 + CheckAAlib + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, openbsd, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + else + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + fi + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-sysv5*) + ARCH=sysv5 + CheckNASM + CheckOSS + CheckARTSC + CheckESD + CheckNAS + CheckX11 + CheckAAlib + CheckOpenGL + CheckPTHREAD + CheckKSTAT + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, dummy, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, generic, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, generic, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-solaris*) + ARCH=solaris + CheckNASM + CheckARTSC + CheckESD + CheckNAS + CheckX11 + CheckAAlib + CheckOpenGL + CheckPTHREAD + CheckKSTAT + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, linux, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-irix*) + ARCH=irix + CheckNAS + CheckX11 + CheckAAlib + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS dmedia" + AUDIO_DRIVERS="$AUDIO_DRIVERS dmedia/libaudio_dmedia.la" + LIBS="$LIBS -laudio" + fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + # (No CD-ROM support yet) + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, dummy, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + if test x$use_pthreads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + if test x$enable_pthread_sem != xyes; then + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + else + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + fi + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + else + COPY_ARCH_SRC(src/thread, irix, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, irix, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-hpux*) + ARCH=hpux + CheckNAS + CheckX11 + CheckGGI + CheckAAlib + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + # (No CD-ROM support yet) + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, dummy, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-aix*) + ARCH=aix + CheckNAS + CheckX11 + CheckGGI + CheckAAlib + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS paudio" + AUDIO_DRIVERS="$AUDIO_DRIVERS paudio/libaudio_paudio.la" + fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, aix, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-osf*) + ARCH=osf + CheckNAS + CheckX11 + CheckGGI + CheckAAlib + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + fi + # Set up files for the joystick library + # (No joystick support yet) + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + # (No cdrom support yet) + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, dummy, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-qnx*) + ARCH=qnx + CheckNAS + CheckPHOTON + CheckX11 + CheckOpenGL + CheckPTHREAD + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + CFLAGS="$CFLAGS -DALSA_SUPPORT" + SYSTEM_LIBS="$SYSTEM_LIBS -lasound" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS nto" + AUDIO_DRIVERS="$AUDIO_DRIVERS nto/libaudio_nto.la" + AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun" + AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la" + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + # (No joystick support yet) + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, qnx, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + ;; + *-*-cygwin* | *-*-mingw32*) + ARCH=win32 + if test "$build" != "$target"; then # cross-compiling + # Default cross-compile location + ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc + else + # Look for the location of the tools and install there + ac_default_prefix=$BUILD_PREFIX + fi + CheckWIN32 + CheckDIRECTX + CheckNASM + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, win32, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS windib" + AUDIO_DRIVERS="$AUDIO_DRIVERS windib/libaudio_windib.la" + if test x$use_directx = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS windx5" + AUDIO_DRIVERS="$AUDIO_DRIVERS windx5/libaudio_windx5.la" + fi + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS win32" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS win32/libjoystick_winmm.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, win32, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, win32, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, win32, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, win32, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, win32, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, win32, SDL_systimer.c) + fi + # The Win32 platform requires special setup + SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" + SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows" + ;; + *-*-beos*) + ARCH=beos + ac_default_prefix=/boot/develop/tools/gnupro + CheckNASM + CheckBWINDOW + CheckBeGL + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + COPY_ARCH_SRC(src/main, beos, SDL_BeApp.cc) + COPY_ARCH_SRC(src/main, beos, SDL_BeApp.h) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS baudio" + AUDIO_DRIVERS="$AUDIO_DRIVERS baudio/libaudio_baudio.la" + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS beos" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS beos/libjoystick_beos.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, beos, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, beos, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, beos, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, beos, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, beos, SDL_systimer.c) + fi + # The BeOS platform requires special libraries + SYSTEM_LIBS="$SYSTEM_LIBS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding" + ;; + *-*-macos*) + # This would be used if cross-compiling to MacOS 9. No way to + # use it at present, but Apple is working on a X-to-9 compiler + # for which this case would be handy. + ARCH=macos + CheckTOOLBOX + CheckMacGL + # Set up files for the main() stub + COPY_ARCH_SRC(src/main, macos, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom" + AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la" + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS macos" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS macos/libjoystick_macos.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, macos, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, macos, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, macos, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h) + COPY_ARCH_SRC(src/thread, macos, SDL_syssem.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, macos, SDL_systimer.c) + fi + # The MacOS platform requires special setup + SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main" + SDL_LIBS="-lSDLmain $SDL_LIBS" + ;; + *-*-darwin* ) + # Strictly speaking, we want "Mac OS X", not "Darwin", which is + # just the OS X kernel sans upper layers like Carbon. But + # config.guess comes back with "darwin", so go with the flow. + ARCH=macos + CheckCARBON + CheckMacGL + CheckPTHREAD + # Set up files for the main() stub + # COPY_ARCH_SRC(src/main, macos, SDL_main.c) + COPY_ARCH_SRC(src/main, linux, SDL_main.c) + # Set up files for the audio library + if test x$enable_audio = xyes; then + AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom" + AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la" + fi + # Set up files for the joystick library + if test x$enable_joystick = xyes; then + JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy" + JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la" + fi + # Set up files for the cdrom library + if test x$enable_cdrom = xyes; then + COPY_ARCH_SRC(src/cdrom, dummy, SDL_syscdrom.c) + fi + # Set up files for the thread library + if test x$enable_threads = xyes; then + COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c) + COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c) + COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h) + if test x$use_pthreads = xyes -a x$enable_pthread_sem != xyes; then + COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c) + else + COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c) + fi + COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c) + COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h) + fi + # Set up files for the timer library + if test x$enable_timers = xyes; then + COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c) + fi + # The MacOS X platform requires special setup + SDL_CFLAGS="$SDL_CFLAGS -F/System/Library/Frameworks/Carbon.framework" + SDL_LIBS="$SDL_LIBS -framework Carbon" + ;; + *) + AC_MSG_ERROR(Unsupported target: Please add to configure.in) + ;; +esac +AC_SUBST(ARCH) + +# Set the conditional variables for this target +AM_CONDITIONAL(TARGET_LINUX, test $ARCH = linux) +AM_CONDITIONAL(TARGET_SOLARIS, test $ARCH = solaris) +AM_CONDITIONAL(TARGET_IRIX, test $ARCH = irix) +AM_CONDITIONAL(TARGET_BSDI, test $ARCH = bsdi) +AM_CONDITIONAL(TARGET_FREEBSD, test $ARCH = freebsd) +AM_CONDITIONAL(TARGET_OPENBSD, test $ARCH = openbsd) +AM_CONDITIONAL(TARGET_AIX, test $ARCH = aix) +AM_CONDITIONAL(TARGET_WIN32, test $ARCH = win32) +AM_CONDITIONAL(TARGET_BEOS, test $ARCH = beos) +AM_CONDITIONAL(TARGET_MACOS, test $ARCH = macos) + +# Set conditional variables for shared and static library selection. +# These are not used in any Makefile.am but in sdl-config.in. +AM_CONDITIONAL([ENABLE_SHARED], [test "$enable_shared" = yes]) +AM_CONDITIONAL([ENABLE_STATIC], [test "$enable_static" = yes]) + +# Set runtime shared library paths as needed + +if test $ARCH = linux -o $ARCH = freebsd -o $ARCH = bsdi; then + SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib" +fi + +if test $ARCH = solaris; then + SDL_RLD_FLAGS="-R\${exec_prefix}/lib" +fi + +dnl Output the video drivers we use +if test x$enable_video = xtrue; then + if test "$VIDEO_SUBDIRS" = ""; then + AC_MSG_ERROR(*** No video drivers are enabled!) + fi +fi +AC_SUBST(AUDIO_SUBDIRS) +AC_SUBST(AUDIO_DRIVERS) +AC_SUBST(VIDEO_SUBDIRS) +AC_SUBST(VIDEO_DRIVERS) +AC_SUBST(JOYSTICK_SUBDIRS) +AC_SUBST(JOYSTICK_DRIVERS) +AC_SUBST(SDL_EXTRADIRS) +AC_SUBST(SDL_EXTRALIBS) +AC_SUBST(SYSTEM_LIBS) + +dnl Expand the cflags and libraries needed by apps using SDL +AC_SUBST(SDL_CFLAGS) +AC_SUBST(SDL_LIBS) +AC_SUBST(SDL_RLD_FLAGS) + +dnl Expand the libraries needed for static linking +AC_SUBST(SYSTEM_LIBS) +dnl Expand the include directories for building SDL +CFLAGS="$CFLAGS -I\$(top_srcdir)/include" +CFLAGS="$CFLAGS -I\$(top_srcdir)/include/SDL" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src -I\$(top_srcdir)/src/$ARCH" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/main" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/audio" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/events" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/joystick" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/cdrom" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/thread" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/timer" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/endian" +CFLAGS="$CFLAGS -I\$(top_srcdir)/src/file" +CXXFLAGS="$CFLAGS" + +# Finally create all the generated files +dnl Important: Any directory that you want to be in the distcheck should +dnl have a file listed here, so that configure generates the +dnl subdirectories on the build target. +AC_OUTPUT([ +Makefile +docs/Makefile +docs/html/Makefile +docs/man3/Makefile +include/Makefile +src/Makefile +src/main/Makefile +src/audio/Makefile +src/audio/alsa/Makefile +src/audio/arts/Makefile +src/audio/baudio/Makefile +src/audio/dma/Makefile +src/audio/dmedia/Makefile +src/audio/dsp/Makefile +src/audio/esd/Makefile +src/audio/macrom/Makefile +src/audio/nas/Makefile +src/audio/nto/Makefile +src/audio/paudio/Makefile +src/audio/sun/Makefile +src/audio/ums/Makefile +src/audio/windib/Makefile +src/audio/windx5/Makefile +src/video/Makefile +src/video/cybergfx/Makefile +src/video/x11/Makefile +src/video/dga/Makefile +src/video/fbcon/Makefile +src/video/ggi/Makefile +src/video/maccommon/Makefile +src/video/macdsp/Makefile +src/video/macrom/Makefile +src/video/svga/Makefile +src/video/aalib/Makefile +src/video/wincommon/Makefile +src/video/windib/Makefile +src/video/windx5/Makefile +src/video/bwindow/Makefile +src/video/photon/Makefile +src/events/Makefile +src/joystick/Makefile +src/joystick/beos/Makefile +src/joystick/dummy/Makefile +src/joystick/linux/Makefile +src/joystick/macos/Makefile +src/joystick/win32/Makefile +src/cdrom/Makefile +src/thread/Makefile +src/timer/Makefile +src/endian/Makefile +src/file/Makefile +src/hermes/Makefile +sdl-config +SDL.spec +], [chmod +x sdl-config])