configure.in
author Ryan C. Gordon <icculus@icculus.org>
Mon, 04 Jun 2007 11:06:48 +0000
branchSDL-1.2
changeset 3950 9d9e15ab1697
parent 3939 42e83d81224b
child 3967 d22892eaa1cf
permissions -rw-r--r--
Check if yasm supports a nasm-specific syntax we use (it doesn't in 0.5.0,
which is still common in Linux distros, and does in 0.6.0). Disable it if we
don't, attempting to fallback to using nasm. Thanks to Mike Frysinger for the
patch.

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