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