SDL-mirror/configure.in
Sam Lantinga bea3cb1da4 Date: Sat, 8 Sep 2001 04:42:23 +0200
From: Max Horn <max@quendi.de>
Subject: SDL/OSX: Joystick; Better key handling

I just finished implementing improved keyhandling for OS X (in fact
the code should be easily ported to the "normal" MacOS part of SDL, I
just had no chance yet). Works like this:
First init the mapping table statically like before. Them, it queries
the OS for the "official" key table, then iterates over all 127
scancode and gets the associates ascii code. It ignores everythng
below 32 (has to, as it would lead to many problems if we did not...
e.g. both ESC and NUM LOCk produce an ascii code 27 on my keyboard),
and all stuff above 127 is mapped to SDLK_WORLD_* simply in the order
it is encountered.
In addition, caps lock is now working, too.
The code work flawless for me, but since I only have one keyboard, I
may have not encountered some serious problem... but I am pretty
confident that it is better than the old code in most cases.


The joystick driver works fine for me, too. I think it can be added
to CVS already. It would simply be helpful if more people would test
it. Hm, I wonder if Maelstrom or GLTron has Joystick support? That
would be a wonderful test application :)


I also took the liberty of modifying some text files like BUGS,
README.CVS, README.MacOSX (which now contains the OS X docs I long
promised)

--HG--
extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%40173
2001-09-11 19:00:18 +00:00

2262 lines
78 KiB
Text

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=3
SDL_INTERFACE_AGE=3
SDL_BINARY_AGE=3
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_HOST
AC_CANONICAL_TARGET
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
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
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
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 Check whether we want to use OpenBSD native audio or not
CheckOPENBSDAUDIO()
{
AC_ARG_ENABLE(openbsdaudio,
[ --enable-openbsdaudio OpenBSD native audio support [default=yes]],
, enable_openbsdaudio=yes)
if test x$enable_audio = xyes -a x$enable_openbsdaudio = xyes; then
CFLAGS="$CFLAGS -DOPENBSD_AUDIO_SUPPORT"
AUDIO_SUBDIRS="$AUDIO_SUBDIRS openbsd"
AUDIO_DRIVERS="$AUDIO_DRIVERS openbsd/libaudio_openbsd.la"
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
])
# 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, [
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 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 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 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_WITH(nanox_pixel_type,
[ --with-nanox-pixel-type=[rgb/0888/888/565/555/332/pal]])
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
case "$with_nanox_pixel_type" in
rgb) CFLAGS="$CFLAGS -DNANOX_PIXEL_RGB" ;;
0888) CFLAGS="$CFLAGS -DNANOX_PIXEL_0888" ;;
888) CFLAGS="$CFLAGS -DNANOX_PIXEL_888" ;;
565) CFLAGS="$CFLAGS -DNANOX_PIXEL_565" ;;
555) CFLAGS="$CFLAGS -DNANOX_PIXEL_555" ;;
332) CFLAGS="$CFLAGS -DNANOX_PIXEL_332" ;;
pal) CFLAGS="$CFLAGS -DNANOX_PIXEL_PAL" ;;
*) AC_MSG_ERROR([Invalid nanox_pixel_type]);;
esac
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"
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(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 <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
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 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"
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 DirectFB
CheckDirectFB()
{
AC_ARG_ENABLE(video-directfb,
[ --enable-video-directfb use DirectFB video driver [default=yes]],
, enable_video_directfb=yes)
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.5 ; then
AC_MSG_ERROR([*** pkg-config too old; version 0.5 or better required.])
fi
DIRECTFB_REQUIRED_VERSION=0.9.5
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 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"
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=no]],
, enable_input_events=no)
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"
;;
*-*-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"
;;
*-*-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 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
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 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"
}
case "$target" in
*-*-linux*)
ARCH=linux
CheckDummyVideo
CheckDiskAudio
CheckNASM
CheckOSS
CheckALSA
CheckARTSC
CheckESD
CheckNAS
CheckX11
CheckNANOX
CheckDGA
CheckFBCON
CheckDirectFB
CheckPS2GS
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
# 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
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
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
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$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)
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
CheckDummyVideo
CheckDiskAudio
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
# 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 cdrom 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
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
CheckDummyVideo
CheckDiskAudio
CheckVGL
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
# 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 freebsd"
CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
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$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)
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
CheckDummyVideo
CheckDiskAudio
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
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 openbsd"
CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
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$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)
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 -D_POSIX_THREAD_SYSCALL_SOFT=1"
;;
*-*-openbsd*)
ARCH=openbsd
CheckDummyVideo
CheckDiskAudio
CheckOPENBSDAUDIO
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
# We use the OSS and native 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
# 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 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 openbsd"
CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
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$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)
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
# OpenBSD does not define "unix"
CFLAGS="$CFLAGS -Dunix"
;;
*-*-sysv5*)
ARCH=sysv5
CheckDummyVideo
CheckDiskAudio
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
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
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
CFLAGS="$CFLAGS -D__ELF__" # Fix for nasm on Solaris x86
CheckDummyVideo
CheckDiskAudio
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
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
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
CheckDummyVideo
CheckDiskAudio
CheckDMEDIA
CheckESD
CheckNAS
CheckX11
CheckAAlib
CheckOpenGL
CheckPTHREAD
# Set up files for the main() stub
COPY_ARCH_SRC(src/main, linux, SDL_main.c)
# 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; 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$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)
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
CheckDummyVideo
CheckDiskAudio
CheckOSS
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
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
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
CheckDummyVideo
CheckDiskAudio
CheckOSS
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
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
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
CheckDummyVideo
CheckDiskAudio
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
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 cdrom 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
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
CheckDummyVideo
CheckDiskAudio
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"
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
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
if [ "$BUILD_PREFIX" != "" ]; then
ac_default_prefix=$BUILD_PREFIX
fi
fi
CheckDummyVideo
CheckDiskAudio
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
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"
SDL_CFLAGS="$SDL_CFLAGS -I/usr/include/mingw -DWIN32 -Uunix"
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 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
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 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
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
# Set up files for the main() stub
COPY_ARCH_SRC(src/main, macosx, SDLmain.m)
COPY_ARCH_SRC(src/main, macosx, SDLmain.h)
# 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 darwin"
JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS darwin/libjoystick_darwin.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, 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$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)
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 -F/System/Library/Frameworks/Cocoa.framework"
SDL_LIBS="-lSDLmain $SDL_LIBS -framework Carbon -framework Cocoa"
;;
*)
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_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)
# 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
if test $ARCH = openbsd; then
SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib $SYSTEM_LIBS"
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(CDROM_SUBDIRS)
AC_SUBST(CDROM_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"
# 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*)
OBJC="cc"
OBJCFLAGS="$CFLAGS"
AC_SUBST(OBJC)
AC_SUBST(OBJCFLAGS)
;;
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/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/openbsd/Makefile
src/audio/paudio/Makefile
src/audio/sun/Makefile
src/audio/ums/Makefile
src/audio/windib/Makefile
src/audio/windx5/Makefile
src/audio/disk/Makefile
src/video/Makefile
src/video/cybergfx/Makefile
src/video/x11/Makefile
src/video/dga/Makefile
src/video/nanox/Makefile
src/video/fbcon/Makefile
src/video/directfb/Makefile
src/video/ps2gs/Makefile
src/video/ggi/Makefile
src/video/maccommon/Makefile
src/video/macdsp/Makefile
src/video/macrom/Makefile
src/video/quartz/Makefile
src/video/svga/Makefile
src/video/vgl/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/video/dummy/Makefile
src/events/Makefile
src/joystick/Makefile
src/joystick/amigaos/Makefile
src/joystick/beos/Makefile
src/joystick/darwin/Makefile
src/joystick/dummy/Makefile
src/joystick/linux/Makefile
src/joystick/macos/Makefile
src/joystick/win32/Makefile
src/cdrom/Makefile
src/cdrom/aix/Makefile
src/cdrom/beos/Makefile
src/cdrom/dummy/Makefile
src/cdrom/freebsd/Makefile
src/cdrom/linux/Makefile
src/cdrom/macos/Makefile
src/cdrom/openbsd/Makefile
src/cdrom/qnx/Makefile
src/cdrom/win32/Makefile
src/thread/Makefile
src/timer/Makefile
src/endian/Makefile
src/file/Makefile
src/hermes/Makefile
sdl-config
SDL.spec
], [chmod +x sdl-config])