configure.in
author Ryan C. Gordon <icculus@icculus.org>
Mon, 12 Dec 2005 09:13:12 +0000
changeset 1199 2d6dc7de1145
parent 1193 3bafdbba8dcf
child 1200 8f418dce02b2
permissions -rw-r--r--
From: Mike Frysinger <vapier@gentoo.org>
To: sdl@libsdl.org
Date: Sun, 11 Dec 2005 22:57:37 -0500
Subject: [SDL] exec stack in libsdl update

i posted back in September a patch to remove executable stacks:
http://www.devolution.com/pipermail/sdl/2005-September/070626.html

later in November, a similar patch was merged it seems:
http://www.libsdl.org/cgi/cvsweb.cgi/SDL12/src/hermes/mmx_main.asm

however, this lacks the additional output format checks that i posted in my
patch ... this isnt a problem if the hermes asm code is only ever used to
produce ELF objects, but if this is not true, then the additional checks in
my original patch will need to be merged
-mike
slouken@0
     1
dnl Process this file with autoconf to produce a configure script.
slouken@0
     2
AC_INIT(README)
slouken@0
     3
slouken@0
     4
dnl Set various version strings - taken gratefully from the GTk sources
slouken@0
     5
#
slouken@0
     6
# Making releases:
slouken@0
     7
# Edit include/SDL/SDL_version.h and change the version, then:
slouken@0
     8
#   SDL_MICRO_VERSION += 1;
slouken@0
     9
#   SDL_INTERFACE_AGE += 1;
slouken@0
    10
#   SDL_BINARY_AGE += 1;
slouken@0
    11
# if any functions have been added, set SDL_INTERFACE_AGE to 0.
slouken@0
    12
# if backwards compatibility has been broken,
slouken@0
    13
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
slouken@0
    14
#
slouken@0
    15
SDL_MAJOR_VERSION=1
slouken@0
    16
SDL_MINOR_VERSION=2
slouken@1024
    17
SDL_MICRO_VERSION=9
slouken@1024
    18
SDL_INTERFACE_AGE=2
slouken@1024
    19
SDL_BINARY_AGE=9
slouken@0
    20
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
slouken@0
    21
slouken@0
    22
AC_SUBST(SDL_MAJOR_VERSION)
slouken@0
    23
AC_SUBST(SDL_MINOR_VERSION)
slouken@0
    24
AC_SUBST(SDL_MICRO_VERSION)
slouken@0
    25
AC_SUBST(SDL_INTERFACE_AGE)
slouken@0
    26
AC_SUBST(SDL_BINARY_AGE)
slouken@0
    27
AC_SUBST(SDL_VERSION)
slouken@0
    28
slouken@0
    29
# libtool versioning
slouken@0
    30
LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION
slouken@0
    31
LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE`
slouken@0
    32
LT_REVISION=$SDL_INTERFACE_AGE
slouken@0
    33
LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE`
slouken@0
    34
slouken@0
    35
AC_SUBST(LT_RELEASE)
slouken@0
    36
AC_SUBST(LT_CURRENT)
slouken@0
    37
AC_SUBST(LT_REVISION)
slouken@0
    38
AC_SUBST(LT_AGE)
slouken@0
    39
slouken@0
    40
dnl Detect the canonical host and target build environment
slouken@557
    41
AC_CANONICAL_SYSTEM
slouken@0
    42
slouken@51
    43
dnl Setup for automake
slouken@51
    44
AM_INIT_AUTOMAKE(SDL, $SDL_VERSION)
slouken@51
    45
slouken@0
    46
dnl Check for tools
slouken@0
    47
slouken@0
    48
AC_LIBTOOL_WIN32_DLL
slouken@0
    49
AM_PROG_LIBTOOL
slouken@0
    50
AC_PROG_MAKE_SET
slouken@0
    51
AC_PROG_CC
slouken@0
    52
AC_C_INLINE
slouken@0
    53
AC_C_CONST
slouken@200
    54
AC_PROG_CXX
slouken@0
    55
AC_PROG_INSTALL
slouken@0
    56
AC_FUNC_ALLOCA
slouken@258
    57
ASFLAGS=""
slouken@258
    58
AC_SUBST(ASFLAGS)
slouken@436
    59
CCAS="$CC"
slouken@436
    60
AC_SUBST(CCAS)
slouken@436
    61
CCASFLAGS=""
slouken@436
    62
AC_SUBST(CCASFLAGS)
slouken@682
    63
AM_CONDITIONAL([am__fastdepOBJC], false)
slouken@0
    64
slouken@0
    65
dnl The alpha architecture needs special flags for binary portability
slouken@0
    66
case "$target" in
slouken@0
    67
    alpha*-*-linux*)
slouken@0
    68
        if test x$ac_cv_prog_gcc = xyes; then
slouken@0
    69
            CFLAGS="$CFLAGS -mcpu=ev4 -Wa,-mall"
slouken@0
    70
        fi
slouken@0
    71
        ;;
slouken@0
    72
esac
slouken@0
    73
slouken@0
    74
dnl Add compiler-specific optimization flags
slouken@0
    75
slouken@0
    76
dnl See if the user wants aggressive optimizations of the code
slouken@0
    77
AC_ARG_ENABLE(debug,
slouken@0
    78
[  --enable-debug          Disable aggressive optimizations [default=yes]],
slouken@0
    79
              , enable_debug=yes)
slouken@0
    80
if test x$enable_debug != xyes; then
slouken@0
    81
    if test x$ac_cv_prog_gcc = xyes; then
slouken@0
    82
        CFLAGS="$CFLAGS -fexpensive-optimizations"
slouken@0
    83
        # Ack! This breaks the MMX YV12 conversion on gcc 2.95.2
slouken@0
    84
        # CFLAGS="$CFLAGS -fomit-frame-pointer"
slouken@0
    85
    fi
slouken@0
    86
    case "$target" in
slouken@0
    87
        i486-*-*)
slouken@0
    88
            if test x$ac_cv_prog_gcc = xyes; then
slouken@802
    89
                CFLAGS="$CFLAGS -march=i486"
slouken@0
    90
            fi
slouken@0
    91
            ;;
slouken@0
    92
        i?86-*-*)
slouken@0
    93
            if test x$ac_cv_prog_gcc = xyes; then
slouken@0
    94
                CFLAGS="$CFLAGS -march=pentium -mcpu=pentiumpro"
slouken@0
    95
            fi
slouken@0
    96
            ;;
slouken@0
    97
        *-*-osf*)
slouken@0
    98
            if test x$ac_cv_prog_gcc != xyes; then
slouken@0
    99
                CFLAGS="-g3 -fast -arch host"
slouken@0
   100
            fi
slouken@0
   101
            ;;
slouken@0
   102
    esac
slouken@0
   103
fi
slouken@0
   104
slouken@0
   105
dnl Add verbose warnings by default, and allow ANSI compliance checking
slouken@0
   106
AC_ARG_ENABLE(strict-ansi,
slouken@0
   107
[  --enable-strict-ansi    Enable strict ANSI compliance build [default=no]],
slouken@0
   108
              , enable_strict_ansi=no)
slouken@0
   109
if test x$ac_cv_prog_gcc = xyes; then
slouken@0
   110
    CFLAGS="$CFLAGS -Wall"
slouken@0
   111
    if test x$enable_strict_ansi = xyes; then
slouken@0
   112
        CFLAGS="$CFLAGS -ansi -pedantic -D_XOPEN_SOURCE"
slouken@0
   113
    fi
slouken@0
   114
fi
slouken@0
   115
slouken@0
   116
dnl Initialize the compiler and linker flags for SDL applications
slouken@0
   117
slouken@0
   118
SDL_CFLAGS=""
slouken@0
   119
SDL_LIBS="-lSDL"
slouken@0
   120
slouken@0
   121
dnl Add the math library for the new gamma correction support
slouken@0
   122
slouken@0
   123
case "$target" in
slouken@0
   124
    *-*-cygwin* | *-*-mingw32*)
slouken@0
   125
        MATHLIB=""
slouken@0
   126
        ;;
slouken@0
   127
    *-*-beos*)
slouken@0
   128
        MATHLIB=""
slouken@0
   129
        ;;
slouken@0
   130
    *-*-darwin*)
slouken@0
   131
        MATHLIB=""
slouken@0
   132
        ;;
slouken@0
   133
    *)
slouken@0
   134
        MATHLIB="-lm"
slouken@0
   135
        ;;
slouken@0
   136
esac
slouken@0
   137
SYSTEM_LIBS="$SYSTEM_LIBS $MATHLIB"
slouken@0
   138
slouken@0
   139
dnl Enable/disable various subsystems of the SDL library
slouken@0
   140
slouken@0
   141
AC_ARG_ENABLE(audio,
slouken@0
   142
[  --enable-audio          Enable the audio subsystem [default=yes]],
slouken@0
   143
              , enable_audio=yes)
slouken@0
   144
if test x$enable_audio = xyes; then
slouken@0
   145
    SDL_EXTRADIRS="$SDL_EXTRADIRS audio"
slouken@0
   146
    SDL_EXTRALIBS="$SDL_EXTRALIBS audio/libaudio.la"
slouken@0
   147
else
slouken@0
   148
    CFLAGS="$CFLAGS -DDISABLE_AUDIO"
slouken@0
   149
fi
slouken@0
   150
AC_ARG_ENABLE(video,
slouken@0
   151
[  --enable-video          Enable the video subsystem [default=yes]],
slouken@0
   152
              , enable_video=yes)
slouken@0
   153
if test x$enable_video = xyes; then
slouken@0
   154
    SDL_EXTRADIRS="$SDL_EXTRADIRS video"
slouken@0
   155
    SDL_EXTRALIBS="$SDL_EXTRALIBS video/libvideo.la"
slouken@0
   156
else
slouken@0
   157
    CFLAGS="$CFLAGS -DDISABLE_VIDEO"
slouken@0
   158
fi
slouken@0
   159
AC_ARG_ENABLE(events,
slouken@0
   160
[  --enable-events         Enable the events subsystem [default=yes]],
slouken@0
   161
              , enable_events=yes)
slouken@0
   162
if test x$enable_video = xyes -a x$enable_events = xyes; then
slouken@0
   163
    SDL_EXTRADIRS="$SDL_EXTRADIRS events"
slouken@0
   164
    SDL_EXTRALIBS="$SDL_EXTRALIBS events/libevents.la"
slouken@0
   165
else
slouken@0
   166
    CFLAGS="$CFLAGS -DDISABLE_EVENTS"
slouken@0
   167
fi
slouken@0
   168
AC_ARG_ENABLE(joystick,
slouken@0
   169
[  --enable-joystick       Enable the joystick subsystem [default=yes]],
slouken@0
   170
              , enable_joystick=yes)
slouken@0
   171
if test x$enable_joystick = xyes; then
slouken@0
   172
    SDL_EXTRADIRS="$SDL_EXTRADIRS joystick"
slouken@0
   173
    SDL_EXTRALIBS="$SDL_EXTRALIBS joystick/libjoystick.la"
slouken@0
   174
else
slouken@0
   175
    CFLAGS="$CFLAGS -DDISABLE_JOYSTICK"
slouken@0
   176
fi
slouken@0
   177
AC_ARG_ENABLE(cdrom,
slouken@0
   178
[  --enable-cdrom          Enable the cdrom subsystem [default=yes]],
slouken@0
   179
              , enable_cdrom=yes)
slouken@0
   180
if test x$enable_cdrom = xyes; then
slouken@0
   181
    SDL_EXTRADIRS="$SDL_EXTRADIRS cdrom"
slouken@0
   182
    SDL_EXTRALIBS="$SDL_EXTRALIBS cdrom/libcdrom.la"
slouken@0
   183
else
slouken@0
   184
    CFLAGS="$CFLAGS -DDISABLE_CDROM"
slouken@0
   185
fi
slouken@0
   186
AC_ARG_ENABLE(threads,
slouken@0
   187
[  --enable-threads        Enable the threading subsystem [default=yes]],
slouken@0
   188
              , enable_threads=yes)
slouken@0
   189
SDL_EXTRADIRS="$SDL_EXTRADIRS thread"
slouken@0
   190
SDL_EXTRALIBS="$SDL_EXTRALIBS thread/libthread.la"
slouken@0
   191
if test x$enable_threads != xyes; then
slouken@0
   192
    CFLAGS="$CFLAGS -DDISABLE_THREADS"
slouken@0
   193
    COPY_ARCH_SRC(src/thread, generic, SDL_systhread.c)
slouken@0
   194
    COPY_ARCH_SRC(src/thread, generic, SDL_systhread_c.h)
slouken@0
   195
    COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
slouken@0
   196
    COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
slouken@0
   197
    COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
slouken@0
   198
    COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
slouken@0
   199
    COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
slouken@0
   200
    COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
slouken@0
   201
fi
slouken@0
   202
AC_ARG_ENABLE(timers,
slouken@0
   203
[  --enable-timers         Enable the timer subsystem [default=yes]],
slouken@0
   204
              , enable_timers=yes)
slouken@0
   205
if test x$enable_timers = xyes; then
slouken@0
   206
    SDL_EXTRADIRS="$SDL_EXTRADIRS timer"
slouken@0
   207
    SDL_EXTRALIBS="$SDL_EXTRALIBS timer/libtimer.la"
slouken@0
   208
else
slouken@0
   209
    CFLAGS="$CFLAGS -DDISABLE_TIMERS"
slouken@0
   210
fi
slouken@0
   211
AC_ARG_ENABLE(endian,
slouken@0
   212
[  --enable-endian         Enable the endian subsystem [default=yes]],
slouken@0
   213
              , enable_endian=yes)
slouken@0
   214
if test x$enable_endian = xyes; then
slouken@0
   215
    SDL_EXTRADIRS="$SDL_EXTRADIRS endian"
slouken@0
   216
    SDL_EXTRALIBS="$SDL_EXTRALIBS endian/libendian.la"
slouken@0
   217
else
slouken@0
   218
    CFLAGS="$CFLAGS -DDISABLE_ENDIAN"
slouken@0
   219
fi
slouken@0
   220
AC_ARG_ENABLE(file,
slouken@0
   221
[  --enable-file           Enable the file subsystem [default=yes]],
slouken@0
   222
              , enable_file=yes)
slouken@0
   223
if test x$enable_file = xyes; then
slouken@0
   224
    SDL_EXTRADIRS="$SDL_EXTRADIRS file"
slouken@0
   225
    SDL_EXTRALIBS="$SDL_EXTRALIBS file/libfile.la"
slouken@0
   226
else
slouken@0
   227
    CFLAGS="$CFLAGS -DDISABLE_FILE"
slouken@0
   228
fi
slouken@740
   229
AC_ARG_ENABLE(cpuinfo,
slouken@740
   230
[  --enable-cpuinfo        Enable the cpuinfo subsystem [default=yes]],
slouken@740
   231
              , enable_cpuinfo=yes)
slouken@740
   232
if test x$enable_cpuinfo = xyes; then
slouken@740
   233
    SDL_EXTRADIRS="$SDL_EXTRADIRS cpuinfo"
slouken@740
   234
    SDL_EXTRALIBS="$SDL_EXTRALIBS cpuinfo/libcpuinfo.la"
slouken@740
   235
else
slouken@740
   236
    CFLAGS="$CFLAGS -DDISABLE_CPUINFO"
slouken@740
   237
fi
slouken@0
   238
slouken@0
   239
dnl See if the OSS audio interface is supported
slouken@0
   240
CheckOSS()
slouken@0
   241
{
slouken@0
   242
    AC_ARG_ENABLE(oss,
slouken@0
   243
[  --enable-oss            support the OSS audio API [default=yes]],
slouken@0
   244
                  , enable_oss=yes)
slouken@0
   245
    if test x$enable_audio = xyes -a x$enable_oss = xyes; then
slouken@0
   246
        AC_MSG_CHECKING(for OSS audio support)
slouken@0
   247
        have_oss=no
slouken@94
   248
        if test x$have_oss != xyes; then
slouken@94
   249
            AC_TRY_COMPILE([
slouken@94
   250
              #include <sys/soundcard.h>
slouken@94
   251
            ],[
slouken@94
   252
              int arg = SNDCTL_DSP_SETFRAGMENT;
slouken@94
   253
            ],[
slouken@94
   254
            have_oss=yes
slouken@94
   255
            ])
slouken@94
   256
        fi
slouken@94
   257
        if test x$have_oss != xyes; then
slouken@94
   258
            AC_TRY_COMPILE([
slouken@94
   259
              #include <soundcard.h>
slouken@94
   260
            ],[
slouken@94
   261
              int arg = SNDCTL_DSP_SETFRAGMENT;
slouken@94
   262
            ],[
slouken@94
   263
            have_oss=yes
slouken@94
   264
            CFLAGS="$CFLAGS -DOSS_USE_SOUNDCARD_H"
slouken@94
   265
            ])
slouken@94
   266
        fi
slouken@0
   267
        AC_MSG_RESULT($have_oss)
slouken@0
   268
        if test x$have_oss = xyes; then
slouken@0
   269
            CFLAGS="$CFLAGS -DOSS_SUPPORT"
slouken@0
   270
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS dsp"
slouken@0
   271
            AUDIO_DRIVERS="$AUDIO_DRIVERS dsp/libaudio_dsp.la"
slouken@0
   272
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS dma"
slouken@0
   273
            AUDIO_DRIVERS="$AUDIO_DRIVERS dma/libaudio_dma.la"
slouken@0
   274
        fi
slouken@0
   275
    fi
slouken@0
   276
}
slouken@0
   277
slouken@0
   278
dnl See if the ALSA audio interface is supported
slouken@0
   279
CheckALSA()
slouken@0
   280
{
slouken@0
   281
    AC_ARG_ENABLE(alsa,
slouken@0
   282
[  --enable-alsa           support the ALSA audio API [default=yes]],
slouken@0
   283
                  , enable_alsa=yes)
slouken@0
   284
    if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
slouken@948
   285
        AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no)
slouken@1009
   286
        # Restore all flags from before the ALSA detection runs
slouken@1009
   287
        CFLAGS="$alsa_save_CFLAGS"
slouken@1009
   288
        LDFLAGS="$alsa_save_LDFLAGS"
slouken@1009
   289
        LIBS="$alsa_save_LIBS"
slouken@354
   290
        if test x$have_alsa = xyes; then
slouken@865
   291
            AC_ARG_ENABLE(alsa-shared,
slouken@865
   292
[  --enable-alsa-shared     dynamically load ALSA audio support [default=yes]],
slouken@865
   293
                          , enable_alsa_shared=yes)
slouken@939
   294
            if test "x`echo $ALSA_LIBS | grep -- -L`" = "x"; then
slouken@973
   295
                if test "x`ls /lib/libasound.so.* 2> /dev/null`" != "x"; then
slouken@973
   296
                    ALSA_LIBS="-L/lib $ALSA_LIBS"
slouken@973
   297
                elif test "x`ls /usr/lib/libasound.so.* 2> /dev/null`" != "x"; then
slouken@939
   298
                    ALSA_LIBS="-L/usr/lib $ALSA_LIBS"
slouken@973
   299
                elif test "x`ls /usr/local/lib/libasound.so.* 2> /dev/null`" != "x"; then
slouken@939
   300
                    ALSA_LIBS="-L/usr/local/lib $ALSA_LIBS"
slouken@973
   301
                fi
slouken@939
   302
            fi
slouken@939
   303
            alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libasound.so.*/'`
slouken@939
   304
            alsa_lib=`ls $alsa_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
slouken@939
   305
            echo "-- $alsa_lib_spec -> $alsa_lib"
slouken@939
   306
icculus@1173
   307
            if test x$have_loadso != xyes && \
slouken@865
   308
               test x$enable_alsa_shared = xyes; then
icculus@1173
   309
                AC_MSG_ERROR([You must have SDL_LoadObject() support])
slouken@865
   310
            fi
icculus@1173
   311
            if test x$have_loadso = xyes && \
slouken@865
   312
               test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then
slouken@939
   313
                CFLAGS="$CFLAGS -DALSA_SUPPORT -DALSA_DYNAMIC=\$(alsa_lib) $ALSA_CFLAGS"
slouken@865
   314
                AC_SUBST(alsa_lib)
slouken@939
   315
slouken@939
   316
                use_dlvsym=no
icculus@1136
   317
                AC_CHECK_LIB(dl, dlvsym, [use_dlvsym=yes])
slouken@939
   318
                if test x$use_dlvsym = xyes; then
slouken@939
   319
                    CFLAGS="$CFLAGS -DUSE_DLVSYM"
slouken@939
   320
                fi
slouken@865
   321
            else
slouken@939
   322
                CFLAGS="$CFLAGS -DALSA_SUPPORT $ALSA_CFLAGS"
slouken@939
   323
                SYSTEM_LIBS="$SYSTEM_LIBS $ALSA_LIBS"
slouken@865
   324
            fi
slouken@0
   325
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS alsa"
slouken@0
   326
            AUDIO_DRIVERS="$AUDIO_DRIVERS alsa/libaudio_alsa.la"
slouken@0
   327
        fi
slouken@0
   328
    fi
slouken@0
   329
}
slouken@0
   330
slouken@148
   331
dnl Check whether we want to use IRIX 6.5+ native audio or not
slouken@148
   332
CheckDMEDIA()
slouken@148
   333
{
slouken@148
   334
    if test x$enable_audio = xyes; then
slouken@148
   335
        AC_MSG_CHECKING(for dmedia audio support)
slouken@148
   336
        have_dmedia=no
slouken@148
   337
        AC_TRY_COMPILE([
slouken@148
   338
          #include <dmedia/audio.h>
slouken@148
   339
        ],[
slouken@148
   340
          ALport audio_port;
slouken@148
   341
        ],[
slouken@148
   342
        have_dmedia=yes
slouken@148
   343
        ])
slouken@935
   344
        AC_MSG_RESULT($have_dmedia)
slouken@148
   345
        # Set up files for the audio library
slouken@148
   346
        if test x$have_dmedia = xyes; then
slouken@148
   347
            CFLAGS="$CFLAGS -DDMEDIA_SUPPORT"
slouken@148
   348
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS dmedia"
slouken@148
   349
            AUDIO_DRIVERS="$AUDIO_DRIVERS dmedia/libaudio_dmedia.la"
slouken@148
   350
            SYSTEM_LIBS="$SYSTEM_LIBS -laudio"
slouken@148
   351
        fi
slouken@148
   352
    fi
slouken@148
   353
}
slouken@148
   354
slouken@0
   355
dnl Find the ESD includes and libraries
slouken@0
   356
CheckESD()
slouken@0
   357
{
slouken@0
   358
    AC_ARG_ENABLE(esd,
slouken@0
   359
[  --enable-esd            support the Enlightened Sound Daemon [default=yes]],
slouken@0
   360
                  , enable_esd=yes)
slouken@0
   361
    if test x$enable_audio = xyes -a x$enable_esd = xyes; then
slouken@948
   362
        AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no)
slouken@948
   363
        if test x$have_esd = xyes; then
slouken@294
   364
            AC_ARG_ENABLE(esd-shared,
slouken@678
   365
[  --enable-esd-shared     dynamically load ESD audio support [default=yes]],
slouken@678
   366
                          , enable_esd_shared=yes)
slouken@294
   367
            esd_lib_spec=`echo $ESD_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libesd.so.*/'`
slouken@868
   368
            esd_lib=`ls $esd_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
slouken@371
   369
            echo "-- $esd_lib_spec -> $esd_lib"
icculus@1173
   370
            if test x$have_loadso != xyes && \
slouken@296
   371
               test x$enable_esd_shared = xyes; then
icculus@1173
   372
                AC_MSG_ERROR([You must have SDL_LoadObject() support])
slouken@296
   373
            fi
icculus@1173
   374
            if test x$have_loadso = xyes && \
slouken@294
   375
               test x$enable_esd_shared = xyes && test x$esd_lib != x; then
slouken@294
   376
                CFLAGS="$CFLAGS -DESD_SUPPORT -DESD_DYNAMIC=\$(esd_lib) $ESD_CFLAGS"
slouken@371
   377
                AC_SUBST(esd_lib)
slouken@294
   378
            else
slouken@294
   379
                CFLAGS="$CFLAGS -DESD_SUPPORT $ESD_CFLAGS"
slouken@294
   380
                SYSTEM_LIBS="$SYSTEM_LIBS $ESD_LIBS"
slouken@294
   381
            fi
slouken@0
   382
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS esd"
slouken@0
   383
            AUDIO_DRIVERS="$AUDIO_DRIVERS esd/libaudio_esd.la"
slouken@294
   384
        fi
slouken@0
   385
    fi
slouken@0
   386
}
slouken@0
   387
slouken@0
   388
CheckARTSC()
slouken@0
   389
{
slouken@0
   390
    AC_ARG_ENABLE(arts,
slouken@0
   391
[  --enable-arts           support the Analog Real Time Synthesizer [default=yes]],
slouken@0
   392
                  , enable_arts=yes)
slouken@0
   393
    if test x$enable_audio = xyes -a x$enable_arts = xyes; then
slouken@0
   394
        AC_PATH_PROG(ARTSCCONFIG, artsc-config)
slouken@0
   395
        if test x$ARTSCCONFIG = x -o x$ARTSCCONFIG = x'"$ARTSCCONFIG"'; then
slouken@0
   396
            : # arts isn't installed
slouken@0
   397
        else
slouken@0
   398
            ARTSC_CFLAGS=`$ARTSCCONFIG --cflags`
slouken@0
   399
            ARTSC_LIBS=`$ARTSCCONFIG --libs`
slouken@856
   400
            ARTSC_PREFIX=`$ARTSCCONFIG --arts-prefix`
slouken@0
   401
            AC_MSG_CHECKING(for aRts development environment)
slouken@0
   402
            audio_arts=no
slouken@0
   403
            save_CFLAGS="$CFLAGS"
slouken@0
   404
            CFLAGS="$CFLAGS $ARTSC_CFLAGS"
slouken@0
   405
            AC_TRY_COMPILE([
slouken@0
   406
             #include <artsc.h>
slouken@0
   407
            ],[
slouken@0
   408
             arts_stream_t stream;
slouken@0
   409
            ],[
slouken@0
   410
            audio_arts=yes
slouken@0
   411
            ])
slouken@0
   412
            CFLAGS="$save_CFLAGS"
slouken@0
   413
            AC_MSG_RESULT($audio_arts)
slouken@0
   414
            if test x$audio_arts = xyes; then
slouken@294
   415
                AC_ARG_ENABLE(arts-shared,
slouken@678
   416
[  --enable-arts-shared    dynamically load aRts audio support [default=yes]],
slouken@678
   417
                              , enable_arts_shared=yes)
slouken@856
   418
                arts_lib_spec="$ARTSC_PREFIX/lib/libartsc.so.*"
slouken@868
   419
                arts_lib=`ls $arts_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
slouken@371
   420
                echo "-- $arts_lib_spec -> $arts_lib"
icculus@1173
   421
                if test x$have_loadso != xyes && \
slouken@296
   422
                   test x$enable_arts_shared = xyes; then
icculus@1173
   423
                    AC_MSG_ERROR([You must have SDL_LoadObject() support])
slouken@296
   424
                fi
icculus@1173
   425
                if test x$have_loadso = xyes && \
slouken@294
   426
                   test x$enable_arts_shared = xyes && test x$arts_lib != x; then
slouken@294
   427
                    CFLAGS="$CFLAGS -DARTSC_SUPPORT -DARTSC_DYNAMIC=\$(arts_lib) $ARTSC_CFLAGS"
slouken@371
   428
                    AC_SUBST(arts_lib)
slouken@294
   429
                else
slouken@294
   430
                    CFLAGS="$CFLAGS -DARTSC_SUPPORT $ARTSC_CFLAGS"
slouken@294
   431
                    SYSTEM_LIBS="$SYSTEM_LIBS $ARTSC_LIBS"
slouken@294
   432
                fi
slouken@0
   433
                AUDIO_SUBDIRS="$AUDIO_SUBDIRS arts"
slouken@0
   434
                AUDIO_DRIVERS="$AUDIO_DRIVERS arts/libaudio_arts.la"
slouken@0
   435
            fi
slouken@0
   436
        fi
slouken@0
   437
    fi
slouken@0
   438
}
slouken@0
   439
slouken@0
   440
dnl See if the NAS audio interface is supported
slouken@0
   441
CheckNAS()
slouken@0
   442
{
slouken@0
   443
    AC_ARG_ENABLE(nas,
patmandin@651
   444
[  --enable-nas            support the NAS audio API [default=yes]],
slouken@41
   445
                  , enable_nas=yes)
slouken@0
   446
    if test x$enable_audio = xyes -a x$enable_nas = xyes; then
slouken@41
   447
        AC_MSG_CHECKING(for NAS audio support)
slouken@41
   448
        have_nas=no
slouken@41
   449
        if test -r /usr/X11R6/include/audio/audiolib.h; then
slouken@41
   450
            have_nas=yes
slouken@720
   451
            CFLAGS="$CFLAGS -DNAS_SUPPORT -I/usr/X11R6/include/"
slouken@41
   452
            SYSTEM_LIBS="$SYSTEM_LIBS -laudio -lXt"
slouken@41
   453
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS nas"
slouken@41
   454
            AUDIO_DRIVERS="$AUDIO_DRIVERS nas/libaudio_nas.la"
slouken@605
   455
slouken@605
   456
        dnl On IRIX, the NAS includes are in a different directory,
slouken@605
   457
        dnl and libnas must be explicitly linked in
slouken@605
   458
slouken@605
   459
        elif test -r /usr/freeware/include/nas/audiolib.h; then
slouken@605
   460
            have_nas=yes
slouken@605
   461
            CFLAGS="$CFLAGS -DNAS_SUPPORT"
slouken@605
   462
            SYSTEM_LIBS="$SYSTEM_LIBS -lnas -lXt"
slouken@605
   463
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS nas"
slouken@605
   464
            AUDIO_DRIVERS="$AUDIO_DRIVERS nas/libaudio_nas.la"
slouken@41
   465
        fi
slouken@605
   466
        AC_MSG_RESULT($have_nas)
slouken@0
   467
    fi
slouken@0
   468
}
slouken@0
   469
slouken@68
   470
dnl rcg07142001 See if the user wants the disk writer audio driver...
slouken@68
   471
CheckDiskAudio()
slouken@68
   472
{
slouken@68
   473
    AC_ARG_ENABLE(diskaudio,
patmandin@651
   474
[  --enable-diskaudio      support the disk writer audio driver [default=yes]],
slouken@86
   475
                  , enable_diskaudio=yes)
slouken@68
   476
    if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
slouken@68
   477
        CFLAGS="$CFLAGS -DDISKAUD_SUPPORT"
slouken@68
   478
        AUDIO_SUBDIRS="$AUDIO_SUBDIRS disk"
slouken@68
   479
        AUDIO_DRIVERS="$AUDIO_DRIVERS disk/libaudio_disk.la"
slouken@68
   480
    fi
slouken@68
   481
}
slouken@68
   482
slouken@398
   483
dnl Set up the Atari Audio driver
slouken@398
   484
CheckAtariAudio()
slouken@398
   485
{
slouken@398
   486
    AC_ARG_ENABLE(mintaudio,
slouken@398
   487
[  --enable-mintaudio      support Atari audio driver [default=yes]],
slouken@398
   488
                  , enable_mintaudio=yes)
slouken@398
   489
    if test x$enable_audio = xyes -a x$enable_mintaudio = xyes; then
slouken@398
   490
        mintaudio=no
slouken@398
   491
        AC_CHECK_HEADER(mint/falcon.h, have_mint_falcon_hdr=yes)
slouken@398
   492
        if test x$have_mint_falcon_hdr = xyes; then
slouken@398
   493
            mintaudio=yes
slouken@398
   494
            CFLAGS="$CFLAGS -DMINTAUDIO_SUPPORT"
slouken@398
   495
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS mint"
slouken@398
   496
            AUDIO_DRIVERS="$AUDIO_DRIVERS mint/libaudio_mintaudio.la"
slouken@398
   497
        fi
slouken@398
   498
    fi
slouken@398
   499
}
slouken@398
   500
slouken@0
   501
dnl See if we can use x86 assembly blitters
slouken@212
   502
# NASM is available from: http://nasm.octium.net/
slouken@0
   503
CheckNASM()
slouken@0
   504
{
slouken@0
   505
    dnl Make sure we are running on an x86 platform
slouken@0
   506
    case $target in
slouken@0
   507
        i?86*)
slouken@0
   508
            ;;
slouken@0
   509
        *)
slouken@0
   510
        # Nope, bail early.
slouken@0
   511
            return
slouken@0
   512
            ;;
slouken@0
   513
    esac
slouken@0
   514
    dnl Check for NASM (for assembly blit routines)
slouken@0
   515
    AC_ARG_ENABLE(nasm,
slouken@0
   516
[  --enable-nasm           use nasm assembly blitters on x86 [default=yes]],
slouken@0
   517
                  , enable_nasm=yes)
slouken@0
   518
    if test x$enable_video = xyes -a x$enable_nasm = xyes; then
slouken@0
   519
        AC_PATH_PROG(NASM, nasm)
slouken@0
   520
        if test x$NASM = x -o x$NASM = x'"$NASM"'; then
slouken@0
   521
            : # nasm isn't installed
slouken@0
   522
        else
slouken@0
   523
            CFLAGS="$CFLAGS -DUSE_ASMBLIT -I$srcdir/hermes"
slouken@0
   524
            case $ARCH in
slouken@0
   525
              win32)
slouken@0
   526
                  NASMFLAGS="-f win32"
slouken@0
   527
                  ;;
slouken@360
   528
              openbsd)
slouken@360
   529
                  NASMFLAGS="-f aoutb"
slouken@360
   530
                  ;;
slouken@0
   531
              *)
slouken@754
   532
                  NASMFLAGS="-f elf"
slouken@0
   533
                  ;;
slouken@0
   534
            esac
slouken@0
   535
            AC_SUBST(NASMFLAGS)
slouken@0
   536
            CFLAGS="$CFLAGS -I\$(top_srcdir)/src/hermes"
slouken@0
   537
            SDL_EXTRADIRS="$SDL_EXTRADIRS hermes"
slouken@0
   538
            SDL_EXTRALIBS="$SDL_EXTRALIBS hermes/libhermes.la"
slouken@739
   539
            use_nasm=yes
slouken@886
   540
            
slouken@886
   541
            case "$target" in
slouken@886
   542
                # this line is needed for QNX, because it's not defined the __ELF__
slouken@886
   543
                *-*-qnx*) CFLAGS="$CFLAGS -D__ELF__"
slouken@886
   544
                          ;;
slouken@886
   545
slouken@886
   546
            esac
slouken@886
   547
slouken@0
   548
        fi
slouken@0
   549
    fi
slouken@0
   550
}
slouken@0
   551
icculus@1140
   552
dnl Do the iPod thing
icculus@1140
   553
CheckIPod()
icculus@1140
   554
{
icculus@1140
   555
    AC_ARG_ENABLE(ipod,
icculus@1140
   556
[  --enable-ipod          configure SDL to work with iPodLinux [default=yes on arm-elf]],
icculus@1140
   557
	, enable_ipod=yes)
icculus@1140
   558
icculus@1140
   559
    if test x$enable_ipod = xyes; then
icculus@1140
   560
	CFLAGS="$CFLAGS -DENABLE_IPOD -DIPOD"
icculus@1140
   561
	VIDEO_SUBDIRS="$VIDEO_SUBDIRS ipod"
icculus@1140
   562
	VIDEO_DRIVERS="$VIDEO_DRIVERS ipod/libvideo_ipod.la"
icculus@1140
   563
    fi
icculus@1140
   564
}	
icculus@1140
   565
slouken@30
   566
dnl Find the nanox include and library directories
slouken@30
   567
CheckNANOX()
slouken@30
   568
{
slouken@292
   569
    AC_ARG_ENABLE(video-nanox,
slouken@292
   570
        [  --enable-video-nanox use nanox video driver [default=no]],
slouken@292
   571
        , enable_video_nanox=no)
slouken@292
   572
    AC_ARG_ENABLE(nanox-debug,  
slouken@292
   573
        [  --enable-nanox-debug print debug messages [default=no]],
slouken@292
   574
        , enable_nanox_debug=no)
slouken@292
   575
    AC_ARG_ENABLE(nanox-share-memory,  
slouken@292
   576
        [  --enable-nanox-share-memory use share memory [default=no]],
slouken@292
   577
        , enable_nanox_share_memory=no)
slouken@471
   578
    AC_ARG_ENABLE(nanox_direct_fb, 
slouken@471
   579
        [  --enable-nanox-direct-fb use direct framebuffer access [default=no]],
slouken@471
   580
        , enable_nanox_direct_fb=no)
slouken@30
   581
slouken@292
   582
    if test x$enable_video = xyes -a x$enable_video_nanox = xyes; then
slouken@292
   583
        if test x$enable_nanox_debug = xyes; then
slouken@292
   584
            CFLAGS="$CFLAGS -DENABLE_NANOX_DEBUG"
slouken@292
   585
        fi
slouken@30
   586
slouken@292
   587
        if test x$enable_nanox_share_memory = xyes; then
slouken@292
   588
            CFLAGS="$CFLAGS -DNANOX_SHARE_MEMORY"
slouken@292
   589
        fi
slouken@30
   590
slouken@471
   591
        if test x$enable_nanox_direct_fb = xyes; then
slouken@471
   592
            CFLAGS="$CFLAGS -DENABLE_NANOX_DIRECT_FB"
slouken@471
   593
        fi
slouken@30
   594
slouken@292
   595
        CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_NANOX"
slouken@292
   596
        SYSTEM_LIBS="$SYSTEM_LIBS -lnano-X"
slouken@292
   597
        VIDEO_SUBDIRS="$VIDEO_SUBDIRS nanox"
slouken@292
   598
        VIDEO_DRIVERS="$VIDEO_DRIVERS nanox/libvideo_nanox.la"
slouken@292
   599
    fi
slouken@30
   600
}
slouken@30
   601
slouken@0
   602
dnl Find the X11 include and library directories
slouken@0
   603
CheckX11()
slouken@0
   604
{
slouken@0
   605
    AC_ARG_ENABLE(video-x11,
slouken@0
   606
[  --enable-video-x11      use X11 video driver [default=yes]],
slouken@0
   607
                  , enable_video_x11=yes)
slouken@0
   608
    if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then
slouken@0
   609
        AC_PATH_X
slouken@0
   610
        AC_PATH_XTRA
slouken@0
   611
        if test x$have_x = xyes; then
icculus@1168
   612
            AC_ARG_ENABLE(x11-shared,
icculus@1168
   613
[  --enable-x11-shared     dynamically load X11 support [default=yes]],
icculus@1168
   614
                          , enable_x11_shared=yes)
icculus@1168
   615
icculus@1170
   616
            dnl !!! FIXME: if a platform needs more than this, fill it in!
icculus@1174
   617
            case "$target" in
icculus@1174
   618
                *-*-darwin* )
icculus@1174
   619
                    x11_lib='/usr/X11R6/lib/libX11.6.dylib'
icculus@1174
   620
                    x11ext_lib='/usr/X11R6/lib/libXext.6.dylib'
icculus@1174
   621
                    ;;
icculus@1174
   622
                *)
icculus@1174
   623
                    x11_lib='libX11.so.6'
icculus@1174
   624
                    x11ext_lib='libXext.so.6'
icculus@1174
   625
                    ;;
icculus@1174
   626
            esac
icculus@1168
   627
icculus@1173
   628
            if test x$have_loadso != xyes && \
icculus@1168
   629
               test x$enable_x11_shared = xyes; then
icculus@1173
   630
                AC_MSG_ERROR([You must have SDL_LoadObject() support])
icculus@1168
   631
            fi
icculus@1168
   632
icculus@1173
   633
            if test x$have_loadso = xyes && \
icculus@1170
   634
               test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then
icculus@1168
   635
                CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_X11 -DXTHREADS -DX11_DYNAMIC=\$(x11_lib) -DX11EXT_DYNAMIC=\$(x11ext_lib) -I$srcdir/include -I$srcdir/src/video"
icculus@1168
   636
                SYSTEM_LIBS="$SYSTEM_LIBS $X_LIBS"
icculus@1174
   637
                echo "-- dynamic libX11 -> $x11_lib"
icculus@1174
   638
                echo "-- dynamic libX11ext -> $x11ext_lib"
icculus@1168
   639
                AC_SUBST(x11_lib)
icculus@1168
   640
                AC_SUBST(x11ext_lib)
icculus@1168
   641
            else
icculus@1168
   642
                CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_X11 -DXTHREADS -I$srcdir/include -I$srcdir/src/video"
icculus@1168
   643
                SYSTEM_LIBS="$SYSTEM_LIBS $X_LIBS -lX11 -lXext"
icculus@1168
   644
            fi
icculus@1168
   645
slouken@0
   646
            if test x$ac_cv_func_shmat != xyes; then
slouken@0
   647
                CFLAGS="$CFLAGS -DNO_SHARED_MEMORY"
slouken@0
   648
            fi
icculus@1168
   649
slouken@0
   650
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS x11"
slouken@0
   651
            VIDEO_DRIVERS="$VIDEO_DRIVERS x11/libvideo_x11.la"
slouken@0
   652
slouken@0
   653
            AC_ARG_ENABLE(video-x11-vm,
slouken@0
   654
[  --enable-video-x11-vm   use X11 VM extension for fullscreen [default=yes]],
slouken@0
   655
                          , enable_video_x11_vm=yes)
slouken@0
   656
            if test x$enable_video_x11_vm = xyes; then
slouken@0
   657
                AC_MSG_CHECKING(for XFree86 VidMode 1.0 support)
slouken@0
   658
                video_x11_vm=no
slouken@0
   659
                AC_TRY_COMPILE([
slouken@0
   660
                 #include <X11/Xlib.h>
slouken@292
   661
                 #include <XFree86/extensions/xf86vmode.h>
slouken@0
   662
                ],[
slouken@0
   663
                ],[
slouken@0
   664
                video_x11_vm=yes
slouken@0
   665
                ])
slouken@0
   666
                AC_MSG_RESULT($video_x11_vm)
slouken@0
   667
                if test x$video_x11_vm = xyes; then
slouken@0
   668
                    CFLAGS="$CFLAGS -DXFREE86_VM"
slouken@292
   669
                    VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xxf86vm"
slouken@292
   670
                    VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xxf86vm/libXFree86_Xxf86vm.la"
slouken@0
   671
                    AC_MSG_CHECKING(for XFree86 VidMode gamma support)
slouken@0
   672
                    video_x11_vmgamma=no
slouken@0
   673
                    AC_TRY_COMPILE([
slouken@0
   674
                     #include <X11/Xlib.h>
slouken@292
   675
                     #include <XFree86/extensions/xf86vmode.h>
slouken@0
   676
                    ],[
slouken@292
   677
                     SDL_NAME(XF86VidModeGamma) gamma;
slouken@0
   678
                    ],[
slouken@0
   679
                    video_x11_vmgamma=yes
slouken@0
   680
                    ])
slouken@0
   681
                    AC_MSG_RESULT($video_x11_vmgamma)
slouken@0
   682
                    if test x$video_x11_vmgamma = xyes; then
slouken@0
   683
                        CFLAGS="$CFLAGS -DXFREE86_VMGAMMA"
slouken@0
   684
                    fi
slouken@0
   685
                fi
slouken@0
   686
            fi
slouken@16
   687
            AC_ARG_ENABLE(dga,
slouken@16
   688
[  --enable-dga            allow use of X11 DGA code [default=yes]],
slouken@16
   689
                          , enable_dga=yes)
slouken@0
   690
            AC_ARG_ENABLE(video-x11-dgamouse,
slouken@0
   691
[  --enable-video-x11-dgamouse  use X11 DGA for mouse events [default=yes]],
slouken@0
   692
                          , enable_video_x11_dgamouse=yes)
slouken@16
   693
            if test x$enable_dga = xyes; then
slouken@16
   694
                AC_MSG_CHECKING(for XFree86 DGA 1.0 support)
slouken@16
   695
                video_x11_dga=no
slouken@16
   696
                AC_TRY_COMPILE([
slouken@16
   697
                 #include <X11/Xlib.h>
slouken@292
   698
                 #include <XFree86/extensions/xf86dga.h>
slouken@16
   699
                ],[
slouken@16
   700
                ],[
slouken@16
   701
                video_x11_dga=yes
slouken@16
   702
                ])
slouken@16
   703
                AC_MSG_RESULT($video_x11_dga)
slouken@16
   704
                if test x$video_x11_dga = xyes; then
slouken@16
   705
                    CFLAGS="$CFLAGS -DXFREE86_DGAMOUSE"
slouken@16
   706
                    if test x$enable_video_x11_dgamouse = xyes; then
slouken@16
   707
                        CFLAGS="$CFLAGS -DDEFAULT_DGAMOUSE"
slouken@16
   708
                    fi
slouken@292
   709
                    VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xxf86dga"
slouken@292
   710
                    VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xxf86dga/libXFree86_Xxf86dga.la"
slouken@0
   711
                fi
slouken@0
   712
            fi
slouken@0
   713
            AC_ARG_ENABLE(video-x11-xv,
slouken@0
   714
[  --enable-video-x11-xv   use X11 XvImage extension for video [default=yes]],
slouken@0
   715
                          , enable_video_x11_xv=yes)
slouken@0
   716
            if test x$enable_video_x11_xv = xyes; then
slouken@0
   717
                AC_MSG_CHECKING(for XFree86 XvImage support)
slouken@0
   718
                video_x11_xv=no
slouken@0
   719
                AC_TRY_COMPILE([
slouken@0
   720
                 #include <X11/Xlib.h>
slouken@0
   721
                 #include <sys/ipc.h>
slouken@0
   722
                 #include <sys/shm.h>
slouken@0
   723
                 #include <X11/extensions/XShm.h>
slouken@292
   724
                 #include <XFree86/extensions/Xvlib.h>
slouken@0
   725
                ],[
slouken@292
   726
                 SDL_NAME(XvImage) *image;
slouken@0
   727
                ],[
slouken@0
   728
                video_x11_xv=yes
slouken@0
   729
                ])
slouken@0
   730
                AC_MSG_RESULT($video_x11_xv)
slouken@0
   731
                if test x$video_x11_xv = xyes; then
slouken@0
   732
                    CFLAGS="$CFLAGS -DXFREE86_XV"
slouken@292
   733
                    VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xv"
slouken@292
   734
                    VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xv/libXFree86_Xv.la"
slouken@0
   735
                fi
slouken@0
   736
            fi
slouken@227
   737
            AC_ARG_ENABLE(video-x11-xinerama,
slouken@227
   738
[  --enable-video-x11-xinerama   enable X11 Xinerama support [default=yes]],
slouken@227
   739
                            , enable_video_x11_xinerama=yes)
slouken@227
   740
            if test x$enable_video_x11_xinerama = xyes; then
slouken@227
   741
                AC_MSG_CHECKING(for X11 Xinerama support)
slouken@227
   742
                video_x11_xinerama=no
slouken@227
   743
                AC_TRY_COMPILE([
slouken@227
   744
                 #include <X11/Xlib.h>
slouken@292
   745
                 #include <XFree86/extensions/Xinerama.h>
slouken@227
   746
                ],[
slouken@292
   747
                 SDL_NAME(XineramaScreenInfo) *xinerama;
slouken@227
   748
                ],[
slouken@227
   749
                video_x11_xinerama=yes
slouken@227
   750
                ])
slouken@227
   751
                AC_MSG_RESULT($video_x11_xinerama)
slouken@227
   752
                if test x$video_x11_xinerama = xyes; then
slouken@227
   753
                    CFLAGS="$CFLAGS -DHAVE_XINERAMA"
slouken@292
   754
                    VIDEO_SUBDIRS="$VIDEO_SUBDIRS XFree86/Xinerama"
slouken@292
   755
                    VIDEO_DRIVERS="$VIDEO_DRIVERS XFree86/Xinerama/libXFree86_Xinerama.la"
slouken@227
   756
                fi
slouken@227
   757
            fi
slouken@242
   758
            AC_ARG_ENABLE(video-x11-xme,
slouken@242
   759
[  --enable-video-x11-xme  enable Xi Graphics XME for fullscreen [default=yes]],
slouken@242
   760
                            , enable_video_x11_xme=yes)
slouken@242
   761
            if test x$enable_video_x11_xme = xyes; then
slouken@242
   762
                AC_MSG_CHECKING(for Xi Graphics XiGMiscExtension support)
slouken@242
   763
                video_x11_xme=no
slouken@242
   764
                AC_TRY_COMPILE([
slouken@242
   765
                 #include <X11/Xlib.h>
slouken@242
   766
                 #include <X11/extensions/xme.h>
slouken@242
   767
                ],[
slouken@242
   768
                 XiGMiscResolutionInfo *resolutions;
slouken@242
   769
                ],[
slouken@242
   770
                video_x11_xme=yes
slouken@242
   771
                ])
slouken@242
   772
                AC_MSG_RESULT($video_x11_xme)
slouken@242
   773
                if test x$video_x11_xme = xyes; then
slouken@242
   774
                    CFLAGS="$CFLAGS -DHAVE_XIGXME"
slouken@242
   775
                    SYSTEM_LIBS="$SYSTEM_LIBS -lxme"
slouken@242
   776
                fi
slouken@242
   777
            fi
slouken@0
   778
        fi
slouken@0
   779
    fi
slouken@0
   780
}
slouken@279
   781
slouken@292
   782
dnl Find the X11 DGA 2.0 include and library directories
slouken@292
   783
CheckDGA()
slouken@292
   784
{
slouken@292
   785
    AC_ARG_ENABLE(video-dga,
slouken@292
   786
[  --enable-video-dga      use DGA 2.0 video driver [default=yes]],
slouken@292
   787
                  , enable_video_dga=yes)
slouken@292
   788
    if test x$video_x11_dga = xyes -a x$enable_video_dga = xyes; then
slouken@292
   789
        save_CFLAGS="$CFLAGS"; CFLAGS="$CFLAGS -Isrc/video"
slouken@292
   790
        AC_MSG_CHECKING(for XFree86 DGA 2.0 support)
slouken@292
   791
        video_x11_dga2=no
slouken@292
   792
        AC_TRY_COMPILE([
slouken@292
   793
         #include <X11/Xlib.h>
slouken@292
   794
         #include <XFree86/extensions/xf86dga.h>
slouken@292
   795
        ],[
slouken@292
   796
         SDL_NAME(XDGAEvent) xevent;
slouken@292
   797
        ],[
slouken@292
   798
        video_x11_dga2=yes
slouken@292
   799
        ])
slouken@292
   800
        AC_MSG_RESULT($video_x11_dga2)
slouken@292
   801
        if test x$video_x11_dga2 = xyes; then
slouken@292
   802
            CFLAGS="$CFLAGS -DENABLE_DGA"
slouken@292
   803
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS dga"
slouken@292
   804
            VIDEO_DRIVERS="$VIDEO_DRIVERS dga/libvideo_dga.la"
slouken@292
   805
        fi
slouken@292
   806
    fi
slouken@292
   807
}
slouken@292
   808
slouken@0
   809
CheckPHOTON()
slouken@0
   810
{
slouken@0
   811
    AC_ARG_ENABLE(video-photon,
slouken@72
   812
[  --enable-video-photon   use QNX Photon video driver [default=yes]],
slouken@0
   813
                  , enable_video_photon=yes)
slouken@0
   814
    if test x$enable_video = xyes -a x$enable_video_photon = xyes; then
slouken@0
   815
        AC_MSG_CHECKING(for QNX Photon support)
slouken@0
   816
        video_photon=no
slouken@0
   817
        AC_TRY_COMPILE([
slouken@0
   818
          #include <Ph.h>
slouken@0
   819
          #include <Pt.h>
slouken@0
   820
          #include <photon/Pg.h>
slouken@0
   821
          #include <photon/PdDirect.h>
slouken@0
   822
        ],[
slouken@0
   823
         PgDisplaySettings_t *visual;
slouken@0
   824
        ],[
slouken@0
   825
        video_photon=yes
slouken@0
   826
        ])
slouken@0
   827
        AC_MSG_RESULT($video_photon)
slouken@0
   828
        if test x$video_photon = xyes; then
slouken@19
   829
            CFLAGS="$CFLAGS -DENABLE_PHOTON"
slouken@0
   830
            SYSTEM_LIBS="$SYSTEM_LIBS -lph"
slouken@0
   831
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS photon"
slouken@0
   832
            VIDEO_DRIVERS="$VIDEO_DRIVERS photon/libvideo_photon.la"
slouken@279
   833
            CheckOpenGLQNX
slouken@0
   834
        fi
slouken@0
   835
    fi
slouken@0
   836
}
slouken@0
   837
slouken@0
   838
dnl Find the framebuffer console includes
slouken@0
   839
CheckFBCON()
slouken@0
   840
{
slouken@0
   841
    AC_ARG_ENABLE(video-fbcon,
slouken@0
   842
[  --enable-video-fbcon    use framebuffer console video driver [default=yes]],
slouken@0
   843
                  , enable_video_fbcon=yes)
slouken@0
   844
    if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then
slouken@0
   845
        AC_MSG_CHECKING(for framebuffer console support)
slouken@0
   846
        video_fbcon=no
slouken@0
   847
        AC_TRY_COMPILE([
slouken@0
   848
         #include <linux/fb.h>
slouken@0
   849
         #include <linux/kd.h>
slouken@0
   850
         #include <linux/keyboard.h>
slouken@0
   851
        ],[
slouken@0
   852
        ],[
slouken@0
   853
        video_fbcon=yes
slouken@0
   854
        ])
slouken@0
   855
        AC_MSG_RESULT($video_fbcon)
slouken@0
   856
        if test x$video_fbcon = xyes; then
slouken@0
   857
            CFLAGS="$CFLAGS -DENABLE_FBCON"
slouken@0
   858
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS fbcon"
slouken@0
   859
            VIDEO_DRIVERS="$VIDEO_DRIVERS fbcon/libvideo_fbcon.la"
slouken@0
   860
        fi
slouken@0
   861
    fi
slouken@0
   862
}
slouken@0
   863
slouken@167
   864
dnl Find DirectFB
slouken@167
   865
CheckDirectFB()
slouken@167
   866
{
slouken@167
   867
    AC_ARG_ENABLE(video-directfb,
slouken@678
   868
[  --enable-video-directfb use DirectFB video driver [default=no]],
slouken@678
   869
                  , enable_video_directfb=no)
slouken@167
   870
    if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
slouken@167
   871
        video_directfb=no
slouken@167
   872
slouken@167
   873
        AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
slouken@167
   874
        if test x$PKG_CONFIG = xno ; then
slouken@167
   875
            AC_MSG_WARN([*** pkg-config is required to build the DirectFB video driver.])
slouken@167
   876
        else
slouken@167
   877
            AC_MSG_CHECKING(for DirectFB support)
slouken@167
   878
slouken@477
   879
            if ! $PKG_CONFIG --atleast-pkgconfig-version 0.7 ; then
slouken@477
   880
                AC_MSG_ERROR([*** pkg-config too old; version 0.7 or better required.])
slouken@167
   881
            fi
slouken@167
   882
slouken@546
   883
            DIRECTFB_REQUIRED_VERSION=0.9.15
slouken@167
   884
slouken@167
   885
            if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
slouken@167
   886
                DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
slouken@167
   887
                DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
slouken@167
   888
                video_directfb=yes
slouken@167
   889
            fi
slouken@167
   890
        fi
slouken@167
   891
slouken@167
   892
        AC_MSG_RESULT($video_directfb)
slouken@167
   893
        if test x$video_directfb = xyes; then
slouken@167
   894
            CFLAGS="$CFLAGS -DENABLE_DIRECTFB"
slouken@167
   895
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS directfb"
slouken@167
   896
            VIDEO_DRIVERS="$VIDEO_DRIVERS directfb/libvideo_directfb.la"
slouken@167
   897
slouken@167
   898
            AC_SUBST(DIRECTFB_CFLAGS)
slouken@167
   899
            AC_SUBST(DIRECTFB_LIBS)
slouken@167
   900
        fi
slouken@167
   901
    fi
slouken@167
   902
}
slouken@167
   903
slouken@70
   904
dnl See if we're running on PlayStation 2 hardware
slouken@70
   905
CheckPS2GS()
slouken@70
   906
{
slouken@72
   907
    AC_ARG_ENABLE(video-ps2gs,
slouken@72
   908
[  --enable-video-ps2gs    use PlayStation 2 GS video driver [default=yes]],
slouken@72
   909
                  , enable_video_ps2gs=yes)
slouken@70
   910
    if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
slouken@72
   911
        AC_MSG_CHECKING(for PlayStation 2 GS support)
slouken@70
   912
        video_ps2gs=no
slouken@70
   913
        AC_TRY_COMPILE([
slouken@70
   914
         #include <linux/ps2/dev.h>
slouken@70
   915
         #include <linux/ps2/gs.h>
slouken@70
   916
        ],[
slouken@70
   917
        ],[
slouken@70
   918
        video_ps2gs=yes
slouken@70
   919
        ])
slouken@72
   920
        AC_MSG_RESULT($video_ps2gs)
slouken@70
   921
        if test x$video_ps2gs = xyes; then
slouken@70
   922
            CFLAGS="$CFLAGS -DENABLE_PS2GS"
slouken@70
   923
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS ps2gs"
slouken@70
   924
            VIDEO_DRIVERS="$VIDEO_DRIVERS ps2gs/libvideo_ps2gs.la"
slouken@70
   925
        fi
slouken@70
   926
    fi
slouken@70
   927
}
slouken@70
   928
slouken@0
   929
dnl Find the GGI includes
slouken@0
   930
CheckGGI()
slouken@0
   931
{
slouken@0
   932
    AC_ARG_ENABLE(video-ggi,
slouken@0
   933
[  --enable-video-ggi      use GGI video driver [default=no]],
slouken@0
   934
                  , enable_video_ggi=no)
slouken@0
   935
    if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then
slouken@0
   936
        AC_MSG_CHECKING(for GGI support)
slouken@0
   937
        video_ggi=no
slouken@0
   938
        AC_TRY_COMPILE([
slouken@0
   939
         #include <ggi/ggi.h>
slouken@0
   940
         #include <ggi/gii.h>
slouken@0
   941
        ],[
slouken@0
   942
        ],[
slouken@0
   943
        video_ggi=yes
slouken@0
   944
        ])
slouken@0
   945
        AC_MSG_RESULT($video_ggi)
slouken@0
   946
        if test x$video_ggi = xyes; then
slouken@0
   947
            CFLAGS="$CFLAGS $X_CFLAGS -DENABLE_GGI"
slouken@0
   948
            SYSTEM_LIBS="$SYSTEM_LIBS -lggi -lgii -lgg"
slouken@0
   949
slouken@0
   950
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS ggi"
slouken@0
   951
            VIDEO_DRIVERS="$VIDEO_DRIVERS ggi/libvideo_ggi.la"
slouken@0
   952
        fi
slouken@0
   953
    fi
slouken@0
   954
}
slouken@0
   955
slouken@0
   956
dnl Find the SVGAlib includes and libraries
slouken@0
   957
CheckSVGA()
slouken@0
   958
{
slouken@0
   959
    AC_ARG_ENABLE(video-svga,
slouken@0
   960
[  --enable-video-svga     use SVGAlib video driver [default=no]],
slouken@0
   961
                  , enable_video_svga=no)
slouken@0
   962
    if test x$enable_video = xyes -a x$enable_video_svga = xyes; then
slouken@0
   963
        AC_MSG_CHECKING(for SVGAlib (1.4.0+) support)
slouken@0
   964
        video_svga=no
slouken@0
   965
        AC_TRY_COMPILE([
slouken@0
   966
         #include <vga.h>
slouken@0
   967
         #include <vgamouse.h>
slouken@0
   968
         #include <vgakeyboard.h>
slouken@0
   969
        ],[
slouken@0
   970
         if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) {
slouken@0
   971
             exit(0);
slouken@0
   972
         }
slouken@0
   973
        ],[
slouken@0
   974
        video_svga=yes
slouken@0
   975
        ])
slouken@0
   976
        AC_MSG_RESULT($video_svga)
slouken@0
   977
        if test x$video_svga = xyes; then
slouken@0
   978
            CFLAGS="$CFLAGS -DENABLE_SVGALIB"
slouken@0
   979
            SYSTEM_LIBS="$SYSTEM_LIBS -lvga"
slouken@0
   980
slouken@0
   981
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS svga"
slouken@0
   982
            VIDEO_DRIVERS="$VIDEO_DRIVERS svga/libvideo_svga.la"
slouken@0
   983
        fi
slouken@0
   984
    fi
slouken@0
   985
}
slouken@0
   986
slouken@75
   987
dnl Find the VGL includes and libraries
slouken@75
   988
CheckVGL()
slouken@75
   989
{
slouken@75
   990
    AC_ARG_ENABLE(video-vgl,
patmandin@651
   991
[  --enable-video-vgl      use VGL video driver [default=no]],
slouken@75
   992
                  , enable_video_vgl=no)
slouken@75
   993
    if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
slouken@75
   994
        AC_MSG_CHECKING(for libVGL support)
slouken@75
   995
        video_vgl=no
slouken@75
   996
        AC_TRY_COMPILE([
slouken@75
   997
         #include <sys/fbio.h>
slouken@75
   998
         #include <sys/consio.h>
slouken@75
   999
         #include <sys/kbio.h>
slouken@75
  1000
         #include <vgl.h>
slouken@75
  1001
        ],[
slouken@75
  1002
         VGLBitmap bitmap;
slouken@144
  1003
         exit(bitmap.Bitmap);
slouken@75
  1004
        ],[
slouken@75
  1005
        video_vgl=yes
slouken@75
  1006
        ])
slouken@75
  1007
        AC_MSG_RESULT($video_vgl)
slouken@75
  1008
        if test x$video_vgl = xyes; then
slouken@75
  1009
            CFLAGS="$CFLAGS -DENABLE_VGL"
slouken@75
  1010
            SYSTEM_LIBS="$SYSTEM_LIBS -lvgl"
slouken@75
  1011
slouken@75
  1012
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS vgl"
slouken@75
  1013
            VIDEO_DRIVERS="$VIDEO_DRIVERS vgl/libvideo_vgl.la"
slouken@75
  1014
        fi
slouken@75
  1015
    fi
slouken@75
  1016
}
slouken@75
  1017
slouken@0
  1018
dnl Find the AAlib includes
slouken@0
  1019
CheckAAlib()
slouken@0
  1020
{
slouken@0
  1021
    AC_ARG_ENABLE(video-aalib,
slouken@0
  1022
[  --enable-video-aalib    use AAlib video driver [default=no]],
slouken@0
  1023
                  , enable_video_aalib=no)
slouken@0
  1024
    if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then
slouken@0
  1025
        AC_MSG_CHECKING(for AAlib support)
slouken@0
  1026
        video_aalib=no
slouken@0
  1027
        AC_TRY_COMPILE([
slouken@0
  1028
         #include <aalib.h>
slouken@0
  1029
        ],[
slouken@0
  1030
        ],[
slouken@0
  1031
        video_aalib=yes
slouken@0
  1032
        ])
slouken@0
  1033
        AC_MSG_RESULT($video_aalib)
slouken@0
  1034
        if test x$video_aalib = xyes; then
slouken@0
  1035
            CFLAGS="$CFLAGS -DENABLE_AALIB"
slouken@0
  1036
            SYSTEM_LIBS="$SYSTEM_LIBS -laa"
slouken@0
  1037
slouken@0
  1038
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS aalib"
slouken@0
  1039
            VIDEO_DRIVERS="$VIDEO_DRIVERS aalib/libvideo_aa.la"
slouken@0
  1040
        fi
slouken@0
  1041
    fi
slouken@0
  1042
}
slouken@0
  1043
slouken@281
  1044
dnl Set up the Atari Xbios driver
slouken@281
  1045
CheckAtariXbiosVideo()
slouken@281
  1046
{
slouken@281
  1047
    AC_ARG_ENABLE(xbios,
slouken@281
  1048
[  --enable-video-xbios    use Atari Xbios video driver [default=yes]],
slouken@281
  1049
                  , enable_video_xbios=yes)
slouken@281
  1050
    video_xbios=no
slouken@281
  1051
    if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
slouken@281
  1052
        video_xbios=yes
slouken@281
  1053
        CFLAGS="$CFLAGS -DENABLE_XBIOS"
slouken@281
  1054
        VIDEO_SUBDIRS="$VIDEO_SUBDIRS xbios"
slouken@281
  1055
        VIDEO_DRIVERS="$VIDEO_DRIVERS xbios/libvideo_xbios.la"
slouken@281
  1056
    fi
slouken@281
  1057
}
slouken@281
  1058
slouken@281
  1059
dnl Set up the Atari Gem driver
slouken@281
  1060
CheckAtariGemVideo()
slouken@281
  1061
{
slouken@281
  1062
    AC_ARG_ENABLE(gem,
slouken@281
  1063
[  --enable-video-gem      use Atari Gem video driver [default=yes]],
slouken@281
  1064
                  , enable_video_gem=yes)
slouken@281
  1065
    if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
slouken@281
  1066
        video_gem=no
slouken@281
  1067
        AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
slouken@281
  1068
        AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
slouken@281
  1069
        if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
slouken@281
  1070
            video_gem=yes
slouken@281
  1071
            CFLAGS="$CFLAGS -DENABLE_GEM"
slouken@281
  1072
            SYSTEM_LIBS="$SYSTEM_LIBS -lgem"
slouken@281
  1073
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS gem"
slouken@281
  1074
            VIDEO_DRIVERS="$VIDEO_DRIVERS gem/libvideo_gem.la"
slouken@281
  1075
        fi
slouken@281
  1076
    fi
slouken@281
  1077
}
slouken@281
  1078
slouken@281
  1079
dnl Set up the Atari Bios keyboard driver
slouken@281
  1080
CheckAtariBiosEvent()
slouken@281
  1081
{
slouken@281
  1082
    CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/ataricommon"
slouken@281
  1083
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS ataricommon"
slouken@281
  1084
    VIDEO_DRIVERS="$VIDEO_DRIVERS ataricommon/libvideo_ataricommon.la"
slouken@281
  1085
}
slouken@281
  1086
slouken@1
  1087
dnl rcg04172001 Set up the Null video driver.
slouken@1
  1088
CheckDummyVideo()
slouken@1
  1089
{
slouken@1
  1090
    AC_ARG_ENABLE(video-dummy,
slouken@86
  1091
[  --enable-video-dummy    use dummy video driver [default=yes]],
slouken@86
  1092
                  , enable_video_dummy=yes)
slouken@1
  1093
    if test x$enable_video_dummy = xyes; then
slouken@1
  1094
      CFLAGS="$CFLAGS -DENABLE_DUMMYVIDEO"
slouken@1
  1095
      VIDEO_SUBDIRS="$VIDEO_SUBDIRS dummy"
slouken@1
  1096
      VIDEO_DRIVERS="$VIDEO_DRIVERS dummy/libvideo_null.la"
slouken@1
  1097
    fi
slouken@1
  1098
}
slouken@1
  1099
slouken@0
  1100
dnl Check to see if OpenGL support is desired
slouken@0
  1101
AC_ARG_ENABLE(video-opengl,
slouken@0
  1102
[  --enable-video-opengl   include OpenGL context creation [default=yes]],
slouken@0
  1103
              , enable_video_opengl=yes)
slouken@0
  1104
slouken@0
  1105
dnl Find OpenGL
icculus@1191
  1106
CheckOpenGLX11()
slouken@0
  1107
{
slouken@0
  1108
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@0
  1109
        AC_MSG_CHECKING(for OpenGL (GLX) support)
slouken@0
  1110
        video_opengl=no
slouken@0
  1111
        AC_TRY_COMPILE([
slouken@0
  1112
         #include <GL/gl.h>
slouken@0
  1113
         #include <GL/glx.h>
slouken@0
  1114
         #include <dlfcn.h> /* For loading extensions */
slouken@0
  1115
        ],[
slouken@0
  1116
        ],[
slouken@0
  1117
        video_opengl=yes
slouken@0
  1118
        ])
slouken@0
  1119
        AC_MSG_RESULT($video_opengl)
slouken@0
  1120
        if test x$video_opengl = xyes; then
icculus@1191
  1121
            CFLAGS="$CFLAGS -DHAVE_OPENGL -DHAVE_OPENGL_X11"
icculus@1173
  1122
            if test x$have_loadso != xyes; then
slouken@296
  1123
                AC_CHECK_LIB(dl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -ldl")
slouken@296
  1124
            fi
slouken@0
  1125
        fi
slouken@0
  1126
    fi
slouken@0
  1127
}
slouken@0
  1128
slouken@279
  1129
dnl Find QNX RtP OpenGL
slouken@279
  1130
CheckOpenGLQNX()
slouken@279
  1131
{
slouken@279
  1132
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@279
  1133
        AC_MSG_CHECKING(for OpenGL (Photon) support)
slouken@279
  1134
        video_opengl=no
slouken@279
  1135
        AC_TRY_COMPILE([
slouken@279
  1136
         #include <GL/gl.h>
slouken@279
  1137
        ],[
slouken@279
  1138
        ],[
slouken@279
  1139
        video_opengl=yes
slouken@279
  1140
        ])
slouken@279
  1141
        AC_MSG_RESULT($video_opengl)
slouken@279
  1142
        if test x$video_opengl = xyes; then
slouken@279
  1143
            CFLAGS="$CFLAGS -DHAVE_OPENGL"
slouken@279
  1144
            SYSTEM_LIBS="$SYSTEM_LIBS -lGL"
icculus@1173
  1145
            if test x$have_loadso != xyes; then
slouken@666
  1146
                AC_CHECK_LIB(c, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS", AC_CHECK_LIB(ltdl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -lltdl"))
slouken@570
  1147
            fi
slouken@279
  1148
        fi
slouken@279
  1149
    fi
slouken@279
  1150
}
slouken@279
  1151
slouken@0
  1152
dnl Check for BeOS OpenGL
slouken@0
  1153
CheckBeGL()
slouken@0
  1154
{
slouken@0
  1155
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@0
  1156
        CFLAGS="$CFLAGS -DHAVE_OPENGL"
slouken@0
  1157
        SYSTEM_LIBS="$SYSTEM_LIBS -lGL"
slouken@0
  1158
    fi
slouken@0
  1159
}
slouken@0
  1160
slouken@0
  1161
dnl Check for MacOS OpenGL
slouken@0
  1162
CheckMacGL()
slouken@0
  1163
{
slouken@0
  1164
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@0
  1165
        CFLAGS="$CFLAGS -DHAVE_OPENGL"
slouken@0
  1166
        case "$target" in
slouken@0
  1167
            *-*-darwin*)
icculus@1133
  1168
                SYSTEM_LIBS="$SYSTEM_LIBS -framework OpenGL"
icculus@1133
  1169
                # The following is probably not available in Darwin:
icculus@1133
  1170
                SYSTEM_LIBS="$SYSTEM_LIBS -framework AGL"
slouken@0
  1171
        esac
slouken@0
  1172
    fi
slouken@0
  1173
}
slouken@0
  1174
patmandin@978
  1175
dnl Check for Mesa offscreen rendering
patmandin@989
  1176
CheckAtariOSMesa()
patmandin@978
  1177
{
patmandin@989
  1178
    if test "x$enable_video" = "xyes" -a "x$enable_video_opengl" = "xyes"; then
patmandin@991
  1179
        AC_CHECK_HEADER(GL/osmesa.h, have_osmesa_hdr=yes)
patmandin@991
  1180
        AC_CHECK_LIB(OSMesa, OSMesaCreateContext, have_osmesa_lib=yes, have_osmesa_lib=no, -lm)
patmandin@991
  1181
patmandin@991
  1182
        # Static linking to -lOSMesa
patmandin@989
  1183
        AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
patmandin@989
  1184
        if test "x$OSMESA_CONFIG" = "xno" -o "x$enable_atari_ldg" = "xno"; then
patmandin@991
  1185
            # -lOSMesa is really the static library
patmandin@989
  1186
            if test "x$have_osmesa_hdr" = "xyes" -a "x$have_osmesa_lib" = "xyes"; then
patmandin@989
  1187
    	        CFLAGS="$CFLAGS -DHAVE_OPENGL"
patmandin@989
  1188
		    	SYSTEM_LIBS="$SYSTEM_LIBS -lOSMesa"
patmandin@989
  1189
            fi
patmandin@989
  1190
        else
patmandin@991
  1191
            # -lOSMesa is a loader for OSMesa.ldg
patmandin@989
  1192
            OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
patmandin@989
  1193
            OSMESA_LIBS=`$OSMESA_CONFIG --libs`
patmandin@991
  1194
            CFLAGS="$CFLAGS -DHAVE_OPENGL $OSMESA_CFLAGS"
patmandin@989
  1195
            SYSTEM_LIBS="$SYSTEM_LIBS $OSMESA_LIBS"
patmandin@978
  1196
        fi
patmandin@991
  1197
patmandin@991
  1198
        AC_ARG_ENABLE(osmesa-shared,
patmandin@991
  1199
[  --enable-osmesa-shared  dynamically load OSMesa OpenGL support [default=yes]],
patmandin@991
  1200
                              , enable_osmesa_shared=yes)
patmandin@991
  1201
        if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then
patmandin@991
  1202
            # Dynamic linking
patmandin@991
  1203
            if test "x$have_osmesa_hdr" = "xyes"; then
patmandin@991
  1204
                CFLAGS="$CFLAGS -DENABLE_OSMESA_SHARED"
patmandin@991
  1205
            fi
patmandin@991
  1206
		fi
patmandin@978
  1207
    fi
patmandin@978
  1208
}
patmandin@978
  1209
slouken@0
  1210
dnl See if we can use the new unified event interface in Linux 2.4
slouken@0
  1211
CheckInputEvents()
slouken@0
  1212
{
slouken@0
  1213
    dnl Check for Linux 2.4 unified input event interface support
slouken@0
  1214
    AC_ARG_ENABLE(input-events,
slouken@211
  1215
[  --enable-input-events   use Linux 2.4 unified input interface [default=yes]],
slouken@211
  1216
                  , enable_input_events=yes)
slouken@0
  1217
    if test x$enable_input_events = xyes; then
slouken@0
  1218
        AC_MSG_CHECKING(for Linux 2.4 unified input interface)
slouken@0
  1219
        use_input_events=no
slouken@0
  1220
        AC_TRY_COMPILE([
slouken@0
  1221
          #include <linux/input.h>
slouken@0
  1222
        ],[
slouken@0
  1223
          #ifndef EVIOCGNAME
slouken@0
  1224
          #error EVIOCGNAME() ioctl not available
slouken@0
  1225
          #endif
slouken@0
  1226
        ],[
slouken@0
  1227
        use_input_events=yes
slouken@0
  1228
        ])
slouken@0
  1229
        AC_MSG_RESULT($use_input_events)
slouken@0
  1230
        if test x$use_input_events = xyes; then
slouken@0
  1231
            CFLAGS="$CFLAGS -DUSE_INPUT_EVENTS"
slouken@0
  1232
        fi
slouken@0
  1233
    fi
slouken@0
  1234
}
slouken@0
  1235
slouken@399
  1236
dnl See if we can use GNU pth library for threads
slouken@399
  1237
CheckPTH()
slouken@399
  1238
{
slouken@399
  1239
    dnl Check for pth support
slouken@399
  1240
    AC_ARG_ENABLE(pth,
slouken@399
  1241
[  --enable-pth            use GNU pth library for multi-threading [default=yes]],
slouken@399
  1242
                  , enable_pth=yes)
slouken@399
  1243
    if test x$enable_threads = xyes -a x$enable_pth = xyes; then
slouken@399
  1244
        AC_PATH_PROG(PTH_CONFIG, pth-config, no)
slouken@399
  1245
        if test "$PTH_CONFIG" = "no"; then
slouken@399
  1246
            use_pth=no
slouken@399
  1247
        else
slouken@399
  1248
            PTH_CFLAGS=`$PTH_CONFIG --cflags`
slouken@399
  1249
            PTH_LIBS=`$PTH_CONFIG --libs --all`
slouken@399
  1250
            SDL_CFLAGS="$SDL_CFLAGS $PTH_CFLAGS"
slouken@399
  1251
            SDL_LIBS="$SDL_LIBS $PTH_LIBS"
slouken@399
  1252
            CFLAGS="$CFLAGS -DENABLE_PTH"
slouken@399
  1253
            use_pth=yes
slouken@399
  1254
        fi
slouken@399
  1255
        AC_MSG_CHECKING(pth)
slouken@399
  1256
        if test "x$use_pth" = xyes; then
slouken@399
  1257
            AC_MSG_RESULT(yes)
slouken@399
  1258
        else
slouken@399
  1259
            AC_MSG_RESULT(no)
slouken@399
  1260
        fi
slouken@399
  1261
    fi
slouken@399
  1262
}
slouken@399
  1263
slouken@0
  1264
dnl See what type of thread model to use on Linux and Solaris
slouken@0
  1265
CheckPTHREAD()
slouken@0
  1266
{
slouken@0
  1267
    dnl Check for pthread support
slouken@0
  1268
    AC_ARG_ENABLE(pthreads,
slouken@0
  1269
[  --enable-pthreads       use POSIX threads for multi-threading [default=yes]],
slouken@0
  1270
                  , enable_pthreads=yes)
slouken@0
  1271
    dnl This is used on Linux for glibc binary compatibility (Doh!)
slouken@0
  1272
    AC_ARG_ENABLE(pthread-sem,
slouken@86
  1273
[  --enable-pthread-sem    use pthread semaphores [default=yes]],
slouken@0
  1274
                  , enable_pthread_sem=yes)
slouken@0
  1275
    case "$target" in
slouken@0
  1276
        *-*-bsdi*)
slouken@0
  1277
            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
slouken@0
  1278
            pthread_lib=""
slouken@0
  1279
            ;;
slouken@0
  1280
        *-*-darwin*)
slouken@0
  1281
            pthread_cflags="-D_THREAD_SAFE"
slouken@0
  1282
# causes Carbon.p complaints?
slouken@0
  1283
#            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
slouken@0
  1284
            ;;
slouken@0
  1285
        *-*-freebsd*)
slouken@0
  1286
            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
slouken@0
  1287
            pthread_lib="-pthread"
slouken@0
  1288
            ;;
slouken@43
  1289
        *-*-netbsd*)
slouken@43
  1290
            pthread_cflags="-I/usr/pkg/include -D_REENTRANT"
slouken@43
  1291
            pthread_lib="-L/usr/pkg/lib -lpthread -lsem"
slouken@43
  1292
            ;;
slouken@0
  1293
        *-*-openbsd*)
slouken@0
  1294
            pthread_cflags="-D_REENTRANT"
slouken@0
  1295
            pthread_lib="-pthread"
slouken@0
  1296
            ;;
slouken@0
  1297
        *-*-solaris*)
slouken@0
  1298
            pthread_cflags="-D_REENTRANT"
slouken@0
  1299
            pthread_lib="-lpthread -lposix4"
slouken@0
  1300
            ;;
slouken@0
  1301
        *-*-sysv5*)
slouken@0
  1302
            pthread_cflags="-D_REENTRANT -Kthread"
slouken@0
  1303
            pthread_lib=""
slouken@0
  1304
            ;;
slouken@0
  1305
        *-*-irix*)
slouken@0
  1306
            pthread_cflags="-D_SGI_MP_SOURCE"
slouken@0
  1307
            pthread_lib="-lpthread"
slouken@0
  1308
            ;;
slouken@0
  1309
        *-*-aix*)
slouken@0
  1310
            pthread_cflags="-D_REENTRANT -mthreads"
slouken@0
  1311
            pthread_lib="-lpthread"
slouken@0
  1312
            ;;
icculus@425
  1313
        *-*-hpux11*)
icculus@425
  1314
            pthread_cflags="-D_REENTRANT"
icculus@425
  1315
            pthread_lib="-L/usr/lib -lpthread"
icculus@425
  1316
            ;;
slouken@0
  1317
        *-*-qnx*)
slouken@0
  1318
            pthread_cflags=""
slouken@0
  1319
            pthread_lib=""
slouken@0
  1320
            ;;
slouken@873
  1321
        *-*-osf*)
slouken@1019
  1322
            pthread_cflags="-D_REENTRANT"
slouken@873
  1323
            if test x$ac_cv_prog_gcc = xyes; then
slouken@873
  1324
                pthread_lib="-lpthread -lrt"
slouken@873
  1325
            else
slouken@1019
  1326
                pthread_lib="-lpthread -lexc -lrt"
slouken@873
  1327
            fi
slouken@873
  1328
            ;;
slouken@0
  1329
        *)
slouken@0
  1330
            pthread_cflags="-D_REENTRANT"
slouken@0
  1331
            pthread_lib="-lpthread"
slouken@0
  1332
            ;;
slouken@0
  1333
    esac
icculus@1140
  1334
    if test x$enable_threads = xyes -a x$enable_pthreads = xyes -a x$enable_ipod != xyes; then
slouken@415
  1335
        # Save the original compiler flags and libraries
slouken@415
  1336
        ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
slouken@415
  1337
        # Add the pthread compiler flags and libraries
slouken@415
  1338
        CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
slouken@415
  1339
        # Check to see if we have pthread support on this system
slouken@0
  1340
        AC_MSG_CHECKING(for pthreads)
slouken@0
  1341
        use_pthreads=no
slouken@0
  1342
        AC_TRY_LINK([
slouken@0
  1343
         #include <pthread.h>
slouken@0
  1344
        ],[
slouken@0
  1345
         pthread_attr_t type;
slouken@0
  1346
         pthread_attr_init(&type);
slouken@0
  1347
        ],[
slouken@0
  1348
        use_pthreads=yes
slouken@0
  1349
        ])
slouken@0
  1350
        AC_MSG_RESULT($use_pthreads)
slouken@415
  1351
        # Restore the compiler flags and libraries
slouken@415
  1352
        CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
slouken@415
  1353
        # Do futher testing if we have pthread support...
slouken@0
  1354
        if test x$use_pthreads = xyes; then
slouken@0
  1355
            CFLAGS="$CFLAGS $pthread_cflags -DSDL_USE_PTHREADS"
slouken@846
  1356
            LIBS="$LIBS $pthread_lib"
slouken@0
  1357
            SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
slouken@0
  1358
            SDL_LIBS="$SDL_LIBS $pthread_lib"
slouken@0
  1359
slouken@0
  1360
            # Check to see if recursive mutexes are available
slouken@0
  1361
            AC_MSG_CHECKING(for recursive mutexes)
slouken@0
  1362
            has_recursive_mutexes=no
slouken@0
  1363
            AC_TRY_LINK([
slouken@0
  1364
              #include <pthread.h>
slouken@0
  1365
            ],[
slouken@0
  1366
              pthread_mutexattr_t attr;
slouken@371
  1367
              #if defined(linux) && !(defined(__arm__) && defined(QWS))
slouken@0
  1368
              pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
slouken@0
  1369
              #else
slouken@0
  1370
              pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
slouken@0
  1371
              #endif
slouken@0
  1372
            ],[
slouken@0
  1373
            has_recursive_mutexes=yes
slouken@0
  1374
            ])
slouken@0
  1375
            # Some systems have broken recursive mutex implementations
slouken@0
  1376
            case "$target" in
slouken@399
  1377
                *-*-darwin*)
slouken@399
  1378
                    has_recursive_mutexes=no
slouken@399
  1379
                    ;;
slouken@0
  1380
                *-*-solaris*)
slouken@0
  1381
                    has_recursive_mutexes=no
slouken@0
  1382
                    ;;
slouken@0
  1383
            esac
slouken@0
  1384
            AC_MSG_RESULT($has_recursive_mutexes)
slouken@0
  1385
            if test x$has_recursive_mutexes != xyes; then
slouken@0
  1386
                CFLAGS="$CFLAGS -DPTHREAD_NO_RECURSIVE_MUTEX"
slouken@0
  1387
            fi
slouken@0
  1388
slouken@94
  1389
            # Check to see if pthread semaphore support is missing
slouken@94
  1390
            if test x$enable_pthread_sem = xyes; then
slouken@94
  1391
                AC_MSG_CHECKING(for pthread semaphores)
slouken@94
  1392
                have_pthread_sem=no
slouken@94
  1393
                AC_TRY_COMPILE([
slouken@94
  1394
                  #include <pthread.h>
slouken@94
  1395
                  #include <semaphore.h>
slouken@94
  1396
                ],[
slouken@94
  1397
                ],[
slouken@94
  1398
                have_pthread_sem=yes
slouken@94
  1399
                ])
slouken@94
  1400
                AC_MSG_RESULT($have_pthread_sem)
slouken@94
  1401
            fi
slouken@94
  1402
slouken@0
  1403
            # Check to see if this is broken glibc 2.0 pthreads
slouken@0
  1404
            case "$target" in
slouken@0
  1405
                *-*-linux*)
slouken@0
  1406
                    AC_MSG_CHECKING(for broken glibc 2.0 pthreads)
slouken@0
  1407
                    glibc20_pthreads=no
slouken@0
  1408
                    AC_TRY_COMPILE([
slouken@0
  1409
                      #include <features.h>
slouken@0
  1410
                      #if (__GLIBC__ == 2) && (__GLIBC_MINOR__ == 0)
slouken@0
  1411
                      #warning Working around a bug in glibc 2.0 pthreads
slouken@0
  1412
                      #else
slouken@0
  1413
                      #error pthread implementation okay
slouken@0
  1414
                      #endif /* glibc 2.0 */
slouken@0
  1415
                    ],[
slouken@0
  1416
                    ],[
slouken@0
  1417
                    glibc20_pthreads=yes
slouken@0
  1418
                    ])
slouken@0
  1419
                    AC_MSG_RESULT($glibc20_pthreads)
slouken@0
  1420
            esac
slouken@0
  1421
        fi
slouken@0
  1422
    fi
slouken@0
  1423
slouken@0
  1424
    AC_MSG_CHECKING(whether semun is defined in /usr/include/sys/sem.h)
slouken@0
  1425
    have_semun=no
slouken@0
  1426
    AC_TRY_COMPILE([
slouken@0
  1427
      #include <sys/types.h>
slouken@0
  1428
      #include <sys/sem.h>
slouken@0
  1429
    ],[
slouken@0
  1430
      union semun t;
slouken@0
  1431
    ],[
slouken@0
  1432
    have_semun=yes
slouken@0
  1433
    ])
slouken@0
  1434
    AC_MSG_RESULT($have_semun)
slouken@0
  1435
    if test x$have_semun = xyes; then
slouken@0
  1436
        CFLAGS="$CFLAGS -DHAVE_SEMUN"
slouken@0
  1437
    fi
slouken@0
  1438
slouken@399
  1439
    # See if we can use GNU Pth or clone() on Linux directly
slouken@0
  1440
    if test x$enable_threads = xyes -a x$use_pthreads != xyes; then
slouken@399
  1441
        CheckPTH
slouken@399
  1442
        if test x$use_pth != xyes; then
slouken@399
  1443
            case "$target" in
slouken@399
  1444
                *-*-linux*)
slouken@399
  1445
                    use_clone=yes
slouken@399
  1446
                    ;;
slouken@399
  1447
            esac
slouken@399
  1448
        fi
slouken@0
  1449
    fi
slouken@0
  1450
}
slouken@0
  1451
slouken@399
  1452
# Note that we need to have either semaphores or to have mutexes and
slouken@399
  1453
# condition variables to implement all thread synchronization primitives
slouken@399
  1454
CopyUnixThreadSource()
slouken@185
  1455
{
slouken@399
  1456
    if test x$use_pthreads = xyes -o x$use_clone = xyes; then
slouken@399
  1457
        # Basic thread creation functions
slouken@399
  1458
        COPY_ARCH_SRC(src/thread, linux, SDL_systhread.c)
slouken@399
  1459
        COPY_ARCH_SRC(src/thread, linux, SDL_systhread_c.h)
slouken@399
  1460
slouken@399
  1461
        # Semaphores
slouken@399
  1462
        # We can fake these with mutexes and condition variables if necessary
slouken@399
  1463
        if test x$use_pthreads = xyes -a x$have_pthread_sem != xyes; then
slouken@399
  1464
            COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
slouken@185
  1465
        else
slouken@399
  1466
            COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
slouken@185
  1467
        fi
slouken@399
  1468
        COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
slouken@399
  1469
slouken@399
  1470
        # Mutexes
slouken@399
  1471
        # We can fake these with semaphores if necessary
slouken@399
  1472
        case "$target" in
slouken@399
  1473
            *-*-bsdi*)
slouken@399
  1474
                COPY_ARCH_SRC(src/thread, bsdi, SDL_syssem.c)
slouken@399
  1475
                COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
slouken@599
  1476
                COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
slouken@599
  1477
                COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
slouken@399
  1478
                ;;
slouken@399
  1479
            *)
slouken@399
  1480
                if test x$glibc20_pthreads = xyes; then
slouken@399
  1481
                    COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
slouken@399
  1482
                    COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
slouken@399
  1483
                else
slouken@399
  1484
                    COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
slouken@399
  1485
                    COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
slouken@399
  1486
                fi
slouken@399
  1487
                ;;
slouken@399
  1488
        esac
slouken@399
  1489
slouken@399
  1490
        # Condition variables
slouken@399
  1491
        # We can fake these with semaphores and mutexes if necessary
slouken@399
  1492
        if test x$glibc20_pthreads = xyes -o x$has_recursive_mutexes != xyes; then
slouken@399
  1493
            COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
slouken@185
  1494
        else
slouken@399
  1495
            COPY_ARCH_SRC(src/thread, linux, SDL_syscond.c)
slouken@185
  1496
        fi
slouken@399
  1497
        COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
slouken@399
  1498
slouken@400
  1499
    elif test x$use_pth = xyes; then
slouken@399
  1500
        COPY_ARCH_SRC(src/thread, pth, SDL_systhread.c)
slouken@399
  1501
        COPY_ARCH_SRC(src/thread, pth, SDL_systhread_c.h)
slouken@399
  1502
        COPY_ARCH_SRC(src/thread, pth, SDL_sysmutex.c)
slouken@399
  1503
        COPY_ARCH_SRC(src/thread, pth, SDL_sysmutex_c.h)
slouken@399
  1504
        COPY_ARCH_SRC(src/thread, pth, SDL_syscond.c)
slouken@399
  1505
        COPY_ARCH_SRC(src/thread, pth, SDL_syscond_c.h)
slouken@399
  1506
        COPY_ARCH_SRC(src/thread, generic, SDL_syssem.c)
slouken@399
  1507
        COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
slouken@399
  1508
    else
slouken@399
  1509
       AC_MSG_ERROR([
slouken@399
  1510
*** No thread support detected
slouken@399
  1511
       ])
slouken@185
  1512
    fi
slouken@185
  1513
}
slouken@185
  1514
slouken@814
  1515
dnl See if we can use sigaction() instead of signal()
slouken@814
  1516
CheckSIGACTION()
slouken@814
  1517
{
slouken@814
  1518
    dnl Check for sigaction support
slouken@814
  1519
    AC_ARG_ENABLE(sigaction,
slouken@814
  1520
[  --enable-sigaction      use sigaction instead of signal [default=yes]],
slouken@814
  1521
                  , enable_sigaction=yes)
slouken@814
  1522
    if test x$enable_sigaction = xyes; then
slouken@814
  1523
        AC_MSG_CHECKING(sigaction)
slouken@814
  1524
        have_sigaction=no
slouken@814
  1525
        AC_TRY_COMPILE([
slouken@814
  1526
         #include <signal.h>
slouken@814
  1527
        ],[
slouken@814
  1528
         struct sigaction junk;
slouken@814
  1529
         sigaction(0, &junk, &junk);
slouken@814
  1530
        ],[
slouken@814
  1531
        have_sigaction=yes
slouken@814
  1532
        ])
slouken@814
  1533
        AC_MSG_RESULT($have_sigaction)
slouken@814
  1534
        if test x$have_sigaction = xyes; then
slouken@814
  1535
            CFLAGS="$CFLAGS -DHAVE_SIGACTION"
slouken@814
  1536
        fi
slouken@814
  1537
    fi
slouken@814
  1538
}
slouken@814
  1539
slouken@0
  1540
dnl Determine whether the compiler can produce Win32 executables
slouken@0
  1541
CheckWIN32()
slouken@0
  1542
{
slouken@0
  1543
    AC_MSG_CHECKING(Win32 compiler)
slouken@0
  1544
    have_win32_gcc=no
slouken@0
  1545
    AC_TRY_COMPILE([
slouken@0
  1546
     #include <windows.h>
slouken@0
  1547
    ],[
slouken@0
  1548
    ],[
slouken@0
  1549
    have_win32_gcc=yes
slouken@0
  1550
    ])
slouken@0
  1551
    AC_MSG_RESULT($have_win32_gcc)
slouken@0
  1552
    if test x$have_win32_gcc != xyes; then
slouken@0
  1553
       AC_MSG_ERROR([
slouken@0
  1554
*** Your compiler ($CC) does not produce Win32 executables!
slouken@0
  1555
       ])
slouken@0
  1556
    fi
slouken@0
  1557
slouken@0
  1558
    dnl See if the user wants to redirect standard output to files
slouken@0
  1559
    AC_ARG_ENABLE(stdio-redirect,
slouken@0
  1560
[  --enable-stdio-redirect Redirect STDIO to files on Win32 [default=yes]],
slouken@0
  1561
                  , enable_stdio_redirect=yes)
slouken@0
  1562
    if test x$enable_stdio_redirect != xyes; then
slouken@0
  1563
        CFLAGS="$CFLAGS -DNO_STDIO_REDIRECT"
slouken@0
  1564
    fi
slouken@0
  1565
}
slouken@0
  1566
slouken@0
  1567
dnl Find the DirectX includes and libraries
slouken@0
  1568
CheckDIRECTX()
slouken@0
  1569
{
slouken@0
  1570
    AC_ARG_ENABLE(directx,
slouken@0
  1571
[  --enable-directx        use DirectX for Win32 audio/video [default=yes]],
slouken@0
  1572
                  , enable_directx=yes)
slouken@0
  1573
    if test x$enable_directx = xyes; then
slouken@0
  1574
        AC_MSG_CHECKING(for DirectX headers and libraries)
slouken@0
  1575
        use_directx=no
patmandin@780
  1576
        tmp_cflags=$CFLAGS
patmandin@780
  1577
        CFLAGS="$CFLAGS -I$srcdir"
slouken@0
  1578
        AC_TRY_COMPILE([
slouken@0
  1579
         #include "src/video/windx5/directx.h"
slouken@0
  1580
        ],[
slouken@0
  1581
        ],[
slouken@0
  1582
        use_directx=yes
slouken@0
  1583
        ])
patmandin@780
  1584
        CFLAGS=$tmp_cflags
slouken@0
  1585
        AC_MSG_RESULT($use_directx)
slouken@0
  1586
    fi
slouken@0
  1587
slouken@0
  1588
    CFLAGS="$CFLAGS -I\$(top_srcdir)/src/video/wincommon"
slouken@0
  1589
    SYSTEM_LIBS="$SYSTEM_LIBS -luser32 -lgdi32 -lwinmm"
slouken@0
  1590
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS wincommon"
slouken@0
  1591
    VIDEO_DRIVERS="$VIDEO_DRIVERS wincommon/libvideo_wincommon.la"
slouken@0
  1592
    # Enable the DIB driver
slouken@0
  1593
    CFLAGS="$CFLAGS -DENABLE_WINDIB"
slouken@0
  1594
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS windib"
slouken@0
  1595
    VIDEO_DRIVERS="$VIDEO_DRIVERS windib/libvideo_windib.la"
slouken@0
  1596
    # See if we should enable the DirectX driver
slouken@0
  1597
    if test x$use_directx = xyes; then
slouken@0
  1598
        CFLAGS="$CFLAGS -DENABLE_DIRECTX"
slouken@0
  1599
        SYSTEM_LIBS="$SYSTEM_LIBS -ldxguid"
slouken@0
  1600
        VIDEO_SUBDIRS="$VIDEO_SUBDIRS windx5"
slouken@0
  1601
        VIDEO_DRIVERS="$VIDEO_DRIVERS windx5/libvideo_windx5.la"
slouken@0
  1602
    fi
slouken@0
  1603
}
slouken@0
  1604
slouken@0
  1605
dnl Set up the BWindow video driver on BeOS
slouken@0
  1606
CheckBWINDOW()
slouken@0
  1607
{
slouken@0
  1608
    CFLAGS="$CFLAGS -DENABLE_BWINDOW"
slouken@0
  1609
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS bwindow"
slouken@0
  1610
    VIDEO_DRIVERS="$VIDEO_DRIVERS bwindow/libvideo_bwindow.la"
slouken@0
  1611
}
slouken@0
  1612
slouken@371
  1613
dnl Set up the QTopia video driver if enabled
slouken@371
  1614
CheckQtopia()
slouken@371
  1615
{
slouken@371
  1616
    AC_ARG_ENABLE(video-qtopia,
slouken@371
  1617
[  --enable-video-qtopia   use Qtopia video driver [default=no]],
slouken@371
  1618
                  , enable_video_qtopia=no)
slouken@371
  1619
    if test x$enable_video = xyes -a x$enable_video_qtopia = xyes; then
slouken@371
  1620
        AC_MSG_CHECKING(for Qtopia support)
slouken@371
  1621
        video_qtopia=no
slouken@371
  1622
        AC_LANG_CPLUSPLUS
slouken@371
  1623
        OLD_CXX="$CXXFLAGS"
slouken@371
  1624
        CXXFLAGS="-DQT_QWS_EBX -fno-rtti -fno-exceptions -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG"
slouken@371
  1625
        AC_TRY_COMPILE([
slouken@371
  1626
         #include <qpe/qpeapplication.h>
slouken@371
  1627
        ],[
slouken@371
  1628
        ],[
slouken@371
  1629
        video_qtopia=yes
slouken@371
  1630
        ])
slouken@371
  1631
        CXXFLAGS="$OLD_CXX"
slouken@371
  1632
        AC_MSG_RESULT($video_qtopia)
slouken@371
  1633
        if test x$video_qtopia = xyes; then
slouken@371
  1634
            CFLAGS="$CFLAGS -DENABLE_QTOPIA -DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions"
slouken@378
  1635
            SDL_LIBS="$SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte"
slouken@567
  1636
            SDL_CFLAGS="$SDL_CFLAGS -DQWS"	  
slouken@371
  1637
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS qtopia"
slouken@371
  1638
            VIDEO_DRIVERS="$VIDEO_DRIVERS qtopia/libvideo_qtopia.la"
slouken@567
  1639
        else
slouken@567
  1640
	AC_MSG_ERROR([
slouken@567
  1641
*** Failed to find Qtopia includes. Make sure that the QTDIR and QPEDIR
slouken@567
  1642
*** environment variables are set correctly.])
slouken@371
  1643
        fi
slouken@371
  1644
        AC_LANG_C
slouken@371
  1645
    fi
slouken@371
  1646
}
slouken@371
  1647
icculus@1187
  1648
dnl Set up the wscons video driver if enabled
icculus@1187
  1649
CheckWscons()
icculus@1187
  1650
{
icculus@1187
  1651
    AC_ARG_ENABLE(video-wscons,
icculus@1187
  1652
[  --enable-video-wscons   use wscons video driver [default=no]],
icculus@1187
  1653
                  , enable_video_wscons=no)
icculus@1187
  1654
    if test x$enable_video = xyes -a x$enable_video_wscons = xyes; then
icculus@1187
  1655
        AC_MSG_CHECKING(for wscons support)
icculus@1187
  1656
        video_wscons=no
icculus@1187
  1657
        AC_LANG_C
icculus@1187
  1658
        AC_TRY_COMPILE([
icculus@1187
  1659
       #include <sys/time.h>
icculus@1187
  1660
       #include <dev/wscons/wsconsio.h>
icculus@1187
  1661
        ],[
icculus@1187
  1662
        ],[
icculus@1187
  1663
        video_wscons=yes
icculus@1187
  1664
        ])
icculus@1187
  1665
        AC_MSG_RESULT($video_wscons)
icculus@1187
  1666
        if test x$video_wscons = xyes; then
icculus@1187
  1667
            CFLAGS="$CFLAGS -DENABLE_WSCONS"
icculus@1187
  1668
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS wscons"
icculus@1187
  1669
            VIDEO_DRIVERS="$VIDEO_DRIVERS wscons/libvideo_wscons.la"
icculus@1187
  1670
        else
icculus@1187
  1671
      AC_MSG_ERROR([
icculus@1187
  1672
*** Failed to find wscons includes.])
icculus@1187
  1673
        fi
icculus@1187
  1674
      AC_LANG_C
icculus@1187
  1675
    fi
icculus@1187
  1676
}
icculus@1187
  1677
icculus@1187
  1678
slouken@433
  1679
dnl Set up the PicoGUI video driver if enabled
slouken@433
  1680
CheckPicoGUI()
slouken@433
  1681
{
slouken@433
  1682
    AC_ARG_ENABLE(video-picogui,
slouken@433
  1683
[  --enable-video-picogui  use PicoGUI video driver [default=no]],
slouken@433
  1684
                  , enable_video_picogui=no)
slouken@433
  1685
    if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then
slouken@433
  1686
        AC_MSG_CHECKING(for PicoGUI support)
slouken@433
  1687
        video_picogui=no
slouken@433
  1688
        AC_TRY_COMPILE([
slouken@433
  1689
         #include <picogui.h>
slouken@433
  1690
        ],[
slouken@433
  1691
        ],[
slouken@433
  1692
        video_picogui=yes
slouken@433
  1693
        ])
slouken@433
  1694
        AC_MSG_RESULT($video_picogui)
slouken@433
  1695
        if test x$video_picogui = xyes; then
slouken@433
  1696
	    SDL_LIBS="$SDL_LIBS -lpgui"
slouken@433
  1697
            CFLAGS="$CFLAGS -DENABLE_PICOGUI"
slouken@433
  1698
            VIDEO_SUBDIRS="$VIDEO_SUBDIRS picogui"
slouken@433
  1699
            VIDEO_DRIVERS="$VIDEO_DRIVERS picogui/libvideo_picogui.la"
slouken@433
  1700
        fi
slouken@433
  1701
        AC_LANG_C
slouken@433
  1702
    fi
slouken@433
  1703
}
slouken@433
  1704
slouken@0
  1705
dnl Set up the Mac toolbox video driver for Mac OS 7-9
slouken@0
  1706
CheckTOOLBOX()
slouken@0
  1707
{
icculus@1133
  1708
    CFLAGS="$CFLAGS -DENABLE_TOOLBOX -DENABLE_DRAWSPROCKET"
slouken@0
  1709
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS maccommon"
slouken@0
  1710
    VIDEO_DRIVERS="$VIDEO_DRIVERS maccommon/libvideo_maccommon.la"
slouken@0
  1711
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS macrom"
slouken@0
  1712
    VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la"
icculus@1133
  1713
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS macdsp"
icculus@1133
  1714
    VIDEO_DRIVERS="$VIDEO_DRIVERS macdsp/libvideo_macdsp.la"
slouken@0
  1715
}
slouken@0
  1716
icculus@1133
  1717
dnl Set up the Carbon/QuickDraw video driver for Mac OS X (but not Darwin)
slouken@0
  1718
CheckCARBON()
slouken@0
  1719
{
icculus@1133
  1720
    AC_ARG_ENABLE(video-carbon,
icculus@1133
  1721
[  --enable-video-carbon   use Carbon/QuickDraw video driver [default=no]],
icculus@1133
  1722
                  , enable_video_carbon=no)
icculus@1133
  1723
  if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then
icculus@1133
  1724
    AC_MSG_CHECKING(for Carbon framework)
icculus@1133
  1725
    have_carbon=no
icculus@1133
  1726
    if test x$have_carbon != xyes; then
icculus@1133
  1727
        AC_TRY_COMPILE([
icculus@1133
  1728
          #include <Carbon/Carbon.h>
icculus@1133
  1729
        ],[
icculus@1133
  1730
        ],[
icculus@1133
  1731
        have_carbon=yes
icculus@1133
  1732
        ])
icculus@1133
  1733
    fi
icculus@1133
  1734
    AC_MSG_RESULT($have_carbon)
icculus@1133
  1735
    if test x$have_carbon = xyes; then
slouken@0
  1736
    # "MACOSX" is not an official definition, but it's commonly
slouken@0
  1737
    # accepted as a way to differentiate between what runs on X
slouken@0
  1738
    # and what runs on older Macs - while in theory "Carbon" defns
slouken@0
  1739
    # are consistent between the two, in practice Carbon is still
slouken@0
  1740
    # changing. -sts Aug 2000
slouken@0
  1741
    mac_autoconf_target_workaround="MAC"
slouken@0
  1742
    CFLAGS="$CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers \
slouken@0
  1743
      -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"
slouken@0
  1744
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS maccommon"
slouken@0
  1745
    VIDEO_DRIVERS="$VIDEO_DRIVERS maccommon/libvideo_maccommon.la"
slouken@0
  1746
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS macrom"
slouken@0
  1747
    VIDEO_DRIVERS="$VIDEO_DRIVERS macrom/libvideo_macrom.la"
icculus@1133
  1748
    #VIDEO_SUBDIRS="$VIDEO_SUBDIRS macdsp"
icculus@1133
  1749
    #VIDEO_DRIVERS="$VIDEO_DRIVERS macdsp/libvideo_macdsp.la"
icculus@1133
  1750
    fi
icculus@1133
  1751
  fi
slouken@0
  1752
}
slouken@0
  1753
icculus@1133
  1754
dnl Set up the Cocoa/Quartz video driver for Mac OS X (but not Darwin)
icculus@1133
  1755
CheckCOCOA()
slouken@158
  1756
{
icculus@1133
  1757
    AC_ARG_ENABLE(video-cocoa,
icculus@1133
  1758
[  --enable-video-cocoa    use Cocoa/Quartz video driver [default=yes]],
icculus@1133
  1759
                  , enable_video_cocoa=yes)
icculus@1133
  1760
  if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
icculus@1133
  1761
    old_CFLAGS="$CFLAGS"
icculus@1133
  1762
    dnl work around that we don't have Objective-C support in autoconf
icculus@1133
  1763
    CFLAGS="$CFLAGS -x objective-c"
icculus@1133
  1764
    AC_MSG_CHECKING(for Cocoa framework)
icculus@1133
  1765
    have_cocoa=no
icculus@1133
  1766
    if test x$have_cocoa != xyes; then
icculus@1133
  1767
        AC_TRY_COMPILE([
icculus@1133
  1768
          #import <Cocoa/Cocoa.h>
icculus@1133
  1769
        ],[
icculus@1133
  1770
        ],[
icculus@1133
  1771
        have_cocoa=yes
icculus@1133
  1772
        ])
icculus@1133
  1773
    fi
icculus@1133
  1774
    AC_MSG_RESULT($have_cocoa)
icculus@1133
  1775
    CFLAGS="$old_CFLAGS"
icculus@1133
  1776
    if test x$have_cocoa = xyes; then
slouken@158
  1777
    # "MACOSX" is not an official definition, but it's commonly
slouken@158
  1778
    # accepted as a way to differentiate between what runs on X
slouken@158
  1779
    # and what runs on older Macs - while in theory "Carbon" defns
slouken@158
  1780
    # are consistent between the two, in practice Carbon is still
slouken@158
  1781
    # changing. -sts Aug 2000
slouken@166
  1782
    mac_autoconf_target_workaround="MAC"
slouken@158
  1783
    CFLAGS="$CFLAGS -I/System/Library/Frameworks/Carbon.framework/Headers \
slouken@158
  1784
      -I/System/Library/Frameworks/Cocoa.framework/Headers -fpascal-strings \
slouken@166
  1785
      -DENABLE_QUARTZ -DMACOSX -DTARGET_API_${mac_autoconf_target_workaround}_CARBON=1 -I\$(top_srcdir)/src/video/quartz"
slouken@158
  1786
    VIDEO_SUBDIRS="$VIDEO_SUBDIRS quartz"
slouken@158
  1787
    VIDEO_DRIVERS="$VIDEO_DRIVERS quartz/libvideo_quartz.la"
icculus@1133
  1788
    fi
icculus@1133
  1789
  fi
slouken@158
  1790
}
slouken@158
  1791
slouken@294
  1792
dnl Check for the dlfcn.h interface for dynamically loading objects
slouken@294
  1793
CheckDLOPEN()
slouken@294
  1794
{
slouken@731
  1795
    AC_ARG_ENABLE(sdl-dlopen,
slouken@731
  1796
[  --enable-sdl-dlopen     use dlopen for shared object loading [default=yes]],
slouken@731
  1797
                  , enable_sdl_dlopen=yes)
slouken@731
  1798
    if test x$enable_sdl_dlopen = xyes; then
slouken@294
  1799
        AC_MSG_CHECKING(for dlopen)
icculus@1173
  1800
        have_loadso=no
slouken@294
  1801
        AC_TRY_COMPILE([
slouken@294
  1802
         #include <dlfcn.h>
slouken@294
  1803
        ],[
slouken@294
  1804
        ],[
icculus@1173
  1805
        have_loadso=yes
slouken@294
  1806
        ])
icculus@1173
  1807
        AC_MSG_RESULT($have_loadso)
slouken@294
  1808
icculus@1173
  1809
        if test x$have_loadso = xyes; then
slouken@294
  1810
            CFLAGS="$CFLAGS -DUSE_DLOPEN"
slouken@753
  1811
            AC_CHECK_LIB(c, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS",
slouken@753
  1812
               AC_CHECK_LIB(dl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -ldl",
slouken@753
  1813
                  AC_CHECK_LIB(ltdl, dlopen, SYSTEM_LIBS="$SYSTEM_LIBS -lltdl")))
slouken@294
  1814
        fi
slouken@294
  1815
    fi
slouken@294
  1816
}
slouken@294
  1817
patmandin@651
  1818
dnl Set up the Atari LDG (shared object loader)
patmandin@651
  1819
CheckAtariLdg()
patmandin@651
  1820
{
patmandin@651
  1821
    AC_ARG_ENABLE(atari-ldg,
patmandin@651
  1822
[  --enable-atari-ldg      use Atari LDG for shared object loading [default=yes]],
patmandin@651
  1823
                  , enable_atari_ldg=yes)
patmandin@651
  1824
    if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
patmandin@651
  1825
        AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
patmandin@651
  1826
        AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
patmandin@651
  1827
        if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
icculus@1173
  1828
            have_loadso=yes
patmandin@651
  1829
            CFLAGS="$CFLAGS -DENABLE_LDG"
patmandin@824
  1830
            SYSTEM_LIBS="$SYSTEM_LIBS -lldg -lgem"
patmandin@651
  1831
        fi
patmandin@651
  1832
    fi
patmandin@651
  1833
}
patmandin@651
  1834
slouken@381
  1835
dnl Check for the usbhid(3) library on *BSD
slouken@381
  1836
CheckUSBHID()
slouken@381
  1837
{
slouken@381
  1838
    if test x$enable_joystick = xyes; then
slouken@381
  1839
        have_libusbhid=no
slouken@381
  1840
        have_libusb=no
slouken@381
  1841
        AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
slouken@381
  1842
        AC_CHECK_LIB(usb, hid_init, have_libusb=yes)
slouken@381
  1843
        if test x$have_libusbhid = xyes; then
slouken@381
  1844
            SYSTEM_LIBS="$SYSTEM_LIBS -lusbhid"
slouken@381
  1845
        fi
slouken@381
  1846
        if test x$have_libusb = xyes; then
slouken@381
  1847
            SYSTEM_LIBS="$SYSTEM_LIBS -lusb"
slouken@381
  1848
        fi
slouken@381
  1849
slouken@403
  1850
        AC_CHECK_HEADER(usb.h, have_usb_h=yes)
slouken@381
  1851
        AC_CHECK_HEADER(usbhid.h, have_usbhid_h=yes)
slouken@381
  1852
        AC_CHECK_HEADER(libusb.h, have_libusb_h=yes)
slouken@381
  1853
        AC_CHECK_HEADER(libusbhid.h, have_libusbhid_h=yes)
slouken@403
  1854
        if test x$have_usb_h = xyes; then
slouken@403
  1855
            CFLAGS="$CFLAGS -DHAVE_USB_H"
slouken@403
  1856
        fi
slouken@381
  1857
        if test x$have_usbhid_h = xyes; then
slouken@381
  1858
            CFLAGS="$CFLAGS -DHAVE_USBHID_H"
slouken@381
  1859
        fi
slouken@381
  1860
        if test x$have_libusb_h = xyes; then
slouken@381
  1861
            CFLAGS="$CFLAGS -DHAVE_LIBUSB_H"
slouken@381
  1862
        fi
slouken@381
  1863
        if test x$have_libusbhid_h = xyes; then
slouken@381
  1864
            CFLAGS="$CFLAGS -DHAVE_LIBUSBHID_H"
slouken@381
  1865
        fi
slouken@381
  1866
slouken@381
  1867
        AC_MSG_CHECKING(for usbhid)
slouken@381
  1868
        have_usbhid=no
slouken@381
  1869
        AC_TRY_COMPILE([
slouken@404
  1870
          #include <sys/types.h>
slouken@403
  1871
          #if defined(HAVE_USB_H)
slouken@403
  1872
          #include <usb.h>
slouken@403
  1873
          #endif
slouken@381
  1874
          #include <dev/usb/usb.h>
slouken@381
  1875
          #include <dev/usb/usbhid.h>
slouken@381
  1876
          #if defined(HAVE_USBHID_H)
slouken@381
  1877
          #include <usbhid.h>
slouken@381
  1878
          #elif defined(HAVE_LIBUSB_H)
slouken@381
  1879
          #include <libusb.h>
slouken@381
  1880
          #elif defined(HAVE_LIBUSBHID_H)
slouken@381
  1881
          #include <libusbhid.h>
slouken@404
  1882
          #endif
slouken@381
  1883
        ],[
slouken@381
  1884
          struct report_desc *repdesc;
slouken@381
  1885
          struct usb_ctl_report *repbuf;
slouken@402
  1886
          hid_kind_t hidkind;
slouken@381
  1887
        ],[
slouken@381
  1888
        have_usbhid=yes
slouken@381
  1889
        ])
slouken@381
  1890
        AC_MSG_RESULT($have_usbhid)
slouken@381
  1891
slouken@381
  1892
        if test x$have_usbhid = xyes; then
slouken@381
  1893
            AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
slouken@381
  1894
            have_usbhid_ucr_data=no
slouken@381
  1895
            AC_TRY_COMPILE([
slouken@404
  1896
              #include <sys/types.h>
slouken@404
  1897
              #if defined(HAVE_USB_H)
slouken@404
  1898
              #include <usb.h>
slouken@404
  1899
              #endif
slouken@381
  1900
              #include <dev/usb/usb.h>
slouken@381
  1901
              #include <dev/usb/usbhid.h>
slouken@381
  1902
              #if defined(HAVE_USBHID_H)
slouken@381
  1903
              #include <usbhid.h>
slouken@381
  1904
              #elif defined(HAVE_LIBUSB_H)
slouken@381
  1905
              #include <libusb.h>
slouken@381
  1906
              #elif defined(HAVE_LIBUSBHID_H)
slouken@381
  1907
              #include <libusbhid.h>
slouken@381
  1908
              #endif
slouken@381
  1909
            ],[
slouken@381
  1910
              struct usb_ctl_report buf;
slouken@381
  1911
              if (buf.ucr_data) { }
slouken@381
  1912
            ],[
slouken@381
  1913
            have_usbhid_ucr_data=yes
slouken@381
  1914
            ])
slouken@381
  1915
            if test x$have_usbhid_ucr_data = xyes; then
slouken@381
  1916
                CFLAGS="$CFLAGS -DUSBHID_UCR_DATA"
slouken@381
  1917
            fi
slouken@381
  1918
            AC_MSG_RESULT($have_usbhid_ucr_data)
slouken@407
  1919
            
slouken@407
  1920
	    AC_MSG_CHECKING(for new usbhid API)
slouken@407
  1921
            have_usbhid_new=no
slouken@407
  1922
            AC_TRY_COMPILE([
slouken@407
  1923
              #include <sys/types.h>
slouken@407
  1924
              #if defined(HAVE_USB_H)
slouken@407
  1925
              #include <usb.h>
slouken@407
  1926
              #endif
slouken@407
  1927
              #include <dev/usb/usb.h>
slouken@407
  1928
              #include <dev/usb/usbhid.h>
slouken@407
  1929
              #if defined(HAVE_USBHID_H)
slouken@407
  1930
              #include <usbhid.h>
slouken@407
  1931
              #elif defined(HAVE_LIBUSB_H)
slouken@407
  1932
              #include <libusb.h>
slouken@407
  1933
              #elif defined(HAVE_LIBUSBHID_H)
slouken@407
  1934
              #include <libusbhid.h>
slouken@407
  1935
              #endif
slouken@407
  1936
            ],[
slouken@407
  1937
              report_desc_t d;
slouken@407
  1938
	      hid_start_parse(d, 1, 1);
slouken@407
  1939
            ],[
slouken@407
  1940
            have_usbhid_new=yes
slouken@407
  1941
            ])
slouken@407
  1942
            if test x$have_usbhid_new = xyes; then
slouken@407
  1943
                CFLAGS="$CFLAGS -DUSBHID_NEW"
slouken@407
  1944
            fi
slouken@407
  1945
            AC_MSG_RESULT($have_usbhid_new)
slouken@381
  1946
slouken@381
  1947
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS bsd"
slouken@381
  1948
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS bsd/libjoystick_bsd.la"
slouken@381
  1949
        fi
slouken@381
  1950
    fi
slouken@381
  1951
}
slouken@381
  1952
slouken@795
  1953
dnl Check for altivec instruction support using gas syntax
slouken@795
  1954
CheckAltivec()
slouken@795
  1955
{
icculus@1175
  1956
    have_altivec_h_hdr=no
icculus@1175
  1957
    AC_CHECK_HEADER(altivec.h, have_altivec_h_hdr=yes)
icculus@1162
  1958
icculus@1162
  1959
    save_CFLAGS="${CFLAGS}"
slouken@795
  1960
    have_gcc_altivec=no
icculus@1162
  1961
    AC_MSG_CHECKING(for Altivec with GCC -maltivec option)
icculus@1162
  1962
    CFLAGS="${save_CFLAGS} -DGCC_ALTIVEC -DUSE_ALTIVEC_BLITTERS -maltivec"
icculus@1175
  1963
icculus@1175
  1964
    if test x$have_altivec_h_hdr = xyes; then
icculus@1175
  1965
      AC_TRY_COMPILE([
icculus@1175
  1966
      #include <altivec.h>
icculus@1175
  1967
      vector unsigned int vzero() {
icculus@1175
  1968
          return vec_splat_u32(0);
icculus@1175
  1969
      }
icculus@1175
  1970
      ],[
icculus@1175
  1971
      ],[
icculus@1175
  1972
      have_gcc_altivec=yes
icculus@1175
  1973
      ])
icculus@1175
  1974
      AC_MSG_RESULT($have_gcc_altivec)
icculus@1175
  1975
    else
icculus@1175
  1976
      AC_TRY_COMPILE([
icculus@1175
  1977
      vector unsigned int vzero() {
icculus@1175
  1978
          return vec_splat_u32(0);
icculus@1175
  1979
      }
icculus@1175
  1980
      ],[
icculus@1175
  1981
      ],[
icculus@1175
  1982
      have_gcc_altivec=yes
icculus@1175
  1983
      ])
icculus@1175
  1984
      AC_MSG_RESULT($have_gcc_altivec)
icculus@1175
  1985
    fi
icculus@1162
  1986
icculus@1162
  1987
    if test x$have_gcc_altivec = xno; then
icculus@1162
  1988
        AC_MSG_CHECKING(for Altivec with GCC -faltivec option)
icculus@1175
  1989
        CFLAGS="${save_CFLAGS} -DGCC_ALTIVEC -DUSE_ALTIVEC_BLITTERS -faltivec"
icculus@1175
  1990
        if test x$have_altivec_h_hdr = xyes; then
icculus@1175
  1991
          AC_TRY_COMPILE([
icculus@1175
  1992
          #include <altivec.h>
icculus@1175
  1993
          vector unsigned int vzero() {
icculus@1175
  1994
              return vec_splat_u32(0);
icculus@1175
  1995
          }
icculus@1175
  1996
          ],[
icculus@1175
  1997
          ],[
icculus@1175
  1998
          have_gcc_altivec=yes
icculus@1175
  1999
          ])
icculus@1175
  2000
          AC_MSG_RESULT($have_gcc_altivec)
icculus@1175
  2001
        else
icculus@1175
  2002
          AC_TRY_COMPILE([
icculus@1175
  2003
          vector unsigned int vzero() {
icculus@1175
  2004
              return vec_splat_u32(0);
icculus@1175
  2005
          }
icculus@1175
  2006
          ],[
icculus@1175
  2007
          ],[
icculus@1175
  2008
          have_gcc_altivec=yes
icculus@1175
  2009
          ])
icculus@1175
  2010
          AC_MSG_RESULT($have_gcc_altivec)
icculus@1175
  2011
        fi
icculus@1162
  2012
    fi
icculus@1162
  2013
icculus@1047
  2014
    if test x$have_gcc_altivec = xno; then
icculus@1047
  2015
        CFLAGS="${save_CFLAGS}"
icculus@1175
  2016
    else
icculus@1175
  2017
        if test x$have_altivec_h_hdr = xyes; then
icculus@1175
  2018
          CFLAGS="${CFLAGS} -DHAVE_ALTIVEC_H"
icculus@1175
  2019
        fi
slouken@795
  2020
    fi
slouken@795
  2021
}
slouken@795
  2022
slouken@1062
  2023
dnl Check for a valid linux/version.h
slouken@1062
  2024
CheckLinuxVersion()
slouken@1062
  2025
{
slouken@1062
  2026
    AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
slouken@1062
  2027
    if test x$have_linux_version_h = xyes; then
slouken@1062
  2028
        CFLAGS="$CFLAGS -DHAVE_LINUX_VERSION_H"
slouken@1062
  2029
    fi
slouken@1062
  2030
}
slouken@1062
  2031
slouken@1127
  2032
dnl Check if we want to use RPATH
slouken@1127
  2033
CheckRPATH()
slouken@1127
  2034
{
slouken@1127
  2035
    AC_ARG_ENABLE(rpath,
slouken@1127
  2036
[  --enable-rpath          use an rpath when linking SDL [default=yes]],
slouken@1127
  2037
                  , enable_rpath=yes)
slouken@1127
  2038
}
slouken@1127
  2039
icculus@1173
  2040
have_loadso=no
slouken@0
  2041
case "$target" in
icculus@1140
  2042
    arm-*-elf*)
icculus@1140
  2043
	ARCH=linux
icculus@1140
  2044
	CheckDummyVideo
icculus@1140
  2045
	CheckIPod
icculus@1140
  2046
	# Set up files for the timer library
icculus@1140
  2047
        if test x$enable_timers = xyes; then
icculus@1140
  2048
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
icculus@1140
  2049
        fi
icculus@1140
  2050
	;;
slouken@719
  2051
    *-*-linux*|*-*-gnu*|*-*-k*bsd*-gnu)
slouken@719
  2052
        case "$target" in
slouken@795
  2053
          *-*-linux*) ARCH=linux ;;
slouken@795
  2054
          *-*-kfreebsd*-gnu) ARCH=kfreebsd-gnu ;;
slouken@795
  2055
          *-*-knetbsd*-gnu) ARCH=knetbsd-gnu ;;
slouken@795
  2056
          *-*-kopenbsd*-gnu) ARCH=kopenbsd-gnu ;;
slouken@795
  2057
          *-*-gnu*) ARCH=gnu ;; # must be last
slouken@795
  2058
        esac
slouken@1
  2059
        CheckDummyVideo
slouken@68
  2060
        CheckDiskAudio
slouken@371
  2061
        CheckDLOPEN
slouken@0
  2062
        CheckNASM
slouken@0
  2063
        CheckOSS
slouken@0
  2064
        CheckALSA
slouken@0
  2065
        CheckARTSC
slouken@0
  2066
        CheckESD
slouken@0
  2067
        CheckNAS
slouken@0
  2068
        CheckX11
slouken@30
  2069
        CheckNANOX
slouken@0
  2070
        CheckDGA
slouken@0
  2071
        CheckFBCON
slouken@167
  2072
        CheckDirectFB
slouken@70
  2073
        CheckPS2GS
slouken@0
  2074
        CheckGGI
slouken@0
  2075
        CheckSVGA
slouken@0
  2076
        CheckAAlib
slouken@371
  2077
        CheckQtopia
slouken@433
  2078
        CheckPicoGUI
icculus@1191
  2079
        CheckOpenGLX11
slouken@0
  2080
        CheckInputEvents
slouken@0
  2081
        CheckPTHREAD
slouken@814
  2082
        CheckSIGACTION
slouken@795
  2083
        CheckAltivec
slouken@1062
  2084
        CheckLinuxVersion
slouken@1127
  2085
        CheckRPATH
slouken@1062
  2086
slouken@0
  2087
        # Set up files for the main() stub
slouken@371
  2088
        if test "x$video_qtopia" = "xyes"; then
slouken@371
  2089
          SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
slouken@371
  2090
          SDL_LIBS="-lSDLmain $SDL_LIBS"
slouken@371
  2091
        fi
slouken@0
  2092
        # Set up files for the audio library
slouken@0
  2093
        # We use the OSS and ALSA API's, not the Sun audio API
slouken@0
  2094
        #if test x$enable_audio = xyes; then
slouken@148
  2095
        #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@0
  2096
        #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
slouken@0
  2097
        #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
slouken@0
  2098
        #fi
slouken@0
  2099
        # Set up files for the joystick library
slouken@0
  2100
        if test x$enable_joystick = xyes; then
slouken@719
  2101
	  case $ARCH in
slouken@719
  2102
	    linux)
slouken@719
  2103
              JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS linux"
slouken@719
  2104
              JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS linux/libjoystick_linux.la"
slouken@719
  2105
	    ;;
slouken@719
  2106
	    gnu)
slouken@719
  2107
              JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@719
  2108
              JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@719
  2109
	    ;;
slouken@719
  2110
	    k*bsd-gnu)
slouken@719
  2111
              JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS bsd"
slouken@719
  2112
              JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS bsd/libjoystick_bsd.la"
slouken@719
  2113
	    ;;
slouken@719
  2114
	  esac
slouken@0
  2115
        fi
slouken@0
  2116
        # Set up files for the cdrom library
slouken@0
  2117
        if test x$enable_cdrom = xyes; then
slouken@719
  2118
	  case $ARCH in
slouken@719
  2119
	    linux)
slouken@719
  2120
              CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
slouken@719
  2121
              CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
slouken@719
  2122
	    ;;
slouken@719
  2123
	    gnu)
slouken@719
  2124
              CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
slouken@719
  2125
              CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
slouken@719
  2126
	    ;;
slouken@719
  2127
	    kfreebsd-gnu)
slouken@719
  2128
              CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
slouken@719
  2129
              CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
slouken@719
  2130
	    ;;
slouken@719
  2131
	    knetbsd-gnu|kopenbsd-gnu)
slouken@719
  2132
              CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
slouken@719
  2133
              CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
slouken@719
  2134
	    ;;
slouken@719
  2135
	  esac
slouken@0
  2136
        fi
slouken@0
  2137
        # Set up files for the thread library
slouken@0
  2138
        if test x$enable_threads = xyes; then
slouken@399
  2139
            CopyUnixThreadSource
slouken@0
  2140
        fi
slouken@0
  2141
        # Set up files for the timer library
slouken@0
  2142
        if test x$enable_timers = xyes; then
slouken@0
  2143
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2144
        fi
slouken@0
  2145
        ;;
slouken@0
  2146
    *-*-bsdi*)
slouken@0
  2147
        ARCH=bsdi
slouken@1
  2148
        CheckDummyVideo
slouken@68
  2149
        CheckDiskAudio
slouken@371
  2150
        CheckDLOPEN
slouken@0
  2151
        CheckNASM
slouken@0
  2152
        CheckOSS
slouken@35
  2153
        CheckARTSC
slouken@35
  2154
        CheckESD
slouken@0
  2155
        CheckNAS
slouken@0
  2156
        CheckX11
slouken@0
  2157
        CheckDGA
slouken@0
  2158
        CheckSVGA
slouken@0
  2159
        CheckAAlib
icculus@1191
  2160
        CheckOpenGLX11
slouken@0
  2161
        CheckPTHREAD
slouken@814
  2162
        CheckSIGACTION
slouken@1127
  2163
        CheckRPATH
slouken@148
  2164
        # Set up files for the audio library
slouken@148
  2165
        # We use the OSS and ALSA API's, not the Sun audio API
slouken@148
  2166
        #if test x$enable_audio = xyes; then
slouken@148
  2167
        #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@148
  2168
        #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
slouken@148
  2169
        #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
slouken@148
  2170
        #fi
slouken@0
  2171
        # Set up files for the joystick library
slouken@0
  2172
        # (No joystick support yet)
slouken@0
  2173
        if test x$enable_joystick = xyes; then
slouken@0
  2174
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@0
  2175
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@0
  2176
        fi
slouken@0
  2177
        # Set up files for the cdrom library
slouken@0
  2178
        if test x$enable_cdrom = xyes; then
slouken@178
  2179
            CDROM_SUBDIRS="$CDROM_SUBDIRS bsdi"
slouken@178
  2180
            CDROM_DRIVERS="$CDROM_DRIVERS bsdi/libcdrom_bsdi.la"
slouken@0
  2181
        fi
slouken@0
  2182
        # Set up files for the thread library
slouken@0
  2183
        if test x$enable_threads = xyes; then
slouken@399
  2184
            CopyUnixThreadSource
slouken@0
  2185
        fi
slouken@0
  2186
        # Set up files for the timer library
slouken@0
  2187
        if test x$enable_timers = xyes; then
slouken@0
  2188
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2189
        fi
slouken@0
  2190
        ;;
slouken@0
  2191
    *-*-freebsd*)
slouken@0
  2192
        ARCH=freebsd
slouken@1
  2193
        CheckDummyVideo
slouken@68
  2194
        CheckDiskAudio
slouken@371
  2195
        CheckDLOPEN
slouken@129
  2196
        CheckVGL
slouken@0
  2197
        CheckNASM
slouken@0
  2198
        CheckOSS
slouken@0
  2199
        CheckARTSC
slouken@0
  2200
        CheckESD
slouken@0
  2201
        CheckNAS
slouken@0
  2202
        CheckX11
slouken@0
  2203
        CheckDGA
slouken@0
  2204
        CheckSVGA
slouken@0
  2205
        CheckAAlib
icculus@1191
  2206
        CheckOpenGLX11
slouken@0
  2207
        CheckPTHREAD
slouken@814
  2208
        CheckSIGACTION
slouken@381
  2209
        CheckUSBHID
slouken@1127
  2210
        CheckRPATH
slouken@0
  2211
        # Set up files for the audio library
slouken@0
  2212
        # We use the OSS and ALSA API's, not the Sun audio API
slouken@0
  2213
        #if test x$enable_audio = xyes; then
slouken@148
  2214
        #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@0
  2215
        #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
slouken@0
  2216
        #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
slouken@0
  2217
        #fi
slouken@0
  2218
        # Set up files for the cdrom library
slouken@0
  2219
        if test x$enable_cdrom = xyes; then
slouken@153
  2220
            CDROM_SUBDIRS="$CDROM_SUBDIRS freebsd"
slouken@153
  2221
            CDROM_DRIVERS="$CDROM_DRIVERS freebsd/libcdrom_freebsd.la"
slouken@0
  2222
        fi
slouken@0
  2223
        # Set up files for the thread library
slouken@0
  2224
        if test x$enable_threads = xyes; then
slouken@399
  2225
            CopyUnixThreadSource
slouken@0
  2226
        fi
slouken@0
  2227
        # Set up files for the timer library
slouken@0
  2228
        if test x$enable_timers = xyes; then
slouken@0
  2229
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2230
        fi
slouken@0
  2231
        ;;
slouken@0
  2232
    *-*-netbsd*)
slouken@0
  2233
        ARCH=netbsd
slouken@1
  2234
        CheckDummyVideo
slouken@68
  2235
        CheckDiskAudio
slouken@371
  2236
        CheckDLOPEN
slouken@0
  2237
        CheckNASM
slouken@0
  2238
        CheckOSS
slouken@0
  2239
        CheckARTSC
slouken@0
  2240
        CheckESD
slouken@0
  2241
        CheckNAS
slouken@0
  2242
        CheckX11
slouken@0
  2243
        CheckAAlib
icculus@1187
  2244
	CheckWscons
icculus@1191
  2245
        CheckOpenGLX11
slouken@0
  2246
        CheckPTHREAD
slouken@814
  2247
        CheckSIGACTION
slouken@381
  2248
        CheckUSBHID
slouken@1127
  2249
        CheckRPATH
slouken@0
  2250
        # Set up files for the audio library
slouken@0
  2251
        if test x$enable_audio = xyes; then
slouken@148
  2252
            CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@0
  2253
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
slouken@0
  2254
            AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
slouken@0
  2255
        fi
slouken@0
  2256
        # Set up files for the cdrom library
slouken@0
  2257
        if test x$enable_cdrom = xyes; then
slouken@153
  2258
            CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
slouken@153
  2259
            CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
slouken@0
  2260
        fi
slouken@0
  2261
        # Set up files for the thread library
slouken@0
  2262
        if test x$enable_threads = xyes; then
slouken@401
  2263
            if test x$use_pthreads = xyes; then
slouken@401
  2264
                CFLAGS="$CFLAGS -D_POSIX_THREAD_SYSCALL_SOFT=1"
slouken@401
  2265
            fi
slouken@399
  2266
            CopyUnixThreadSource
slouken@0
  2267
        fi
slouken@0
  2268
        # Set up files for the timer library
slouken@0
  2269
        if test x$enable_timers = xyes; then
slouken@0
  2270
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2271
        fi
slouken@0
  2272
        # NetBSD does not define "unix"
slouken@401
  2273
        CFLAGS="$CFLAGS -Dunix"
slouken@0
  2274
        ;;
slouken@0
  2275
    *-*-openbsd*)
slouken@0
  2276
        ARCH=openbsd
slouken@1
  2277
        CheckDummyVideo
slouken@68
  2278
        CheckDiskAudio
slouken@371
  2279
        CheckDLOPEN
slouken@0
  2280
        CheckNASM
slouken@0
  2281
        CheckOSS
slouken@0
  2282
        CheckARTSC
slouken@0
  2283
        CheckESD
slouken@0
  2284
        CheckNAS
slouken@0
  2285
        CheckX11
slouken@0
  2286
        CheckAAlib
icculus@1191
  2287
        CheckOpenGLX11
slouken@0
  2288
        CheckPTHREAD
slouken@814
  2289
        CheckSIGACTION
slouken@381
  2290
        CheckUSBHID
slouken@1127
  2291
        CheckRPATH
slouken@0
  2292
        # Set up files for the audio library
slouken@360
  2293
        if test x$enable_audio = xyes; then
slouken@360
  2294
            CFLAGS="$CFLAGS -DOPENBSD_AUDIO_SUPPORT"
slouken@360
  2295
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS openbsd"
slouken@360
  2296
            AUDIO_DRIVERS="$AUDIO_DRIVERS openbsd/libaudio_openbsd.la"
slouken@360
  2297
        fi
slouken@94
  2298
        # OpenBSD needs linking with ossaudio emulation library
slouken@94
  2299
        if test x$have_oss = xyes; then
slouken@94
  2300
            SYSTEM_LIBS="$SYSTEM_LIBS -lossaudio"
slouken@94
  2301
        fi
slouken@0
  2302
        # Set up files for the cdrom library
slouken@0
  2303
        if test x$enable_cdrom = xyes; then
slouken@153
  2304
            CDROM_SUBDIRS="$CDROM_SUBDIRS openbsd"
slouken@153
  2305
            CDROM_DRIVERS="$CDROM_DRIVERS openbsd/libcdrom_openbsd.la"
slouken@0
  2306
        fi
slouken@0
  2307
        # Set up files for the thread library
slouken@0
  2308
        if test x$enable_threads = xyes; then
slouken@399
  2309
            CopyUnixThreadSource
slouken@0
  2310
        fi
slouken@0
  2311
        # Set up files for the timer library
slouken@0
  2312
        if test x$enable_timers = xyes; then
slouken@0
  2313
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2314
        fi
slouken@37
  2315
        # OpenBSD does not define "unix"
slouken@37
  2316
        CFLAGS="$CFLAGS -Dunix"
slouken@0
  2317
        ;;
slouken@0
  2318
    *-*-sysv5*)
slouken@0
  2319
        ARCH=sysv5
slouken@1
  2320
        CheckDummyVideo
slouken@68
  2321
        CheckDiskAudio
slouken@371
  2322
        CheckDLOPEN
slouken@0
  2323
        CheckNASM
slouken@0
  2324
        CheckOSS
slouken@0
  2325
        CheckARTSC
slouken@0
  2326
        CheckESD
slouken@0
  2327
        CheckNAS
slouken@0
  2328
        CheckX11
slouken@0
  2329
        CheckAAlib
icculus@1191
  2330
        CheckOpenGLX11
slouken@0
  2331
        CheckPTHREAD
slouken@814
  2332
        CheckSIGACTION
slouken@1127
  2333
        CheckRPATH
slouken@0
  2334
        # Set up files for the audio library
slouken@0
  2335
        if test x$enable_audio = xyes; then
slouken@148
  2336
            CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@0
  2337
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
slouken@0
  2338
            AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
slouken@0
  2339
        fi
slouken@0
  2340
        # Set up files for the joystick library
slouken@0
  2341
        # (No joystick support yet)
slouken@0
  2342
        if test x$enable_joystick = xyes; then
slouken@0
  2343
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@0
  2344
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@0
  2345
        fi
slouken@0
  2346
        # Set up files for the cdrom library
slouken@0
  2347
        if test x$enable_cdrom = xyes; then
slouken@153
  2348
            CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
slouken@153
  2349
            CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
slouken@0
  2350
        fi
slouken@0
  2351
        # Set up files for the thread library
slouken@0
  2352
        if test x$enable_threads = xyes; then
slouken@399
  2353
            CopyUnixThreadSource
slouken@0
  2354
        fi
slouken@0
  2355
        # Set up files for the timer library
slouken@0
  2356
        if test x$enable_timers = xyes; then
slouken@0
  2357
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2358
        fi
slouken@0
  2359
        ;;
slouken@0
  2360
    *-*-solaris*)
slouken@0
  2361
        ARCH=solaris
slouken@1
  2362
        CFLAGS="$CFLAGS -D__ELF__" # Fix for nasm on Solaris x86
slouken@1
  2363
        CheckDummyVideo
slouken@68
  2364
        CheckDiskAudio
slouken@371
  2365
        CheckDLOPEN
slouken@0
  2366
        CheckNASM
slouken@35
  2367
        CheckOSS
slouken@0
  2368
        CheckARTSC
slouken@0
  2369
        CheckESD
slouken@0
  2370
        CheckNAS
slouken@0
  2371
        CheckX11
slouken@0
  2372
        CheckAAlib
icculus@1191
  2373
        CheckOpenGLX11
slouken@0
  2374
        CheckPTHREAD
slouken@814
  2375
        CheckSIGACTION
slouken@1127
  2376
        CheckRPATH
slouken@0
  2377
        # Set up files for the audio library
slouken@0
  2378
        if test x$enable_audio = xyes; then
slouken@148
  2379
            CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@0
  2380
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
slouken@0
  2381
            AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
slouken@0
  2382
        fi
slouken@0
  2383
        # Set up files for the joystick library
slouken@0
  2384
        # (No joystick support yet)
slouken@0
  2385
        if test x$enable_joystick = xyes; then
slouken@0
  2386
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@0
  2387
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@0
  2388
        fi
slouken@0
  2389
        # Set up files for the cdrom library
slouken@0
  2390
        if test x$enable_cdrom = xyes; then
slouken@153
  2391
            CDROM_SUBDIRS="$CDROM_SUBDIRS linux"
slouken@153
  2392
            CDROM_DRIVERS="$CDROM_DRIVERS linux/libcdrom_linux.la"
slouken@0
  2393
        fi
slouken@0
  2394
        # Set up files for the thread library
slouken@0
  2395
        if test x$enable_threads = xyes; then
slouken@399
  2396
            CopyUnixThreadSource
slouken@0
  2397
        fi
slouken@0
  2398
        # Set up files for the timer library
slouken@0
  2399
        if test x$enable_timers = xyes; then
slouken@0
  2400
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2401
        fi
slouken@0
  2402
        ;;
slouken@0
  2403
    *-*-irix*)
slouken@0
  2404
        ARCH=irix
slouken@1
  2405
        CheckDummyVideo
slouken@68
  2406
        CheckDiskAudio
slouken@371
  2407
        CheckDLOPEN
slouken@148
  2408
        CheckDMEDIA
slouken@148
  2409
        CheckESD
slouken@0
  2410
        CheckNAS
slouken@0
  2411
        CheckX11
slouken@0
  2412
        CheckAAlib
icculus@1191
  2413
        CheckOpenGLX11
slouken@0
  2414
        CheckPTHREAD
slouken@814
  2415
        CheckSIGACTION
slouken@148
  2416
        # We use the dmedia audio API, not the Sun audio API
slouken@148
  2417
        #if test x$enable_audio = xyes; then
slouken@148
  2418
        #    CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@148
  2419
        #    AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
slouken@148
  2420
        #    AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
slouken@148
  2421
        #fi
slouken@0
  2422
        # Set up files for the joystick library
slouken@0
  2423
        # (No joystick support yet)
slouken@0
  2424
        if test x$enable_joystick = xyes; then
slouken@0
  2425
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@0
  2426
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@0
  2427
        fi
slouken@0
  2428
        # Set up files for the cdrom library
slouken@0
  2429
        # (No CD-ROM support yet)
slouken@0
  2430
        if test x$enable_cdrom = xyes; then
slouken@153
  2431
            CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
slouken@153
  2432
            CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
slouken@0
  2433
        fi
slouken@0
  2434
        # Set up files for the thread library
slouken@0
  2435
        if test x$enable_threads = xyes; then
slouken@399
  2436
            if test x$use_pthreads = xyes -o x$use_pth = xyes; then
slouken@399
  2437
                CopyUnixThreadSource
slouken@0
  2438
            else
slouken@0
  2439
                COPY_ARCH_SRC(src/thread, irix, SDL_systhread.c)
slouken@0
  2440
                COPY_ARCH_SRC(src/thread, irix, SDL_systhread_c.h)
slouken@0
  2441
                COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex.c)
slouken@0
  2442
                COPY_ARCH_SRC(src/thread, linux, SDL_sysmutex_c.h)
slouken@0
  2443
                COPY_ARCH_SRC(src/thread, linux, SDL_syssem.c)
slouken@0
  2444
                COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
slouken@0
  2445
                COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
slouken@0
  2446
                COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
slouken@0
  2447
            fi
slouken@0
  2448
        fi
slouken@0
  2449
        # Set up files for the timer library
slouken@0
  2450
        if test x$enable_timers = xyes; then
slouken@0
  2451
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2452
        fi
slouken@0
  2453
        ;;
slouken@0
  2454
    *-*-hpux*)
slouken@0
  2455
        ARCH=hpux
slouken@1
  2456
        CheckDummyVideo
slouken@68
  2457
        CheckDiskAudio
slouken@371
  2458
        CheckDLOPEN
slouken@35
  2459
        CheckOSS
slouken@0
  2460
        CheckNAS
slouken@0
  2461
        CheckX11
slouken@0
  2462
        CheckGGI
slouken@0
  2463
        CheckAAlib
icculus@1191
  2464
        CheckOpenGLX11
slouken@0
  2465
        CheckPTHREAD
slouken@814
  2466
        CheckSIGACTION
slouken@0
  2467
        # Set up files for the audio library
slouken@0
  2468
        if test x$enable_audio = xyes; then
slouken@148
  2469
            CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@0
  2470
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS sun"
slouken@0
  2471
            AUDIO_DRIVERS="$AUDIO_DRIVERS sun/libaudio_sun.la"
slouken@0
  2472
        fi
slouken@0
  2473
        # Set up files for the joystick library
slouken@0
  2474
        # (No joystick support yet)
slouken@0
  2475
        if test x$enable_joystick = xyes; then
slouken@0
  2476
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@0
  2477
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@0
  2478
        fi
slouken@0
  2479
        # Set up files for the cdrom library
slouken@0
  2480
        # (No CD-ROM support yet)
slouken@0
  2481
        if test x$enable_cdrom = xyes; then
slouken@153
  2482
            CDROM_SUBDIRS="$CDROM_SUBDIRS dummy"
slouken@153
  2483
            CDROM_DRIVERS="$CDROM_DRIVERS dummy/libcdrom_dummy.la"
slouken@0
  2484
        fi
slouken@0
  2485
        # Set up files for the thread library
slouken@0
  2486
        if test x$enable_threads = xyes; then
slouken@399
  2487
            CopyUnixThreadSource
slouken@0
  2488
        fi
slouken@0
  2489
        # Set up files for the timer library
slouken@0
  2490
        if test x$enable_timers = xyes; then
slouken@0
  2491
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2492
        fi
slouken@0
  2493
        ;;
slouken@0
  2494
    *-*-aix*)
slouken@0
  2495
        ARCH=aix
slouken@1
  2496
        CheckDummyVideo
slouken@68
  2497
        CheckDiskAudio
slouken@371
  2498
        CheckDLOPEN
slouken@35
  2499
        CheckOSS
slouken@0
  2500
        CheckNAS
slouken@0
  2501
        CheckX11
slouken@0
  2502
        CheckGGI
slouken@0
  2503
        CheckAAlib
icculus@1191
  2504
        CheckOpenGLX11
slouken@0
  2505
        CheckPTHREAD
slouken@814
  2506
        CheckSIGACTION
slouken@0
  2507
        # Set up files for the audio library
slouken@0
  2508
        if test x$enable_audio = xyes; then
slouken@0
  2509
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS paudio"
slouken@0
  2510
            AUDIO_DRIVERS="$AUDIO_DRIVERS paudio/libaudio_paudio.la"
slouken@0
  2511
        fi
slouken@0
  2512
        # Set up files for the joystick library
slouken@0
  2513
        # (No joystick support yet)
slouken@0
  2514
        if test x$enable_joystick = xyes; then
slouken@0
  2515
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@0
  2516
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@0
  2517
        fi
slouken@0
  2518
        # Set up files for the cdrom library
slouken@0
  2519
        if test x$enable_cdrom = xyes; then
slouken@153
  2520
            CDROM_SUBDIRS="$CDROM_SUBDIRS aix"
slouken@153
  2521
            CDROM_DRIVERS="$CDROM_DRIVERS aix/libcdrom_aix.la"
slouken@0
  2522
        fi
slouken@0
  2523
        # Set up files for the thread library
slouken@0
  2524
        if test x$enable_threads = xyes; then
slouken@399
  2525
            CopyUnixThreadSource
slouken@0
  2526
        fi
slouken@0
  2527
        # Set up files for the timer library
slouken@0
  2528
        if test x$enable_timers = xyes; then
slouken@0
  2529
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2530
        fi
slouken@0
  2531
        ;;
slouken@0
  2532
    *-*-osf*)
slouken@0
  2533
        ARCH=osf
slouken@1
  2534
        CheckDummyVideo
slouken@68
  2535
        CheckDiskAudio
slouken@371
  2536
        CheckDLOPEN
slouken@0
  2537
        CheckNAS
slouken@0
  2538
        CheckX11
slouken@0
  2539
        CheckGGI
slouken@0
  2540
        CheckAAlib
icculus@1191
  2541
        CheckOpenGLX11
slouken@0
  2542
        CheckPTHREAD
slouken@814
  2543
        CheckSIGACTION
slouken@0
  2544
        # Set up files for the audio library
slouken@0
  2545
        if test x$enable_audio = xyes; then
slouken@654
  2546
            CFLAGS="$CFLAGS -I/usr/include/mme -DMMEAUDIO_SUPPORT"
slouken@654
  2547
            SYSTEM_LIBS="$SYSTEM_LIBS -lmme"
slouken@654
  2548
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS mme"
slouken@654
  2549
            AUDIO_DRIVERS="$AUDIO_DRIVERS mme/libaudio_mme.la"
slouken@0
  2550
        fi
slouken@0
  2551
        # Set up files for the joystick library
slouken@0
  2552
        # (No joystick support yet)
slouken@0
  2553
        if test x$enable_joystick = xyes; then
slouken@0
  2554
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@0
  2555
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@0
  2556
        fi
slouken@0
  2557
        # Set up files for the cdrom library
slouken@0
  2558
        # (No cdrom support yet)
slouken@0
  2559
        if test x$enable_cdrom = xyes; then
slouken@654
  2560
            CDROM_SUBDIRS="$CDROM_SUBDIRS osf"
slouken@654
  2561
            CDROM_DRIVERS="$CDROM_DRIVERS osf/libcdrom_osf.la"
slouken@0
  2562
        fi
slouken@0
  2563
        # Set up files for the thread library
slouken@0
  2564
        if test x$enable_threads = xyes; then
slouken@399
  2565
            CopyUnixThreadSource
slouken@0
  2566
        fi
slouken@0
  2567
        # Set up files for the timer library
slouken@0
  2568
        if test x$enable_timers = xyes; then
slouken@0
  2569
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2570
        fi
slouken@0
  2571
        ;;
slouken@0
  2572
    *-*-qnx*)
slouken@0
  2573
        ARCH=qnx
slouken@1
  2574
        CheckDummyVideo
slouken@68
  2575
        CheckDiskAudio
slouken@886
  2576
        # CheckNASM
slouken@371
  2577
        CheckDLOPEN
slouken@0
  2578
        CheckNAS
slouken@0
  2579
        CheckPHOTON
slouken@0
  2580
        CheckX11
icculus@1191
  2581
        CheckOpenGLX11
slouken@0
  2582
        CheckPTHREAD
slouken@814
  2583
        CheckSIGACTION
slouken@0
  2584
        # Set up files for the audio library
slouken@0
  2585
        if test x$enable_audio = xyes; then
slouken@666
  2586
            CFLAGS="$CFLAGS -DQNXNTOAUDIO_SUPPORT"
slouken@0
  2587
            SYSTEM_LIBS="$SYSTEM_LIBS -lasound"
slouken@0
  2588
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS nto"
slouken@0
  2589
            AUDIO_DRIVERS="$AUDIO_DRIVERS nto/libaudio_nto.la"
slouken@0
  2590
        fi
slouken@0
  2591
        # Set up files for the joystick library
slouken@0
  2592
        if test x$enable_joystick = xyes; then
slouken@0
  2593
        # (No joystick support yet)
slouken@0
  2594
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS dummy"
slouken@0
  2595
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS dummy/libjoystick_dummy.la"
slouken@0
  2596
        fi
slouken@0
  2597
        # Set up files for the cdrom library
slouken@0
  2598
        if test x$enable_cdrom = xyes; then
slouken@153
  2599
            CDROM_SUBDIRS="$CDROM_SUBDIRS qnx"
slouken@153
  2600
            CDROM_DRIVERS="$CDROM_DRIVERS qnx/libcdrom_qnx.la"
slouken@0
  2601
        fi
slouken@0
  2602
        # Set up files for the thread library
slouken@0
  2603
        if test x$enable_threads = xyes; then
slouken@399
  2604
            CopyUnixThreadSource
slouken@0
  2605
        fi
slouken@0
  2606
        # Set up files for the timer library
slouken@0
  2607
        if test x$enable_timers = xyes; then
slouken@0
  2608
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2609
        fi
slouken@0
  2610
        ;;
slouken@0
  2611
    *-*-cygwin* | *-*-mingw32*)
slouken@0
  2612
        ARCH=win32
icculus@1173
  2613
        have_loadso=yes
slouken@0
  2614
        if test "$build" != "$target"; then # cross-compiling
slouken@0
  2615
            # Default cross-compile location
slouken@0
  2616
            ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
slouken@0
  2617
        else
slouken@0
  2618
            # Look for the location of the tools and install there
slouken@750
  2619
            if test "$BUILD_PREFIX" != ""; then
slouken@1
  2620
                ac_default_prefix=$BUILD_PREFIX
slouken@1
  2621
            fi
slouken@0
  2622
        fi
slouken@1
  2623
        CheckDummyVideo
slouken@68
  2624
        CheckDiskAudio
slouken@0
  2625
        CheckWIN32
slouken@0
  2626
        CheckDIRECTX
slouken@0
  2627
        CheckNASM
slouken@0
  2628
        # Set up files for the audio library
slouken@0
  2629
        if test x$enable_audio = xyes; then
slouken@0
  2630
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS windib"
slouken@0
  2631
            AUDIO_DRIVERS="$AUDIO_DRIVERS windib/libaudio_windib.la"
slouken@0
  2632
            if test x$use_directx = xyes; then
slouken@41
  2633
                AUDIO_SUBDIRS="$AUDIO_SUBDIRS windx5"
slouken@41
  2634
                AUDIO_DRIVERS="$AUDIO_DRIVERS windx5/libaudio_windx5.la"
slouken@0
  2635
            fi
slouken@0
  2636
        fi
slouken@0
  2637
        # Set up files for the joystick library
slouken@0
  2638
        if test x$enable_joystick = xyes; then
slouken@0
  2639
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS win32"
slouken@0
  2640
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS win32/libjoystick_winmm.la"
slouken@0
  2641
        fi
slouken@0
  2642
        # Set up files for the cdrom library
slouken@0
  2643
        if test x$enable_cdrom = xyes; then
slouken@153
  2644
            CDROM_SUBDIRS="$CDROM_SUBDIRS win32"
slouken@153
  2645
            CDROM_DRIVERS="$CDROM_DRIVERS win32/libcdrom_win32.la"
slouken@0
  2646
        fi
slouken@0
  2647
        # Set up files for the thread library
slouken@0
  2648
        if test x$enable_threads = xyes; then
slouken@0
  2649
            COPY_ARCH_SRC(src/thread, win32, SDL_systhread.c)
slouken@0
  2650
            COPY_ARCH_SRC(src/thread, win32, SDL_systhread_c.h)
slouken@0
  2651
            COPY_ARCH_SRC(src/thread, win32, SDL_sysmutex.c)
slouken@0
  2652
            COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
slouken@0
  2653
            COPY_ARCH_SRC(src/thread, win32, SDL_syssem.c)
slouken@0
  2654
            COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
slouken@0
  2655
            COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
slouken@0
  2656
            COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
slouken@0
  2657
        fi
slouken@0
  2658
        # Set up files for the timer library
slouken@0
  2659
        if test x$enable_timers = xyes; then
slouken@0
  2660
            COPY_ARCH_SRC(src/timer, win32, SDL_systimer.c)
slouken@0
  2661
        fi
slouken@0
  2662
        # The Win32 platform requires special setup
slouken@0
  2663
        SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
slouken@1
  2664
        case "$target" in
slouken@1
  2665
            *-*-cygwin*)
slouken@263
  2666
                CFLAGS="$CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin"
slouken@263
  2667
                SDL_CFLAGS="$SDL_CFLAGS -I/usr/include/mingw -DWIN32 -Uunix -mno-cygwin"
slouken@1
  2668
                LIBS="$LIBS -mno-cygwin"
slouken@1
  2669
                SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows -mno-cygwin"
slouken@1
  2670
                ;;
slouken@1
  2671
            *-*-mingw32*)
slouken@1
  2672
                SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
slouken@1
  2673
                ;;
slouken@1
  2674
        esac
slouken@0
  2675
        ;;
slouken@0
  2676
    *-*-beos*)
slouken@0
  2677
        ARCH=beos
slouken@0
  2678
        ac_default_prefix=/boot/develop/tools/gnupro
icculus@1173
  2679
        have_loadso=yes
slouken@1
  2680
        CheckDummyVideo
slouken@68
  2681
        CheckDiskAudio
slouken@0
  2682
        CheckNASM
slouken@0
  2683
        CheckBWINDOW
slouken@0
  2684
        CheckBeGL
slouken@0
  2685
        # Set up files for the audio library
slouken@0
  2686
        if test x$enable_audio = xyes; then
slouken@0
  2687
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS baudio"
slouken@0
  2688
            AUDIO_DRIVERS="$AUDIO_DRIVERS baudio/libaudio_baudio.la"
slouken@0
  2689
        fi
slouken@0
  2690
        # Set up files for the joystick library
slouken@0
  2691
        if test x$enable_joystick = xyes; then
slouken@0
  2692
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS beos"
slouken@0
  2693
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS beos/libjoystick_beos.la"
slouken@0
  2694
        fi
slouken@0
  2695
        # Set up files for the cdrom library
slouken@0
  2696
        if test x$enable_cdrom = xyes; then
slouken@153
  2697
            CDROM_SUBDIRS="$CDROM_SUBDIRS beos"
slouken@153
  2698
            CDROM_DRIVERS="$CDROM_DRIVERS beos/libcdrom_beos.la"
slouken@0
  2699
        fi
slouken@0
  2700
        # Set up files for the thread library
slouken@0
  2701
        if test x$enable_threads = xyes; then
slouken@0
  2702
            COPY_ARCH_SRC(src/thread, beos, SDL_systhread.c)
slouken@0
  2703
            COPY_ARCH_SRC(src/thread, beos, SDL_systhread_c.h)
slouken@0
  2704
            COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
slouken@0
  2705
            COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
slouken@0
  2706
            COPY_ARCH_SRC(src/thread, beos, SDL_syssem.c)
slouken@0
  2707
            COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
slouken@0
  2708
            COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
slouken@0
  2709
            COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
slouken@0
  2710
        fi
slouken@0
  2711
        # Set up files for the timer library
slouken@0
  2712
        if test x$enable_timers = xyes; then
slouken@0
  2713
            COPY_ARCH_SRC(src/timer, beos, SDL_systimer.c)
slouken@0
  2714
        fi
slouken@0
  2715
        # The BeOS platform requires special libraries
slouken@0
  2716
        SYSTEM_LIBS="$SYSTEM_LIBS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
slouken@0
  2717
        ;;
slouken@0
  2718
    *-*-macos*)
slouken@0
  2719
        # This would be used if cross-compiling to MacOS 9.  No way to
slouken@0
  2720
        # use it at present, but Apple is working on a X-to-9 compiler
slouken@0
  2721
        # for which this case would be handy.
slouken@0
  2722
        ARCH=macos
icculus@1173
  2723
        have_loadso=yes
slouken@1
  2724
        CheckDummyVideo
slouken@68
  2725
        CheckDiskAudio
slouken@0
  2726
        CheckTOOLBOX
slouken@0
  2727
        CheckMacGL
slouken@0
  2728
        # Set up files for the audio library
slouken@0
  2729
        if test x$enable_audio = xyes; then
slouken@0
  2730
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
slouken@0
  2731
            AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la"
slouken@0
  2732
        fi
slouken@0
  2733
        # Set up files for the joystick library
slouken@0
  2734
        if test x$enable_joystick = xyes; then
slouken@0
  2735
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS macos"
slouken@0
  2736
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS macos/libjoystick_macos.la"
slouken@0
  2737
        fi
slouken@0
  2738
        # Set up files for the cdrom library
slouken@0
  2739
        if test x$enable_cdrom = xyes; then
slouken@153
  2740
            CDROM_SUBDIRS="$CDROM_SUBDIRS macos"
slouken@153
  2741
            CDROM_DRIVERS="$CDROM_DRIVERS macos/libcdrom_macos.la"
slouken@0
  2742
        fi
slouken@0
  2743
        # Set up files for the thread library
slouken@0
  2744
        if test x$enable_threads = xyes; then
slouken@0
  2745
            COPY_ARCH_SRC(src/thread, macos, SDL_systhread.c)
slouken@0
  2746
            COPY_ARCH_SRC(src/thread, macos, SDL_systhread_c.h)
slouken@0
  2747
            COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex.c)
slouken@0
  2748
            COPY_ARCH_SRC(src/thread, generic, SDL_sysmutex_c.h)
slouken@0
  2749
            COPY_ARCH_SRC(src/thread, macos, SDL_syssem.c)
slouken@0
  2750
            COPY_ARCH_SRC(src/thread, generic, SDL_syssem_c.h)
slouken@0
  2751
            COPY_ARCH_SRC(src/thread, generic, SDL_syscond.c)
slouken@0
  2752
            COPY_ARCH_SRC(src/thread, generic, SDL_syscond_c.h)
slouken@0
  2753
        fi
slouken@0
  2754
        # Set up files for the timer library
slouken@0
  2755
        if test x$enable_timers = xyes; then
slouken@0
  2756
            COPY_ARCH_SRC(src/timer, macos, SDL_systimer.c)
slouken@0
  2757
        fi
slouken@0
  2758
        # The MacOS platform requires special setup
slouken@0
  2759
        SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
slouken@0
  2760
        SDL_LIBS="-lSDLmain $SDL_LIBS"
slouken@0
  2761
        ;;
slouken@0
  2762
    *-*-darwin* )
icculus@1133
  2763
        # This could be either full "Mac OS X", or plain "Darwin" which is
slouken@158
  2764
        # just the OS X kernel sans upper layers like Carbon and Cocoa.
icculus@1133
  2765
        # Next line is broken, and a few files below require Mac OS X (full)
slouken@158
  2766
        ARCH=macosx
icculus@1173
  2767
        have_loadso=yes
slouken@1
  2768
        CheckDummyVideo
slouken@68
  2769
        CheckDiskAudio
icculus@1133
  2770
        CheckCOCOA
icculus@1133
  2771
        CheckCARBON
icculus@1174
  2772
        CheckX11
slouken@0
  2773
        CheckMacGL
icculus@1191
  2774
        CheckOpenGLX11
slouken@0
  2775
        CheckPTHREAD
slouken@814
  2776
        CheckSIGACTION
icculus@1047
  2777
        CheckAltivec
slouken@935
  2778
        # If either the audio or CD driver is used, add the AudioUnit framework
slouken@935
  2779
        if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
slouken@935
  2780
            SYSTEM_LIBS="$SYSTEM_LIBS -framework AudioToolbox -framework AudioUnit"
slouken@935
  2781
        fi
slouken@0
  2782
        # Set up files for the audio library
slouken@0
  2783
        if test x$enable_audio = xyes; then
slouken@936
  2784
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS macosx"
slouken@936
  2785
            AUDIO_DRIVERS="$AUDIO_DRIVERS macosx/libaudio_macosx.la"
slouken@0
  2786
            AUDIO_SUBDIRS="$AUDIO_SUBDIRS macrom"
slouken@0
  2787
            AUDIO_DRIVERS="$AUDIO_DRIVERS macrom/libaudio_macrom.la"
slouken@0
  2788
        fi
slouken@0
  2789
        # Set up files for the joystick library
slouken@0
  2790
        if test x$enable_joystick = xyes; then
slouken@172
  2791
            JOYSTICK_SUBDIRS="$JOYSTICK_SUBDIRS darwin"
slouken@172
  2792
            JOYSTICK_DRIVERS="$JOYSTICK_DRIVERS darwin/libjoystick_darwin.la"
slouken@387
  2793
            SYSTEM_LIBS="$SYSTEM_LIBS -framework IOKit"
slouken@0
  2794
        fi
slouken@0
  2795
        # Set up files for the cdrom library
slouken@0
  2796
        if test x$enable_cdrom = xyes; then
slouken@768
  2797
            CDROM_SUBDIRS="$CDROM_SUBDIRS macosx"
slouken@768
  2798
            CDROM_DRIVERS="$CDROM_DRIVERS macosx/libcdrom_macosx.la"
slouken@0
  2799
        fi
slouken@0
  2800
        # Set up files for the thread library
slouken@0
  2801
        if test x$enable_threads = xyes; then
slouken@399
  2802
            CopyUnixThreadSource
slouken@0
  2803
        fi
slouken@0
  2804
        # Set up files for the timer library
slouken@0
  2805
        if test x$enable_timers = xyes; then
slouken@0
  2806
            COPY_ARCH_SRC(src/timer, linux, SDL_systimer.c)
slouken@0
  2807
        fi
slouken@387
  2808
        # The MacOS X platform requires special setup.
slouken@387
  2809
        SDL_LIBS="-lSDLmain $SDL_LIBS"
icculus@1133
  2810
        if test x$enable_video_cocoa = xyes; then
icculus@1133
  2811
            SYSTEM_LIBS="$SYSTEM_LIBS -framework Cocoa"
icculus@1133
  2812
        fi
icculus@1133
  2813
        if test x$enable_video_carbon = xyes -o x$enable_video_cocoa = xyes; then
icculus@1133
  2814
            # The Cocoa backend still needs Carbon, and the YUV code QuickTime
icculus@1133
  2815
            SYSTEM_LIBS="$SYSTEM_LIBS -framework Carbon -framework QuickTime"
icculus@1133
  2816
        fi
icculus@1133
  2817
        #if test x$enable_video_carbon = xyes; then
icculus@1133
  2818
        #    SYSTEM_LIBS="$SYSTEM_LIBS -framework DrawSprocket"
icculus@1133
  2819
        #fi
slouken@0
  2820
        ;;
slouken@281
  2821
    *-*-mint*)
slouken@281
  2822
        ARCH=mint
slouken@281
  2823
        CheckDummyVideo
slouken@281
  2824
        CheckDiskAudio
slouken@281
  2825
        CheckAtariBiosEvent
slouken@281
  2826
        CheckAtariXbiosVideo
slouken@281
  2827
        CheckAtariGemVideo
slouken@398
  2828
        CheckAtariAudio
patmandin@651
  2829
        CheckAtariLdg
patmandin@989
  2830
		CheckAtariOSMesa
slouken@281
  2831
        CheckPTH
slouken@281
  2832
        # Set up files for the audio library
slouken@398
  2833
        if test x$enable_threads = xyes -a x$enable_pth = xyes; then
slouken@398
  2834
            if test x$enable_audio = xyes; then
slouken@398
  2835
                CFLAGS="$CFLAGS -DSUNAUDIO_SUPPORT"
slouken@398
  2836
                AUDIO_SUBDIRS=&