blob: 416b63a7d7dce4d50105d209b29563c68b58a097 [file] [log] [blame]
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=9
SDL_INTERFACE_AGE=2
SDL_BINARY_AGE=9
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 Detect the canonical host and target build environment
AC_CANONICAL_SYSTEM
dnl Setup for automake
AM_INIT_AUTOMAKE(SDL, $SDL_VERSION)
dnl Check for tools
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
AC_PROG_MAKE_SET
AC_PROG_CC
AC_C_INLINE
AC_C_CONST
AC_PROG_CXX
AC_PROG_INSTALL
AC_FUNC_ALLOCA
ASFLAGS=""
AC_SUBST(ASFLAGS)
CCAS="$CC"
AC_SUBST(CCAS)
CCASFLAGS=""
AC_SUBST(CCASFLAGS)
AM_CONDITIONAL([am__fastdepOBJC], false)
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=i486"
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
AC_ARG_ENABLE(cpuinfo,
[ --enable-cpuinfo Enable the cpuinfo subsystem [default=yes]],
, enable_cpuinfo=yes)
if test x$enable_cpuinfo = xyes; then
SDL_EXTRADIRS="$SDL_EXTRADIRS cpuinfo"
SDL_EXTRALIBS="$SDL_EXTRALIBS cpuinfo/libcpuinfo.la"
else
CFLAGS="$CFLAGS -DDISABLE_CPUINFO"
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
if test x$have_oss != xyes; then
AC_TRY_COMPILE([
#include <sys/soundcard.h>
],[
int arg = SNDCTL_DSP_SETFRAGMENT;
],[
have_oss=yes
])
fi
if test x$have_oss != xyes; then
AC_TRY_COMPILE([
#include <soundcard.h>
],[
int arg = SNDCTL_DSP_SETFRAGMENT;
],[
have_oss=yes
CFLAGS="$CFLAGS -DOSS_USE_SOUNDCARD_H"
])
fi
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
AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no)
# Restore all flags from before the ALSA detection runs
CFLAGS="$alsa_save_CFLAGS"
LDFLAGS="$alsa_save_LDFLAGS"
LIBS="$alsa_save_LIBS"
if test x$have_alsa = xyes; then
AC_ARG_ENABLE(alsa-shared,
[ --enable-alsa-shared dynamically load ALSA audio support [default=yes]],
, enable_alsa_shared=yes)
if test "x`echo $ALSA_LIBS | grep -- -L`" = "x"; then
if test "x`ls /lib/libasound.so.* 2> /dev/null`" != "x"; then
ALSA_LIBS="-L/lib $ALSA_LIBS"
elif test "x`ls /usr/lib/libasound.so.* 2> /dev/null`" != "x"; then
ALSA_LIBS="-L/usr/lib $ALSA_LIBS"
elif test "x`ls /usr/local/lib/libasound.so.* 2> /dev/null`" != "x"; then
ALSA_LIBS="-L/usr/local/lib $ALSA_LIBS"
fi
fi
alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libasound.so.*/'`
alsa_lib=`ls $alsa_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
echo "-- $alsa_lib_spec -> $alsa_lib"
if test x$use_dlopen != xyes && \
test x$enable_alsa_shared = xyes; then
AC_MSG_ERROR([You must have dlopen() support and use the --enable-dlopen option])
fi
if test x$use_dlopen = xyes && \
test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then
CFLAGS="$CFLAGS -DALSA_SUPPORT -DALSA_DYNAMIC=\$(alsa_lib) $ALSA_CFLAGS"
AC_SUBST(alsa_lib)
AC_MSG_CHECKING(for dlvsym)
use_dlvsym=no
AC_TRY_COMPILE([
#include <stdio.h>
#define __USE_GNU
#include <dlfcn.h>
],[
dlvsym(NULL,"","");
],[
use_dlvsym=yes
])
AC_MSG_RESULT($use_dlvsym);
if test x$use_dlvsym = xyes; then
CFLAGS="$CFLAGS -DUSE_DLVSYM"
fi
else
CFLAGS="$CFLAGS -DALSA_SUPPORT $ALSA_CFLAGS"
SYSTEM_LIBS="$SYSTEM_LIBS $ALSA_LIBS"
fi
AUDIO_SUBDIRS="$AUDIO_SUBDIRS alsa"
AUDIO_DRIVERS="$AUDIO_DRIVERS alsa/libaudio_alsa.la"
fi
fi
}
dnl Check whether we want to use IRIX 6.5+ native audio or not
CheckDMEDIA()
{
if test x$enable_audio = xyes; then
AC_MSG_CHECKING(for dmedia audio support)
have_dmedia=no
AC_TRY_COMPILE([
#include <dmedia/audio.h>
],[
ALport audio_port;
],[
have_dmedia=yes
])
AC_MSG_RESULT($have_dmedia)
# Set up files for the audio library
if test x$have_dmedia = xyes; then
CFLAGS="$CFLAGS -DDMEDIA_SUPPORT"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS dmedia"
AUDIO_DRIVERS="$AUDIO_DRIVERS dmedia/libaudio_dmedia.la"
SYSTEM_LIBS="$SYSTEM_LIBS -laudio"
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, have_esd=yes, have_esd=no)
if test x$have_esd = xyes; then
AC_ARG_ENABLE(esd-shared,
[ --enable-esd-shared dynamically load ESD audio support [default=yes]],
, enable_esd_shared=yes)
esd_lib_spec=`echo $ESD_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libesd.so.*/'`
esd_lib=`ls $esd_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
echo "-- $esd_lib_spec -> $esd_lib"
if test x$use_dlopen != xyes && \
test x$enable_esd_shared = xyes; then
AC_MSG_ERROR([You must have dlopen() support and use the --enable-dlopen option])
fi
if test x$use_dlopen = xyes && \
test x$enable_esd_shared = xyes && test x$esd_lib != x; then
CFLAGS="$CFLAGS -DESD_SUPPORT -DESD_DYNAMIC=\$(esd_lib) $ESD_CFLAGS"
AC_SUBST(esd_lib)
else
CFLAGS="$CFLAGS -DESD_SUPPORT $ESD_CFLAGS"
SYSTEM_LIBS="$SYSTEM_LIBS $ESD_LIBS"
fi
AUDIO_SUBDIRS="$AUDIO_SUBDIRS esd"
AUDIO_DRIVERS="$AUDIO_DRIVERS esd/libaudio_esd.la"
fi
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`
ARTSC_PREFIX=`$ARTSCCONFIG --arts-prefix`
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
AC_ARG_ENABLE(arts-shared,
[ --enable-arts-shared dynamically load aRts audio support [default=yes]],
, enable_arts_shared=yes)
arts_lib_spec="$ARTSC_PREFIX/lib/libartsc.so.*"
arts_lib=`ls $arts_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
echo "-- $arts_lib_spec -> $arts_lib"
if test x$use_dlopen != xyes && \
test x$enable_arts_shared = xyes; then
AC_MSG_ERROR([You must have dlopen() support and use the --enable-dlopen option])
fi
if test x$use_dlopen = xyes && \
test x$enable_arts_shared = xyes && test x$arts_lib != x; then
CFLAGS="$CFLAGS -DARTSC_SUPPORT -DARTSC_DYNAMIC=\$(arts_lib) $ARTSC_CFLAGS"
AC_SUBST(arts_lib)
else
CFLAGS="$CFLAGS -DARTSC_SUPPORT $ARTSC_CFLAGS"
SYSTEM_LIBS="$SYSTEM_LIBS $ARTSC_LIBS"
fi
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
CFLAGS="$CFLAGS -DNAS_SUPPORT -I/usr/X11R6/include/"
SYSTEM_LIBS="$SYSTEM_LIBS -laudio -lXt"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS nas"
AUDIO_DRIVERS="$AUDIO_DRIVERS nas/libaudio_nas.la"
dnl On IRIX, the NAS includes are in a different directory,
dnl and libnas must be explicitly linked in
elif test -r /usr/freeware/include/nas/audiolib.h; then
have_nas=yes
CFLAGS="$CFLAGS -DNAS_SUPPORT"
SYSTEM_LIBS="$SYSTEM_LIBS -lnas -lXt"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS nas"
AUDIO_DRIVERS="$AUDIO_DRIVERS nas/libaudio_nas.la"
fi
AC_MSG_RESULT($have_nas)
fi
}
dnl rcg07142001 See if the user wants the disk writer audio driver...
CheckDiskAudio()
{
AC_ARG_ENABLE(diskaudio,
[ --enable-diskaudio support the disk writer audio driver [default=yes]],
, enable_diskaudio=yes)
if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
CFLAGS="$CFLAGS -DDISKAUD_SUPPORT"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS disk"
AUDIO_DRIVERS="$AUDIO_DRIVERS disk/libaudio_disk.la"
fi
}
dnl Set up the Atari Audio driver
CheckAtariAudio()
{
AC_ARG_ENABLE(mintaudio,
[ --enable-mintaudio support Atari audio driver [default=yes]],
, enable_mintaudio=yes)
if test x$enable_audio = xyes -a x$enable_mintaudio = xyes; then
mintaudio=no
AC_CHECK_HEADER(mint/falcon.h, have_mint_falcon_hdr=yes)
if test x$have_mint_falcon_hdr = xyes; then
mintaudio=yes
CFLAGS="$CFLAGS -DMINTAUDIO_SUPPORT"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS mint"
AUDIO_DRIVERS="$AUDIO_DRIVERS mint/libaudio_mintaudio.la"
fi
fi
}
dnl See if we can use x86 assembly blitters
# NASM is available from: http://nasm.octium.net/
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"
;;
openbsd)
NASMFLAGS="-f aoutb"
;;
*)
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"
use_nasm=yes
case "$target" in
# this line is needed for QNX, because it's not defined the __ELF__
*-*-qnx*) CFLAGS="$CFLAGS -D__ELF__"
;;
esac
fi
fi
}
dnl Find the nanox include and library directories
CheckNANOX()
{
AC_ARG_ENABLE(video-nanox,
[ --enable-video-nanox use nanox video driver [default=no]],
, enable_video_nanox=no)
AC_ARG_ENABLE(nanox-debug,
[ --enable-nanox-debug print debug messages [default=no]],
, enable_nanox_debug=no)
AC_ARG_ENABLE(nanox-share-memory,
[ --enable-nanox-share-memory use share memory [default=no]],
, enable_nanox_share_memory=no)
AC_ARG_ENABLE(nanox_direct_fb,
[ --enable-nanox-direct-fb use direct framebuffer access [default=no]],
, enable_nanox_direct_fb=no)
if test x$enable_video = xyes -a x$enable_video_nanox = xyes; then
if test x$enable_nanox_debug = xyes; then
CFLAGS="$CFLAGS -DENABLE_NANOX_DEBUG"
fi
if test x$enable_nanox_share_memory = xyes; then
CFLAGS="$CFLAGS -DNANOX_SHARE_MEMORY"
fi
if test x$enable_nanox_direct_fb = xyes; then
CFLAGS="$CFLAGS -DENABLE_NANOX_DIRECT_FB"
fi
CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_NANOX"
SYSTEM_LIBS="$SYSTEM_LIBS -lnano-X"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS nanox"
VIDEO_DRIVERS="$VIDEO_DRIVERS nanox/libvideo_nanox.la"
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 -DXTHREADS -I$srcdir/include -I$srcdir/src/video"
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 <XFree86/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"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xxf86vm"
VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xxf86vm/libXFree86_Xxf86vm.la"
AC_MSG_CHECKING(for XFree86 VidMode gamma support)
video_x11_vmgamma=no
AC_TRY_COMPILE([
#include <X11/Xlib.h>
#include <XFree86/extensions/xf86vmode.h>
],[
SDL_NAME(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(dga,
[ --enable-dga allow use of X11 DGA code [default=yes]],
, enable_dga=yes)
AC_ARG_ENABLE(video-x11-dgamouse,
[ --enable-video-x11-dgamouse use X11 DGA for mouse events [default=yes]],
, enable_video_x11_dgamouse=yes)
if test x$enable_dga = xyes; then
AC_MSG_CHECKING(for XFree86 DGA 1.0 support)
video_x11_dga=no
AC_TRY_COMPILE([
#include <X11/Xlib.h>
#include <XFree86/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
VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xxf86dga"
VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xxf86dga/libXFree86_Xxf86dga.la"
fi
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 <XFree86/extensions/Xvlib.h>
],[
SDL_NAME(XvImage) *image;
],[
video_x11_xv=yes
])
AC_MSG_RESULT($video_x11_xv)
if test x$video_x11_xv = xyes; then
CFLAGS="$CFLAGS -DXFREE86_XV"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xv"
VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xv/libXFree86_Xv.la"
fi
fi
AC_ARG_ENABLE(video-x11-xinerama,
[ --enable-video-x11-xinerama enable X11 Xinerama support [default=yes]],
, enable_video_x11_xinerama=yes)
if test x$enable_video_x11_xinerama = xyes; then
AC_MSG_CHECKING(for X11 Xinerama support)
video_x11_xinerama=no
AC_TRY_COMPILE([
#include <X11/Xlib.h>
#include <XFree86/extensions/Xinerama.h>
],[
SDL_NAME(XineramaScreenInfo) *xinerama;
],[
video_x11_xinerama=yes
])
AC_MSG_RESULT($video_x11_xinerama)
if test x$video_x11_xinerama = xyes; then
CFLAGS="$CFLAGS -DHAVE_XINERAMA"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xinerama"
VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xinerama/libXFree86_Xinerama.la"
fi
fi
AC_ARG_ENABLE(video-x11-xme,
[ --enable-video-x11-xme enable Xi Graphics XME for fullscreen [default=yes]],
, enable_video_x11_xme=yes)
if test x$enable_video_x11_xme = xyes; then
AC_MSG_CHECKING(for Xi Graphics XiGMiscExtension support)
video_x11_xme=no
AC_TRY_COMPILE([
#include <X11/Xlib.h>
#include <X11/extensions/xme.h>
],[
XiGMiscResolutionInfo *resolutions;
],[
video_x11_xme=yes
])
AC_MSG_RESULT($video_x11_xme)
if test x$video_x11_xme = xyes; then
CFLAGS="$CFLAGS -DHAVE_XIGXME"
SYSTEM_LIBS="$SYSTEM_LIBS -lxme"
fi
fi
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
save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS -Isrc/video"
AC_MSG_CHECKING(for XFree86 DGA 2.0 support)
video_x11_dga2=no
AC_TRY_COMPILE([
#include <X11/Xlib.h>
#include <XFree86/extensions/xf86dga.h>
],[
SDL_NAME(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
}
CheckPHOTON()
{
AC_ARG_ENABLE(video-photon,
[ --enable-video-photon use QNX Photon video 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
CFLAGS="$CFLAGS -DENABLE_PHOTON"
SYSTEM_LIBS="$SYSTEM_LIBS -lph"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS photon"
VIDEO_DRIVERS="$VIDEO_DRIVERS photon/libvideo_photon.la"
CheckOpenGLQNX
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 DirectFB
CheckDirectFB()
{
AC_ARG_ENABLE(video-directfb,
[ --enable-video-directfb use DirectFB video driver [default=no]],
, enable_video_directfb=no)
if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
video_directfb=no
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
if test x$PKG_CONFIG = xno ; then
AC_MSG_WARN([*** pkg-config is required to build the DirectFB video driver.])
else
AC_MSG_CHECKING(for DirectFB support)
if ! $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
AC_MSG_ERROR([*** pkg-config too old; version 0.7 or better required.])
fi
DIRECTFB_REQUIRED_VERSION=0.9.15
if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
video_directfb=yes
fi
fi
AC_MSG_RESULT($video_directfb)
if test x$video_directfb = xyes; then
CFLAGS="$CFLAGS -DENABLE_DIRECTFB"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS directfb"
VIDEO_DRIVERS="$VIDEO_DRIVERS directfb/libvideo_directfb.la"
AC_SUBST(DIRECTFB_CFLAGS)
AC_SUBST(DIRECTFB_LIBS)
fi
fi
}
dnl See if we're running on PlayStation 2 hardware
CheckPS2GS()
{
AC_ARG_ENABLE(video-ps2gs,
[ --enable-video-ps2gs use PlayStation 2 GS video driver [default=yes]],
, enable_video_ps2gs=yes)
if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
AC_MSG_CHECKING(for PlayStation 2 GS support)
video_ps2gs=no
AC_TRY_COMPILE([
#include <linux/ps2/dev.h>
#include <linux/ps2/gs.h>
],[
],[
video_ps2gs=yes
])
AC_MSG_RESULT($video_ps2gs)
if test x$video_ps2gs = xyes; then
CFLAGS="$CFLAGS -DENABLE_PS2GS"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS ps2gs"
VIDEO_DRIVERS="$VIDEO_DRIVERS ps2gs/libvideo_ps2gs.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 VGL includes and libraries
CheckVGL()
{
AC_ARG_ENABLE(video-vgl,
[ --enable-video-vgl use VGL video driver [default=no]],
, enable_video_vgl=no)
if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
AC_MSG_CHECKING(for libVGL support)
video_vgl=no
AC_TRY_COMPILE([
#include <sys/fbio.h>
#include <sys/consio.h>
#include <sys/kbio.h>
#include <vgl.h>
],[
VGLBitmap bitmap;
exit(bitmap.Bitmap);
],[
video_vgl=yes
])
AC_MSG_RESULT($video_vgl)
if test x$video_vgl = xyes; then
CFLAGS="$CFLAGS -DENABLE_VGL"
SYSTEM_LIBS="$SYSTEM_LIBS -lvgl"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS vgl"
VIDEO_DRIVERS="$VIDEO_DRIVERS vgl/libvideo_vgl.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 Set up the Atari Xbios driver
CheckAtariXbiosVideo()
{
AC_ARG_ENABLE(xbios,
[ --enable-video-xbios use Atari Xbios video driver [default=yes]],
, enable_video_xbios=yes)
video_xbios=no
if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
video_xbios=yes
CFLAGS="$CFLAGS -DENABLE_XBIOS"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS xbios"
VIDEO_DRIVERS="$VIDEO_DRIVERS xbios/libvideo_xbios.la"
fi
}
dnl Set up the Atari Gem driver
CheckAtariGemVideo()
{
AC_ARG_ENABLE(gem,
[ --enable-video-gem use Atari Gem video driver [default=yes]],
, enable_video_gem=yes)
if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
video_gem=no
AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
video_gem=yes
CFLAGS="$CFLAGS -DENABLE_GEM"
SYSTEM_LIBS="$SYSTEM_LIBS -lgem"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS gem"
VIDEO_DRIVERS="$VIDEO_DRIVERS gem/libvideo_gem.la"
fi
fi
}
dnl Set up the Atari Bios keyboard driver
CheckAtariBiosEvent()
{
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/ataricommon"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS ataricommon"
VIDEO_DRIVERS="$VIDEO_DRIVERS ataricommon/libvideo_ataricommon.la"
}
dnl rcg04172001 Set up the Null video driver.
CheckDummyVideo()
{
AC_ARG_ENABLE(video-dummy,
[ --enable-video-dummy use dummy video driver [default=yes]],
, enable_video_dummy=yes)
if test x$enable_video_dummy = xyes; then
CFLAGS="$CFLAGS -DENABLE_DUMMYVIDEO"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS dummy"
VIDEO_DRIVERS="$VIDEO_DRIVERS dummy/libvideo_null.la"
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"
if test x$use_dlopen != xyes; then
AC_CHECK_LIB(dl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -ldl")
fi
fi
fi
}
dnl Find QNX RtP OpenGL
CheckOpenGLQNX()
{
if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
AC_MSG_CHECKING(for OpenGL (Photon) support)
video_opengl=no
AC_TRY_COMPILE([
#include <GL/gl.h>
],[
],[
video_opengl=yes
])
AC_MSG_RESULT($video_opengl)
if test x$video_opengl = xyes; then
CFLAGS="$CFLAGS -DHAVE_OPENGL"
SYSTEM_LIBS="$SYSTEM_LIBS -lGL"
if test x$use_dlopen != xyes; then
AC_CHECK_LIB(c, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS", AC_CHECK_LIB(ltdl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -lltdl"))
fi
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*)
SYSTEM_LIBS="$SYSTEM_LIBS -framework OpenGL -framework AGL"
esac
fi
}
dnl Check for Mesa offscreen rendering
CheckAtariOSMesa()
{
if test "x$enable_video" = "xyes" -a "x$enable_video_opengl" = "xyes"; then
AC_CHECK_HEADER(GL/osmesa.h, have_osmesa_hdr=yes)
AC_CHECK_LIB(OSMesa, OSMesaCreateContext, have_osmesa_lib=yes, have_osmesa_lib=no, -lm)
# Static linking to -lOSMesa
AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
if test "x$OSMESA_CONFIG" = "xno" -o "x$enable_atari_ldg" = "xno"; then
# -lOSMesa is really the static library
if test "x$have_osmesa_hdr" = "xyes" -a "x$have_osmesa_lib" = "xyes"; then
CFLAGS="$CFLAGS -DHAVE_OPENGL"
SYSTEM_LIBS="$SYSTEM_LIBS -lOSMesa"
fi
else
# -lOSMesa is a loader for OSMesa.ldg
OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
OSMESA_LIBS=`$OSMESA_CONFIG --libs`
CFLAGS="$CFLAGS -DHAVE_OPENGL $OSMESA_CFLAGS"
SYSTEM_LIBS="$SYSTEM_LIBS $OSMESA_LIBS"
fi
AC_ARG_ENABLE(osmesa-shared,
[ --enable-osmesa-shared dynamically load OSMesa OpenGL support [default=yes]],
, enable_osmesa_shared=yes)
if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then
# Dynamic linking
if test "x$have_osmesa_hdr" = "xyes"; then
CFLAGS="$CFLAGS -DENABLE_OSMESA_SHARED"
fi
fi
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 if we can use GNU pth library for threads
CheckPTH()
{
dnl Check for pth support
AC_ARG_ENABLE(pth,
[ --enable-pth use GNU pth library for multi-threading [default=yes]],
, enable_pth=yes)
if test x$enable_threads = xyes -a x$enable_pth = xyes; then
AC_PATH_PROG(PTH_CONFIG, pth-config, no)
if test "$PTH_CONFIG" = "no"; then
use_pth=no
else
PTH_CFLAGS=`$PTH_CONFIG --cflags`
PTH_LIBS=`$PTH_CONFIG --libs --all`
SDL_CFLAGS="$SDL_CFLAGS $PTH_CFLAGS"
SDL_LIBS="$SDL_LIBS $PTH_LIBS"
CFLAGS="$CFLAGS -DENABLE_PTH"
use_pth=yes
fi
AC_MSG_CHECKING(pth)
if test "x$use_pth" = xyes; then
AC_MSG_RESULT(yes)
else
AC_MSG_RESULT(no)
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)
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"
;;
*-*-netbsd*)
pthread_cflags="-I/usr/pkg/include -D_REENTRANT"
pthread_lib="-L/usr/pkg/lib -lpthread -lsem"
;;
*-*-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"
;;
*-*-hpux11*)
pthread_cflags="-D_REENTRANT"
pthread_lib="-L/usr/lib -lpthread"
;;
*-*-qnx*)
pthread_cflags=""
pthread_lib=""
;;
*-*-osf*)
pthread_cflags="-D_REENTRANT"
if test x$ac_cv_prog_gcc = xyes; then
pthread_lib="-lpthread -lrt"
else
pthread_lib="-lpthread -lexc -lrt"
fi
;;
*)
pthread_cflags="-D_REENTRANT"
pthread_lib="-lpthread"
;;
esac
if test x$enable_threads = xyes -a x$enable_pthreads = xyes; then
# Save the original compiler flags and libraries
ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
# Add the pthread compiler flags and libraries
CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
# Check to see if we have pthread support on this system
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)
# Restore the compiler flags and libraries
CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
# Do futher testing if we have pthread support...
if test x$use_pthreads = xyes; then
CFLAGS="$CFLAGS $pthread_cflags -DSDL_USE_PTHREADS"
LIBS="$LIBS $pthread_lib"
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;
#if defined(linux) && !(defined(__arm__) && defined(QWS))
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
*-*-darwin*)
has_recursive_mutexes=no
;;
*-*-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 pthread semaphore support is missing
if test x$enable_pthread_sem = xyes; then
AC_MSG_CHECKING(for pthread semaphores)
have_pthread_sem=no
AC_TRY_COMPILE([
#include <pthread.h>
#include <semaphore.h>
],[
],[
have_pthread_sem=yes
])
AC_MSG_RESULT($have_pthread_sem)
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
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 GNU Pth or clone() on Linux directly
if test x$enable_threads = xyes -a x$use_pthreads != xyes; then
CheckPTH
if test x$use_pth != xyes; then
case "$target" in
*-*-linux*)
use_clone=yes
;;
esac
fi
fi
}
# Note that we need to have either semaphores or to have mutexes and
# condition variables to implement all thread synchronization primitives
CopyUnixThreadSource()
{
if test x$use_pthreads = xyes -o x$use_clone = xyes; then
# Basic thread creation functions
COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
# Semaphores
# We can fake these with mutexes and condition variables if necessary
if test x$use_pthreads = xyes -a x$have_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)
# Mutexes
# We can fake these with semaphores if necessary
case "$target" in
*-*-bsdi*)
COPY_ARCH_SRC(src/thread, bsdi, SDL_syssem.c)
COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_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)
else
COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
fi
;;
esac
# Condition variables
# We can fake these with semaphores and mutexes if necessary
if test x$glibc20_pthreads = xyes -o x$has_recursive_mutexes != xyes; then
COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
else
COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
fi
COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
elif test x$use_pth = xyes; then
COPY_ARCH_SRC(src/thread, pth, SDL_systhread.c)
COPY_ARCH_SRC(src/thread, pth, SDL_systhread_c.h)
COPY_ARCH_SRC(src/thread, pth, SDL_sysmutex.c)
COPY_ARCH_SRC(src/thread, pth, SDL_sysmutex_c.h)
COPY_ARCH_SRC(src/thread, pth, SDL_syscond.c)
COPY_ARCH_SRC(src/thread, pth, SDL_syscond_c.h)
COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
else
AC_MSG_ERROR([
*** No thread support detected
])
fi
}
dnl See if we can use sigaction() instead of signal()
CheckSIGACTION()
{
dnl Check for sigaction support
AC_ARG_ENABLE(sigaction,
[ --enable-sigaction use sigaction instead of signal [default=yes]],
, enable_sigaction=yes)
if test x$enable_sigaction = xyes; then
AC_MSG_CHECKING(sigaction)
have_sigaction=no
AC_TRY_COMPILE([
#include <signal.h>
],[
struct sigaction junk;
sigaction(0, &junk, &junk);
],[
have_sigaction=yes
])
AC_MSG_RESULT($have_sigaction)
if test x$have_sigaction = xyes; then
CFLAGS="$CFLAGS -DHAVE_SIGACTION"
fi
fi
}
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
tmp_cflags=$CFLAGS
CFLAGS="$CFLAGS -I$srcdir"
AC_TRY_COMPILE([
#include "src/video/windx5/directx.h"
],[
],[
use_directx=yes
])
CFLAGS=$tmp_cflags
AC_MSG_RESULT($use_directx)
fi
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 QTopia video driver if enabled
CheckQtopia()
{
AC_ARG_ENABLE(video-qtopia,
[ --enable-video-qtopia use Qtopia video driver [default=no]],
, enable_video_qtopia=no)
if test x$enable_video = xyes -a x$enable_video_qtopia = xyes; then
AC_MSG_CHECKING(for Qtopia support)
video_qtopia=no
AC_LANG_CPLUSPLUS
OLD_CXX="$CXXFLAGS"
CXXFLAGS="-DQT_QWS_EBX -fno-rtti -fno-exceptions -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG"
AC_TRY_COMPILE([
#include <qpe/qpeapplication.h>
],[
],[
video_qtopia=yes
])
CXXFLAGS="$OLD_CXX"
AC_MSG_RESULT($video_qtopia)
if test x$video_qtopia = xyes; then
CFLAGS="$CFLAGS -DENABLE_QTOPIA -DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions"
SDL_LIBS="$SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte"
SDL_CFLAGS="$SDL_CFLAGS -DQWS"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS qtopia"
VIDEO_DRIVERS="$VIDEO_DRIVERS qtopia/libvideo_qtopia.la"
else
AC_MSG_ERROR([
*** Failed to find Qtopia includes. Make sure that the QTDIR and QPEDIR
*** environment variables are set correctly.])
fi
AC_LANG_C
fi
}
dnl Set up the PicoGUI video driver if enabled
CheckPicoGUI()
{
AC_ARG_ENABLE(video-picogui,
[ --enable-video-picogui use PicoGUI video driver [default=no]],
, enable_video_picogui=no)
if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then
AC_MSG_CHECKING(for PicoGUI support)
video_picogui=no
AC_TRY_COMPILE([
#include <picogui.h>
],[
],[
video_picogui=yes
])
AC_MSG_RESULT($video_picogui)
if test x$video_picogui = xyes; then
SDL_LIBS="$SDL_LIBS -lpgui"
CFLAGS="$CFLAGS -DENABLE_PICOGUI"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS picogui"
VIDEO_DRIVERS="$VIDEO_DRIVERS picogui/libvideo_picogui.la"
fi
AC_LANG_C
fi
}
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 Mac toolbox video driver for Mac OS X
CheckQUARTZ()
{
# "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 \
-I/System/Library/Frameworks/Cocoa.framework/Headers -fpascal-strings \
-DENABLE_QUARTZ -DMACOSX -DTARGET_API_${mac_autoconf_target_workaround}_CARBON=1 -I\$(top_srcdir)/src/video/quartz"
VIDEO_SUBDIRS="$VIDEO_SUBDIRS quartz"
VIDEO_DRIVERS="$VIDEO_DRIVERS quartz/libvideo_quartz.la"
}
dnl Check for the dlfcn.h interface for dynamically loading objects
CheckDLOPEN()
{
AC_ARG_ENABLE(sdl-dlopen,
[ --enable-sdl-dlopen use dlopen for shared object loading [default=yes]],
, enable_sdl_dlopen=yes)
if test x$enable_sdl_dlopen = xyes; then
AC_MSG_CHECKING(for dlopen)
use_dlopen=no
AC_TRY_COMPILE([
#include <dlfcn.h>
],[
],[
use_dlopen=yes
])
AC_MSG_RESULT($use_dlopen)
if test x$use_dlopen = xyes; then
CFLAGS="$CFLAGS -DUSE_DLOPEN"
AC_CHECK_LIB(c, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS",
AC_CHECK_LIB(dl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -ldl",
AC_CHECK_LIB(ltdl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -lltdl")))
fi
fi
}
dnl Set up the Atari LDG (shared object loader)
CheckAtariLdg()
{
AC_ARG_ENABLE(atari-ldg,
[ --enable-atari-ldg use Atari LDG for shared object loading [default=yes]],
, enable_atari_ldg=yes)
if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
CFLAGS="$CFLAGS -DENABLE_LDG"
SYSTEM_LIBS="$SYSTEM_LIBS -lldg -lgem"
fi
fi
}
dnl Check for the usbhid(3) library on *BSD
CheckUSBHID()
{
if test x$enable_joystick = xyes; then
have_libusbhid=no
have_libusb=no
AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
AC_CHECK_LIB(usb, hid_init, have_libusb=yes)
if test x$have_libusbhid = xyes; then
SYSTEM_LIBS="$SYSTEM_LIBS -lusbhid"
fi
if test x$have_libusb = xyes; then
SYSTEM_LIBS="$SYSTEM_LIBS -lusb"
fi
AC_CHECK_HEADER(usb.h, have_usb_h=yes)
AC_CHECK_HEADER(usbhid.h, have_usbhid_h=yes)
AC_CHECK_HEADER(libusb.h, have_libusb_h=yes)
AC_CHECK_HEADER(libusbhid.h, have_libusbhid_h=yes)
if test x$have_usb_h = xyes; then
CFLAGS="$CFLAGS -DHAVE_USB_H"
fi
if test x$have_usbhid_h = xyes; then
CFLAGS="$CFLAGS -DHAVE_USBHID_H"
fi
if test x$have_libusb_h = xyes; then
CFLAGS="$CFLAGS -DHAVE_LIBUSB_H"
fi
if test x$have_libusbhid_h = xyes; then
CFLAGS="$CFLAGS -DHAVE_LIBUSBHID_H"
fi
AC_MSG_CHECKING(for usbhid)
have_usbhid=no
AC_TRY_COMPILE([
#include <sys/types.h>
#if defined(HAVE_USB_H)
#include <usb.h>
#endif
#include <dev/usb/usb.h>
#include <dev/usb/usbhid.h>
#if defined(HAVE_USBHID_H)
#include <usbhid.h>
#elif defined(HAVE_LIBUSB_H)
#include <libusb.h>
#elif defined(HAVE_LIBUSBHID_H)
#include <libusbhid.h>
#endif
],[
struct report_desc *repdesc;
struct usb_ctl_report *repbuf;
hid_kind_t hidkind;
],[
have_usbhid=yes
])
AC_MSG_RESULT($have_usbhid)
if test x$have_usbhid = xyes; then
AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
have_usbhid_ucr_data=no
AC_TRY_COMPILE([
#include <sys/types.h>
#if defined(HAVE_USB_H)
#include <usb.h>
#endif
#include <dev/usb/usb.h>
#include <dev/usb/usbhid.h>
#if defined(HAVE_USBHID_H)
#include <usbhid.h>
#elif defined(HAVE_LIBUSB_H)
#include <libusb.h>
#elif defined(HAVE_LIBUSBHID_H)
#include <libusbhid.h>
#endif
],[
struct usb_ctl_report buf;
if (buf.ucr_data) { }
],[
have_usbhid_ucr_data=yes
])
if test x$have_usbhid_ucr_data = xyes; then
CFLAGS="$CFLAGS -DUSBHID_UCR_DATA"
fi
AC_MSG_RESULT($have_usbhid_ucr_data)
AC_MSG_CHECKING(for new usbhid API)
have_usbhid_new=no
AC_TRY_COMPILE([
#include <sys/types.h>
#if defined(HAVE_USB_H)
#include <usb.h>
#endif
#include <dev/usb/usb.h>
#include <dev/usb/usbhid.h>
#if defined(HAVE_USBHID_H)
#include <usbhid.h>
#elif defined(HAVE_LIBUSB_H)
#include <libusb.h>
#elif defined(HAVE_LIBUSBHID_H)
#include <libusbhid.h>
#endif
],[
report_desc_t d;
hid_start_parse(d, 1, 1);
],[
have_usbhid_new=yes
])
if test x$have_usbhid_new = xyes; then
CFLAGS="$CFLAGS -DUSBHID_NEW"
fi
AC_MSG_RESULT($have_usbhid_new)
JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS bsd"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS bsd/libjoystick_bsd.la"
fi
fi
}
dnl Check for altivec instruction support using gas syntax
CheckAltivec()
{
AC_MSG_CHECKING(for GCC Altivec instruction support)
have_gcc_altivec=no
save_CFLAGS="${CFLAGS}"
CFLAGS="${CFLAGS} -DGCC_ALTIVEC -DUSE_ALTIVEC_BLITTERS -faltivec"
AC_TRY_COMPILE([
vector unsigned int vzero() {
return vec_splat_u32(0);
}
],[
],[
have_gcc_altivec=yes
])
if test x$have_gcc_altivec = xno; then
CFLAGS="${save_CFLAGS}"
fi
AC_MSG_RESULT($have_gcc_altivec)
}
dnl Check for a valid linux/version.h
CheckLinuxVersion()
{
AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
if test x$have_linux_version_h = xyes; then
CFLAGS="$CFLAGS -DHAVE_LINUX_VERSION_H"
fi
}
dnl Check if we want to use RPATH
CheckRPATH()
{
AC_ARG_ENABLE(rpath,
[ --enable-rpath use an rpath when linking SDL [default=yes]],
, enable_rpath=yes)
}
case "$target" in
*-*-linux*|*-*-gnu*|*-*-k*bsd*-gnu)
case "$target" in
*-*-linux*) ARCH=linux ;;
*-*-kfreebsd*-gnu) ARCH=kfreebsd-gnu ;;
*-*-knetbsd*-gnu) ARCH=knetbsd-gnu ;;
*-*-kopenbsd*-gnu) ARCH=kopenbsd-gnu ;;
*-*-gnu*) ARCH=gnu ;; # must be last
esac
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckNASM
CheckOSS
CheckALSA
CheckARTSC
CheckESD
CheckNAS
CheckX11
CheckNANOX
CheckDGA
CheckFBCON
CheckDirectFB
CheckPS2GS
CheckGGI
CheckSVGA
CheckAAlib
CheckQtopia
CheckPicoGUI
CheckOpenGL
CheckInputEvents
CheckPTHREAD
CheckSIGACTION
CheckAltivec
CheckLinuxVersion
CheckRPATH
# Set up files for the main() stub
if test "x$video_qtopia" = "xyes"; then
SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
SDL_LIBS="-lSDLmain $SDL_LIBS"
fi
# 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
# CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
# 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
case $ARCH in
linux)
JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS linux"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS linux/libjoystick_linux.la"
;;
gnu)
JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
;;
k*bsd-gnu)
JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS bsd"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS bsd/libjoystick_bsd.la"
;;
esac
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
case $ARCH in
linux)
CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
;;
gnu)
CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
;;
kfreebsd-gnu)
CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
;;
knetbsd-gnu|kopenbsd-gnu)
CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
;;
esac
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckNASM
CheckOSS
CheckARTSC
CheckESD
CheckNAS
CheckX11
CheckDGA
CheckSVGA
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
CheckRPATH
# 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
# CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
# 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
CDROM_SUBDIRS="$CDROM_SUBDIRS bsdi"
CDROM_DRIVERS="$CDROM_DRIVERS bsdi/libcdrom_bsdi.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckVGL
CheckNASM
CheckOSS
CheckARTSC
CheckESD
CheckNAS
CheckX11
CheckDGA
CheckSVGA
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
CheckUSBHID
CheckRPATH
# 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
# CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
# AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
# AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
#fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckNASM
CheckOSS
CheckARTSC
CheckESD
CheckNAS
CheckX11
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
CheckUSBHID
CheckRPATH
# Set up files for the audio library
if test x$enable_audio = xyes; then
CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
if test x$use_pthreads = xyes; then
CFLAGS="$CFLAGS -D_POSIX_THREAD_SYSCALL_SOFT=1"
fi
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckNASM
CheckOSS
CheckARTSC
CheckESD
CheckNAS
CheckX11
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
CheckUSBHID
CheckRPATH
# Set up files for the audio library
if test x$enable_audio = xyes; then
CFLAGS="$CFLAGS -DOPENBSD_AUDIO_SUPPORT"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS openbsd"
AUDIO_DRIVERS="$AUDIO_DRIVERS openbsd/libaudio_openbsd.la"
fi
# OpenBSD needs linking with ossaudio emulation library
if test x$have_oss = xyes; then
SYSTEM_LIBS="$SYSTEM_LIBS -lossaudio"
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
# OpenBSD does not define "unix"
CFLAGS="$CFLAGS -Dunix"
;;
*-*-sysv5*)
ARCH=sysv5
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckNASM
CheckOSS
CheckARTSC
CheckESD
CheckNAS
CheckX11
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
CheckRPATH
# Set up files for the audio library
if test x$enable_audio = xyes; then
CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
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
CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
CFLAGS="$CFLAGS -D__ELF__" # Fix for nasm on Solaris x86
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckNASM
CheckOSS
CheckARTSC
CheckESD
CheckNAS
CheckX11
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
CheckRPATH
# Set up files for the audio library
if test x$enable_audio = xyes; then
CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
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
CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckDMEDIA
CheckESD
CheckNAS
CheckX11
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
# We use the dmedia audio API, not the Sun audio API
#if test x$enable_audio = xyes; then
# CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
# 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
CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
if test x$use_pthreads = xyes -o x$use_pth = xyes; then
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckOSS
CheckNAS
CheckX11
CheckGGI
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
# Set up files for the audio library
if test x$enable_audio = xyes; then
CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
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
CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckOSS
CheckNAS
CheckX11
CheckGGI
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
# 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
CDROM_SUBDIRS="$CDROM_SUBDIRS aix"
CDROM_DRIVERS="$CDROM_DRIVERS aix/libcdrom_aix.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
CheckDLOPEN
CheckNAS
CheckX11
CheckGGI
CheckAAlib
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
# Set up files for the audio library
if test x$enable_audio = xyes; then
CFLAGS="$CFLAGS -I/usr/include/mme -DMMEAUDIO_SUPPORT"
SYSTEM_LIBS="$SYSTEM_LIBS -lmme"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS mme"
AUDIO_DRIVERS="$AUDIO_DRIVERS mme/libaudio_mme.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
CDROM_SUBDIRS="$CDROM_SUBDIRS osf"
CDROM_DRIVERS="$CDROM_DRIVERS osf/libcdrom_osf.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
CheckDummyVideo
CheckDiskAudio
# CheckNASM
CheckDLOPEN
CheckNAS
CheckPHOTON
CheckX11
CheckOpenGL
CheckPTHREAD
CheckSIGACTION
# Set up files for the audio library
if test x$enable_audio = xyes; then
CFLAGS="$CFLAGS -DQNXNTOAUDIO_SUPPORT"
SYSTEM_LIBS="$SYSTEM_LIBS -lasound"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS nto"
AUDIO_DRIVERS="$AUDIO_DRIVERS nto/libaudio_nto.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
CDROM_SUBDIRS="$CDROM_SUBDIRS qnx"
CDROM_DRIVERS="$CDROM_DRIVERS qnx/libcdrom_qnx.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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
if test "$BUILD_PREFIX" != ""; then
ac_default_prefix=$BUILD_PREFIX
fi
fi
CheckDummyVideo
CheckDiskAudio
CheckWIN32
CheckDIRECTX
CheckNASM
# 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
CDROM_SUBDIRS="$CDROM_SUBDIRS win32"
CDROM_DRIVERS="$CDROM_DRIVERS win32/libcdrom_win32.la"
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"
case "$target" in
*-*-cygwin*)
CFLAGS="$CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin"
SDL_CFLAGS="$SDL_CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin"
LIBS="$LIBS -mno-cygwin"
SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows -mno-cygwin"
;;
*-*-mingw32*)
SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
;;
esac
;;
*-*-beos*)
ARCH=beos
ac_default_prefix=/boot/develop/tools/gnupro
CheckDummyVideo
CheckDiskAudio
CheckNASM
CheckBWINDOW
CheckBeGL
# 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
CDROM_SUBDIRS="$CDROM_SUBDIRS beos"
CDROM_DRIVERS="$CDROM_DRIVERS beos/libcdrom_beos.la"
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
CheckDummyVideo
CheckDiskAudio
CheckTOOLBOX
CheckMacGL
# 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
CDROM_SUBDIRS="$CDROM_SUBDIRS macos"
CDROM_DRIVERS="$CDROM_DRIVERS macos/libcdrom_macos.la"
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 and Cocoa.
# But config.guess comes back with "darwin", so go with the flow.
ARCH=macosx
CheckDummyVideo
CheckDiskAudio
CheckQUARTZ
CheckMacGL
CheckPTHREAD
CheckSIGACTION
CheckAltivec
# If either the audio or CD driver is used, add the AudioUnit framework
if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
SYSTEM_LIBS="$SYSTEM_LIBS -framework AudioToolbox -framework AudioUnit"
fi
# Set up files for the audio library
if test x$enable_audio = xyes; then
AUDIO_SUBDIRS="$AUDIO_SUBDIRS macosx"
AUDIO_DRIVERS="$AUDIO_DRIVERS macosx/libaudio_macosx.la"
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 darwin"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS darwin/libjoystick_darwin.la"
SYSTEM_LIBS="$SYSTEM_LIBS -framework IOKit"
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
CDROM_SUBDIRS="$CDROM_SUBDIRS macosx"
CDROM_DRIVERS="$CDROM_DRIVERS macosx/libcdrom_macosx.la"
SYSTEM_LIBS="$SYSTEM_LIBS -lstdc++"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
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_LIBS="-lSDLmain $SDL_LIBS"
# The Cocoa backend still needs Carbon, and the YUV code QuickTime
SYSTEM_LIBS="$SYSTEM_LIBS -framework Cocoa -framework Carbon -framework QuickTime"
;;
*-*-mint*)
ARCH=mint
CheckDummyVideo
CheckDiskAudio
CheckAtariBiosEvent
CheckAtariXbiosVideo
CheckAtariGemVideo
CheckAtariAudio
CheckAtariLdg
CheckAtariOSMesa
CheckPTH
# Set up files for the audio library
if test x$enable_threads = xyes -a x$enable_pth = xyes; then
if test x$enable_audio = xyes; then
CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
fi
fi
# Set up files for the joystick library
if test x$enable_joystick = xyes; then
JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS mint"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS mint/libjoystick_mint.la"
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
CDROM_SUBDIRS="$CDROM_SUBDIRS mint"
CDROM_DRIVERS="$CDROM_DRIVERS mint/libcdrom_mint.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
CopyUnixThreadSource
fi
# Set up files for the timer library
if test x$enable_timers = xyes; then
if test x$enable_threads = xyes -a x$enable_pth = xyes; then
COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
else
COPY_ARCH_SRC(src/timer, mint, SDL_systimer.c)
fi
fi
# MiNT does not define "unix"
CFLAGS="$CFLAGS -Dunix"
;;
*-riscos)
ARCH=riscos
# Set up files for the video library
if test x$enable_video = xyes; then
VIDEO_SUBDIRS="$VIDEO_SUBDIRS riscos"
VIDEO_DRIVERS="$VIDEO_DRIVERS riscos/libvideo_riscos.la"
fi
# Set up files for the audio library
if test x$enable_audio = 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
# Set up files for the joystick library
if test x$enable_joystick = xyes; then
JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS riscos"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS riscos/libjoystick_riscos.la"
fi
# Set up files for the cdrom library
if test x$enable_cdrom = xyes; then
CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
fi
# Set up files for the thread library
if test x$enable_threads = xyes; then
COPY_ARCH_SRC(src/thread, riscos, SDL_systhread.c)
COPY_ARCH_SRC(src/thread, riscos, SDL_systhread_c.h)
COPY_ARCH_SRC(src/thread, riscos, SDL_sysmutex.c)
COPY_ARCH_SRC(src/thread, riscos, SDL_sysmutex_c.h)
COPY_ARCH_SRC(src/thread, riscos, SDL_syssem.c)
COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
COPY_ARCH_SRC(src/thread, riscos, SDL_syscond.c)
COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
else
CFLAGS="$CFLAGS -DDISABLE_THREADS"
fi
# Set up files for the timer library
if test x$enable_timers = xyes; then
COPY_ARCH_SRC(src/timer, riscos, SDL_systimer.c)
fi
CFLAGS="$CFLAGS -DENABLE_RISCOS"
SYSTEM_LIBS="$SYSTEM_LIBS -ljpeg -ltiff -lpng -lz"
;;
*)
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_QTOPIA, test "x$video_qtopia" = "xyes")
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_NETBSD, test $ARCH = netbsd)
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)
AM_CONDITIONAL(TARGET_MACOSX, test $ARCH = macosx)
AM_CONDITIONAL(TARGET_QNX, test $ARCH = qnx)
AM_CONDITIONAL(TARGET_MINT, test $ARCH = mint)
# More automake conditionals
AM_CONDITIONAL(USE_DIRECTX, test x$use_directx = xyes)
AM_CONDITIONAL(USE_CLONE, test x$use_clone = xyes)
AM_CONDITIONAL(HAVE_NASM, test x$use_nasm = xyes)
# 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 "x$enable_rpath" = "xyes"; then
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
else
SDL_RLD_FLAGS=""
fi
case "$ARCH" in
openbsd | netbsd | bsdi)
SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
;;
qnx)
SHARED_SYSTEM_LIBS="$SYSTEM_LIBS"
;;
macosx)
SHARED_SYSTEM_LIBS="-framework Cocoa"
if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
SHARED_SYSTEM_LIBS="$SHARED_SYSTEM_LIBS -framework OpenGL"
fi
;;
*)
SHARED_SYSTEM_LIBS=""
;;
esac
case "$ARCH" in
macosx)
# Evil hack to allow static linking on Mac OS X
SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDLmain.a \${exec_prefix}/lib/libSDL.a"
;;
*)
SDL_STATIC_LIBS="$SDL_LIBS"
;;
esac
STATIC_SYSTEM_LIBS="$SYSTEM_LIBS"
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(CDROM_SUBDIRS)
AC_SUBST(CDROM_DRIVERS)
AC_SUBST(SDL_EXTRADIRS)
AC_SUBST(SDL_EXTRALIBS)
dnl Expand the cflags and libraries needed by apps using SDL
AC_SUBST(SDL_CFLAGS)
AC_SUBST(SDL_LIBS)
AC_SUBST(SDL_STATIC_LIBS)
AC_SUBST(SDL_RLD_FLAGS)
dnl Expand the libraries needed for static and dynamic linking
AC_SUBST(STATIC_SYSTEM_LIBS)
AC_SUBST(SHARED_SYSTEM_LIBS)
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/main/$ARCH"
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/audio"
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video"
CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/XFree86/extensions"
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"
CFLAGS="$CFLAGS -I\$(top_builddir)/src/thread"
CXXFLAGS="$CFLAGS"
# Check for darwin at the very end and set up the Objective C compiler
# We do this here so that we get the full CFLAGS into OBJCFLAGS
case "$target" in
*-*-darwin*)
dnl AC_PROG_OBJC doesn't seem to exist, this is the SDL workaround
AC_MSG_CHECKING(for an Objective-C compiler)
OBJC="$CC"
AC_SUBST(OBJC)
OBJCFLAGS="$CFLAGS"
AC_SUBST(OBJCFLAGS)
dnl _AM_DEPENDENCIES(OBJC) doesn't work, so hard code OBJCDEPMODE here
dnl _AM_DEPENDENCIES(OBJC)
dnl Of course, hard coding doesn't work for some versions of automake
OBJCDEPMODE="depmode=gcc"
AC_SUBST(OBJCDEPMODE)
dnl Trying this to satisfy everybody...
AC_MSG_RESULT(not implemented yet)
;;
esac
# 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/main/macosx/Makefile
src/main/macosx/Info.plist
src/audio/Makefile
src/audio/alsa/Makefile
src/audio/arts/Makefile
src/audio/baudio/Makefile
src/audio/dc/Makefile
src/audio/disk/Makefile
src/audio/dma/Makefile
src/audio/dmedia/Makefile
src/audio/dsp/Makefile
src/audio/esd/Makefile
src/audio/macosx/Makefile
src/audio/macrom/Makefile
src/audio/mint/Makefile
src/audio/mme/Makefile
src/audio/nas/Makefile
src/audio/nto/Makefile
src/audio/openbsd/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/aalib/Makefile
src/video/ataricommon/Makefile
src/video/bwindow/Makefile
src/video/cybergfx/Makefile
src/video/dc/Makefile
src/video/dga/Makefile
src/video/directfb/Makefile
src/video/dummy/Makefile
src/video/epoc/Makefile
src/video/fbcon/Makefile
src/video/gem/Makefile
src/video/ggi/Makefile
src/video/maccommon/Makefile
src/video/macdsp/Makefile
src/video/macrom/Makefile
src/video/nanox/Makefile
src/video/photon/Makefile
src/video/picogui/Makefile
src/video/ps2gs/Makefile
src/video/qtopia/Makefile
src/video/quartz/Makefile
src/video/riscos/Makefile
src/video/svga/Makefile
src/video/vgl/Makefile
src/video/wincommon/Makefile
src/video/windib/Makefile
src/video/windx5/Makefile
src/video/x11/Makefile
src/video/xbios/Makefile
src/video/XFree86/Makefile
src/video/XFree86/extensions/Makefile
src/video/XFree86/Xinerama/Makefile
src/video/XFree86/Xv/Makefile
src/video/XFree86/Xxf86dga/Makefile
src/video/XFree86/Xxf86vm/Makefile
src/events/Makefile
src/joystick/Makefile
src/joystick/amigaos/Makefile
src/joystick/beos/Makefile
src/joystick/bsd/Makefile
src/joystick/darwin/Makefile
src/joystick/dc/Makefile
src/joystick/dummy/Makefile
src/joystick/linux/Makefile
src/joystick/macos/Makefile
src/joystick/mint/Makefile
src/joystick/riscos/Makefile
src/joystick/win32/Makefile
src/cdrom/Makefile
src/cdrom/aix/Makefile
src/cdrom/beos/Makefile
src/cdrom/dc/Makefile
src/cdrom/dummy/Makefile
src/cdrom/bsdi/Makefile
src/cdrom/freebsd/Makefile
src/cdrom/linux/Makefile
src/cdrom/macos/Makefile
src/cdrom/macosx/Makefile
src/cdrom/mint/Makefile
src/cdrom/openbsd/Makefile
src/cdrom/osf/Makefile
src/cdrom/qnx/Makefile
src/cdrom/win32/Makefile
src/thread/Makefile
src/timer/Makefile
src/endian/Makefile
src/file/Makefile
src/cpuinfo/Makefile
src/hermes/Makefile
sdl-config
SDL.spec
SDL.qpg
], [chmod +x sdl-config])