configure.in
author Sam Lantinga <slouken@libsdl.org>
Thu, 01 Jan 2009 21:34:22 +0000
changeset 2947 fec0db6c44b7
parent 2857 5e04bdd79479
child 2998 d364ee9b9c15
permissions -rw-r--r--
Date: Thu, 01 Jan 2009 21:32:12 +0100
From: Couriersud
Subject: Fusionsound audio driver

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