configure.in
author Sam Lantinga <slouken@libsdl.org>
Fri, 23 Jun 2006 08:39:05 +0000
changeset 1879 cb232e63552c
parent 1875 4627eca2c02b
child 1886 44635227a939
permissions -rw-r--r--
Default the X11 dynamically loading on if the OS loader loads libraries
with their private symbols hidden. If that isn't the case, and someone
tries to enable it anyway, spit out a warning and don't let them do it.
slouken@0
     1
dnl Process this file with autoconf to produce a configure script.
slouken@0
     2
AC_INIT(README)
slouken@1341
     3
AC_CONFIG_HEADER(include/SDL_config.h)
slouken@1353
     4
AC_GNU_SOURCE
slouken@0
     5
slouken@0
     6
dnl Set various version strings - taken gratefully from the GTk sources
slouken@0
     7
#
slouken@0
     8
# Making releases:
slouken@0
     9
# Edit include/SDL/SDL_version.h and change the version, then:
slouken@0
    10
#   SDL_MICRO_VERSION += 1;
slouken@0
    11
#   SDL_INTERFACE_AGE += 1;
slouken@0
    12
#   SDL_BINARY_AGE += 1;
slouken@0
    13
# if any functions have been added, set SDL_INTERFACE_AGE to 0.
slouken@0
    14
# if backwards compatibility has been broken,
slouken@0
    15
# set SDL_BINARY_AGE and SDL_INTERFACE_AGE to 0.
slouken@0
    16
#
slouken@0
    17
SDL_MAJOR_VERSION=1
slouken@0
    18
SDL_MINOR_VERSION=2
slouken@1222
    19
SDL_MICRO_VERSION=10
slouken@1222
    20
SDL_INTERFACE_AGE=3
slouken@1222
    21
SDL_BINARY_AGE=10
slouken@0
    22
SDL_VERSION=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION.$SDL_MICRO_VERSION
slouken@0
    23
slouken@0
    24
AC_SUBST(SDL_MAJOR_VERSION)
slouken@0
    25
AC_SUBST(SDL_MINOR_VERSION)
slouken@0
    26
AC_SUBST(SDL_MICRO_VERSION)
slouken@0
    27
AC_SUBST(SDL_INTERFACE_AGE)
slouken@0
    28
AC_SUBST(SDL_BINARY_AGE)
slouken@0
    29
AC_SUBST(SDL_VERSION)
slouken@0
    30
slouken@0
    31
# libtool versioning
slouken@0
    32
LT_RELEASE=$SDL_MAJOR_VERSION.$SDL_MINOR_VERSION
slouken@0
    33
LT_CURRENT=`expr $SDL_MICRO_VERSION - $SDL_INTERFACE_AGE`
slouken@0
    34
LT_REVISION=$SDL_INTERFACE_AGE
slouken@0
    35
LT_AGE=`expr $SDL_BINARY_AGE - $SDL_INTERFACE_AGE`
slouken@0
    36
slouken@0
    37
AC_SUBST(LT_RELEASE)
slouken@0
    38
AC_SUBST(LT_CURRENT)
slouken@0
    39
AC_SUBST(LT_REVISION)
slouken@0
    40
AC_SUBST(LT_AGE)
slouken@0
    41
slouken@1550
    42
dnl Detect the canonical build and host environments
slouken@1361
    43
AC_CONFIG_AUX_DIRS($srcdir/build-scripts)
slouken@1550
    44
AC_CANONICAL_HOST
slouken@1354
    45
AC_C_BIGENDIAN
slouken@1354
    46
if test x$ac_cv_c_bigendian = xyes; then
slouken@1354
    47
    AC_DEFINE(SDL_BYTEORDER, 4321)
slouken@1354
    48
else
slouken@1354
    49
    AC_DEFINE(SDL_BYTEORDER, 1234)
slouken@1354
    50
fi
slouken@0
    51
slouken@1389
    52
dnl Set up the compiler and linker flags
slouken@1571
    53
INCLUDE="-I$srcdir/include"
slouken@1373
    54
if test x$srcdir != x.; then
slouken@1742
    55
    # Remove SDL_config.h from the source directory, since it's the
slouken@1742
    56
    # default one, and we want to include the one that we generate.
slouken@1742
    57
    if test -f $srcdir/include/SDL_config.h; then
slouken@1742
    58
        rm $srcdir/include/SDL_config.h
slouken@1742
    59
    fi
slouken@1571
    60
    INCLUDE="-Iinclude $INCLUDE"
slouken@1373
    61
fi
slouken@1550
    62
case "$host" in
slouken@1389
    63
    *-*-cygwin*)
slouken@1389
    64
        # We build SDL on cygwin without the UNIX emulation layer
slouken@1521
    65
        BASE_CFLAGS="-I/usr/include/mingw -mno-cygwin"
slouken@1521
    66
        BASE_LDFLAGS="-mno-cygwin"
slouken@1389
    67
        ;;
slouken@1389
    68
    *)
slouken@1521
    69
        BASE_CFLAGS="-D_GNU_SOURCE=1"
slouken@1521
    70
        BASE_LDFLAGS=""
slouken@1389
    71
        ;;
slouken@1389
    72
esac
slouken@1648
    73
BUILD_CFLAGS="$CFLAGS $CPPFLAGS"
slouken@1521
    74
EXTRA_CFLAGS="$INCLUDE $BASE_CFLAGS"
slouken@1521
    75
BUILD_LDFLAGS="$LDFLAGS"
slouken@1521
    76
EXTRA_LDFLAGS="$BASE_LDFLAGS"
slouken@1823
    77
# I can't remember why I added this.  I'm sure it'll come to me...
slouken@1823
    78
#for path in /usr/local; do
slouken@1823
    79
#    if test -d $path/include; then
slouken@1823
    80
#        EXTRA_CFLAGS="$EXTRA_CFLAGS -I$path/include"
slouken@1823
    81
#    fi
slouken@1823
    82
#    if test -d $path/lib; then
slouken@1823
    83
#        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -L$path/lib"
slouken@1823
    84
#    fi
slouken@1823
    85
#done
slouken@1521
    86
SDL_CFLAGS="$BASE_CFLAGS"
slouken@1521
    87
SDL_LIBS="-lSDL $BASE_LDFLAGS"
slouken@1521
    88
CPPFLAGS="$CPPFLAGS $EXTRA_CFLAGS"
slouken@1521
    89
CFLAGS="$CFLAGS $EXTRA_CFLAGS"
slouken@1521
    90
LDFLAGS="$LDFLAGS $EXTRA_LDFLAGS"
slouken@1373
    91
slouken@0
    92
dnl Check for tools
slouken@0
    93
AC_LIBTOOL_WIN32_DLL
slouken@1361
    94
AC_PROG_LIBTOOL
slouken@0
    95
AC_PROG_CC
slouken@200
    96
AC_PROG_CXX
slouken@0
    97
AC_PROG_INSTALL
slouken@1380
    98
AC_PROG_MAKE_SET
slouken@1341
    99
slouken@1353
   100
dnl Check for compiler characteristics
slouken@1341
   101
AC_C_CONST
slouken@1341
   102
AC_C_INLINE
slouken@1353
   103
AC_C_VOLATILE
slouken@1353
   104
slouken@1361
   105
dnl See whether we are allowed to use the system C library
slouken@1361
   106
AC_ARG_ENABLE(libc,
slouken@1637
   107
AC_HELP_STRING([--enable-libc], [Use the system C library [[default=yes]]]),
slouken@1361
   108
              , enable_libc=yes)
slouken@1361
   109
if test x$enable_libc = xyes; then
slouken@1361
   110
    AC_DEFINE(HAVE_LIBC)
slouken@1353
   111
slouken@1361
   112
    dnl Check for C library headers
slouken@1361
   113
    AC_HEADER_STDC
slouken@1501
   114
    AC_CHECK_HEADERS(sys/types.h stdio.h stdlib.h stddef.h stdarg.h malloc.h memory.h string.h strings.h inttypes.h stdint.h ctype.h math.h iconv.h signal.h)
slouken@1361
   115
slouken@1361
   116
    dnl Check for typedefs, structures, etc.
slouken@1361
   117
    AC_TYPE_SIZE_T
slouken@1361
   118
    if test x$ac_cv_header_inttypes_h = xyes -o x$ac_cv_header_stdint_h = xyes; then
slouken@1361
   119
        AC_CHECK_TYPE(int64_t)
slouken@1361
   120
        if test x$ac_cv_type_int64_t = xyes; then
slouken@1361
   121
            AC_DEFINE(SDL_HAS_64BIT_TYPE)
slouken@1361
   122
        fi
slouken@1361
   123
        have_inttypes=yes
slouken@1353
   124
    fi
slouken@1361
   125
slouken@1361
   126
    dnl Checks for library functions.
slouken@1361
   127
    AC_FUNC_ALLOCA
slouken@1361
   128
    AC_FUNC_MEMCMP
slouken@1361
   129
    if test x$ac_cv_func_memcmp_working = xyes; then
slouken@1361
   130
        AC_DEFINE(HAVE_MEMCMP)
slouken@1361
   131
    fi
slouken@1361
   132
    AC_FUNC_STRTOD
slouken@1361
   133
    if test x$ac_cv_func_strtod = xyes; then
slouken@1361
   134
        AC_DEFINE(HAVE_STRTOD)
slouken@1361
   135
    fi
slouken@1512
   136
    AC_CHECK_FUNCS(malloc calloc realloc free getenv putenv unsetenv qsort abs bcopy memset memcpy memmove strlen strlcpy strlcat strdup _strrev _strupr _strlwr strchr strrchr strstr itoa _ltoa _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp strncasecmp sscanf snprintf vsnprintf iconv sigaction setjmp nanosleep)
slouken@1373
   137
slouken@1521
   138
    AC_CHECK_LIB(m, pow, [EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lm"])
slouken@1361
   139
fi
slouken@1361
   140
slouken@1361
   141
if test x$have_inttypes != xyes; then
slouken@1353
   142
    AC_CHECK_SIZEOF(char, 1)
slouken@1353
   143
    AC_CHECK_SIZEOF(short, 2)
slouken@1353
   144
    AC_CHECK_SIZEOF(int, 4)
slouken@1353
   145
    AC_CHECK_SIZEOF(long, 4)
slouken@1353
   146
    AC_CHECK_SIZEOF(long long, 8)
slouken@1353
   147
    if test x$ac_cv_sizeof_char = x1; then
slouken@1353
   148
        AC_DEFINE(int8_t, signed char)
slouken@1353
   149
        AC_DEFINE(uint8_t, unsigned char)
slouken@1353
   150
    fi
slouken@1353
   151
    if test x$ac_cv_sizeof_short = x2; then
slouken@1353
   152
        AC_DEFINE(int16_t, signed short)
slouken@1353
   153
        AC_DEFINE(uint16_t, unsigned short)
slouken@1353
   154
    else
slouken@1353
   155
        if test x$ac_cv_sizeof_int = x2; then
slouken@1353
   156
            AC_DEFINE(int16_t, signed int)
slouken@1353
   157
            AC_DEFINE(uint16_t, unsigned int)
slouken@1353
   158
        fi
slouken@1353
   159
    fi
slouken@1353
   160
    if test x$ac_cv_sizeof_int = x4; then
slouken@1353
   161
        AC_DEFINE(int32_t, signed int)
slouken@1353
   162
        AC_DEFINE(uint32_t, unsigned int)
slouken@1353
   163
    else
slouken@1353
   164
        if test x$ac_cv_sizeof_long = x4; then
slouken@1353
   165
            AC_DEFINE(int32_t, signed long)
slouken@1353
   166
            AC_DEFINE(uint32_t, unsigned long)
slouken@1353
   167
        fi
slouken@1353
   168
    fi
slouken@1353
   169
    if test x$ac_cv_sizeof_long = x8; then
slouken@1353
   170
        AC_DEFINE(int64_t, signed long)
slouken@1353
   171
        AC_DEFINE(uint64_t, unsigned long)
slouken@1353
   172
        AC_DEFINE(SDL_HAS_64BIT_TYPE)
slouken@1353
   173
    else
slouken@1353
   174
        if test x$ac_cv_sizeof_long_long = x8; then
slouken@1353
   175
            AC_DEFINE(int64_t, signed long long)
slouken@1353
   176
            AC_DEFINE(uint64_t, unsigned long long)
slouken@1353
   177
            AC_DEFINE(SDL_HAS_64BIT_TYPE)
slouken@1353
   178
        fi
slouken@1353
   179
    fi
slouken@1361
   180
    AC_DEFINE(size_t, unsigned int)
slouken@1361
   181
    AC_DEFINE(uintptr_t, unsigned long)
slouken@1353
   182
fi
slouken@1341
   183
slouken@1361
   184
# Standard C sources
slouken@1361
   185
SOURCES="$SOURCES $srcdir/src/*.c"
slouken@1361
   186
SOURCES="$SOURCES $srcdir/src/audio/*.c"
slouken@1361
   187
SOURCES="$SOURCES $srcdir/src/cdrom/*.c"
slouken@1361
   188
SOURCES="$SOURCES $srcdir/src/cpuinfo/*.c"
slouken@1361
   189
SOURCES="$SOURCES $srcdir/src/events/*.c"
slouken@1361
   190
SOURCES="$SOURCES $srcdir/src/file/*.c"
slouken@1361
   191
SOURCES="$SOURCES $srcdir/src/joystick/*.c"
slouken@1361
   192
SOURCES="$SOURCES $srcdir/src/stdlib/*.c"
slouken@1361
   193
SOURCES="$SOURCES $srcdir/src/thread/*.c"
slouken@1361
   194
SOURCES="$SOURCES $srcdir/src/timer/*.c"
slouken@1361
   195
SOURCES="$SOURCES $srcdir/src/video/*.c"
slouken@1361
   196
slouken@0
   197
dnl Enable/disable various subsystems of the SDL library
slouken@0
   198
slouken@0
   199
AC_ARG_ENABLE(audio,
slouken@1637
   200
AC_HELP_STRING([--enable-audio], [Enable the audio subsystem [[default=yes]]]),
slouken@0
   201
              , enable_audio=yes)
slouken@1361
   202
if test x$enable_audio != xyes; then
slouken@1361
   203
    AC_DEFINE(SDL_AUDIO_DISABLED)
slouken@0
   204
fi
slouken@0
   205
AC_ARG_ENABLE(video,
slouken@1637
   206
AC_HELP_STRING([--enable-video], [Enable the video subsystem [[default=yes]]]),
slouken@0
   207
              , enable_video=yes)
slouken@1361
   208
if test x$enable_video != xyes; then
slouken@1361
   209
    AC_DEFINE(SDL_VIDEO_DISABLED)
slouken@0
   210
fi
slouken@0
   211
AC_ARG_ENABLE(events,
slouken@1637
   212
AC_HELP_STRING([--enable-events], [Enable the events subsystem [[default=yes]]]),
slouken@0
   213
              , enable_events=yes)
slouken@1361
   214
if test x$enable_events != xyes; then
slouken@1361
   215
    AC_DEFINE(SDL_EVENTS_DISABLED)
slouken@0
   216
fi
slouken@0
   217
AC_ARG_ENABLE(joystick,
slouken@1637
   218
AC_HELP_STRING([--enable-joystick], [Enable the joystick subsystem [[default=yes]]]),
slouken@0
   219
              , enable_joystick=yes)
slouken@1361
   220
if test x$enable_joystick != xyes; then
slouken@1361
   221
    AC_DEFINE(SDL_JOYSTICK_DISABLED)
slouken@0
   222
fi
slouken@0
   223
AC_ARG_ENABLE(cdrom,
slouken@1637
   224
AC_HELP_STRING([--enable-cdrom], [Enable the cdrom subsystem [[default=yes]]]),
slouken@0
   225
              , enable_cdrom=yes)
slouken@1361
   226
if test x$enable_cdrom != xyes; then
slouken@1361
   227
    AC_DEFINE(SDL_CDROM_DISABLED)
slouken@0
   228
fi
slouken@0
   229
AC_ARG_ENABLE(threads,
slouken@1637
   230
AC_HELP_STRING([--enable-threads], [Enable the threading subsystem [[default=yes]]]),
slouken@0
   231
              , enable_threads=yes)
slouken@0
   232
if test x$enable_threads != xyes; then
slouken@1361
   233
    AC_DEFINE(SDL_THREADS_DISABLED)
slouken@0
   234
fi
slouken@0
   235
AC_ARG_ENABLE(timers,
slouken@1637
   236
AC_HELP_STRING([--enable-timers], [Enable the timer subsystem [[default=yes]]]),
slouken@0
   237
              , enable_timers=yes)
slouken@1361
   238
if test x$enable_timers != xyes; then
slouken@1361
   239
    AC_DEFINE(SDL_TIMERS_DISABLED)
slouken@0
   240
fi
slouken@0
   241
AC_ARG_ENABLE(file,
slouken@1637
   242
AC_HELP_STRING([--enable-file], [Enable the file subsystem [[default=yes]]]),
slouken@0
   243
              , enable_file=yes)
slouken@1361
   244
if test x$enable_file != xyes; then
slouken@1361
   245
    AC_DEFINE(SDL_FILE_DISABLED)
slouken@1361
   246
fi
slouken@1361
   247
AC_ARG_ENABLE(loadso,
slouken@1637
   248
AC_HELP_STRING([--enable-loadso], [Enable the shared object loading subsystem [[default=yes]]]),
slouken@1361
   249
              , enable_loadso=yes)
slouken@1361
   250
if test x$enable_loadso != xyes; then
slouken@1361
   251
    AC_DEFINE(SDL_LOADSO_DISABLED)
slouken@0
   252
fi
slouken@740
   253
AC_ARG_ENABLE(cpuinfo,
slouken@1637
   254
AC_HELP_STRING([--enable-cpuinfo], [Enable the cpuinfo subsystem [[default=yes]]]),
slouken@740
   255
              , enable_cpuinfo=yes)
slouken@1361
   256
if test x$enable_cpuinfo != xyes; then
slouken@1361
   257
    AC_DEFINE(SDL_CPUINFO_DISABLED)
slouken@1361
   258
fi
slouken@1402
   259
AC_ARG_ENABLE(assembly,
slouken@1637
   260
AC_HELP_STRING([--enable-assembly], [Enable assembly routines [[default=yes]]]),
slouken@1402
   261
              , enable_assembly=yes)
slouken@1402
   262
if test x$enable_assembly = xyes; then
slouken@1402
   263
    AC_DEFINE(SDL_ASSEMBLY_ROUTINES)
slouken@740
   264
fi
slouken@0
   265
slouken@0
   266
dnl See if the OSS audio interface is supported
slouken@0
   267
CheckOSS()
slouken@0
   268
{
slouken@0
   269
    AC_ARG_ENABLE(oss,
slouken@1637
   270
AC_HELP_STRING([--enable-oss], [support the OSS audio API [[default=yes]]]),
slouken@0
   271
                  , enable_oss=yes)
slouken@0
   272
    if test x$enable_audio = xyes -a x$enable_oss = xyes; then
slouken@0
   273
        AC_MSG_CHECKING(for OSS audio support)
slouken@0
   274
        have_oss=no
slouken@94
   275
        if test x$have_oss != xyes; then
slouken@94
   276
            AC_TRY_COMPILE([
slouken@94
   277
              #include <sys/soundcard.h>
slouken@94
   278
            ],[
slouken@94
   279
              int arg = SNDCTL_DSP_SETFRAGMENT;
slouken@94
   280
            ],[
slouken@94
   281
            have_oss=yes
slouken@94
   282
            ])
slouken@94
   283
        fi
slouken@94
   284
        if test x$have_oss != xyes; then
slouken@94
   285
            AC_TRY_COMPILE([
slouken@94
   286
              #include <soundcard.h>
slouken@94
   287
            ],[
slouken@94
   288
              int arg = SNDCTL_DSP_SETFRAGMENT;
slouken@94
   289
            ],[
slouken@94
   290
            have_oss=yes
slouken@1361
   291
            AC_DEFINE(SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H)
slouken@94
   292
            ])
slouken@94
   293
        fi
slouken@0
   294
        AC_MSG_RESULT($have_oss)
slouken@0
   295
        if test x$have_oss = xyes; then
slouken@1361
   296
            AC_DEFINE(SDL_AUDIO_DRIVER_OSS)
slouken@1361
   297
            SOURCES="$SOURCES $srcdir/src/audio/dsp/*.c"
slouken@1361
   298
            SOURCES="$SOURCES $srcdir/src/audio/dma/*.c"
slouken@1361
   299
            have_audio=yes
slouken@1361
   300
slouken@1565
   301
            # We may need to link with ossaudio emulation library
slouken@1550
   302
            case "$host" in
slouken@1383
   303
                *-*-openbsd*|*-*-netbsd*)
slouken@1521
   304
                    EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lossaudio";;
slouken@1361
   305
            esac
slouken@0
   306
        fi
slouken@0
   307
    fi
slouken@0
   308
}
slouken@0
   309
slouken@0
   310
dnl See if the ALSA audio interface is supported
slouken@0
   311
CheckALSA()
slouken@0
   312
{
slouken@0
   313
    AC_ARG_ENABLE(alsa,
slouken@1637
   314
AC_HELP_STRING([--enable-alsa], [support the ALSA audio API [[default=yes]]]),
slouken@0
   315
                  , enable_alsa=yes)
slouken@0
   316
    if test x$enable_audio = xyes -a x$enable_alsa = xyes; then
slouken@948
   317
        AM_PATH_ALSA(0.9.0, have_alsa=yes, have_alsa=no)
slouken@1009
   318
        # Restore all flags from before the ALSA detection runs
slouken@1009
   319
        CFLAGS="$alsa_save_CFLAGS"
slouken@1009
   320
        LDFLAGS="$alsa_save_LDFLAGS"
slouken@1009
   321
        LIBS="$alsa_save_LIBS"
slouken@354
   322
        if test x$have_alsa = xyes; then
slouken@865
   323
            AC_ARG_ENABLE(alsa-shared,
slouken@1637
   324
AC_HELP_STRING([--enable-alsa-shared], [dynamically load ALSA audio support [[default=yes]]]),
slouken@1361
   325
                          , enable_alsa_shared=yes)
slouken@1361
   326
            if test "x`echo $ALSA_LIBS | grep -- -L`" = "x"; then
slouken@1361
   327
                if test "x`ls /lib/libasound.so.* 2> /dev/null`" != "x"; then
slouken@1361
   328
                    ALSA_LIBS="-L/lib $ALSA_LIBS"
slouken@1361
   329
                elif test "x`ls /usr/lib/libasound.so.* 2> /dev/null`" != "x"; then
slouken@1361
   330
                    ALSA_LIBS="-L/usr/lib $ALSA_LIBS"
slouken@1361
   331
                elif test "x`ls /usr/local/lib/libasound.so.* 2> /dev/null`" != "x"; then
slouken@1361
   332
                    ALSA_LIBS="-L/usr/local/lib $ALSA_LIBS"
slouken@1361
   333
                fi
slouken@1361
   334
            fi
slouken@1361
   335
            alsa_lib_spec=`echo $ALSA_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libasound.so.*/'`
slouken@1606
   336
            alsa_lib=`ls -- $alsa_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
slouken@1361
   337
            echo "-- $alsa_lib_spec -> $alsa_lib"
slouken@1361
   338
slouken@1361
   339
            AC_DEFINE(SDL_AUDIO_DRIVER_ALSA)
slouken@1361
   340
            SOURCES="$SOURCES $srcdir/src/audio/alsa/*.c"
slouken@1521
   341
            EXTRA_CFLAGS="$EXTRA_CFLAGS $ALSA_CFLAGS"
slouken@1361
   342
            if test x$have_loadso != xyes && \
slouken@1361
   343
               test x$enable_alsa_shared = xyes; then
slouken@1467
   344
                AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ALSA loading])
slouken@1361
   345
            fi
slouken@1361
   346
            if test x$have_loadso = xyes && \
slouken@1361
   347
               test x$enable_alsa_shared = xyes && test x$alsa_lib != x; then
slouken@1361
   348
                AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ALSA_DYNAMIC, "$alsa_lib")
slouken@1361
   349
            else
slouken@1521
   350
                EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ALSA_LIBS"
slouken@1361
   351
            fi
slouken@1361
   352
            have_audio=yes
slouken@1361
   353
        fi
slouken@1361
   354
    fi
slouken@0
   355
}
slouken@0
   356
slouken@148
   357
dnl Check whether we want to use IRIX 6.5+ native audio or not
slouken@148
   358
CheckDMEDIA()
slouken@148
   359
{
slouken@148
   360
    if test x$enable_audio = xyes; then
slouken@148
   361
        AC_MSG_CHECKING(for dmedia audio support)
slouken@148
   362
        have_dmedia=no
slouken@148
   363
        AC_TRY_COMPILE([
slouken@148
   364
          #include <dmedia/audio.h>
slouken@148
   365
        ],[
slouken@148
   366
          ALport audio_port;
slouken@148
   367
        ],[
slouken@148
   368
        have_dmedia=yes
slouken@148
   369
        ])
slouken@935
   370
        AC_MSG_RESULT($have_dmedia)
slouken@148
   371
        # Set up files for the audio library
slouken@148
   372
        if test x$have_dmedia = xyes; then
slouken@1361
   373
            AC_DEFINE(SDL_AUDIO_DRIVER_DMEDIA)
slouken@1361
   374
            SOURCES="$SOURCES $srcdir/src/audio/dmedia/*.c"
slouken@1521
   375
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -laudio"
slouken@1361
   376
            have_audio=yes
slouken@148
   377
        fi
slouken@148
   378
    fi
slouken@148
   379
}
slouken@148
   380
slouken@1438
   381
dnl Check whether we want to use Tru64 UNIX native audio or not
slouken@1438
   382
CheckMME()
slouken@1438
   383
{
slouken@1438
   384
    dnl Make sure we are running on an Tru64 UNIX
slouken@1438
   385
    case $ARCH in
slouken@1438
   386
        osf)
slouken@1438
   387
            ;;
slouken@1438
   388
        *)
slouken@1438
   389
            return
slouken@1438
   390
            ;;
slouken@1438
   391
    esac
slouken@1438
   392
    if test x$enable_audio = xyes; then
slouken@1438
   393
        AC_MSG_CHECKING(for MME audio support)
slouken@1438
   394
        MME_CFLAGS="-I/usr/include/mme"
slouken@1438
   395
        MME_LIBS="-lmme"
slouken@1438
   396
        have_mme=no
slouken@1438
   397
        save_CFLAGS="$CFLAGS"
slouken@1438
   398
        CFLAGS="$CFLAGS $MME_CFLAGS"
slouken@1438
   399
        AC_TRY_COMPILE([
slouken@1438
   400
          #include <mme_api.h>
slouken@1438
   401
        ],[
slouken@1438
   402
          HWAVEOUT sound;
slouken@1438
   403
        ],[
slouken@1438
   404
        have_mme=yes
slouken@1438
   405
        ])
slouken@1438
   406
        CFLAGS="$save_CFLAGS"
slouken@1438
   407
        AC_MSG_RESULT($have_mme)
slouken@1438
   408
        # Set up files for the audio library
slouken@1438
   409
        if test x$have_mme = xyes; then
slouken@1438
   410
            AC_DEFINE(SDL_AUDIO_DRIVER_MMEAUDIO)
slouken@1438
   411
            SOURCES="$SOURCES $srcdir/src/audio/mme/*.c"
slouken@1521
   412
            EXTRA_CFLAGS="$EXTRA_CFLAGS $MME_CFLAGS"
slouken@1521
   413
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS $MME_LIBS"
slouken@1438
   414
            have_audio=yes
slouken@1438
   415
        fi
slouken@1438
   416
    fi
slouken@1438
   417
}
slouken@1438
   418
slouken@0
   419
dnl Find the ESD includes and libraries
slouken@0
   420
CheckESD()
slouken@0
   421
{
slouken@0
   422
    AC_ARG_ENABLE(esd,
slouken@1637
   423
AC_HELP_STRING([--enable-esd], [support the Enlightened Sound Daemon [[default=yes]]]),
slouken@0
   424
                  , enable_esd=yes)
slouken@0
   425
    if test x$enable_audio = xyes -a x$enable_esd = xyes; then
slouken@948
   426
        AM_PATH_ESD(0.2.8, have_esd=yes, have_esd=no)
slouken@948
   427
        if test x$have_esd = xyes; then
slouken@294
   428
            AC_ARG_ENABLE(esd-shared,
slouken@1637
   429
AC_HELP_STRING([--enable-esd-shared], [dynamically load ESD audio support [[default=yes]]]),
slouken@678
   430
                          , enable_esd_shared=yes)
slouken@294
   431
            esd_lib_spec=`echo $ESD_LIBS | sed 's/.*-L\([[^ ]]*\).*/\1\/libesd.so.*/'`
slouken@1606
   432
            esd_lib=`ls -- $esd_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
slouken@371
   433
            echo "-- $esd_lib_spec -> $esd_lib"
slouken@1467
   434
slouken@1467
   435
            AC_DEFINE(SDL_AUDIO_DRIVER_ESD)
slouken@1467
   436
            SOURCES="$SOURCES $srcdir/src/audio/esd/*.c"
slouken@1521
   437
            EXTRA_CFLAGS="$EXTRA_CFLAGS $ESD_CFLAGS"
icculus@1173
   438
            if test x$have_loadso != xyes && \
slouken@296
   439
               test x$enable_esd_shared = xyes; then
slouken@1467
   440
                AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ESD loading])
slouken@296
   441
            fi
icculus@1173
   442
            if test x$have_loadso = xyes && \
slouken@294
   443
               test x$enable_esd_shared = xyes && test x$esd_lib != x; then
slouken@1361
   444
                AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ESD_DYNAMIC, "$esd_lib")
slouken@1467
   445
            else
slouken@1521
   446
                EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ESD_LIBS"
slouken@294
   447
            fi
slouken@1361
   448
            have_audio=yes
slouken@294
   449
        fi
slouken@0
   450
    fi
slouken@0
   451
}
slouken@0
   452
slouken@0
   453
CheckARTSC()
slouken@0
   454
{
slouken@0
   455
    AC_ARG_ENABLE(arts,
slouken@1637
   456
AC_HELP_STRING([--enable-arts], [support the Analog Real Time Synthesizer [[default=yes]]]),
slouken@0
   457
                  , enable_arts=yes)
slouken@0
   458
    if test x$enable_audio = xyes -a x$enable_arts = xyes; then
slouken@1361
   459
        AC_PATH_PROG(ARTSCONFIG, artsc-config)
slouken@1361
   460
        if test x$ARTSCONFIG = x -o x$ARTSCONFIG = x'"$ARTSCONFIG"'; then
slouken@0
   461
            : # arts isn't installed
slouken@0
   462
        else
slouken@1361
   463
            ARTS_CFLAGS=`$ARTSCONFIG --cflags`
slouken@1361
   464
            ARTS_LIBS=`$ARTSCONFIG --libs`
slouken@1361
   465
            ARTS_PREFIX=`$ARTSCONFIG --arts-prefix`
slouken@0
   466
            AC_MSG_CHECKING(for aRts development environment)
slouken@0
   467
            audio_arts=no
slouken@0
   468
            save_CFLAGS="$CFLAGS"
slouken@1361
   469
            CFLAGS="$CFLAGS $ARTS_CFLAGS"
slouken@0
   470
            AC_TRY_COMPILE([
slouken@0
   471
             #include <artsc.h>
slouken@0
   472
            ],[
slouken@0
   473
             arts_stream_t stream;
slouken@0
   474
            ],[
slouken@0
   475
            audio_arts=yes
slouken@0
   476
            ])
slouken@0
   477
            CFLAGS="$save_CFLAGS"
slouken@0
   478
            AC_MSG_RESULT($audio_arts)
slouken@0
   479
            if test x$audio_arts = xyes; then
slouken@294
   480
                AC_ARG_ENABLE(arts-shared,
slouken@1637
   481
AC_HELP_STRING([--enable-arts-shared], [dynamically load aRts audio support [[default=yes]]]),
slouken@678
   482
                              , enable_arts_shared=yes)
slouken@1361
   483
                arts_lib_spec="$ARTS_PREFIX/lib/libartsc.so.*"
slouken@1606
   484
                arts_lib=`ls -- $arts_lib_spec | sed 's/.*\/\(.*\)/\1/; q'`
slouken@371
   485
                echo "-- $arts_lib_spec -> $arts_lib"
slouken@1467
   486
slouken@1467
   487
                AC_DEFINE(SDL_AUDIO_DRIVER_ARTS)
slouken@1467
   488
                SOURCES="$SOURCES $srcdir/src/audio/arts/*.c"
slouken@1521
   489
                EXTRA_CFLAGS="$EXTRA_CFLAGS $ARTS_CFLAGS"
icculus@1173
   490
                if test x$have_loadso != xyes && \
slouken@296
   491
                   test x$enable_arts_shared = xyes; then
slouken@1467
   492
                    AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic ARTS loading])
slouken@296
   493
                fi
icculus@1173
   494
                if test x$have_loadso = xyes && \
slouken@294
   495
                   test x$enable_arts_shared = xyes && test x$arts_lib != x; then
slouken@1361
   496
                    AC_DEFINE_UNQUOTED(SDL_AUDIO_DRIVER_ARTS_DYNAMIC, "$arts_lib")
slouken@1467
   497
                else
slouken@1521
   498
                    EXTRA_LDFLAGS="$EXTRA_LDFLAGS $ARTS_LIBS"
slouken@294
   499
                fi
slouken@1361
   500
                have_audio=yes
slouken@0
   501
            fi
slouken@0
   502
        fi
slouken@0
   503
    fi
slouken@0
   504
}
slouken@0
   505
slouken@0
   506
dnl See if the NAS audio interface is supported
slouken@0
   507
CheckNAS()
slouken@0
   508
{
slouken@0
   509
    AC_ARG_ENABLE(nas,
slouken@1637
   510
AC_HELP_STRING([--enable-nas], [support the NAS audio API [[default=yes]]]),
slouken@41
   511
                  , enable_nas=yes)
slouken@0
   512
    if test x$enable_audio = xyes -a x$enable_nas = xyes; then
slouken@41
   513
        AC_MSG_CHECKING(for NAS audio support)
slouken@41
   514
        have_nas=no
slouken@41
   515
        if test -r /usr/X11R6/include/audio/audiolib.h; then
slouken@41
   516
            have_nas=yes
slouken@1361
   517
            NAS_CFLAGS="-I/usr/X11R6/include/"
slouken@1520
   518
            NAS_LIBS="-L/usr/X11R6/lib -laudio -lXt"
slouken@605
   519
slouken@605
   520
        dnl On IRIX, the NAS includes are in a different directory,
slouken@605
   521
        dnl and libnas must be explicitly linked in
slouken@605
   522
slouken@605
   523
        elif test -r /usr/freeware/include/nas/audiolib.h; then
slouken@605
   524
            have_nas=yes
slouken@1361
   525
            NAS_LIBS="-lnas -lXt"
slouken@41
   526
        fi
slouken@605
   527
        AC_MSG_RESULT($have_nas)
slouken@1361
   528
        if test x$have_nas = xyes; then
slouken@1361
   529
            AC_DEFINE(SDL_AUDIO_DRIVER_NAS)
slouken@1361
   530
            SOURCES="$SOURCES $srcdir/src/audio/nas/*.c"
slouken@1521
   531
            EXTRA_CFLAGS="$EXTRA_CFLAGS $NAS_CFLAGS"
slouken@1521
   532
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS $NAS_LIBS"
slouken@1361
   533
            have_audio=yes
slouken@1361
   534
        fi
slouken@0
   535
    fi
slouken@0
   536
}
slouken@0
   537
slouken@68
   538
dnl rcg07142001 See if the user wants the disk writer audio driver...
slouken@68
   539
CheckDiskAudio()
slouken@68
   540
{
slouken@68
   541
    AC_ARG_ENABLE(diskaudio,
slouken@1637
   542
AC_HELP_STRING([--enable-diskaudio], [support the disk writer audio driver [[default=yes]]]),
slouken@86
   543
                  , enable_diskaudio=yes)
slouken@68
   544
    if test x$enable_audio = xyes -a x$enable_diskaudio = xyes; then
slouken@1361
   545
        AC_DEFINE(SDL_AUDIO_DRIVER_DISK)
slouken@1361
   546
        SOURCES="$SOURCES $srcdir/src/audio/disk/*.c"
slouken@68
   547
    fi
slouken@68
   548
}
slouken@68
   549
icculus@1532
   550
dnl rcg03142006 See if the user wants the dummy audio driver...
icculus@1532
   551
CheckDummyAudio()
icculus@1532
   552
{
icculus@1532
   553
    AC_ARG_ENABLE(dummyaudio,
slouken@1637
   554
AC_HELP_STRING([--enable-dummyaudio], [support the dummy audio driver [[default=yes]]]),
icculus@1532
   555
                  , enable_dummyaudio=yes)
icculus@1532
   556
    if test x$enable_audio = xyes -a x$enable_dummyaudio = xyes; then
icculus@1532
   557
        AC_DEFINE(SDL_AUDIO_DRIVER_DUMMY)
icculus@1532
   558
        SOURCES="$SOURCES $srcdir/src/audio/dummy/*.c"
icculus@1532
   559
    fi
icculus@1532
   560
}
icculus@1532
   561
slouken@398
   562
dnl Set up the Atari Audio driver
slouken@398
   563
CheckAtariAudio()
slouken@398
   564
{
slouken@398
   565
    AC_ARG_ENABLE(mintaudio,
slouken@1637
   566
AC_HELP_STRING([--enable-mintaudio], [support Atari audio driver [[default=yes]]]),
slouken@398
   567
                  , enable_mintaudio=yes)
slouken@398
   568
    if test x$enable_audio = xyes -a x$enable_mintaudio = xyes; then
slouken@398
   569
        mintaudio=no
slouken@398
   570
        AC_CHECK_HEADER(mint/falcon.h, have_mint_falcon_hdr=yes)
slouken@398
   571
        if test x$have_mint_falcon_hdr = xyes; then
slouken@398
   572
            mintaudio=yes
slouken@1361
   573
            AC_DEFINE(SDL_AUDIO_DRIVER_MINT)
patmandin@1364
   574
            SOURCES="$SOURCES $srcdir/src/audio/mint/*.c"
patmandin@1477
   575
            SOURCES="$SOURCES $srcdir/src/audio/mint/*.S"
slouken@1361
   576
            have_audio=yes
slouken@398
   577
        fi
slouken@398
   578
    fi
slouken@398
   579
}
slouken@398
   580
slouken@0
   581
dnl See if we can use x86 assembly blitters
slouken@1361
   582
# NASM is available from: http://nasm.sourceforge.net
slouken@0
   583
CheckNASM()
slouken@0
   584
{
slouken@0
   585
    dnl Make sure we are running on an x86 platform
slouken@1550
   586
    case $host in
slouken@0
   587
        i?86*)
slouken@0
   588
            ;;
slouken@0
   589
        *)
slouken@0
   590
        # Nope, bail early.
slouken@0
   591
            return
slouken@0
   592
            ;;
slouken@0
   593
    esac
slouken@0
   594
    dnl Check for NASM (for assembly blit routines)
slouken@0
   595
    AC_ARG_ENABLE(nasm,
slouken@1637
   596
AC_HELP_STRING([--enable-nasm], [use nasm assembly blitters on x86 [[default=yes]]]),
slouken@0
   597
                  , enable_nasm=yes)
slouken@1402
   598
    if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_nasm = xyes; then
slouken@1871
   599
        AC_PATH_PROG(NASM, yasm)
slouken@1871
   600
        if test "x$NASM" = x -o "x$NASM" = x'"$NASM"'; then
slouken@1871
   601
            AC_PATH_PROG(NASM, nasm)
slouken@1871
   602
        fi
slouken@1871
   603
        if test "x$NASM" != x -a "x$NASM" != x'"$NASM"'; then
slouken@1361
   604
            AC_DEFINE(SDL_HERMES_BLITTERS)
slouken@1361
   605
            SOURCES="$SOURCES $srcdir/src/hermes/*.asm"
slouken@1871
   606
            if test x"$NASMFLAGS" = x; then
slouken@1566
   607
                case $ARCH in
slouken@1566
   608
                  win32)
slouken@1566
   609
                      NASMFLAGS="-f win32"
slouken@1566
   610
                      ;;
slouken@1566
   611
                  openbsd)
slouken@1566
   612
                      NASMFLAGS="-f aoutb"
slouken@1566
   613
                      ;;
slouken@1566
   614
                  *)
slouken@1566
   615
                      NASMFLAGS="-f elf"
slouken@1566
   616
                      ;;
slouken@1566
   617
                esac
slouken@1566
   618
            fi
slouken@1871
   619
            NASMFLAGS="$NASMFLAGS -i $srcdir/src/hermes/"
slouken@1871
   620
slouken@1871
   621
            dnl See if hidden visibility is supported
slouken@1871
   622
            echo 'GLOBAL _bar:function hidden' > nasm_vis.asm
slouken@1871
   623
            if $NASM $NASMFLAGS nasm_vis.asm -o nasm_vis.o >&AS_MESSAGE_LOG_FD ; then
slouken@1871
   624
                NASMFLAGS="$NASMFLAGS -DHIDDEN_VISIBILITY"
slouken@1871
   625
            fi
slouken@1871
   626
            rm -f nasm_vis.asm nasm_vis.o
slouken@1871
   627
slouken@1361
   628
            AC_SUBST(NASM)
slouken@0
   629
            AC_SUBST(NASMFLAGS)
slouken@1361
   630
slouken@1550
   631
            case "$host" in
slouken@886
   632
                # this line is needed for QNX, because it's not defined the __ELF__
slouken@1361
   633
                *-*-qnx*)
slouken@1521
   634
                     EXTRA_CFLAGS="$EXTRA_CFLAGS -D__ELF__";;
slouken@1361
   635
                *-*-solaris*)
slouken@1521
   636
                     EXTRA_CFLAGS="$EXTRA_CFLAGS -D__ELF__";;
slouken@1361
   637
            esac
slouken@1361
   638
        fi
slouken@1361
   639
    fi
slouken@1361
   640
}
slouken@886
   641
slouken@1361
   642
dnl Check for altivec instruction support using gas syntax
slouken@1361
   643
CheckAltivec()
slouken@1361
   644
{
slouken@1361
   645
    AC_ARG_ENABLE(altivec,
slouken@1637
   646
AC_HELP_STRING([--enable-altivec], [use altivec assembly blitters on PPC [[default=yes]]]),
slouken@1361
   647
                  , enable_altivec=yes)
slouken@1402
   648
    if test x$enable_video = xyes -a x$enable_assembly = xyes -a x$enable_altivec = xyes; then
slouken@1361
   649
        have_altivec_h_hdr=no
slouken@1361
   650
        AC_CHECK_HEADER(altivec.h, have_altivec_h_hdr=yes)
slouken@886
   651
slouken@1361
   652
        save_CFLAGS="$CFLAGS"
slouken@1361
   653
        have_gcc_altivec=no
slouken@1361
   654
        AC_MSG_CHECKING(for Altivec with GCC -maltivec option)
slouken@1361
   655
        altivec_CFLAGS="-maltivec"
slouken@1361
   656
        CFLAGS="$save_CFLAGS $altivec_CFLAGS"
slouken@1361
   657
slouken@1361
   658
        if test x$have_altivec_h_hdr = xyes; then
slouken@1361
   659
          AC_TRY_COMPILE([
slouken@1361
   660
          #include <altivec.h>
slouken@1361
   661
          vector unsigned int vzero() {
slouken@1361
   662
              return vec_splat_u32(0);
slouken@1361
   663
          }
slouken@1361
   664
          ],[
slouken@1361
   665
          ],[
slouken@1361
   666
          have_gcc_altivec=yes
slouken@1361
   667
          ])
slouken@1361
   668
          AC_MSG_RESULT($have_gcc_altivec)
slouken@1361
   669
        else
slouken@1361
   670
          AC_TRY_COMPILE([
slouken@1361
   671
          vector unsigned int vzero() {
slouken@1361
   672
              return vec_splat_u32(0);
slouken@1361
   673
          }
slouken@1361
   674
          ],[
slouken@1361
   675
          ],[
slouken@1361
   676
          have_gcc_altivec=yes
slouken@1361
   677
          ])
slouken@1361
   678
          AC_MSG_RESULT($have_gcc_altivec)
slouken@1361
   679
        fi
slouken@1361
   680
slouken@1361
   681
        if test x$have_gcc_altivec = xno; then
slouken@1361
   682
            AC_MSG_CHECKING(for Altivec with GCC -faltivec option)
slouken@1361
   683
            altivec_CFLAGS="-faltivec"
slouken@1361
   684
            CFLAGS="$save_CFLAGS $altivec_CFLAGS"
slouken@1361
   685
            if test x$have_altivec_h_hdr = xyes; then
slouken@1361
   686
              AC_TRY_COMPILE([
slouken@1361
   687
              #include <altivec.h>
slouken@1361
   688
              vector unsigned int vzero() {
slouken@1361
   689
                  return vec_splat_u32(0);
slouken@1361
   690
              }
slouken@1361
   691
              ],[
slouken@1361
   692
              ],[
slouken@1361
   693
              have_gcc_altivec=yes
slouken@1361
   694
              ])
slouken@1361
   695
              AC_MSG_RESULT($have_gcc_altivec)
slouken@1361
   696
            else
slouken@1361
   697
              AC_TRY_COMPILE([
slouken@1361
   698
              vector unsigned int vzero() {
slouken@1361
   699
                  return vec_splat_u32(0);
slouken@1361
   700
              }
slouken@1361
   701
              ],[
slouken@1361
   702
              ],[
slouken@1361
   703
              have_gcc_altivec=yes
slouken@1361
   704
              ])
slouken@1361
   705
              AC_MSG_RESULT($have_gcc_altivec)
slouken@1361
   706
            fi
slouken@1361
   707
        fi
slouken@1361
   708
        CFLAGS="$save_CFLAGS"
slouken@1361
   709
slouken@1361
   710
        if test x$have_gcc_altivec = xyes; then
slouken@1361
   711
            AC_DEFINE(SDL_ALTIVEC_BLITTERS)
slouken@1361
   712
            if test x$have_altivec_h_hdr = xyes; then
slouken@1361
   713
              AC_DEFINE(HAVE_ALTIVEC_H)
slouken@1361
   714
            fi
slouken@1521
   715
            EXTRA_CFLAGS="$EXTRA_CFLAGS $altivec_CFLAGS"
slouken@0
   716
        fi
slouken@0
   717
    fi
slouken@0
   718
}
slouken@0
   719
icculus@1573
   720
dnl See if GCC's -fvisibility=hidden is supported (gcc4 and later, usually).
icculus@1573
   721
dnl  Details of this flag are here: http://gcc.gnu.org/wiki/Visibility
icculus@1573
   722
CheckVisibilityHidden()
icculus@1573
   723
{
icculus@1573
   724
    AC_MSG_CHECKING(for GCC -fvisibility=hidden option)
icculus@1573
   725
    have_gcc_fvisibility=no
icculus@1573
   726
icculus@1573
   727
    visibility_CFLAGS="-fvisibility=hidden"
icculus@1573
   728
    save_CFLAGS="$CFLAGS"
icculus@1573
   729
    CFLAGS="$save_CFLAGS $visibility_CFLAGS"
icculus@1573
   730
    AC_TRY_COMPILE([
slouken@1745
   731
    #if !defined(__GNUC__) || __GNUC__ < 4
slouken@1745
   732
    #error SDL only uses visibility attributes in GCC 4 or newer
slouken@1745
   733
    #endif
icculus@1573
   734
    ],[
icculus@1573
   735
    ],[
icculus@1573
   736
    have_gcc_fvisibility=yes
icculus@1573
   737
    ])
icculus@1573
   738
    AC_MSG_RESULT($have_gcc_fvisibility)
icculus@1573
   739
    CFLAGS="$save_CFLAGS"
icculus@1573
   740
icculus@1573
   741
    if test x$have_gcc_fvisibility = xyes; then
slouken@1574
   742
        EXTRA_CFLAGS="$EXTRA_CFLAGS $visibility_CFLAGS"
icculus@1573
   743
    fi
icculus@1573
   744
}
icculus@1573
   745
icculus@1573
   746
icculus@1140
   747
dnl Do the iPod thing
icculus@1140
   748
CheckIPod()
icculus@1140
   749
{
icculus@1140
   750
    AC_ARG_ENABLE(ipod,
slouken@1361
   751
AC_HELP_STRING([--enable-ipod], [configure SDL to work with iPodLinux [default=yes on arm-elf]]),
slouken@1361
   752
        , enable_ipod=yes)
icculus@1140
   753
icculus@1140
   754
    if test x$enable_ipod = xyes; then
slouken@1521
   755
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DIPOD"
slouken@1361
   756
        AC_DEFINE(SDL_VIDEO_DRIVER_IPOD)
slouken@1361
   757
        SOURCES="$SOURCES $srcdir/src/video/ipod/*.c"
icculus@1140
   758
    fi
slouken@1361
   759
}
icculus@1140
   760
slouken@30
   761
dnl Find the nanox include and library directories
slouken@30
   762
CheckNANOX()
slouken@30
   763
{
slouken@292
   764
    AC_ARG_ENABLE(video-nanox,
slouken@1637
   765
        AC_HELP_STRING([--enable-video-nanox], [use nanox video driver [[default=no]]]),
slouken@292
   766
        , enable_video_nanox=no)
slouken@30
   767
slouken@292
   768
    if test x$enable_video = xyes -a x$enable_video_nanox = xyes; then
slouken@1361
   769
        AC_ARG_ENABLE(nanox-debug,  
slouken@1637
   770
            AC_HELP_STRING([--enable-nanox-debug], [print debug messages [[default=no]]]),
slouken@1361
   771
            , enable_nanox_debug=no)
slouken@292
   772
        if test x$enable_nanox_debug = xyes; then
slouken@1521
   773
            EXTRA_CFLAGS="$EXTRA_CFLAGS -DENABLE_NANOX_DEBUG"
slouken@292
   774
        fi
slouken@30
   775
slouken@1361
   776
        AC_ARG_ENABLE(nanox-share-memory,  
slouken@1637
   777
            AC_HELP_STRING([--enable-nanox-share-memory], [use share memory [[default=no]]]),
slouken@1361
   778
            , enable_nanox_share_memory=no)
slouken@292
   779
        if test x$enable_nanox_share_memory = xyes; then
slouken@1521
   780
            EXTRA_CFLAGS="$EXTRA_CFLAGS -DNANOX_SHARE_MEMORY"
slouken@292
   781
        fi
slouken@30
   782
slouken@1361
   783
        AC_ARG_ENABLE(nanox_direct_fb, 
slouken@1637
   784
            AC_HELP_STRING([--enable-nanox-direct-fb], [use direct framebuffer access [[default=no]]]),
slouken@1361
   785
            , enable_nanox_direct_fb=no)
slouken@471
   786
        if test x$enable_nanox_direct_fb = xyes; then
slouken@1521
   787
            EXTRA_CFLAGS="$EXTRA_CFLAGS -DENABLE_NANOX_DIRECT_FB"
slouken@471
   788
        fi
slouken@30
   789
slouken@1361
   790
        AC_DEFINE(SDL_VIDEO_DRIVER_NANOX)
slouken@1361
   791
        SOURCES="$SOURCES $srcdir/src/video/nanox/*.c"
slouken@1521
   792
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lnano-X"
slouken@1361
   793
        have_video=yes
slouken@292
   794
    fi
slouken@30
   795
}
slouken@30
   796
slouken@0
   797
dnl Find the X11 include and library directories
slouken@0
   798
CheckX11()
slouken@0
   799
{
slouken@0
   800
    AC_ARG_ENABLE(video-x11,
slouken@1637
   801
AC_HELP_STRING([--enable-video-x11], [use X11 video driver [[default=yes]]]),
slouken@0
   802
                  , enable_video_x11=yes)
slouken@0
   803
    if test x$enable_video = xyes -a x$enable_video_x11 = xyes; then
slouken@1806
   804
        case "$host" in
slouken@1807
   805
            *-*-darwin*)
slouken@1807
   806
                # This isn't necessary for X11, but fixes GLX detection
slouken@1808
   807
                if test "x$x_includes" = xNONE && test "x$x_libraries" = xNONE; then
slouken@1806
   808
                    x_includes="/usr/X11R6/include"
slouken@1806
   809
                    x_libraries="/usr/X11R6/lib"
slouken@1806
   810
                fi
slouken@1806
   811
                ;;
slouken@1806
   812
        esac
slouken@0
   813
        AC_PATH_X
slouken@0
   814
        AC_PATH_XTRA
slouken@0
   815
        if test x$have_x = xyes; then
slouken@1879
   816
            # Only allow dynamically loaded X11 if the X11 function pointers
slouken@1879
   817
            # will not end up in the global namespace, which causes problems
slouken@1879
   818
            # with other libraries calling X11 functions.
slouken@1879
   819
            x11_symbols_private=$have_gcc_fvisibility
slouken@1879
   820
icculus@1168
   821
            AC_ARG_ENABLE(x11-shared,
slouken@1879
   822
AC_HELP_STRING([--enable-x11-shared], [dynamically load X11 support [[default=maybe]]]),
slouken@1879
   823
                          , enable_x11_shared=maybe)
icculus@1168
   824
slouken@1550
   825
            case "$host" in
icculus@1589
   826
                *-*-darwin*) # Latest Mac OS X actually ships with Xrandr/Xrender libs...
slouken@1879
   827
                    x11_symbols_private=yes
icculus@1174
   828
                    x11_lib='/usr/X11R6/lib/libX11.6.dylib'
icculus@1174
   829
                    x11ext_lib='/usr/X11R6/lib/libXext.6.dylib'
slouken@1592
   830
                    xrender_lib='/usr/X11R6/lib/libXrender.1.dylib'
icculus@1589
   831
                    xrandr_lib='/usr/X11R6/lib/libXrandr.2.dylib'
icculus@1174
   832
                    ;;
slouken@1384
   833
                *-*-osf*)
slouken@1384
   834
                    x11_lib='libX11.so'
slouken@1384
   835
                    x11ext_lib='libXext.so'
slouken@1384
   836
                    ;;
slouken@1384
   837
                *-*-irix*) # IRIX 6.5 requires that we use /usr/lib32
icculus@1299
   838
                    x11_lib='libX11.so'
icculus@1299
   839
                    x11ext_lib='libXext.so'
icculus@1299
   840
                    ;;
icculus@1174
   841
                *)
slouken@1569
   842
                    x11_lib_spec=[`echo $X_LIBS | sed 's/.*-L\([^ ]*\).*/\1/'`]
slouken@1571
   843
                    for path in $x11_lib_path /usr/lib /usr/X11/lib /usr/X11R6/lib; do
slouken@1571
   844
                        if test "x$x11_lib" = "x"; then
slouken@1606
   845
                            x11_lib=[`ls -- $path/libX11.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
slouken@1879
   846
                            if test "x$x11_lib" = "x"; then
slouken@1879
   847
                                x11_lib=[`ls -- $path/libX11.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
slouken@1879
   848
                            fi
slouken@1571
   849
                        fi
slouken@1571
   850
                        if test "x$x11ext_lib" = "x"; then
slouken@1606
   851
                            x11ext_lib=[`ls -- $path/libXext.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
slouken@1879
   852
                            if test "x$x11ext_lib" = "x"; then
slouken@1879
   853
                                x11ext_lib=[`ls -- $path/libXext.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
slouken@1879
   854
                            fi
slouken@1571
   855
                        fi
icculus@1589
   856
                        if test "x$xrender_lib" = "x"; then
slouken@1606
   857
                            xrender_lib=[`ls -- $path/libXrender.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
slouken@1879
   858
                            if test "x$xrender_lib" = "x"; then
slouken@1879
   859
                                xrender_lib=[`ls -- $path/libXrender.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
slouken@1879
   860
                            fi
icculus@1589
   861
                        fi
icculus@1589
   862
                        if test "x$xrandr_lib" = "x"; then
slouken@1606
   863
                            xrandr_lib=[`ls -- $path/libXrandr.so.[0-9] 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
slouken@1879
   864
                            if test "x$xrandr_lib" = "x"; then
slouken@1879
   865
                                xrandr_lib=[`ls -- $path/libXrandr.so.[0-9]* 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
slouken@1879
   866
                            fi
icculus@1589
   867
                        fi
slouken@1569
   868
                    done
icculus@1174
   869
                    ;;
icculus@1174
   870
            esac
icculus@1168
   871
slouken@1361
   872
            X_CFLAGS="$X_CFLAGS -DXTHREADS"
slouken@1361
   873
            if test x$ac_cv_func_shmat != xyes; then
slouken@1361
   874
                X_CFLAGS="$X_CFLAGS -DNO_SHARED_MEMORY"
slouken@1361
   875
            fi
slouken@1799
   876
            CFLAGS="$CFLAGS $X_CFLAGS"
slouken@1799
   877
            LDFLAGS="$LDFLAGS $X_LIBS"
slouken@1468
   878
slouken@1468
   879
            AC_DEFINE(SDL_VIDEO_DRIVER_X11)
slouken@1468
   880
            SOURCES="$SOURCES $srcdir/src/video/x11/*.c"
slouken@1521
   881
            EXTRA_CFLAGS="$EXTRA_CFLAGS $X_CFLAGS"
slouken@1879
   882
slouken@1879
   883
            if test x$enable_x11_shared = xmaybe; then
slouken@1879
   884
                enable_x11_shared=$x11_symbols_private
slouken@1879
   885
            fi
icculus@1173
   886
            if test x$have_loadso != xyes && \
icculus@1168
   887
               test x$enable_x11_shared = xyes; then
slouken@1467
   888
                AC_MSG_WARN([You must have SDL_LoadObject() support for dynamic X11 loading])
icculus@1875
   889
                enable_x11_shared=no
icculus@1168
   890
            fi
slouken@1879
   891
            if test x$x11_symbols_private != xyes && \
icculus@1875
   892
               test x$enable_x11_shared = xyes; then
icculus@1875
   893
                AC_MSG_WARN([You must have gcc4 (-fvisibility=hidden) for dynamic X11 loading])
icculus@1875
   894
                enable_x11_shared=no
icculus@1875
   895
            fi
icculus@1875
   896
icculus@1173
   897
            if test x$have_loadso = xyes && \
icculus@1170
   898
               test x$enable_x11_shared = xyes && test x$x11_lib != x && test x$x11ext_lib != x; then
icculus@1174
   899
                echo "-- dynamic libX11 -> $x11_lib"
icculus@1174
   900
                echo "-- dynamic libX11ext -> $x11ext_lib"
slouken@1361
   901
                AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC, "$x11_lib")
slouken@1361
   902
                AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT, "$x11ext_lib")
icculus@1168
   903
            else
icculus@1589
   904
                enable_x11_shared=no
slouken@1521
   905
                EXTRA_LDFLAGS="$EXTRA_LDFLAGS $X_LIBS -lX11 -lXext"
icculus@1168
   906
            fi
slouken@1361
   907
            have_video=yes
slouken@0
   908
slouken@1307
   909
            AC_ARG_ENABLE(dga,
slouken@1637
   910
AC_HELP_STRING([--enable-dga], [allow use of X11 DGA code [[default=yes]]]),
slouken@1307
   911
                          , enable_dga=yes)
slouken@1307
   912
            if test x$enable_dga = xyes; then
slouken@1361
   913
                SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86dga/*.c"
slouken@1307
   914
            fi
slouken@1307
   915
            AC_ARG_ENABLE(video-dga,
slouken@1637
   916
AC_HELP_STRING([--enable-video-dga], [use DGA 2.0 video driver [[default=yes]]]),
slouken@1307
   917
                  , enable_video_dga=yes)
slouken@1307
   918
            if test x$enable_dga = xyes -a x$enable_video_dga = xyes; then
slouken@1361
   919
                AC_DEFINE(SDL_VIDEO_DRIVER_DGA)
slouken@1361
   920
                SOURCES="$SOURCES $srcdir/src/video/dga/*.c"
slouken@1307
   921
            fi
slouken@1307
   922
            AC_ARG_ENABLE(video-x11-dgamouse,
slouken@1637
   923
AC_HELP_STRING([--enable-video-x11-dgamouse], [use X11 DGA for mouse events [[default=yes]]]),
slouken@1307
   924
                          , enable_video_x11_dgamouse=yes)
slouken@1307
   925
            if test x$enable_dga = xyes -a x$enable_video_x11_dgamouse = xyes; then
slouken@1361
   926
                AC_DEFINE(SDL_VIDEO_DRIVER_X11_DGAMOUSE)
slouken@1307
   927
            fi
slouken@0
   928
            AC_ARG_ENABLE(video-x11-vm,
slouken@1637
   929
AC_HELP_STRING([--enable-video-x11-vm], [use X11 VM extension for fullscreen [[default=yes]]]),
slouken@0
   930
                          , enable_video_x11_vm=yes)
slouken@0
   931
            if test x$enable_video_x11_vm = xyes; then
slouken@1361
   932
                AC_DEFINE(SDL_VIDEO_DRIVER_X11_VIDMODE)
slouken@1361
   933
                SOURCES="$SOURCES $srcdir/src/video/Xext/Xxf86vm/*.c"
slouken@0
   934
            fi
slouken@0
   935
            AC_ARG_ENABLE(video-x11-xv,
slouken@1637
   936
AC_HELP_STRING([--enable-video-x11-xv], [use X11 XvImage extension for video [[default=yes]]]),
slouken@0
   937
                          , enable_video_x11_xv=yes)
slouken@0
   938
            if test x$enable_video_x11_xv = xyes; then
slouken@1361
   939
                AC_DEFINE(SDL_VIDEO_DRIVER_X11_XV)
slouken@1361
   940
                SOURCES="$SOURCES $srcdir/src/video/Xext/Xv/*.c"
slouken@0
   941
            fi
slouken@227
   942
            AC_ARG_ENABLE(video-x11-xinerama,
slouken@1637
   943
AC_HELP_STRING([--enable-video-x11-xinerama], [enable X11 Xinerama support [[default=yes]]]),
slouken@227
   944
                            , enable_video_x11_xinerama=yes)
slouken@227
   945
            if test x$enable_video_x11_xinerama = xyes; then
slouken@1361
   946
                AC_DEFINE(SDL_VIDEO_DRIVER_X11_XINERAMA)
slouken@1361
   947
                SOURCES="$SOURCES $srcdir/src/video/Xext/Xinerama/*.c"
slouken@227
   948
            fi
slouken@242
   949
            AC_ARG_ENABLE(video-x11-xme,
slouken@1637
   950
AC_HELP_STRING([--enable-video-x11-xme], [enable Xi Graphics XME for fullscreen [[default=yes]]]),
slouken@242
   951
                            , enable_video_x11_xme=yes)
slouken@242
   952
            if test x$enable_video_x11_xme = xyes; then
slouken@1361
   953
                AC_DEFINE(SDL_VIDEO_DRIVER_X11_XME)
slouken@1361
   954
                SOURCES="$SOURCES $srcdir/src/video/Xext/XME/*.c"
slouken@242
   955
            fi
icculus@1589
   956
            AC_ARG_ENABLE(video-x11-xrandr,
slouken@1637
   957
AC_HELP_STRING([--enable-video-x11-xrandr], [enable X11 Xrandr extension for fullscreen [[default=yes]]]),
icculus@1589
   958
                            , enable_video_x11_xrandr=yes)
icculus@1589
   959
            if test x$enable_video_x11_xrandr = xyes; then
icculus@1589
   960
                definitely_enable_video_x11_xrandr=no
icculus@1589
   961
                AC_CHECK_HEADER(X11/extensions/Xrandr.h,
icculus@1589
   962
                                have_xrandr_h_hdr=yes,
icculus@1589
   963
                                have_xrandr_h_hdr=no,
icculus@1589
   964
                                [#include <X11/Xlib.h>
icculus@1589
   965
                                ])
icculus@1589
   966
                if test x$have_xrandr_h_hdr = xyes; then
icculus@1589
   967
                    if test x$enable_x11_shared = xyes && test x$xrandr_lib != x ; then
icculus@1589
   968
                        echo "-- dynamic libXrender -> $xrender_lib"
icculus@1589
   969
                        echo "-- dynamic libXrandr -> $xrandr_lib"
icculus@1589
   970
                        AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER, "$xrender_lib")
icculus@1589
   971
                        AC_DEFINE_UNQUOTED(SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR, "$xrandr_lib")
icculus@1589
   972
                        definitely_enable_video_x11_xrandr=yes
icculus@1589
   973
                    else
icculus@1589
   974
                        AC_CHECK_LIB(Xrender, XRenderQueryExtension, have_xrender_lib=yes)
icculus@1589
   975
                        AC_CHECK_LIB(Xrandr, XRRQueryExtension, have_xrandr_lib=yes)
icculus@1589
   976
                        if test x$have_xrender_lib = xyes && test x$have_xrandr_lib = xyes ; then
icculus@1589
   977
                            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lXrandr -lXrender"
icculus@1589
   978
                            definitely_enable_video_x11_xrandr=yes
icculus@1589
   979
                        fi
icculus@1589
   980
                    fi
icculus@1589
   981
                fi
icculus@1589
   982
            fi
icculus@1589
   983
            if test x$definitely_enable_video_x11_xrandr = xyes; then
icculus@1589
   984
                AC_DEFINE(SDL_VIDEO_DRIVER_X11_XRANDR)
icculus@1589
   985
            fi
slouken@1783
   986
            AC_ARG_ENABLE(video-x11-dpms,
slouken@1783
   987
AC_HELP_STRING([--enable-video-x11-dpms], [enable X11 DPMS extension [[default=yes]]]),
slouken@1783
   988
                            , enable_video_x11_dpms=yes)
slouken@1783
   989
            if test x$enable_video_x11_dpms = xyes; then
slouken@1783
   990
                AC_CHECK_HEADER(X11/extensions/dpms.h,
slouken@1783
   991
                                have_dpms_h_hdr=yes,
slouken@1783
   992
                                have_dpms_h_hdr=no,
slouken@1783
   993
                                [#include <X11/Xlib.h>
slouken@1783
   994
                                ])
slouken@1783
   995
                if test x$have_dpms_h_hdr = xyes; then
slouken@1783
   996
                    AC_DEFINE(SDL_VIDEO_DRIVER_X11_DPMS)
slouken@1783
   997
                fi
slouken@1783
   998
            fi
slouken@0
   999
        fi
slouken@0
  1000
    fi
slouken@0
  1001
}
slouken@279
  1002
slouken@1361
  1003
dnl Check for QNX photon video driver
slouken@0
  1004
CheckPHOTON()
slouken@0
  1005
{
slouken@0
  1006
    AC_ARG_ENABLE(video-photon,
slouken@1637
  1007
AC_HELP_STRING([--enable-video-photon], [use QNX Photon video driver [[default=yes]]]),
slouken@0
  1008
                  , enable_video_photon=yes)
slouken@0
  1009
    if test x$enable_video = xyes -a x$enable_video_photon = xyes; then
slouken@0
  1010
        AC_MSG_CHECKING(for QNX Photon support)
slouken@0
  1011
        video_photon=no
slouken@0
  1012
        AC_TRY_COMPILE([
slouken@0
  1013
          #include <Ph.h>
slouken@0
  1014
          #include <Pt.h>
slouken@0
  1015
          #include <photon/Pg.h>
slouken@0
  1016
          #include <photon/PdDirect.h>
slouken@0
  1017
        ],[
slouken@0
  1018
         PgDisplaySettings_t *visual;
slouken@0
  1019
        ],[
slouken@0
  1020
        video_photon=yes
slouken@0
  1021
        ])
slouken@0
  1022
        AC_MSG_RESULT($video_photon)
slouken@0
  1023
        if test x$video_photon = xyes; then
slouken@1361
  1024
            AC_DEFINE(SDL_VIDEO_DRIVER_PHOTON)
slouken@1361
  1025
            SOURCES="$SOURCES $srcdir/src/video/photon/*.c"
slouken@1521
  1026
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lph"
slouken@1361
  1027
            have_video=yes
slouken@1361
  1028
slouken@279
  1029
            CheckOpenGLQNX
slouken@0
  1030
        fi
slouken@0
  1031
    fi
slouken@0
  1032
}
slouken@0
  1033
slouken@1361
  1034
dnl Set up the BWindow video driver if enabled
slouken@1361
  1035
CheckBWINDOW()
slouken@1361
  1036
{
slouken@1361
  1037
    if test x$enable_video = xyes; then
slouken@1361
  1038
        AC_DEFINE(SDL_VIDEO_DRIVER_BWINDOW)
slouken@1361
  1039
        SOURCES="$SOURCES $srcdir/src/video/bwindow/*.cc"
slouken@1361
  1040
        have_video=yes
slouken@1361
  1041
    fi
slouken@1361
  1042
}
slouken@1361
  1043
slouken@1361
  1044
dnl Set up the Carbon/QuickDraw video driver for Mac OS X (but not Darwin)
slouken@1361
  1045
CheckCARBON()
slouken@1361
  1046
{
slouken@1361
  1047
    AC_ARG_ENABLE(video-carbon,
slouken@1637
  1048
AC_HELP_STRING([--enable-video-carbon], [use Carbon/QuickDraw video driver [[default=no]]]),
slouken@1361
  1049
                  , enable_video_carbon=no)
slouken@1361
  1050
    if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then
slouken@1361
  1051
        AC_MSG_CHECKING(for Carbon framework)
slouken@1361
  1052
        have_carbon=no
slouken@1361
  1053
        AC_TRY_COMPILE([
slouken@1361
  1054
          #include <Carbon/Carbon.h>
slouken@1361
  1055
        ],[
slouken@1361
  1056
        ],[
slouken@1361
  1057
        have_carbon=yes
slouken@1361
  1058
        ])
slouken@1361
  1059
        AC_MSG_RESULT($have_carbon)
slouken@1361
  1060
        if test x$have_carbon = xyes; then
slouken@1361
  1061
            AC_DEFINE(SDL_VIDEO_DRIVER_TOOLBOX)
slouken@1361
  1062
            SOURCES="$SOURCES $srcdir/src/video/maccommon/*.c"
slouken@1361
  1063
            SOURCES="$SOURCES $srcdir/src/video/macrom/*.c"
slouken@1361
  1064
            have_video=yes
slouken@1361
  1065
        fi
slouken@1361
  1066
    fi
slouken@1361
  1067
}
slouken@1361
  1068
slouken@1361
  1069
dnl Set up the Cocoa/Quartz video driver for Mac OS X (but not Darwin)
slouken@1361
  1070
CheckCOCOA()
slouken@1361
  1071
{
slouken@1361
  1072
    AC_ARG_ENABLE(video-cocoa,
slouken@1637
  1073
AC_HELP_STRING([--enable-video-cocoa], [use Cocoa/Quartz video driver [[default=yes]]]),
slouken@1361
  1074
                  , enable_video_cocoa=yes)
slouken@1361
  1075
    if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
slouken@1361
  1076
        save_CFLAGS="$CFLAGS"
slouken@1361
  1077
        dnl work around that we don't have Objective-C support in autoconf
slouken@1361
  1078
        CFLAGS="$CFLAGS -x objective-c"
slouken@1361
  1079
        AC_MSG_CHECKING(for Cocoa framework)
slouken@1361
  1080
        have_cocoa=no
slouken@1361
  1081
        AC_TRY_COMPILE([
slouken@1361
  1082
          #import <Cocoa/Cocoa.h>
slouken@1361
  1083
        ],[
slouken@1361
  1084
        ],[
slouken@1361
  1085
        have_cocoa=yes
slouken@1361
  1086
        ])
slouken@1361
  1087
        AC_MSG_RESULT($have_cocoa)
slouken@1361
  1088
        CFLAGS="$save_CFLAGS"
slouken@1361
  1089
        if test x$have_cocoa = xyes; then
slouken@1361
  1090
            AC_DEFINE(SDL_VIDEO_DRIVER_QUARTZ)
slouken@1361
  1091
            SOURCES="$SOURCES $srcdir/src/video/quartz/*.m"
slouken@1361
  1092
            have_video=yes
slouken@1361
  1093
        fi
slouken@1361
  1094
    fi
slouken@1361
  1095
}
slouken@1361
  1096
slouken@0
  1097
dnl Find the framebuffer console includes
slouken@0
  1098
CheckFBCON()
slouken@0
  1099
{
slouken@0
  1100
    AC_ARG_ENABLE(video-fbcon,
slouken@1637
  1101
AC_HELP_STRING([--enable-video-fbcon], [use framebuffer console video driver [[default=yes]]]),
slouken@0
  1102
                  , enable_video_fbcon=yes)
slouken@0
  1103
    if test x$enable_video = xyes -a x$enable_video_fbcon = xyes; then
slouken@0
  1104
        AC_MSG_CHECKING(for framebuffer console support)
slouken@0
  1105
        video_fbcon=no
slouken@0
  1106
        AC_TRY_COMPILE([
slouken@0
  1107
         #include <linux/fb.h>
slouken@0
  1108
         #include <linux/kd.h>
slouken@0
  1109
         #include <linux/keyboard.h>
slouken@0
  1110
        ],[
slouken@0
  1111
        ],[
slouken@0
  1112
        video_fbcon=yes
slouken@0
  1113
        ])
slouken@0
  1114
        AC_MSG_RESULT($video_fbcon)
slouken@0
  1115
        if test x$video_fbcon = xyes; then
slouken@1361
  1116
            AC_DEFINE(SDL_VIDEO_DRIVER_FBCON)
slouken@1361
  1117
            SOURCES="$SOURCES $srcdir/src/video/fbcon/*.c"
slouken@1361
  1118
            have_video=yes
slouken@0
  1119
        fi
slouken@0
  1120
    fi
slouken@0
  1121
}
slouken@0
  1122
slouken@167
  1123
dnl Find DirectFB
slouken@167
  1124
CheckDirectFB()
slouken@167
  1125
{
slouken@167
  1126
    AC_ARG_ENABLE(video-directfb,
slouken@1637
  1127
AC_HELP_STRING([--enable-video-directfb], [use DirectFB video driver [[default=yes]]]),
slouken@1588
  1128
                  , enable_video_directfb=yes)
slouken@167
  1129
    if test x$enable_video = xyes -a x$enable_video_directfb = xyes; then
slouken@167
  1130
        video_directfb=no
slouken@167
  1131
slouken@1588
  1132
        DIRECTFB_REQUIRED_VERSION=0.9.15
slouken@1588
  1133
slouken@1602
  1134
        AC_PATH_PROG(DIRECTFBCONFIG, directfb-config, no)
slouken@1602
  1135
        if test x$DIRECTFBCONFIG = xno; then
slouken@1588
  1136
            AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
slouken@1602
  1137
            AC_MSG_CHECKING(for DirectFB $DIRECTFB_REQUIRED_VERSION support)
slouken@1602
  1138
            if test x$PKG_CONFIG != xno; then
slouken@1602
  1139
                if $PKG_CONFIG --atleast-pkgconfig-version 0.7 && $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb; then
slouken@1588
  1140
                    DIRECTFB_CFLAGS=`$PKG_CONFIG --cflags directfb`
slouken@1588
  1141
                    DIRECTFB_LIBS=`$PKG_CONFIG --libs directfb`
slouken@1588
  1142
                    video_directfb=yes
slouken@1588
  1143
                fi
slouken@1588
  1144
            fi
slouken@1602
  1145
            AC_MSG_RESULT($video_directfb)
slouken@167
  1146
        else
slouken@1588
  1147
            AC_MSG_CHECKING(for DirectFB $DIRECTFB_REQUIRED_VERSION support)
slouken@1588
  1148
            set -- `echo $DIRECTFB_REQUIRED_VERSION | sed 's/\./ /g'`
slouken@1588
  1149
            NEED_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
slouken@1588
  1150
            set -- `directfb-config --version | sed 's/\./ /g'`
slouken@1588
  1151
            HAVE_VERSION=`expr $1 \* 10000 + $2 \* 100 + $3`
slouken@1588
  1152
            if test $HAVE_VERSION -ge $NEED_VERSION; then
slouken@1588
  1153
                DIRECTFB_CFLAGS=`$DIRECTFBCONFIG --cflags`
slouken@1588
  1154
                DIRECTFB_LIBS=`$DIRECTFBCONFIG --libs`
slouken@167
  1155
                video_directfb=yes
slouken@167
  1156
            fi
slouken@1588
  1157
            AC_MSG_RESULT($video_directfb)
slouken@167
  1158
        fi
slouken@167
  1159
slouken@167
  1160
        if test x$video_directfb = xyes; then
slouken@1361
  1161
            AC_DEFINE(SDL_VIDEO_DRIVER_DIRECTFB)
slouken@1361
  1162
            SOURCES="$SOURCES $srcdir/src/video/directfb/*.c"
slouken@1521
  1163
            EXTRA_CFLAGS="$EXTRA_CFLAGS $DIRECTFB_CFLAGS"
slouken@1521
  1164
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS $DIRECTFB_LIBS"
slouken@1361
  1165
            have_video=yes
slouken@167
  1166
        fi
slouken@167
  1167
    fi
slouken@167
  1168
}
slouken@167
  1169
slouken@70
  1170
dnl See if we're running on PlayStation 2 hardware
slouken@70
  1171
CheckPS2GS()
slouken@70
  1172
{
slouken@72
  1173
    AC_ARG_ENABLE(video-ps2gs,
slouken@1637
  1174
AC_HELP_STRING([--enable-video-ps2gs], [use PlayStation 2 GS video driver [[default=yes]]]),
slouken@72
  1175
                  , enable_video_ps2gs=yes)
slouken@70
  1176
    if test x$enable_video = xyes -a x$enable_video_ps2gs = xyes; then
slouken@72
  1177
        AC_MSG_CHECKING(for PlayStation 2 GS support)
slouken@70
  1178
        video_ps2gs=no
slouken@70
  1179
        AC_TRY_COMPILE([
slouken@70
  1180
         #include <linux/ps2/dev.h>
slouken@70
  1181
         #include <linux/ps2/gs.h>
slouken@70
  1182
        ],[
slouken@70
  1183
        ],[
slouken@70
  1184
        video_ps2gs=yes
slouken@70
  1185
        ])
slouken@72
  1186
        AC_MSG_RESULT($video_ps2gs)
slouken@70
  1187
        if test x$video_ps2gs = xyes; then
slouken@1361
  1188
            AC_DEFINE(SDL_VIDEO_DRIVER_PS2GS)
slouken@1361
  1189
            SOURCES="$SOURCES $srcdir/src/video/ps2gs/*.c"
slouken@1361
  1190
            have_video=yes
slouken@70
  1191
        fi
slouken@70
  1192
    fi
slouken@70
  1193
}
slouken@70
  1194
slouken@0
  1195
dnl Find the GGI includes
slouken@0
  1196
CheckGGI()
slouken@0
  1197
{
slouken@0
  1198
    AC_ARG_ENABLE(video-ggi,
slouken@1637
  1199
AC_HELP_STRING([--enable-video-ggi], [use GGI video driver [[default=no]]]),
slouken@0
  1200
                  , enable_video_ggi=no)
slouken@0
  1201
    if test x$enable_video = xyes -a x$enable_video_ggi = xyes; then
slouken@0
  1202
        AC_MSG_CHECKING(for GGI support)
slouken@0
  1203
        video_ggi=no
slouken@0
  1204
        AC_TRY_COMPILE([
slouken@0
  1205
         #include <ggi/ggi.h>
slouken@0
  1206
         #include <ggi/gii.h>
slouken@0
  1207
        ],[
slouken@0
  1208
        ],[
slouken@0
  1209
        video_ggi=yes
slouken@0
  1210
        ])
slouken@0
  1211
        AC_MSG_RESULT($video_ggi)
slouken@0
  1212
        if test x$video_ggi = xyes; then
slouken@1361
  1213
            AC_DEFINE(SDL_VIDEO_DRIVER_GGI)
slouken@1361
  1214
            SOURCES="$SOURCES $srcdir/src/video/ggi/*.c"
slouken@1521
  1215
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lggi -lgii -lgg"
slouken@1361
  1216
            have_video=yes
slouken@0
  1217
        fi
slouken@0
  1218
    fi
slouken@0
  1219
}
slouken@0
  1220
slouken@0
  1221
dnl Find the SVGAlib includes and libraries
slouken@0
  1222
CheckSVGA()
slouken@0
  1223
{
slouken@0
  1224
    AC_ARG_ENABLE(video-svga,
slouken@1637
  1225
AC_HELP_STRING([--enable-video-svga], [use SVGAlib video driver [[default=yes]]]),
slouken@1555
  1226
                  , enable_video_svga=yes)
slouken@0
  1227
    if test x$enable_video = xyes -a x$enable_video_svga = xyes; then
slouken@0
  1228
        AC_MSG_CHECKING(for SVGAlib (1.4.0+) support)
slouken@0
  1229
        video_svga=no
slouken@0
  1230
        AC_TRY_COMPILE([
slouken@0
  1231
         #include <vga.h>
slouken@0
  1232
         #include <vgamouse.h>
slouken@0
  1233
         #include <vgakeyboard.h>
slouken@0
  1234
        ],[
slouken@0
  1235
         if ( SCANCODE_RIGHTWIN && SCANCODE_LEFTWIN ) {
slouken@0
  1236
             exit(0);
slouken@0
  1237
         }
slouken@0
  1238
        ],[
slouken@0
  1239
        video_svga=yes
slouken@0
  1240
        ])
slouken@0
  1241
        AC_MSG_RESULT($video_svga)
slouken@0
  1242
        if test x$video_svga = xyes; then
slouken@1361
  1243
            AC_DEFINE(SDL_VIDEO_DRIVER_SVGALIB)
slouken@1361
  1244
            SOURCES="$SOURCES $srcdir/src/video/svga/*.c"
slouken@1556
  1245
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvga"
slouken@1361
  1246
            have_video=yes
slouken@0
  1247
        fi
slouken@0
  1248
    fi
slouken@0
  1249
}
slouken@0
  1250
slouken@75
  1251
dnl Find the VGL includes and libraries
slouken@75
  1252
CheckVGL()
slouken@75
  1253
{
slouken@75
  1254
    AC_ARG_ENABLE(video-vgl,
slouken@1637
  1255
AC_HELP_STRING([--enable-video-vgl], [use VGL video driver [[default=yes]]]),
slouken@1588
  1256
                  , enable_video_vgl=yes)
slouken@75
  1257
    if test x$enable_video = xyes -a x$enable_video_vgl = xyes; then
slouken@75
  1258
        AC_MSG_CHECKING(for libVGL support)
slouken@75
  1259
        video_vgl=no
slouken@75
  1260
        AC_TRY_COMPILE([
slouken@75
  1261
         #include <sys/fbio.h>
slouken@75
  1262
         #include <sys/consio.h>
slouken@75
  1263
         #include <sys/kbio.h>
slouken@75
  1264
         #include <vgl.h>
slouken@75
  1265
        ],[
slouken@75
  1266
         VGLBitmap bitmap;
slouken@1836
  1267
         bitmap.Type = VIDBUF32;
slouken@1836
  1268
         bitmap.PixelBytes = 4;
slouken@144
  1269
         exit(bitmap.Bitmap);
slouken@75
  1270
        ],[
slouken@75
  1271
        video_vgl=yes
slouken@75
  1272
        ])
slouken@75
  1273
        AC_MSG_RESULT($video_vgl)
slouken@75
  1274
        if test x$video_vgl = xyes; then
slouken@1361
  1275
            AC_DEFINE(SDL_VIDEO_DRIVER_VGL)
slouken@1361
  1276
            SOURCES="$SOURCES $srcdir/src/video/vgl/*.c"
slouken@1521
  1277
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lvgl"
slouken@1361
  1278
            have_video=yes
slouken@75
  1279
        fi
slouken@75
  1280
    fi
slouken@75
  1281
}
slouken@75
  1282
slouken@1361
  1283
dnl Set up the wscons video driver if enabled
slouken@1361
  1284
CheckWscons()
slouken@1361
  1285
{
slouken@1361
  1286
    AC_ARG_ENABLE(video-wscons,
slouken@1637
  1287
AC_HELP_STRING([--enable-video-wscons], [use wscons video driver [[default=yes]]]),
slouken@1361
  1288
                  , enable_video_wscons=yes)
slouken@1361
  1289
    if test x$enable_video = xyes -a x$enable_video_wscons = xyes; then
slouken@1361
  1290
        AC_MSG_CHECKING(for wscons support)
slouken@1361
  1291
        video_wscons=no
slouken@1361
  1292
        AC_TRY_COMPILE([
slouken@1597
  1293
         #include <sys/time.h>
slouken@1597
  1294
         #include <dev/wscons/wsconsio.h>
slouken@1597
  1295
         #include <dev/wscons/wsdisplay_usl_io.h>
slouken@1361
  1296
        ],[
slouken@1597
  1297
         int wsmode = WSDISPLAYIO_MODE_DUMBFB;
slouken@1361
  1298
        ],[
slouken@1361
  1299
        video_wscons=yes
slouken@1361
  1300
        ])
slouken@1361
  1301
        AC_MSG_RESULT($video_wscons)
slouken@1361
  1302
        if test x$video_wscons = xyes; then
slouken@1361
  1303
            AC_DEFINE(SDL_VIDEO_DRIVER_WSCONS)
slouken@1361
  1304
            SOURCES="$SOURCES $srcdir/src/video/wscons/*.c"
slouken@1361
  1305
            have_video=yes
slouken@1361
  1306
        fi
slouken@1361
  1307
    fi
slouken@1361
  1308
}
slouken@1361
  1309
slouken@1361
  1310
slouken@0
  1311
dnl Find the AAlib includes
slouken@0
  1312
CheckAAlib()
slouken@0
  1313
{
slouken@0
  1314
    AC_ARG_ENABLE(video-aalib,
slouken@1637
  1315
AC_HELP_STRING([--enable-video-aalib], [use AAlib video driver [[default=no]]]),
slouken@0
  1316
                  , enable_video_aalib=no)
slouken@0
  1317
    if test x$enable_video = xyes -a x$enable_video_aalib = xyes; then
slouken@0
  1318
        AC_MSG_CHECKING(for AAlib support)
slouken@0
  1319
        video_aalib=no
slouken@0
  1320
        AC_TRY_COMPILE([
slouken@0
  1321
         #include <aalib.h>
slouken@0
  1322
        ],[
slouken@0
  1323
        ],[
slouken@0
  1324
        video_aalib=yes
slouken@0
  1325
        ])
slouken@0
  1326
        AC_MSG_RESULT($video_aalib)
slouken@0
  1327
        if test x$video_aalib = xyes; then
slouken@1361
  1328
            AC_DEFINE(SDL_VIDEO_DRIVER_AALIB)
slouken@1361
  1329
            SOURCES="$SOURCES $srcdir/src/video/aalib/*.c"
slouken@1521
  1330
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -laa"
slouken@1361
  1331
            have_video=yes
slouken@0
  1332
        fi
slouken@0
  1333
    fi
slouken@0
  1334
}
slouken@0
  1335
slouken@1361
  1336
dnl Set up the QTopia video driver if enabled
slouken@1361
  1337
CheckQtopia()
slouken@1361
  1338
{
slouken@1361
  1339
    AC_ARG_ENABLE(video-qtopia,
slouken@1637
  1340
AC_HELP_STRING([--enable-video-qtopia], [use Qtopia video driver [[default=no]]]),
slouken@1361
  1341
                  , enable_video_qtopia=no)
slouken@1361
  1342
    if test x$enable_video = xyes -a x$enable_video_qtopia = xyes; then
slouken@1361
  1343
        AC_MSG_CHECKING(for Qtopia support)
slouken@1361
  1344
        video_qtopia=no
slouken@1361
  1345
        QTOPIA_FLAGS="-DQT_QWS_EBX -DQT_QWS_CUSTOM -DQWS -I${QPEDIR}/include -I${QTDIR}/include/ -DNO_DEBUG -fno-rtti -fno-exceptions"
slouken@1361
  1346
        AC_LANG_CPLUSPLUS
slouken@1361
  1347
        OLD_CXX="$CXXFLAGS"
slouken@1361
  1348
        CXXFLAGS="$QTOPIA_FLAGS"
slouken@1361
  1349
        AC_TRY_COMPILE([
slouken@1361
  1350
         #include <qpe/qpeapplication.h>
slouken@1361
  1351
        ],[
slouken@1361
  1352
        ],[
slouken@1361
  1353
        video_qtopia=yes
slouken@1361
  1354
        ])
slouken@1361
  1355
        CXXFLAGS="$OLD_CXX"
slouken@1361
  1356
        AC_MSG_RESULT($video_qtopia)
slouken@1361
  1357
        if test x$video_qtopia = xyes; then
slouken@1361
  1358
            AC_DEFINE(SDL_VIDEO_DRIVER_QTOPIA)
slouken@1361
  1359
            SOURCES="$SOURCES $srcdir/src/video/qtopia/*.cc"
slouken@1397
  1360
            SDLMAIN_SOURCES="$srcdir/src/main/qtopia/*.cc"
slouken@1521
  1361
            EXTRA_CFLAGS="$EXTRA_CFLAGS $QTOPIA_FLAGS"
slouken@1361
  1362
            SDL_CFLAGS="$SDL_CFLAGS -DQWS -Dmain=SDL_main"
slouken@1361
  1363
            SDL_LIBS="-lSDLmain $SDL_LIBS -L${QPEDIR}/lib -L${QTDIR}/lib/ -lqpe -lqte"
slouken@1361
  1364
            have_video=yes
slouken@1361
  1365
        fi
slouken@1361
  1366
        AC_LANG_C
slouken@1361
  1367
    fi
slouken@1361
  1368
}
slouken@1361
  1369
slouken@1361
  1370
dnl Set up the PicoGUI video driver if enabled
slouken@1361
  1371
CheckPicoGUI()
slouken@1361
  1372
{
slouken@1361
  1373
    AC_ARG_ENABLE(video-picogui,
slouken@1637
  1374
AC_HELP_STRING([--enable-video-picogui], [use PicoGUI video driver [[default=no]]]),
slouken@1361
  1375
                  , enable_video_picogui=no)
slouken@1361
  1376
    if test x$enable_video = xyes -a x$enable_video_picogui = xyes; then
slouken@1361
  1377
        AC_MSG_CHECKING(for PicoGUI support)
slouken@1361
  1378
        video_picogui=no
slouken@1361
  1379
        AC_TRY_COMPILE([
slouken@1361
  1380
         #include <picogui.h>
slouken@1361
  1381
        ],[
slouken@1361
  1382
        ],[
slouken@1361
  1383
        video_picogui=yes
slouken@1361
  1384
        ])
slouken@1361
  1385
        AC_MSG_RESULT($video_picogui)
slouken@1361
  1386
        if test x$video_picogui = xyes; then
slouken@1361
  1387
            AC_DEFINE(SDL_VIDEO_DRIVER_PICOGUI)
slouken@1361
  1388
            SOURCES="$SOURCES $srcdir/src/video/picogui/*.c"
slouken@1361
  1389
            SDL_LIBS="$SDL_LIBS -lpgui"
slouken@1361
  1390
            have_video=yes
slouken@1361
  1391
        fi
slouken@1361
  1392
    fi
slouken@1361
  1393
}
slouken@1361
  1394
slouken@1361
  1395
dnl Set up the Atari Bios keyboard driver
slouken@1361
  1396
CheckAtariBiosEvent()
slouken@1361
  1397
{
slouken@1361
  1398
    SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.c"
patmandin@1477
  1399
    SOURCES="$SOURCES $srcdir/src/video/ataricommon/*.S"
slouken@1361
  1400
}
slouken@1361
  1401
slouken@281
  1402
dnl Set up the Atari Xbios driver
slouken@281
  1403
CheckAtariXbiosVideo()
slouken@281
  1404
{
slouken@281
  1405
    AC_ARG_ENABLE(xbios,
slouken@1637
  1406
AC_HELP_STRING([--enable-video-xbios], [use Atari Xbios video driver [[default=yes]]]),
slouken@281
  1407
                  , enable_video_xbios=yes)
slouken@281
  1408
    video_xbios=no
slouken@281
  1409
    if test x$enable_video = xyes -a x$enable_video_xbios = xyes; then
slouken@281
  1410
        video_xbios=yes
slouken@1361
  1411
        AC_DEFINE(SDL_VIDEO_DRIVER_XBIOS)
slouken@1361
  1412
        SOURCES="$SOURCES $srcdir/src/video/xbios/*.c"
slouken@1361
  1413
        have_video=yes
slouken@281
  1414
    fi
slouken@281
  1415
}
slouken@281
  1416
slouken@281
  1417
dnl Set up the Atari Gem driver
slouken@281
  1418
CheckAtariGemVideo()
slouken@281
  1419
{
slouken@281
  1420
    AC_ARG_ENABLE(gem,
slouken@1637
  1421
AC_HELP_STRING([--enable-video-gem], [use Atari Gem video driver [[default=yes]]]),
slouken@281
  1422
                  , enable_video_gem=yes)
slouken@281
  1423
    if test x$enable_video = xyes -a x$enable_video_gem = xyes; then
slouken@281
  1424
        video_gem=no
slouken@281
  1425
        AC_CHECK_HEADER(gem.h, have_gem_hdr=yes)
slouken@281
  1426
        AC_CHECK_LIB(gem, appl_init, have_gem_lib=yes)
slouken@281
  1427
        if test x$have_gem_hdr = xyes -a x$have_gem_lib = xyes; then
slouken@1366
  1428
            video_gem=yes
slouken@1361
  1429
            AC_DEFINE(SDL_VIDEO_DRIVER_GEM)
slouken@1361
  1430
            SOURCES="$SOURCES $srcdir/src/video/gem/*.c"
patmandin@1825
  1431
            SDL_LIBS="$SDL_LIBS -lgem"
slouken@1361
  1432
            have_video=yes
slouken@281
  1433
        fi
slouken@281
  1434
    fi
slouken@281
  1435
}
slouken@281
  1436
slouken@1
  1437
dnl rcg04172001 Set up the Null video driver.
slouken@1
  1438
CheckDummyVideo()
slouken@1
  1439
{
slouken@1
  1440
    AC_ARG_ENABLE(video-dummy,
slouken@1637
  1441
AC_HELP_STRING([--enable-video-dummy], [use dummy video driver [[default=yes]]]),
slouken@86
  1442
                  , enable_video_dummy=yes)
slouken@1
  1443
    if test x$enable_video_dummy = xyes; then
slouken@1361
  1444
        AC_DEFINE(SDL_VIDEO_DRIVER_DUMMY)
slouken@1361
  1445
        SOURCES="$SOURCES $srcdir/src/video/dummy/*.c"
slouken@1361
  1446
        have_video=yes
slouken@1
  1447
    fi
slouken@1
  1448
}
slouken@1
  1449
slouken@0
  1450
dnl Check to see if OpenGL support is desired
slouken@0
  1451
AC_ARG_ENABLE(video-opengl,
slouken@1637
  1452
AC_HELP_STRING([--enable-video-opengl], [include OpenGL context creation [[default=yes]]]),
slouken@0
  1453
              , enable_video_opengl=yes)
slouken@0
  1454
slouken@0
  1455
dnl Find OpenGL
icculus@1191
  1456
CheckOpenGLX11()
slouken@0
  1457
{
slouken@0
  1458
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@0
  1459
        AC_MSG_CHECKING(for OpenGL (GLX) support)
slouken@0
  1460
        video_opengl=no
slouken@0
  1461
        AC_TRY_COMPILE([
slouken@0
  1462
         #include <GL/gl.h>
slouken@0
  1463
         #include <GL/glx.h>
slouken@0
  1464
        ],[
slouken@0
  1465
        ],[
slouken@0
  1466
        video_opengl=yes
slouken@0
  1467
        ])
slouken@0
  1468
        AC_MSG_RESULT($video_opengl)
slouken@0
  1469
        if test x$video_opengl = xyes; then
slouken@1361
  1470
            AC_DEFINE(SDL_VIDEO_OPENGL)
slouken@1361
  1471
            AC_DEFINE(SDL_VIDEO_OPENGL_GLX)
slouken@0
  1472
        fi
slouken@0
  1473
    fi
slouken@0
  1474
}
slouken@0
  1475
slouken@279
  1476
dnl Find QNX RtP OpenGL
slouken@279
  1477
CheckOpenGLQNX()
slouken@279
  1478
{
slouken@279
  1479
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@279
  1480
        AC_MSG_CHECKING(for OpenGL (Photon) support)
slouken@279
  1481
        video_opengl=no
slouken@279
  1482
        AC_TRY_COMPILE([
slouken@279
  1483
         #include <GL/gl.h>
slouken@279
  1484
        ],[
slouken@279
  1485
        ],[
slouken@279
  1486
        video_opengl=yes
slouken@279
  1487
        ])
slouken@279
  1488
        AC_MSG_RESULT($video_opengl)
slouken@279
  1489
        if test x$video_opengl = xyes; then
slouken@1361
  1490
            AC_DEFINE(SDL_VIDEO_OPENGL)
slouken@1521
  1491
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
slouken@279
  1492
        fi
slouken@279
  1493
    fi
slouken@279
  1494
}
slouken@279
  1495
slouken@1361
  1496
dnl Check for Win32 OpenGL
slouken@1361
  1497
CheckWIN32GL()
slouken@1361
  1498
{
slouken@1361
  1499
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@1361
  1500
        AC_DEFINE(SDL_VIDEO_OPENGL)
slouken@1361
  1501
        AC_DEFINE(SDL_VIDEO_OPENGL_WGL)
slouken@1361
  1502
    fi
slouken@1361
  1503
}
slouken@1361
  1504
slouken@0
  1505
dnl Check for BeOS OpenGL
slouken@0
  1506
CheckBeGL()
slouken@0
  1507
{
slouken@0
  1508
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@1361
  1509
        AC_DEFINE(SDL_VIDEO_OPENGL)
slouken@1521
  1510
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lGL"
slouken@0
  1511
    fi
slouken@0
  1512
}
slouken@0
  1513
slouken@0
  1514
dnl Check for MacOS OpenGL
slouken@0
  1515
CheckMacGL()
slouken@0
  1516
{
slouken@0
  1517
    if test x$enable_video = xyes -a x$enable_video_opengl = xyes; then
slouken@1361
  1518
        AC_DEFINE(SDL_VIDEO_OPENGL)
slouken@1550
  1519
        case "$host" in
slouken@0
  1520
            *-*-darwin*)
slouken@1625
  1521
                if test x$enable_video_cocoa = xyes; then
slouken@1625
  1522
                    EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,OpenGL"
slouken@1625
  1523
                fi
slouken@1625
  1524
                if test x$enable_video_carbon = xyes; then
slouken@1625
  1525
                    EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AGL"
slouken@1625
  1526
                fi
slouken@0
  1527
        esac
slouken@0
  1528
    fi
slouken@0
  1529
}
slouken@0
  1530
patmandin@978
  1531
dnl Check for Mesa offscreen rendering
patmandin@989
  1532
CheckAtariOSMesa()
patmandin@978
  1533
{
patmandin@989
  1534
    if test "x$enable_video" = "xyes" -a "x$enable_video_opengl" = "xyes"; then
patmandin@991
  1535
        AC_CHECK_HEADER(GL/osmesa.h, have_osmesa_hdr=yes)
patmandin@991
  1536
        AC_CHECK_LIB(OSMesa, OSMesaCreateContext, have_osmesa_lib=yes, have_osmesa_lib=no, -lm)
patmandin@991
  1537
patmandin@991
  1538
        # Static linking to -lOSMesa
patmandin@989
  1539
        AC_PATH_PROG(OSMESA_CONFIG, osmesa-config, no)
patmandin@989
  1540
        if test "x$OSMESA_CONFIG" = "xno" -o "x$enable_atari_ldg" = "xno"; then
patmandin@991
  1541
            # -lOSMesa is really the static library
patmandin@989
  1542
            if test "x$have_osmesa_hdr" = "xyes" -a "x$have_osmesa_lib" = "xyes"; then
slouken@1361
  1543
                OSMESA_LIBS="-lOSMesa"
patmandin@989
  1544
            fi
patmandin@989
  1545
        else
patmandin@991
  1546
            # -lOSMesa is a loader for OSMesa.ldg
patmandin@989
  1547
            OSMESA_CFLAGS=`$OSMESA_CONFIG --cflags`
patmandin@989
  1548
            OSMESA_LIBS=`$OSMESA_CONFIG --libs`
patmandin@978
  1549
        fi
slouken@1361
  1550
        AC_DEFINE(SDL_VIDEO_OPENGL)
slouken@1361
  1551
        AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA)
patmandin@1825
  1552
        SDL_CFLAGS="$SDL_CFLAGS $OSMESA_CFLAGS"
patmandin@1825
  1553
        SDL_LIBS="$SDL_LIBS $OSMESA_LIBS"
patmandin@991
  1554
patmandin@991
  1555
        AC_ARG_ENABLE(osmesa-shared,
slouken@1637
  1556
AC_HELP_STRING([--enable-osmesa-shared], [dynamically load OSMesa OpenGL support [[default=yes]]]),
patmandin@991
  1557
                              , enable_osmesa_shared=yes)
patmandin@991
  1558
        if test "x$enable_osmesa_shared" = "xyes" -a "x$enable_atari_ldg" = "xyes"; then
patmandin@991
  1559
            # Dynamic linking
patmandin@991
  1560
            if test "x$have_osmesa_hdr" = "xyes"; then
slouken@1361
  1561
                AC_DEFINE(SDL_VIDEO_OPENGL_OSMESA_DYNAMIC)
patmandin@991
  1562
            fi
slouken@1361
  1563
        fi
patmandin@978
  1564
    fi
patmandin@978
  1565
}
patmandin@978
  1566
slouken@0
  1567
dnl See if we can use the new unified event interface in Linux 2.4
slouken@0
  1568
CheckInputEvents()
slouken@0
  1569
{
slouken@0
  1570
    dnl Check for Linux 2.4 unified input event interface support
slouken@0
  1571
    AC_ARG_ENABLE(input-events,
slouken@1637
  1572
AC_HELP_STRING([--enable-input-events], [use Linux 2.4 unified input interface [[default=yes]]]),
slouken@211
  1573
                  , enable_input_events=yes)
slouken@0
  1574
    if test x$enable_input_events = xyes; then
slouken@0
  1575
        AC_MSG_CHECKING(for Linux 2.4 unified input interface)
slouken@0
  1576
        use_input_events=no
slouken@0
  1577
        AC_TRY_COMPILE([
slouken@0
  1578
          #include <linux/input.h>
slouken@0
  1579
        ],[
slouken@0
  1580
          #ifndef EVIOCGNAME
slouken@0
  1581
          #error EVIOCGNAME() ioctl not available
slouken@0
  1582
          #endif
slouken@0
  1583
        ],[
slouken@0
  1584
        use_input_events=yes
slouken@0
  1585
        ])
slouken@0
  1586
        AC_MSG_RESULT($use_input_events)
slouken@0
  1587
        if test x$use_input_events = xyes; then
slouken@1361
  1588
            AC_DEFINE(SDL_INPUT_LINUXEV)
slouken@0
  1589
        fi
slouken@0
  1590
    fi
slouken@0
  1591
}
slouken@0
  1592
icculus@1201
  1593
dnl See if we can use the Touchscreen input library
icculus@1201
  1594
CheckTslib()
icculus@1201
  1595
{
icculus@1201
  1596
    AC_ARG_ENABLE(input-tslib,
slouken@1637
  1597
AC_HELP_STRING([--enable-input-tslib], [use the Touchscreen library for input [[default=yes]]]),
icculus@1201
  1598
                  , enable_input_tslib=yes)
icculus@1201
  1599
    if test x$enable_input_tslib = xyes; then
icculus@1201
  1600
        AC_MSG_CHECKING(for Touchscreen library support)
icculus@1201
  1601
        enable_input_tslib=no
icculus@1201
  1602
        AC_TRY_COMPILE([
icculus@1201
  1603
          #include "tslib.h"
icculus@1201
  1604
        ],[
icculus@1201
  1605
        ],[
icculus@1201
  1606
        enable_input_tslib=yes
icculus@1201
  1607
        ])
icculus@1201
  1608
        AC_MSG_RESULT($enable_input_tslib)
icculus@1201
  1609
        if test x$enable_input_tslib = xyes; then
slouken@1361
  1610
            AC_DEFINE(SDL_INPUT_TSLIB)
slouken@1521
  1611
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lts"
icculus@1201
  1612
        fi
icculus@1201
  1613
    fi
icculus@1201
  1614
}
icculus@1201
  1615
slouken@399
  1616
dnl See if we can use GNU pth library for threads
slouken@399
  1617
CheckPTH()
slouken@399
  1618
{
slouken@399
  1619
    dnl Check for pth support
slouken@399
  1620
    AC_ARG_ENABLE(pth,
slouken@1637
  1621
AC_HELP_STRING([--enable-pth], [use GNU pth library for multi-threading [[default=yes]]]),
slouken@399
  1622
                  , enable_pth=yes)
slouken@399
  1623
    if test x$enable_threads = xyes -a x$enable_pth = xyes; then
slouken@399
  1624
        AC_PATH_PROG(PTH_CONFIG, pth-config, no)
slouken@399
  1625
        if test "$PTH_CONFIG" = "no"; then
slouken@399
  1626
            use_pth=no
slouken@399
  1627
        else
slouken@399
  1628
            use_pth=yes
slouken@399
  1629
        fi
slouken@399
  1630
        AC_MSG_CHECKING(pth)
slouken@1361
  1631
        AC_MSG_RESULT($use_pth)
slouken@399
  1632
        if test "x$use_pth" = xyes; then
slouken@1361
  1633
            AC_DEFINE(SDL_THREAD_PTH)
slouken@1361
  1634
            SOURCES="$SOURCES $srcdir/src/thread/pth/*.c"
slouken@1361
  1635
            SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
slouken@1361
  1636
            SDL_CFLAGS="$SDL_CFLAGS `$PTH_CONFIG --cflags`"
slouken@1361
  1637
            SDL_LIBS="$SDL_LIBS `$PTH_CONFIG --libs --all`"
slouken@1361
  1638
            have_threads=yes
slouken@399
  1639
        fi
slouken@399
  1640
    fi
slouken@399
  1641
}
slouken@399
  1642
slouken@0
  1643
dnl See what type of thread model to use on Linux and Solaris
slouken@0
  1644
CheckPTHREAD()
slouken@0
  1645
{
slouken@0
  1646
    dnl Check for pthread support
slouken@0
  1647
    AC_ARG_ENABLE(pthreads,
slouken@1637
  1648
AC_HELP_STRING([--enable-pthreads], [use POSIX threads for multi-threading [[default=yes]]]),
slouken@0
  1649
                  , enable_pthreads=yes)
slouken@0
  1650
    dnl This is used on Linux for glibc binary compatibility (Doh!)
slouken@0
  1651
    AC_ARG_ENABLE(pthread-sem,
slouken@1637
  1652
AC_HELP_STRING([--enable-pthread-sem], [use pthread semaphores [[default=yes]]]),
slouken@0
  1653
                  , enable_pthread_sem=yes)
slouken@1550
  1654
    case "$host" in
slouken@1820
  1655
        *-*-linux*|*-*-uclinux*)
slouken@1361
  1656
            pthread_cflags="-D_REENTRANT"
slouken@1324
  1657
            pthread_lib="-lpthread"
slouken@1324
  1658
            ;;
slouken@0
  1659
        *-*-bsdi*)
slouken@0
  1660
            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
slouken@0
  1661
            pthread_lib=""
slouken@0
  1662
            ;;
slouken@0
  1663
        *-*-darwin*)
slouken@0
  1664
            pthread_cflags="-D_THREAD_SAFE"
slouken@0
  1665
# causes Carbon.p complaints?
slouken@0
  1666
#            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
slouken@0
  1667
            ;;
slouken@1565
  1668
        *-*-freebsd*|*-*-dragonfly*)
slouken@0
  1669
            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
slouken@0
  1670
            pthread_lib="-pthread"
slouken@0
  1671
            ;;
slouken@43
  1672
        *-*-netbsd*)
slouken@1383
  1673
            pthread_cflags="-D_REENTRANT -D_THREAD_SAFE"
icculus@1200
  1674
            pthread_lib="-L/usr/lib -lpthread"
slouken@43
  1675
            ;;
slouken@0
  1676
        *-*-openbsd*)
slouken@0
  1677
            pthread_cflags="-D_REENTRANT"
slouken@0
  1678
            pthread_lib="-pthread"
slouken@0
  1679
            ;;
slouken@0
  1680
        *-*-solaris*)
slouken@0
  1681
            pthread_cflags="-D_REENTRANT"
slouken@0
  1682
            pthread_lib="-lpthread -lposix4"
slouken@0
  1683
            ;;
slouken@0
  1684
        *-*-sysv5*)
slouken@0
  1685
            pthread_cflags="-D_REENTRANT -Kthread"
slouken@0
  1686
            pthread_lib=""
slouken@0
  1687
            ;;
slouken@0
  1688
        *-*-irix*)
slouken@0
  1689
            pthread_cflags="-D_SGI_MP_SOURCE"
slouken@0
  1690
            pthread_lib="-lpthread"
slouken@0
  1691
            ;;
slouken@0
  1692
        *-*-aix*)
slouken@0
  1693
            pthread_cflags="-D_REENTRANT -mthreads"
slouken@0
  1694
            pthread_lib="-lpthread"
slouken@0
  1695
            ;;
icculus@425
  1696
        *-*-hpux11*)
icculus@425
  1697
            pthread_cflags="-D_REENTRANT"
icculus@425
  1698
            pthread_lib="-L/usr/lib -lpthread"
icculus@425
  1699
            ;;
slouken@0
  1700
        *-*-qnx*)
slouken@0
  1701
            pthread_cflags=""
slouken@0
  1702
            pthread_lib=""
slouken@0
  1703
            ;;
slouken@873
  1704
        *-*-osf*)
slouken@1019
  1705
            pthread_cflags="-D_REENTRANT"
slouken@873
  1706
            if test x$ac_cv_prog_gcc = xyes; then
slouken@873
  1707
                pthread_lib="-lpthread -lrt"
slouken@873
  1708
            else
slouken@1019
  1709
                pthread_lib="-lpthread -lexc -lrt"
slouken@873
  1710
            fi
slouken@873
  1711
            ;;
slouken@0
  1712
        *)
slouken@0
  1713
            pthread_cflags="-D_REENTRANT"
slouken@0
  1714
            pthread_lib="-lpthread"
slouken@0
  1715
            ;;
slouken@0
  1716
    esac
icculus@1140
  1717
    if test x$enable_threads = xyes -a x$enable_pthreads = xyes -a x$enable_ipod != xyes; then
slouken@415
  1718
        # Save the original compiler flags and libraries
slouken@415
  1719
        ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
slouken@415
  1720
        # Add the pthread compiler flags and libraries
slouken@415
  1721
        CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
slouken@415
  1722
        # Check to see if we have pthread support on this system
slouken@0
  1723
        AC_MSG_CHECKING(for pthreads)
slouken@0
  1724
        use_pthreads=no
slouken@0
  1725
        AC_TRY_LINK([
slouken@0
  1726
         #include <pthread.h>
slouken@0
  1727
        ],[
slouken@0
  1728
         pthread_attr_t type;
slouken@0
  1729
         pthread_attr_init(&type);
slouken@0
  1730
        ],[
slouken@0
  1731
        use_pthreads=yes
slouken@0
  1732
        ])
slouken@0
  1733
        AC_MSG_RESULT($use_pthreads)
slouken@415
  1734
        # Restore the compiler flags and libraries
slouken@415
  1735
        CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
slouken@1361
  1736
slouken@415
  1737
        # Do futher testing if we have pthread support...
slouken@0
  1738
        if test x$use_pthreads = xyes; then
slouken@1361
  1739
            AC_DEFINE(SDL_THREAD_PTHREAD)
slouken@1521
  1740
            EXTRA_CFLAGS="$EXTRA_CFLAGS $pthread_cflags"
slouken@1521
  1741
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS $pthread_lib"
slouken@0
  1742
            SDL_CFLAGS="$SDL_CFLAGS $pthread_cflags"
slouken@0
  1743
            SDL_LIBS="$SDL_LIBS $pthread_lib"
slouken@0
  1744
slouken@1438
  1745
            # Save the original compiler flags and libraries
slouken@1438
  1746
            ac_save_cflags="$CFLAGS"; ac_save_libs="$LIBS"
slouken@1438
  1747
            # Add the pthread compiler flags and libraries
slouken@1438
  1748
            CFLAGS="$CFLAGS $pthread_cflags"; LIBS="$LIBS $pthread_lib"
slouken@1438
  1749
slouken@0
  1750
            # Check to see if recursive mutexes are available
slouken@0
  1751
            AC_MSG_CHECKING(for recursive mutexes)
slouken@0
  1752
            has_recursive_mutexes=no
slouken@1324
  1753
            if test x$has_recursive_mutexes = xno; then
slouken@1324
  1754
                AC_TRY_COMPILE([
slouken@1324
  1755
                  #include <pthread.h>
slouken@1324
  1756
                ],[
slouken@1324
  1757
                  pthread_mutexattr_t attr;
slouken@1324
  1758
                  pthread_mutexattr_settype(&attr, PTHREAD_MUTEX_RECURSIVE);
slouken@1324
  1759
                ],[
slouken@1324
  1760
                has_recursive_mutexes=yes
slouken@1361
  1761
                AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX)
slouken@1324
  1762
                ])
slouken@1324
  1763
            fi
slouken@1324
  1764
            if test x$has_recursive_mutexes = xno; then
slouken@1324
  1765
                AC_TRY_COMPILE([
slouken@1324
  1766
                  #include <pthread.h>
slouken@1324
  1767
                ],[
slouken@1324
  1768
                  pthread_mutexattr_t attr;
slouken@1324
  1769
                  pthread_mutexattr_setkind_np(&attr, PTHREAD_MUTEX_RECURSIVE_NP);
slouken@1324
  1770
                ],[
slouken@1324
  1771
                has_recursive_mutexes=yes
slouken@1361
  1772
                AC_DEFINE(SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP)
slouken@1324
  1773
                ])
slouken@1324
  1774
            fi
slouken@0
  1775
            AC_MSG_RESULT($has_recursive_mutexes)
slouken@0
  1776
slouken@94
  1777
            # Check to see if pthread semaphore support is missing
slouken@94
  1778
            if test x$enable_pthread_sem = xyes; then
slouken@94
  1779
                AC_MSG_CHECKING(for pthread semaphores)
slouken@94
  1780
                have_pthread_sem=no
slouken@94
  1781
                AC_TRY_COMPILE([
slouken@94
  1782
                  #include <pthread.h>
slouken@94
  1783
                  #include <semaphore.h>
slouken@94
  1784
                ],[
slouken@94
  1785
                ],[
slouken@94
  1786
                have_pthread_sem=yes
slouken@94
  1787
                ])
slouken@94
  1788
                AC_MSG_RESULT($have_pthread_sem)
slouken@94
  1789
            fi
slouken@94
  1790
slouken@1438
  1791
            # Restore the compiler flags and libraries
slouken@1438
  1792
            CFLAGS="$ac_save_cflags"; LIBS="$ac_save_libs"
slouken@1438
  1793
slouken@1361
  1794
            # Basic thread creation functions
slouken@1361
  1795
            SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_systhread.c"
slouken@0
  1796
slouken@1361
  1797
            # Semaphores
slouken@1361
  1798
            # We can fake these with mutexes and condition variables if necessary
slouken@1361
  1799
            if test x$have_pthread_sem = xyes; then
slouken@1361
  1800
                SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syssem.c"
slouken@1361
  1801
            else
slouken@1361
  1802
                SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syssem.c"
slouken@1361
  1803
            fi
slouken@0
  1804
slouken@1361
  1805
            # Mutexes
slouken@1361
  1806
            # We can fake these with semaphores if necessary
slouken@1361
  1807
            SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_sysmutex.c"
slouken@0
  1808
slouken@1361
  1809
            # Condition variables
slouken@1361
  1810
            # We can fake these with semaphores and mutexes if necessary
slouken@1361
  1811
            SOURCES="$SOURCES $srcdir/src/thread/pthread/SDL_syscond.c"
slouken@399
  1812
slouken@1361
  1813
            have_threads=yes
slouken@185
  1814
        else
slouken@1361
  1815
            CheckPTH
slouken@814
  1816
        fi
slouken@814
  1817
    fi
slouken@814
  1818
}
slouken@814
  1819
slouken@0
  1820
dnl Determine whether the compiler can produce Win32 executables
slouken@0
  1821
CheckWIN32()
slouken@0
  1822
{
slouken@0
  1823
    AC_MSG_CHECKING(Win32 compiler)
slouken@0
  1824
    have_win32_gcc=no
slouken@0
  1825
    AC_TRY_COMPILE([
slouken@0
  1826
     #include <windows.h>
slouken@0
  1827
    ],[
slouken@0
  1828
    ],[
slouken@0
  1829
    have_win32_gcc=yes
slouken@0
  1830
    ])
slouken@0
  1831
    AC_MSG_RESULT($have_win32_gcc)
slouken@0
  1832
    if test x$have_win32_gcc != xyes; then
slouken@0
  1833
       AC_MSG_ERROR([
slouken@0
  1834
*** Your compiler ($CC) does not produce Win32 executables!
slouken@0
  1835
       ])
slouken@0
  1836
    fi
slouken@0
  1837
slouken@0
  1838
    dnl See if the user wants to redirect standard output to files
slouken@0
  1839
    AC_ARG_ENABLE(stdio-redirect,
slouken@1637
  1840
AC_HELP_STRING([--enable-stdio-redirect], [Redirect STDIO to files on Win32 [[default=yes]]]),
slouken@0
  1841
                  , enable_stdio_redirect=yes)
slouken@0
  1842
    if test x$enable_stdio_redirect != xyes; then
slouken@1521
  1843
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DNO_STDIO_REDIRECT"
slouken@1361
  1844
    fi
slouken@1361
  1845
slouken@1361
  1846
    if test x$enable_video = xyes; then
slouken@1361
  1847
        AC_DEFINE(SDL_VIDEO_DRIVER_WINDIB)
slouken@1361
  1848
        SOURCES="$SOURCES $srcdir/src/video/wincommon/*.c"
slouken@1361
  1849
        SOURCES="$SOURCES $srcdir/src/video/windib/*.c"
slouken@1361
  1850
        have_video=yes
slouken@0
  1851
    fi
slouken@0
  1852
}
slouken@0
  1853
slouken@0
  1854
dnl Find the DirectX includes and libraries
slouken@0
  1855
CheckDIRECTX()
slouken@0
  1856
{
slouken@0
  1857
    AC_ARG_ENABLE(directx,
slouken@1637
  1858
AC_HELP_STRING([--enable-directx], [use DirectX for Win32 audio/video [[default=yes]]]),
slouken@0
  1859
                  , enable_directx=yes)
slouken@0
  1860
    if test x$enable_directx = xyes; then
slouken@1361
  1861
        have_directx=no
slouken@1361
  1862
        AC_CHECK_HEADER(ddraw.h, have_ddraw=yes)
slouken@1361
  1863
        AC_CHECK_HEADER(dsound.h, have_dsound=yes)
slouken@1361
  1864
        AC_CHECK_HEADER(dinput.h, use_dinput=yes)
slouken@1361
  1865
        if test x$have_ddraw = xyes -a x$have_dsound = xyes -a x$use_dinput = xyes; then
slouken@1361
  1866
            have_directx=yes
slouken@1361
  1867
        fi
slouken@1361
  1868
        if test x$enable_video = xyes -a x$have_directx = xyes; then
slouken@1361
  1869
            AC_DEFINE(SDL_VIDEO_DRIVER_DDRAW)
slouken@1361
  1870
            SOURCES="$SOURCES $srcdir/src/video/windx5/*.c"
slouken@1361
  1871
            have_video=yes
slouken@1361
  1872
        fi
slouken@0
  1873
    fi
slouken@158
  1874
}
slouken@158
  1875
slouken@294
  1876
dnl Check for the dlfcn.h interface for dynamically loading objects
slouken@294
  1877
CheckDLOPEN()
slouken@294
  1878
{
slouken@731
  1879
    AC_ARG_ENABLE(sdl-dlopen,
slouken@1637
  1880
AC_HELP_STRING([--enable-sdl-dlopen], [use dlopen for shared object loading [[default=yes]]]),
slouken@731
  1881
                  , enable_sdl_dlopen=yes)
slouken@731
  1882
    if test x$enable_sdl_dlopen = xyes; then
slouken@294
  1883
        AC_MSG_CHECKING(for dlopen)
slouken@1361
  1884
        have_dlopen=no
slouken@294
  1885
        AC_TRY_COMPILE([
slouken@294
  1886
         #include <dlfcn.h>
slouken@294
  1887
        ],[
slouken@1638
  1888
         #if defined(MAC_OS_X_VERSION_MIN_REQUIRED) && MAC_OS_X_VERSION_MIN_REQUIRED <= 1020
slouken@1638
  1889
         #error Use dlcompat for Mac OS X 10.2 compatibility
slouken@1638
  1890
         #endif
slouken@294
  1891
        ],[
slouken@1361
  1892
        have_dlopen=yes
slouken@294
  1893
        ])
slouken@1361
  1894
        AC_MSG_RESULT($have_dlopen)
slouken@294
  1895
slouken@1361
  1896
        if test x$have_dlopen = xyes; then
slouken@1521
  1897
            AC_CHECK_LIB(c, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS",
slouken@1521
  1898
               AC_CHECK_LIB(dl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldl",
slouken@1521
  1899
                  AC_CHECK_LIB(ltdl, dlopen, EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lltdl")))
slouken@1361
  1900
            AC_CHECK_LIB(dl, dlvsym, have_dlvsym=yes)
slouken@1361
  1901
            if test x$have_dlvsym = xyes; then
slouken@1361
  1902
                AC_DEFINE(HAVE_DLVSYM)
slouken@1361
  1903
            fi
slouken@1361
  1904
            AC_DEFINE(SDL_LOADSO_DLOPEN)
slouken@1361
  1905
            SOURCES="$SOURCES $srcdir/src/loadso/dlopen/*.c"
slouken@1361
  1906
            have_loadso=yes
slouken@294
  1907
        fi
slouken@294
  1908
    fi
slouken@294
  1909
}
slouken@294
  1910
patmandin@651
  1911
dnl Set up the Atari LDG (shared object loader)
patmandin@651
  1912
CheckAtariLdg()
patmandin@651
  1913
{
patmandin@651
  1914
    AC_ARG_ENABLE(atari-ldg,
slouken@1637
  1915
AC_HELP_STRING([--enable-atari-ldg], [use Atari LDG for shared object loading [[default=yes]]]),
patmandin@651
  1916
                  , enable_atari_ldg=yes)
patmandin@651
  1917
    if test x$video_gem = xyes -a x$enable_atari_ldg = xyes; then
patmandin@651
  1918
        AC_CHECK_HEADER(ldg.h, have_ldg_hdr=yes)
patmandin@651
  1919
        AC_CHECK_LIB(ldg, ldg_open, have_ldg_lib=yes, have_ldg_lib=no, -lgem)
patmandin@651
  1920
        if test x$have_ldg_hdr = xyes -a x$have_ldg_lib = xyes; then
slouken@1361
  1921
            AC_DEFINE(SDL_LOADSO_LDG)
slouken@1361
  1922
            SOURCES="$SOURCES $srcdir/src/loadso/mint/*.c"
patmandin@1825
  1923
            SDL_LIBS="$SDL_LIBS -lldg -lgem"
icculus@1173
  1924
            have_loadso=yes
patmandin@651
  1925
        fi
patmandin@651
  1926
    fi
patmandin@651
  1927
}
patmandin@651
  1928
slouken@381
  1929
dnl Check for the usbhid(3) library on *BSD
slouken@381
  1930
CheckUSBHID()
slouken@381
  1931
{
slouken@381
  1932
    if test x$enable_joystick = xyes; then
slouken@1565
  1933
        AC_CHECK_LIB(usbhid, hid_init, have_libusbhid=yes)
slouken@1565
  1934
        if test x$have_libusbhid = xyes; then
slouken@1565
  1935
            AC_CHECK_HEADER(usbhid.h, [USB_CFLAGS="-DHAVE_USBHID_H"])
slouken@1565
  1936
            AC_CHECK_HEADER(libusbhid.h, [USB_CFLAGS="-DHAVE_LIBUSBHID_H"])
slouken@1565
  1937
            USB_LIBS="$USB_LIBS -lusbhid"
slouken@1565
  1938
        else
slouken@1565
  1939
            AC_CHECK_HEADER(usb.h, [USB_CFLAGS="-DHAVE_USB_H"])
slouken@1565
  1940
            AC_CHECK_HEADER(libusb.h, [USB_CFLAGS="-DHAVE_LIBUSB_H"])
slouken@1565
  1941
            AC_CHECK_LIB(usb, hid_init, [USB_LIBS="$USB_LIBS -lusb"])
slouken@1565
  1942
        fi
slouken@1361
  1943
            
slouken@1361
  1944
        save_CFLAGS="$CFLAGS"
slouken@1361
  1945
        CFLAGS="$CFLAGS $USB_CFLAGS"
slouken@381
  1946
slouken@381
  1947
        AC_MSG_CHECKING(for usbhid)
slouken@381
  1948
        have_usbhid=no
slouken@381
  1949
        AC_TRY_COMPILE([
slouken@404
  1950
          #include <sys/types.h>
slouken@403
  1951
          #if defined(HAVE_USB_H)
slouken@403
  1952
          #include <usb.h>
slouken@403
  1953
          #endif
slouken@1565
  1954
          #ifdef __DragonFly__
slouken@1565
  1955
          # include <bus/usb/usb.h>
slouken@1565
  1956
          # include <bus/usb/usbhid.h>
slouken@1565
  1957
          #else
slouken@1565
  1958
          # include <dev/usb/usb.h>
slouken@1565
  1959
          # include <dev/usb/usbhid.h>
slouken@1565
  1960
          #endif
slouken@381
  1961
          #if defined(HAVE_USBHID_H)
slouken@381
  1962
          #include <usbhid.h>
slouken@381
  1963
          #elif defined(HAVE_LIBUSB_H)
slouken@381
  1964
          #include <libusb.h>
slouken@381
  1965
          #elif defined(HAVE_LIBUSBHID_H)
slouken@381
  1966
          #include <libusbhid.h>
slouken@404
  1967
          #endif
slouken@381
  1968
        ],[
slouken@381
  1969
          struct report_desc *repdesc;
slouken@381
  1970
          struct usb_ctl_report *repbuf;
slouken@402
  1971
          hid_kind_t hidkind;
slouken@381
  1972
        ],[
slouken@381
  1973
        have_usbhid=yes
slouken@381
  1974
        ])
slouken@381
  1975
        AC_MSG_RESULT($have_usbhid)
slouken@381
  1976
slouken@381
  1977
        if test x$have_usbhid = xyes; then
slouken@381
  1978
            AC_MSG_CHECKING(for ucr_data member of usb_ctl_report)
slouken@381
  1979
            have_usbhid_ucr_data=no
slouken@381
  1980
            AC_TRY_COMPILE([
slouken@404
  1981
              #include <sys/types.h>
slouken@404
  1982
              #if defined(HAVE_USB_H)
slouken@404
  1983
              #include <usb.h>
slouken@404
  1984
              #endif
slouken@1565
  1985
              #ifdef __DragonFly__
slouken@1565
  1986
              # include <bus/usb/usb.h>
slouken@1565
  1987
              # include <bus/usb/usbhid.h>
slouken@1565
  1988
              #else
slouken@1565
  1989
              # include <dev/usb/usb.h>
slouken@1565
  1990
              # include <dev/usb/usbhid.h>
slouken@1565
  1991
              #endif
slouken@381
  1992
              #if defined(HAVE_USBHID_H)
slouken@381
  1993
              #include <usbhid.h>
slouken@381
  1994
              #elif defined(HAVE_LIBUSB_H)
slouken@381
  1995
              #include <libusb.h>
slouken@381
  1996
              #elif defined(HAVE_LIBUSBHID_H)
slouken@381
  1997
              #include <libusbhid.h>
slouken@381
  1998
              #endif
slouken@381
  1999
            ],[
slouken@381
  2000
              struct usb_ctl_report buf;
slouken@381
  2001
              if (buf.ucr_data) { }
slouken@381
  2002
            ],[
slouken@381
  2003
            have_usbhid_ucr_data=yes
slouken@381
  2004
            ])
slouken@381
  2005
            if test x$have_usbhid_ucr_data = xyes; then
slouken@1361
  2006
                USB_CFLAGS="$USB_CFLAGS -DUSBHID_UCR_DATA"
slouken@381
  2007
            fi
slouken@381
  2008
            AC_MSG_RESULT($have_usbhid_ucr_data)
slouken@407
  2009
            
slouken@1361
  2010
            AC_MSG_CHECKING(for new usbhid API)
slouken@407
  2011
            have_usbhid_new=no
slouken@407
  2012
            AC_TRY_COMPILE([
slouken@407
  2013
              #include <sys/types.h>
slouken@407
  2014
              #if defined(HAVE_USB_H)
slouken@407
  2015
              #include <usb.h>
slouken@407
  2016
              #endif
slouken@407
  2017
              #include <dev/usb/usb.h>
slouken@407
  2018
              #include <dev/usb/usbhid.h>
slouken@407
  2019
              #if defined(HAVE_USBHID_H)
slouken@407
  2020
              #include <usbhid.h>
slouken@407
  2021
              #elif defined(HAVE_LIBUSB_H)
slouken@407
  2022
              #include <libusb.h>
slouken@407
  2023
              #elif defined(HAVE_LIBUSBHID_H)
slouken@407
  2024
              #include <libusbhid.h>
slouken@407
  2025
              #endif
slouken@407
  2026
            ],[
slouken@407
  2027
              report_desc_t d;
slouken@1361
  2028
              hid_start_parse(d, 1, 1);
slouken@407
  2029
            ],[
slouken@407
  2030
            have_usbhid_new=yes
slouken@407
  2031
            ])
slouken@407
  2032
            if test x$have_usbhid_new = xyes; then
slouken@1361
  2033
                USB_CFLAGS="$USB_CFLAGS -DUSBHID_NEW"
slouken@407
  2034
            fi
slouken@407
  2035
            AC_MSG_RESULT($have_usbhid_new)
slouken@381
  2036
slouken@1565
  2037
            AC_MSG_CHECKING(for struct joystick in machine/joystick.h)
slouken@1565
  2038
            have_machine_joystick=no
slouken@1565
  2039
            AC_TRY_COMPILE([
slouken@1565
  2040
              #include <machine/joystick.h>
slouken@1565
  2041
            ],[
slouken@1565
  2042
              struct joystick t;
slouken@1565
  2043
            ],[
slouken@1565
  2044
            have_machine_joystick=yes
slouken@1565
  2045
            ])
slouken@1565
  2046
            if test x$have_machine_joystick = xyes; then
slouken@1565
  2047
                AC_DEFINE(SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H)
slouken@1565
  2048
            fi
slouken@1565
  2049
            AC_MSG_RESULT($have_machine_joystick)
slouken@1565
  2050
slouken@1361
  2051
            AC_DEFINE(SDL_JOYSTICK_USBHID)
slouken@1361
  2052
            SOURCES="$SOURCES $srcdir/src/joystick/bsd/*.c"
slouken@1521
  2053
            EXTRA_CFLAGS="$EXTRA_CFLAGS $USB_CFLAGS"
slouken@1521
  2054
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS $USB_LIBS"
slouken@1361
  2055
            have_joystick=yes
slouken@381
  2056
        fi
slouken@1361
  2057
        CFLAGS="$save_CFLAGS"
slouken@381
  2058
    fi
slouken@381
  2059
}
slouken@381
  2060
slouken@1361
  2061
dnl Check for clock_gettime()
slouken@1361
  2062
CheckClockGettime()
slouken@795
  2063
{
slouken@1361
  2064
    AC_ARG_ENABLE(clock_gettime,
slouken@1637
  2065
AC_HELP_STRING([--enable-clock_gettime], [use clock_gettime() instead of gettimeofday() on UNIX [[default=no]]]),
slouken@1361
  2066
                  , enable_clock_gettime=no)
slouken@1361
  2067
    if test x$enable_clock_gettime = xyes; then
slouken@1361
  2068
        AC_CHECK_LIB(rt, clock_gettime, have_clock_gettime=yes)
slouken@1361
  2069
        if test x$have_clock_gettime = xyes; then
slouken@1361
  2070
            AC_DEFINE(HAVE_CLOCK_GETTIME)
slouken@1521
  2071
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lrt"
icculus@1175
  2072
        fi
slouken@795
  2073
    fi
slouken@795
  2074
}
slouken@795
  2075
slouken@1062
  2076
dnl Check for a valid linux/version.h
slouken@1062
  2077
CheckLinuxVersion()
slouken@1062
  2078
{
slouken@1062
  2079
    AC_CHECK_HEADER(linux/version.h, have_linux_version_h=yes)
slouken@1062
  2080
    if test x$have_linux_version_h = xyes; then
slouken@1521
  2081
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DHAVE_LINUX_VERSION_H"
slouken@1062
  2082
    fi
slouken@1062
  2083
}
slouken@1062
  2084
slouken@1127
  2085
dnl Check if we want to use RPATH
slouken@1127
  2086
CheckRPATH()
slouken@1127
  2087
{
slouken@1127
  2088
    AC_ARG_ENABLE(rpath,
slouken@1637
  2089
AC_HELP_STRING([--enable-rpath], [use an rpath when linking SDL [[default=yes]]]),
slouken@1127
  2090
                  , enable_rpath=yes)
slouken@1127
  2091
}
slouken@1127
  2092
slouken@1550
  2093
dnl Set up the configuration based on the host platform!
slouken@1550
  2094
case "$host" in
slouken@1361
  2095
    arm-*-elf*) # FIXME: Can we get more specific for iPodLinux?
slouken@1361
  2096
        ARCH=linux
slouken@1361
  2097
        CheckDummyVideo
slouken@1361
  2098
        CheckIPod
slouken@1361
  2099
        # Set up files for the timer library
icculus@1140
  2100
        if test x$enable_timers = xyes; then
slouken@1361
  2101
            AC_DEFINE(SDL_TIMER_UNIX)
slouken@1361
  2102
            SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
slouken@1361
  2103
            have_timers=yes
icculus@1140
  2104
        fi
slouken@1361
  2105
        ;;
slouken@1820
  2106
    *-*-linux*|*-*-uclinux*|*-*-gnu*|*-*-k*bsd*-gnu|*-*-bsdi*|*-*-freebsd*|*-*-dragonfly*|*-*-netbsd*|*-*-openbsd*|*-*-sysv5*|*-*-solaris*|*-*-hpux*|*-*-irix*|*-*-aix*|*-*-osf*)
slouken@1550
  2107
        case "$host" in
slouken@1361
  2108
            *-*-linux*)         ARCH=linux ;;
slouken@1820
  2109
            *-*-uclinux*)       ARCH=linux ;;
slouken@1361
  2110
            *-*-kfreebsd*-gnu)  ARCH=kfreebsd-gnu ;;
slouken@1361
  2111
            *-*-knetbsd*-gnu)   ARCH=knetbsd-gnu ;;
slouken@1361
  2112
            *-*-kopenbsd*-gnu)  ARCH=kopenbsd-gnu ;;
slouken@1361
  2113
            *-*-gnu*)           ARCH=gnu ;; # must be last of the gnu variants
slouken@1361
  2114
            *-*-bsdi*)          ARCH=bsdi ;;
slouken@1361
  2115
            *-*-freebsd*)       ARCH=freebsd ;;
slouken@1565
  2116
            *-*-dragonfly*)     ARCH=freebsd ;;
slouken@1361
  2117
            *-*-netbsd*)        ARCH=netbsd ;;
slouken@1361
  2118
            *-*-openbsd*)       ARCH=openbsd ;;
slouken@1361
  2119
            *-*-sysv5*)         ARCH=sysv5 ;;
slouken@1361
  2120
            *-*-solaris*)       ARCH=solaris ;;
slouken@1361
  2121
            *-*-hpux*)          ARCH=hpux ;;
slouken@1361
  2122
            *-*-irix*)          ARCH=irix ;;
slouken@1361
  2123
            *-*-aix*)           ARCH=aix ;;
slouken@1361
  2124
            *-*-osf*)           ARCH=osf ;;
slouken@795
  2125
        esac
icculus@1573
  2126
        CheckVisibilityHidden
slouken@1
  2127
        CheckDummyVideo
slouken@68
  2128
        CheckDiskAudio
icculus@1532
  2129
        CheckDummyAudio
slouken@371
  2130
        CheckDLOPEN
slouken@0
  2131
        CheckNASM
slouken@1361
  2132
        CheckAltivec
slouken@0
  2133
        CheckOSS
slouken@1361
  2134
        CheckDMEDIA
slouken@1438
  2135
        CheckMME
slouken@0
  2136
        CheckALSA
slouken@0
  2137
        CheckARTSC
slouken@0
  2138
        CheckESD
slouken@0
  2139
        CheckNAS
slouken@0
  2140
        CheckX11
slouken@30
  2141
        CheckNANOX
slouken@0
  2142
        CheckFBCON
slouken@167
  2143
        CheckDirectFB
slouken@70
  2144
        CheckPS2GS
slouken@0
  2145
        CheckGGI
slouken@0
  2146
        CheckSVGA
slouken@1361
  2147
        CheckVGL
slouken@1361
  2148
        CheckWscons
slouken@0
  2149
        CheckAAlib
slouken@371
  2150
        CheckQtopia
slouken@433
  2151
        CheckPicoGUI
icculus@1191
  2152
        CheckOpenGLX11
slouken@0
  2153
        CheckInputEvents
icculus@1201
  2154
        CheckTslib
slouken@1361
  2155
        CheckUSBHID
slouken@0
  2156
        CheckPTHREAD
slouken@1361
  2157
        CheckClockGettime
slouken@1062
  2158
        CheckLinuxVersion
slouken@1127
  2159
        CheckRPATH
slouken@1361
  2160
        # Set up files for the audio library
slouken@1361
  2161
        if test x$enable_audio = xyes; then
slouken@1361
  2162
          case $ARCH in
slouken@1565
  2163
            sysv5|solaris|hpux)
slouken@1361
  2164
                AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
slouken@1361
  2165
                SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
slouken@1361
  2166
                have_audio=yes
slouken@1361
  2167
            ;;
slouken@1565
  2168
            netbsd|openbsd)
slouken@1567
  2169
                AC_DEFINE(SDL_AUDIO_DRIVER_BSD)
slouken@1567
  2170
                SOURCES="$SOURCES $srcdir/src/audio/bsd/*.c"
slouken@1361
  2171
                have_audio=yes
slouken@1361
  2172
            ;;
slouken@1361
  2173
            aix)
slouken@1361
  2174
                AC_DEFINE(SDL_AUDIO_DRIVER_PAUD)
slouken@1361
  2175
                SOURCES="$SOURCES $srcdir/src/audio/paudio/*.c"
slouken@1361
  2176
                have_audio=yes
slouken@1361
  2177
            ;;
slouken@1361
  2178
          esac
slouken@371
  2179
        fi
slouken@0
  2180
        # Set up files for the joystick library
slouken@0
  2181
        if test x$enable_joystick = xyes; then
slouken@1361
  2182
          case $ARCH in
slouken@1361
  2183
            linux)
slouken@1361
  2184
                AC_DEFINE(SDL_JOYSTICK_LINUX)
slouken@1361
  2185
                SOURCES="$SOURCES $srcdir/src/joystick/linux/*.c"
slouken@1361
  2186
                have_joystick=yes
slouken@1361
  2187
            ;;
slouken@1361
  2188
          esac
slouken@0
  2189
        fi
slouken@0
  2190
        # Set up files for the cdrom library
slouken@0
  2191
        if test x$enable_cdrom = xyes; then
slouken@1361
  2192
          case $ARCH in
slouken@1361
  2193
            linux|solaris)
slouken@1361
  2194
                AC_DEFINE(SDL_CDROM_LINUX)
slouken@1361
  2195
                SOURCES="$SOURCES $srcdir/src/cdrom/linux/*.c"
slouken@1361
  2196
                have_cdrom=yes
slouken@1361
  2197
            ;;
slouken@1361
  2198
            *freebsd*)
slouken@1361
  2199
                AC_DEFINE(SDL_CDROM_FREEBSD)
slouken@1361
  2200
                SOURCES="$SOURCES $srcdir/src/cdrom/freebsd/*.c"
slouken@1361
  2201
                have_cdrom=yes
slouken@1361
  2202
            ;;
slouken@1383
  2203
            *openbsd*|*netbsd*)
slouken@1361
  2204
                AC_DEFINE(SDL_CDROM_OPENBSD)
slouken@1361
  2205
                SOURCES="$SOURCES $srcdir/src/cdrom/openbsd/*.c"
slouken@1361
  2206
                have_cdrom=yes
slouken@1361
  2207
            ;;
slouken@1361
  2208
            bsdi)
slouken@1361
  2209
                AC_DEFINE(SDL_CDROM_BSDI)
slouken@1361
  2210
                SOURCES="$SOURCES $srcdir/src/cdrom/bsdi/*.c"
slouken@1361
  2211
                have_cdrom=yes
slouken@1361
  2212
            ;;
slouken@1361
  2213
            aix)
slouken@1361
  2214
                AC_DEFINE(SDL_CDROM_AIX)
slouken@1361
  2215
                SOURCES="$SOURCES $srcdir/src/cdrom/aix/*.c"
slouken@1361
  2216
                have_cdrom=yes
slouken@1361
  2217
            ;;
slouken@1361
  2218
            osf)
slouken@1361
  2219
                AC_DEFINE(SDL_CDROM_OSF)
slouken@1361
  2220
                SOURCES="$SOURCES $srcdir/src/cdrom/osf/*.c"
slouken@1361
  2221
                have_cdrom=yes
slouken@1361
  2222
            ;;
slouken@1361
  2223
          esac
slouken@0
  2224
        fi
slouken@0
  2225
        # Set up files for the thread library
slouken@1361
  2226
        if test x$enable_threads = xyes -a x$use_pthreads != xyes -a x$use_pth != xyes -a x$ARCH = xirix; then
slouken@1361
  2227
            AC_DEFINE(SDL_THREAD_SPROC)
slouken@1361
  2228
            SOURCES="$SOURCES $srcdir/src/thread/irix/*.c"
slouken@1361
  2229
            SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
slouken@1361
  2230
            SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
slouken@1361
  2231
            have_threads=yes
slouken@0
  2232
        fi
slouken@0
  2233
        # Set up files for the timer library
slouken@0
  2234
        if test x$enable_timers = xyes; then
slouken@1361
  2235
            AC_DEFINE(SDL_TIMER_UNIX)
slouken@1361
  2236
            SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
slouken@1361
  2237
            have_timers=yes
slouken@0
  2238
        fi
slouken@0
  2239
        ;;
slouken@0
  2240
    *-*-qnx*)
slouken@0
  2241
        ARCH=qnx
slouken@1
  2242
        CheckDummyVideo
slouken@68
  2243
        CheckDiskAudio
icculus@1532
  2244
        CheckDummyAudio
slouken@886
  2245
        # CheckNASM
slouken@371
  2246
        CheckDLOPEN
slouken@0
  2247
        CheckNAS
slouken@0
  2248
        CheckPHOTON
slouken@0
  2249
        CheckX11
icculus@1191
  2250
        CheckOpenGLX11
slouken@0
  2251
        CheckPTHREAD
slouken@0
  2252
        # Set up files for the audio library
slouken@0
  2253
        if test x$enable_audio = xyes; then
slouken@1361
  2254
            AC_DEFINE(SDL_AUDIO_DRIVER_QNXNTO)
slouken@1361
  2255
            SOURCES="$SOURCES $srcdir/src/audio/nto/*.c"
slouken@1521
  2256
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lasound"
slouken@1361
  2257
            have_audio=yes
slouken@0
  2258
        fi
slouken@0
  2259
        # Set up files for the cdrom library
slouken@0
  2260
        if test x$enable_cdrom = xyes; then
slouken@1361
  2261
            AC_DEFINE(SDL_CDROM_QNX)
slouken@1361
  2262
            SOURCES="$SOURCES $srcdir/src/cdrom/qnx/*.c"
slouken@1361
  2263
            have_cdrom=yes
slouken@0
  2264
        fi
slouken@0
  2265
        # Set up files for the timer library
slouken@0
  2266
        if test x$enable_timers = xyes; then
slouken@1361
  2267
            AC_DEFINE(SDL_TIMER_UNIX)
slouken@1361
  2268
            SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
slouken@1361
  2269
            have_timers=yes
slouken@0
  2270
        fi
slouken@0
  2271
        ;;
slouken@0
  2272
    *-*-cygwin* | *-*-mingw32*)
slouken@0
  2273
        ARCH=win32
slouken@1550
  2274
        if test "$build" != "$host"; then # cross-compiling
slouken@0
  2275
            # Default cross-compile location
slouken@0
  2276
            ac_default_prefix=/usr/local/cross-tools/i386-mingw32msvc
slouken@0
  2277
        else
slouken@0
  2278
            # Look for the location of the tools and install there
slouken@750
  2279
            if test "$BUILD_PREFIX" != ""; then
slouken@1
  2280
                ac_default_prefix=$BUILD_PREFIX
slouken@1
  2281
            fi
slouken@0
  2282
        fi
slouken@1
  2283
        CheckDummyVideo
slouken@68
  2284
        CheckDiskAudio
icculus@1532
  2285
        CheckDummyAudio
slouken@0
  2286
        CheckWIN32
slouken@1361
  2287
        CheckWIN32GL
slouken@0
  2288
        CheckDIRECTX
slouken@0
  2289
        CheckNASM
slouken@0
  2290
        # Set up files for the audio library
slouken@0
  2291
        if test x$enable_audio = xyes; then
slouken@1361
  2292
            AC_DEFINE(SDL_AUDIO_DRIVER_WAVEOUT)
slouken@1361
  2293
            SOURCES="$SOURCES $srcdir/src/audio/windib/*.c"
slouken@1361
  2294
            if test x$have_directx = xyes; then
slouken@1361
  2295
                AC_DEFINE(SDL_AUDIO_DRIVER_DSOUND)
slouken@1361
  2296
                SOURCES="$SOURCES $srcdir/src/audio/windx5/*.c"
slouken@0
  2297
            fi
slouken@1361
  2298
            have_audio=yes
slouken@0
  2299
        fi
slouken@0
  2300
        # Set up files for the joystick library
slouken@0
  2301
        if test x$enable_joystick = xyes; then
slouken@1855
  2302
            AC_DEFINE(SDL_JOYSTICK_WINMM)
slouken@1855
  2303
            SOURCES="$SOURCES $srcdir/src/joystick/win32/*.c"
slouken@1361
  2304
            have_joystick=yes
slouken@0
  2305
        fi
slouken@0
  2306
        # Set up files for the cdrom library
slouken@0
  2307
        if test x$enable_cdrom = xyes; then
slouken@1361
  2308
            AC_DEFINE(SDL_CDROM_WIN32)
slouken@1361
  2309
            SOURCES="$SOURCES $srcdir/src/cdrom/win32/*.c"
slouken@1361
  2310
            have_cdrom=yes
slouken@0
  2311
        fi
slouken@0
  2312
        # Set up files for the thread library
slouken@0
  2313
        if test x$enable_threads = xyes; then
slouken@1361
  2314
            AC_DEFINE(SDL_THREAD_WIN32)
slouken@1361
  2315
            SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_sysmutex.c"
slouken@1361
  2316
            SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_syssem.c"
slouken@1361
  2317
            SOURCES="$SOURCES $srcdir/src/thread/win32/SDL_systhread.c"
slouken@1361
  2318
            SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
slouken@1361
  2319
            have_threads=yes
slouken@0
  2320
        fi
slouken@0
  2321
        # Set up files for the timer library
slouken@0
  2322
        if test x$enable_timers = xyes; then
slouken@1361
  2323
            AC_DEFINE(SDL_TIMER_WIN32)
slouken@1361
  2324
            SOURCES="$SOURCES $srcdir/src/timer/win32/*.c"
slouken@1361
  2325
            have_timers=yes
slouken@1361
  2326
        fi
slouken@1361
  2327
        # Set up files for the shared object loading library
slouken@1361
  2328
        if test x$enable_loadso = xyes; then
slouken@1361
  2329
            AC_DEFINE(SDL_LOADSO_WIN32)
slouken@1361
  2330
            SOURCES="$SOURCES $srcdir/src/loadso/win32/*.c"
slouken@1361
  2331
            have_loadso=yes
slouken@1361
  2332
        fi
slouken@1361
  2333
        # Set up the system libraries we need
slouken@1521
  2334
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -luser32 -lgdi32 -lwinmm"
slouken@1361
  2335
        if test x$have_directx = xyes; then
slouken@1521
  2336
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ldxguid"
slouken@0
  2337
        fi
slouken@0
  2338
        # The Win32 platform requires special setup
slouken@1397
  2339
        SDLMAIN_SOURCES="$srcdir/src/main/win32/*.c"
slouken@0
  2340
        SDL_CFLAGS="$SDL_CFLAGS -Dmain=SDL_main"
slouken@1363
  2341
        SDL_LIBS="-lmingw32 -lSDLmain $SDL_LIBS -mwindows"
slouken@0
  2342
        ;;
slouken@0
  2343
    *-*-beos*)
slouken@0
  2344
        ARCH=beos
slouken@0
  2345
        ac_default_prefix=/boot/develop/tools/gnupro
slouken@1
  2346
        CheckDummyVideo
slouken@68
  2347
        CheckDiskAudio
icculus@1532
  2348
        CheckDummyAudio
slouken@0
  2349
        CheckNASM
slouken@0
  2350
        CheckBWINDOW
slouken@0
  2351
        CheckBeGL
slouken@0
  2352
        # Set up files for the audio library
slouken@0
  2353
        if test x$enable_audio = xyes; then
slouken@1361
  2354
            AC_DEFINE(SDL_AUDIO_DRIVER_BAUDIO)
slouken@1361
  2355
            SOURCES="$SOURCES $srcdir/src/audio/baudio/*.cc"
slouken@1361
  2356
            have_audio=yes
slouken@0
  2357
        fi
slouken@0
  2358
        # Set up files for the joystick library
slouken@0
  2359
        if test x$enable_joystick = xyes; then
slouken@1361
  2360
            AC_DEFINE(SDL_JOYSTICK_BEOS)
slouken@1361
  2361
            SOURCES="$SOURCES $srcdir/src/joystick/beos/*.cc"
slouken@1361
  2362
            have_joystick=yes
slouken@0
  2363
        fi
slouken@0
  2364
        # Set up files for the cdrom library
slouken@0
  2365
        if test x$enable_cdrom = xyes; then
slouken@1361
  2366
            AC_DEFINE(SDL_CDROM_BEOS)
slouken@1361
  2367
            SOURCES="$SOURCES $srcdir/src/cdrom/beos/*.cc"
slouken@1361
  2368
            have_cdrom=yes
slouken@0
  2369
        fi
slouken@0
  2370
        # Set up files for the thread library
slouken@0
  2371
        if test x$enable_threads = xyes; then
slouken@1361
  2372
            AC_DEFINE(SDL_THREAD_BEOS)
slouken@1361
  2373
            SOURCES="$SOURCES $srcdir/src/thread/beos/*.c"
slouken@1361
  2374
            SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_sysmutex.c"
slouken@1361
  2375
            SOURCES="$SOURCES $srcdir/src/thread/generic/SDL_syscond.c"
slouken@1361
  2376
            have_threads=yes
slouken@0
  2377
        fi
slouken@0
  2378
        # Set up files for the timer library
slouken@0
  2379
        if test x$enable_timers = xyes; then
slouken@1361
  2380
            AC_DEFINE(SDL_TIMER_BEOS)
slouken@1361
  2381
            SOURCES="$SOURCES $srcdir/src/timer/beos/*.c"
slouken@1361
  2382
            have_timers=yes
slouken@1361
  2383
        fi
slouken@1361
  2384
        # Set up files for the shared object loading library
slouken@1361
  2385
        if test x$enable_loadso = xyes; then
slouken@1361
  2386
            AC_DEFINE(SDL_LOADSO_BEOS)
slouken@1361
  2387
            SOURCES="$SOURCES $srcdir/src/loadso/beos/*.c"
slouken@1361
  2388
            have_loadso=yes
slouken@0
  2389
        fi
slouken@1367
  2390
        # The BeOS platform requires special setup.
slouken@1367
  2391
        SOURCES="$srcdir/src/main/beos/*.cc $SOURCES"
slouken@1521
  2392
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -lroot -lbe -lmedia -lgame -ldevice -ltextencoding"
slouken@0
  2393
        ;;
slouken@0
  2394
    *-*-darwin* )
icculus@1133
  2395
        # This could be either full "Mac OS X", or plain "Darwin" which is
slouken@158
  2396
        # just the OS X kernel sans upper layers like Carbon and Cocoa.
icculus@1133
  2397
        # Next line is broken, and a few files below require Mac OS X (full)
slouken@158
  2398
        ARCH=macosx
slouken@1624
  2399
slouken@1628
  2400
        # Mac OS X builds with both the Carbon and OSX APIs at the moment
slouken@1638
  2401
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_CARBON"
slouken@1638
  2402
        EXTRA_CFLAGS="$EXTRA_CFLAGS -DTARGET_API_MAC_OSX"
slouken@1628
  2403
slouken@1628
  2404
        # HACK: Reset EXTRA_LDFLAGS; the only thing it contains at this point
slouken@1628
  2405
        # is -lm which is not needed under Mac OS X. But for some reasons it
slouken@1628
  2406
        # also tends to contain spurious -L switches, which we don't want to
slouken@1628
  2407
        # use here or in sdl-config. Hence we reset it.
slouken@1624
  2408
        EXTRA_LDFLAGS=""
slouken@1624
  2409
slouken@1742
  2410
        CheckVisibilityHidden
slouken@1
  2411
        CheckDummyVideo
slouken@68
  2412
        CheckDiskAudio
icculus@1532
  2413
        CheckDummyAudio
slouken@1638
  2414
        CheckDLOPEN
slouken@1648
  2415
slouken@1648
  2416
        # Set up files for the shared object loading library
slouken@1648
  2417
        # (this needs to be done before the dynamic X11 check)
slouken@1648
  2418
        if test x$enable_loadso = xyes -a x$have_dlopen != xyes; then
slouken@1648
  2419
            AC_DEFINE(SDL_LOADSO_DLCOMPAT)
slouken@1648
  2420
            SOURCES="$SOURCES $srcdir/src/loadso/macosx/*.c"
slouken@1648
  2421
            have_loadso=yes
slouken@1648
  2422
        fi
slouken@1648
  2423
icculus@1133
  2424
        CheckCOCOA
icculus@1133
  2425
        CheckCARBON
icculus@1174
  2426
        CheckX11
slouken@0
  2427
        CheckMacGL
icculus@1191
  2428
        CheckOpenGLX11
slouken@0
  2429
        CheckPTHREAD
icculus@1047
  2430
        CheckAltivec
icculus@1445
  2431
icculus@1445
  2432
        # Need this or things might misbuild on a G3.
slouken@1521
  2433
        EXTRA_CFLAGS="$EXTRA_CFLAGS -force_cpusubtype_ALL"
icculus@1445
  2434
slouken@0
  2435
        # Set up files for the audio library
slouken@0
  2436
        if test x$enable_audio = xyes; then
slouken@1361
  2437
            AC_DEFINE(SDL_AUDIO_DRIVER_COREAUDIO)
slouken@1361
  2438
            SOURCES="$SOURCES $srcdir/src/audio/macosx/*.c"
slouken@1361
  2439
            AC_DEFINE(SDL_AUDIO_DRIVER_SNDMGR)
slouken@1361
  2440
            SOURCES="$SOURCES $srcdir/src/audio/macrom/*.c"
slouken@1361
  2441
            have_audio=yes
slouken@0
  2442
        fi
slouken@0
  2443
        # Set up files for the joystick library
slouken@0
  2444
        if test x$enable_joystick = xyes; then
slouken@1361
  2445
            AC_DEFINE(SDL_JOYSTICK_IOKIT)
slouken@1361
  2446
            SOURCES="$SOURCES $srcdir/src/joystick/darwin/*.c"
slouken@1611
  2447
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,IOKit"
slouken@1361
  2448
            have_joystick=yes
slouken@0
  2449
        fi
slouken@0
  2450
        # Set up files for the cdrom library
slouken@0
  2451
        if test x$enable_cdrom = xyes; then
slouken@1361
  2452
            AC_DEFINE(SDL_CDROM_MACOSX)
slouken@1361
  2453
            SOURCES="$SOURCES $srcdir/src/cdrom/macosx/*.c"
slouken@1361
  2454
            have_cdrom=yes
slouken@0
  2455
        fi
slouken@0
  2456
        # Set up files for the timer library
slouken@0
  2457
        if test x$enable_timers = xyes; then
slouken@1361
  2458
            AC_DEFINE(SDL_TIMER_UNIX)
slouken@1361
  2459
            SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
slouken@1361
  2460
            have_timers=yes
slouken@1361
  2461
        fi
slouken@1621
  2462
        # The Mac OS X platform requires special setup.
slouken@1397
  2463
        SDLMAIN_SOURCES="$srcdir/src/main/macosx/*.m"
slouken@1521
  2464
        EXTRA_CFLAGS="$EXTRA_CFLAGS -fpascal-strings"
slouken@387
  2465
        SDL_LIBS="-lSDLmain $SDL_LIBS"
icculus@1133
  2466
        if test x$enable_video_cocoa = xyes; then
slouken@1611
  2467
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Cocoa"
icculus@1133
  2468
        fi
icculus@1133
  2469
        if test x$enable_video_carbon = xyes -o x$enable_video_cocoa = xyes; then
icculus@1133
  2470
            # The Cocoa backend still needs Carbon, and the YUV code QuickTime
slouken@1611
  2471
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,QuickTime -Wl,-framework,ApplicationServices"
slouken@1611
  2472
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,Carbon"
icculus@1133
  2473
        fi
slouken@1361
  2474
        # If either the audio or CD driver is used, add the AudioUnit framework
slouken@1361
  2475
        if test x$enable_audio = xyes -o x$enable_cdrom = xyes; then
slouken@1611
  2476
            EXTRA_LDFLAGS="$EXTRA_LDFLAGS -Wl,-framework,AudioToolbox -Wl,-framework,AudioUnit"
slouken@1361
  2477
        fi
slouken@0
  2478
        ;;
slouken@281
  2479
    *-*-mint*)
slouken@281
  2480
        ARCH=mint
slouken@281
  2481
        CheckDummyVideo
slouken@281
  2482
        CheckDiskAudio
icculus@1532
  2483
        CheckDummyAudio
slouken@281
  2484
        CheckAtariBiosEvent
slouken@281
  2485
        CheckAtariXbiosVideo
slouken@281
  2486
        CheckAtariGemVideo
slouken@398
  2487
        CheckAtariAudio
patmandin@651
  2488
        CheckAtariLdg
slouken@1361
  2489
        CheckAtariOSMesa
slouken@281
  2490
        CheckPTH
slouken@281
  2491
        # Set up files for the audio library
slouken@398
  2492
        if test x$enable_threads = xyes -a x$enable_pth = xyes; then
slouken@398
  2493
            if test x$enable_audio = xyes; then
slouken@1361
  2494
                AC_DEFINE(SDL_AUDIO_DRIVER_SUNAUDIO)
slouken@1361
  2495
                SOURCES="$SOURCES $srcdir/src/audio/sun/*.c"
slouken@1361
  2496
                have_audio=yes
slouken@398
  2497
            fi
slouken@281
  2498
        fi
slouken@281
  2499
        # Set up files for the joystick library
slouken@281
  2500
        if test x$enable_joystick = xyes; then
slouken@1361
  2501
            AC_DEFINE(SDL_JOYSTICK_MINT)
slouken@1361
  2502
            SOURCES="$SOURCES $srcdir/src/joystick/mint/*.c"
slouken@1361
  2503
            have_joystick=yes
slouken@281
  2504
        fi
slouken@281
  2505
        # Set up files for the cdrom library
slouken@281
  2506
        if test x$enable_cdrom = xyes; then
slouken@1361
  2507
            AC_DEFINE(SDL_CDROM_MINT)
slouken@1361
  2508
            SOURCES="$SOURCES $srcdir/src/cdrom/mint/*.c"
slouken@1361
  2509
            have_cdrom=yes
slouken@281
  2510
        fi
slouken@281
  2511
        # Set up files for the timer library
slouken@281
  2512
        if test x$enable_timers = xyes; then
slouken@557
  2513
            if test x$enable_threads = xyes -a x$enable_pth = xyes; then
slouken@1361
  2514
                AC_DEFINE(SDL_TIMER_UNIX)
slouken@1361
  2515
                SOURCES="$SOURCES $srcdir/src/timer/unix/*.c"
slouken@557
  2516
            else
slouken@1361
  2517
                AC_DEFINE(SDL_TIMER_MINT)
slouken@1361
  2518
                SOURCES="$SOURCES $srcdir/src/timer/mint/*.c"
patmandin@1477
  2519
                SOURCES="$SOURCES $srcdir/src/timer/mint/*.S"
slouken@557
  2520
            fi
slouken@1361
  2521
            have_timers=yes
slouken@281
  2522
        fi
slouken@281
  2523
        ;;
slouken@1035
  2524
    *-riscos)
slouken@687
  2525
        ARCH=riscos
slouken@1361
  2526
        CheckOSS
slouken@1361
  2527
        CheckPTHREAD
slouken@955
  2528
        # Set up files for the video library
slouken@955
  2529
        if test x$enable_video = xyes; then
slouken@1361
  2530
            AC_DEFINE(SDL_VIDEO_DRIVER_RISCOS)
slouken@1361
  2531
            SOURCES="$SOURCES $srcdir/src/video/riscos/*.c"
slouken@1459
  2532
            SOURCES="$SOURCES $srcdir/src/video/riscos/*.S"
slouken@1361
  2533
            have_video=yes
slouken@955
  2534
        fi
slouken@955
  2535
        # Set up files for the joystick library
slouken@955
  2536
        if test x$enable_joystick = xyes; then
slouken@1361
  2537
            AC_DEFINE(SDL_JOYSTICK_RISCOS)
slouken@1361
  2538
            SOURCES="$SOURCES $srcdir/src/joystick/riscos/*.c"
slouken@1361
  2539
            have_joystick=yes
slouken@955
  2540
        fi
slouken@955
  2541
        # Set up files for the timer library
slouken@955
  2542
        if test x$enable_timers = xyes; then
slouken@1361
  2543
            AC_DEFINE(SDL_TIMER_RISCOS)
slouken@1361
  2544
            SOURCES="$SOURCES $srcdir/src/timer/riscos/*.c"
slouken@1361
  2545
            have_timers=yes
slouken@955
  2546
        fi
slouken@1361
  2547
        # The RISC OS platform requires special setup.
slouken@1521
  2548
        EXTRA_LDFLAGS="$EXTRA_LDFLAGS -ljpeg -ltiff -lpng -lz"
slouken@687
  2549
        ;;
slouken@0
  2550
    *)
slouken@1361
  2551
        AC_MSG_ERROR([
slouken@1550
  2552
*** Unsupported host:  Please add to configure.in
slouken@1361
  2553
        ])
slouken@0
  2554
        ;;
slouken@0
  2555
esac
slouken@0
  2556
slouken@1361
  2557
# Verify that we have all the platform specific files we need
slouken@1361
  2558
if test x$have_joystick != xyes; then
slouken@1361
  2559
    if test x$enable_joystick = xyes; then
slouken@1361
  2560
        AC_DEFINE(SDL_JOYSTICK_DISABLED)
slouken@1361
  2561
    fi
slouken@1361
  2562
    SOURCES="$SOURCES $srcdir/src/joystick/dummy/*.c"
slouken@1361
  2563
fi
slouken@1361
  2564
if test x$have_cdrom != xyes; then
slouken@1361
  2565
    if test x$enable_cdrom = xyes; then
slouken@1361
  2566
        AC_DEFINE(SDL_CDROM_DISABLED)
slouken@1361
  2567
    fi
slouken@1361
  2568
    SOURCES="$SOURCES $srcdir/src/cdrom/dummy/*.c"
slouken@1361
  2569
fi
slouken@1361
  2570
if test x$have_threads != xyes; then
slouken@1361
  2571
    if test x$enable_threads = xyes; then
slouken@1361
  2572
        AC_DEFINE(SDL_THREADS_DISABLED)
slouken@1361
  2573
    fi
slouken@1361
  2574
    SOURCES="$SOURCES $srcdir/src/thread/generic/*.c"
slouken@1361
  2575
fi
slouken@1361
  2576
if test x$have_timers != xyes; then
slouken@1361
  2577
    if test x$enable_timers = xyes; then
slouken@1361
  2578
        AC_DEFINE(SDL_TIMERS_DISABLED)
slouken@1361
  2579
    fi
slouken@1361
  2580
    SOURCES="$SOURCES $srcdir/src/timer/dummy/*.c"
slouken@1361
  2581
fi
slouken@1361
  2582
if test x$have_loadso != xyes; then
slouken@1361
  2583
    if test x$enable_loadso = xyes; then
slouken@1361
  2584
        AC_DEFINE(SDL_LOADSO_DISABLED)
slouken@1361
  2585
    fi
slouken@1361
  2586
    SOURCES="$SOURCES $srcdir/src/loadso/dummy/*.c"
slouken@1361
  2587
fi
slouken@1397
  2588
if test x$SDLMAIN_SOURCES = x; then
slouken@1397
  2589
    SDLMAIN_SOURCES="$srcdir/src/main/dummy/*.c"
slouken@1397
  2590
fi
slouken@0
  2591
slouken@1361
  2592
OBJECTS=`echo $SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.asm,$(objects)/\1.lo,g'`
slouken@1361
  2593
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.lo,g'`
slouken@1361
  2594
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.lo,g'`
slouken@1361
  2595
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.lo,g'`
slouken@1459
  2596
OBJECTS=`echo $OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.S,$(objects)/\1.lo,g'`
slouken@0
  2597
slouken@1397
  2598
SDLMAIN_OBJECTS=`echo $SDLMAIN_SOURCES | sed 's,[[^ ]]*/\([[^ ]]*\)\.cc,$(objects)/\1.o,g'`
slouken@1397
  2599
SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.m,$(objects)/\1.o,g'`
slouken@1397
  2600
SDLMAIN_OBJECTS=`echo $SDLMAIN_OBJECTS | sed 's,[[^ ]]*/\([[^ ]]*\)\.c,$(objects)/\1.o,g'`
slouken@1397
  2601
slouken@0
  2602
# Set runtime shared library paths as needed
slouken@0
  2603
slouken@1127
  2604
if test "x$enable_rpath" = "xyes"; then
slouken@1565
  2605
  if test $ARCH = bsdi -o $ARCH = freebsd -o $ARCH = irix -o $ARCH = linux -o $ARCH = netbsd; then
slouken@1127
  2606
    SDL_RLD_FLAGS="-Wl,-rpath,\${exec_prefix}/lib"
slouken@1127
  2607
  fi
slouken@1127
  2608
  if test $ARCH = solaris; then
slouken@1127
  2609
    SDL_RLD_FLAGS="-R\${exec_prefix}/lib"
slouken@1127
  2610
  fi
slouken@1127
  2611
else
slouken@1127
  2612
  SDL_RLD_FLAGS=""
slouken@0
  2613
fi
slouken@387
  2614
slouken@387
  2615
case "$ARCH" in
slouken@387
  2616
  macosx)
icculus@1133
  2617
    if test x$enable_video = xyes -a x$enable_video_cocoa = xyes; then
slouken@1611
  2618
      SDL_LIBS="$SDL_LIBS -Wl,-framework,Cocoa"
icculus@1133
  2619
    fi
icculus@1133
  2620
    if test x$enable_video = xyes -a x$enable_video_carbon = xyes; then
slouken@1611
  2621
      SDL_LIBS="$SDL_LIBS -Wl,-framework,Carbon"
icculus@1133
  2622
    fi
slouken@807
  2623
    # Evil hack to allow static linking on Mac OS X
slouken@1624
  2624
    SDL_STATIC_LIBS="\${exec_prefix}/lib/libSDLmain.a \${exec_prefix}/lib/libSDL.a $EXTRA_LDFLAGS"
slouken@807
  2625
    ;;
slouken@807
  2626
  *)
slouken@807
  2627
    SDL_STATIC_LIBS="$SDL_LIBS"
slouken@807
  2628
    ;;
slouken@807
  2629
esac
slouken@807
  2630
slouken@0
  2631
dnl Expand the cflags and libraries needed by apps using SDL
slouken@0
  2632
AC_SUBST(SDL_CFLAGS)
slouken@0
  2633
AC_SUBST(SDL_LIBS)
slouken@807
  2634
AC_SUBST(SDL_STATIC_LIBS)
slouken@0
  2635
AC_SUBST(SDL_RLD_FLAGS)
slouken@1361
  2636
if test x$enable_shared = xyes; then
slouken@1361
  2637
    ENABLE_SHARED_TRUE=
slouken@1361
  2638
    ENABLE_SHARED_FALSE="#"
slouken@1361
  2639
else
slouken@1361
  2640
    ENABLE_SHARED_TRUE="#"
slouken@1361
  2641
    ENABLE_SHARED_FALSE=
slouken@1361
  2642
fi
slouken@1361
  2643
if test x$enable_static = xyes; then
slouken@1361
  2644
    ENABLE_STATIC_TRUE=
slouken@1361
  2645
    ENABLE_STATIC_FALSE="#"
slouken@1361
  2646
else
slouken@1361
  2647
    ENABLE_STATIC_TRUE="#"
slouken@1361
  2648
    ENABLE_STATIC_FALSE=
slouken@1361
  2649
fi
slouken@1361
  2650
AC_SUBST(ENABLE_SHARED_TRUE)
slouken@1361
  2651
AC_SUBST(ENABLE_SHARED_FALSE)
slouken@1361
  2652
AC_SUBST(ENABLE_STATIC_TRUE)
slouken@1361
  2653
AC_SUBST(ENABLE_STATIC_FALSE)
slouken@0
  2654
slouken@1361
  2655
dnl Expand the sources and objects needed to build the library
slouken@1361
  2656
AC_SUBST(ac_aux_dir)
slouken@1361
  2657
AC_SUBST(INCLUDE)
slouken@1361
  2658
AC_SUBST(SOURCES)
slouken@1361
  2659
AC_SUBST(OBJECTS)
slouken@1397
  2660
AC_SUBST(SDLMAIN_SOURCES)
slouken@1397
  2661
AC_SUBST(SDLMAIN_OBJECTS)
slouken@1361
  2662
AC_SUBST(BUILD_CFLAGS)
slouken@1521
  2663
AC_SUBST(EXTRA_CFLAGS)
slouken@1393
  2664
AC_SUBST(BUILD_LDFLAGS)
slouken@1521
  2665
AC_SUBST(EXTRA_LDFLAGS)
slouken@0
  2666
slouken@0
  2667
AC_OUTPUT([
slouken@1865
  2668
    Makefile sdl-config SDL.spec SDL.qpg sdl.pc
slouken@1361
  2669
], [
slouken@1361
  2670
    : >build-deps
slouken@1640
  2671
    if test x"$MAKE" = x; then MAKE=make; fi; $MAKE depend
slouken@1361
  2672
])