configure.in
author Sam Lantinga <slouken@libsdl.org>
Sat, 21 Aug 2004 04:20:00 +0000
changeset 939 c7c04f811994
parent 936 84f930aebaeb
child 948 ac488ad4ef1d
permissions -rw-r--r--
Date: Tue, 01 Jun 2004 15:27:44 +0300
From: Martin_Storsj
Subject: Update for dynamic loading of ALSA

I sent you a patch a few months ago which enables SDL to load ALSA
dynamically. Now I've finally got time to tweak this yet some more. I've
added code from alsa.m4 (from alsa's dev package) to acinclude.m4, and
made the detection of the alsa library name a bit better. I've also
fixed up the loading versioned symbols with dlvsym, so that it falls
back to dlsym.

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