configure.in
author Sam Lantinga <slouken@libsdl.org>
Thu, 13 Apr 2006 13:08:26 +0000
changeset 1621 f12379c41042
parent 1611 ec3466b08f17
child 1624 8208ae96bb2d
permissions -rw-r--r--
Fixes bug #195:
The proper name of Apple's operating system is "Mac OS X" not "MacOS X", as can
bee seen in many places, for example http://www.apple.com/macosx/). This
contrasts the naming of the old operating system, which was called "MacOS" and
today is often refered to as "MacOS Classic".

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