configure.in
author Ryan C. Gordon <icculus@icculus.org>
Wed, 17 Sep 2008 08:20:57 +0000
changeset 2763 6fc50bdd88c0
parent 2717 50bc882455e5
child 2775 6d7baec32718
permissions -rw-r--r--
Some cleanups on the new XInput code.

One or two things got moved around, but largely this is hooked up correctly
in the Unix configure system now: it can be dynamically loaded and fallback
gracefully if not available, or libXi can be directly linked to libSDL.

XInput support can be --disable'd from the configure script, too (defaults to
enabled).

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