aboutsummaryrefslogtreecommitdiffstats
path: root/distrib/sdl-1.2.12/android-configure.sh
diff options
context:
space:
mode:
Diffstat (limited to 'distrib/sdl-1.2.12/android-configure.sh')
-rwxr-xr-xdistrib/sdl-1.2.12/android-configure.sh553
1 files changed, 0 insertions, 553 deletions
diff --git a/distrib/sdl-1.2.12/android-configure.sh b/distrib/sdl-1.2.12/android-configure.sh
deleted file mode 100755
index 95bb91f..0000000
--- a/distrib/sdl-1.2.12/android-configure.sh
+++ /dev/null
@@ -1,553 +0,0 @@
-#/bin/sh
-#
-# this script is used to rebuild SDL from sources in the current
-# directory. It depends on the Android emulator build scripts
-# that should normally be located in ../emulator/android/build
-# but you can also use ANDROID_QEMU_PATH in your environment
-# to point to the top of the Android emulator sources
-#
-#
-
-# first, let's see which system we're running this on
-cd `dirname $0`
-
-# try to find the Android build directory automatically
-if [ -z "$ANDROID_QEMU_PATH" ] ; then
- if [ -f ../../android/build/common.sh ] ; then
- ANDROID_QEMU_PATH=../..
- else
- echo "You must define ANDROID_QEMU_PATH in your environment to point"
- echo "to the directory containing the Android emulator's sources."
- exit 1
- fi
-fi
-
-if [ ! -d $ANDROID_QEMU_PATH ] ; then
- echo "Your ANDROID_QEMU_PATH does not point to a valid directory."
- exit 1
-fi
-
-if [ ! -f $ANDROID_QEMU_PATH/android/build/common.sh ] ; then
- echo "Your ANDROID_QEMU_PATH does not point to a directory that"
- echo "contains the Android emulator build scripts."
- exit 1
-fi
-
-# source common functions definitions
-. $ANDROID_QEMU_PATH/android/build/common.sh
-
-# Parse options
-OPTION_TRY_64=no
-OPTION_HELP=no
-OPTION_TARGETS=
-OPTION_FORCE_AUTODETECT=no
-OPTION_NO_TIGER=no
-
-if [ -z "$CC" ] ; then
- CC=gcc
-fi
-
-for opt do
- optarg=`expr "x$opt" : 'x[^=]*=\(.*\)'`
- case "$opt" in
- --help|-h|-\?) OPTION_HELP=yes
- ;;
- --verbose)
- if [ "$VERBOSE" = "yes" ] ; then
- VERBOSE2=yes
- else
- VERBOSE=yes
- fi
- ;;
- --cc=*) CC="$optarg" ; HOSTCC=$CC
- ;;
- --try-64) OPTION_TRY_64=yes
- ;;
- --prefix=*) OPTION_TARGETS="$OPTION_TARGETS $optarg"
- ;;
- --force-autodetect) OPTION_FORCE_AUTODETECT=yes
- ;;
- --no-tiger) OPTION_NO_TIGER=yes
- ;;
- *)
- echo "unknown option '$opt', use --help"
- exit 1
- esac
-done
-
-# Print the help message
-#
-if [ "$OPTION_HELP" = "yes" ] ; then
- cat << EOF
-
-Usage: rebuild.sh [options]
-Options: [defaults in brackets after descriptions]
-EOF
- echo "Standard options:"
- echo " --help print this message"
- echo " --cc=PATH specify C compiler [$CC]"
- echo " --try-64 try to build a 64-bit executable (may crash)"
- echo " --verbose verbose configuration"
- echo " --force-autodetect force feature auto-detection"
- echo " --no-tiger do not generate Tiger-compatible binaries (OS X only)"
- echo ""
- exit 1
-fi
-
-# we only support generating 32-bit binaris on 64-bit systems.
-# And we may need to add a -Wa,--32 to CFLAGS to let the assembler
-# generate 32-bit binaries on Linux x86_64.
-#
-if [ "$OPTION_TRY_64" != "yes" ] ; then
- force_32bit_binaries
-fi
-
-# default target
-if [ -z "$OPTION_TARGETS" ] ; then
- OPTION_TARGETS=out/$OS
-fi
-
-# we can build SDL with Cygwin, so enable it
-enable_cygwin
-
-setup_toolchain
-
-###
-### Special compiler and linker flags
-###
-
-case "$OS" in
- linux-*)
- BUILD_CFLAGS="-D_GNU_SOURCE=1 -fvisibility=hidden -DXTHREADS -D_REENTRANT"
- # prevent -fstack-protector or the generated binaries will not link
- BUILD_CFLAGS="$BUILD_CFLAGS -fno-stack-protector"
- ;;
- darwin-*)
- BUILD_CFLAGS="-D_GNU_SOURCE=1 -fvisibility=hidden -DTARGET_API_MAC_CARBON -DTARGET_API_MAC_OSX -D_THREAD_SAFE -force_cpusubtype_ALL -fpascal-strings"
- # detect the 10.4 SDK and use it automatically
- TIGER_SDK=/Developer/SDKs/MacOSX10.4u.sdk
- if [ ! -d $TIGER_SDK -a $OPTION_NO_TIGER = no ] ; then
- echo "Please install the 10.4 SDK at $TIGER_SDK to generate Tiger-compatible binaries."
- echo "If you don't want compatibility, use --no-tiger option instead."
- exit 1
- fi
- if [ -d $TIGER_SDK ] ; then
- TIGER_OPTS="-isysroot $TIGER_SDK -mmacosx-version-min=10.4"
- BUILD_CFLAGS="$BUILD_CFLAGS $TIGER_OPTS"
- BUILD_LDFLAGS="$BUILD_LDFLAGS $TIGER_OPTS -Wl,-syslibroot,$(TIGER_SDK)"
- echo "Using OS X 10.4 SDK to generate Tiger-compatible binaries."
- else
- echo "Warning: the generated binaries will not be compatible with Tiger."
- fi
- ;;
- windows)
- BUILD_CFLAGS="-D_GNU_SOURCE=1"
- ;;
- *)
- BUILD_CFLAGS=
-esac
-
-# BUILD_CFLAGS are used to build SDL, but SDL_CFLAGS are used
-# when clients want to use its facilities
-#
-case "$HOST_OS" in
- linux)
- SDL_CFLAGS="-D_GNU_SOURCE=1 -D_REENTRANT"
- SDL_STATIC_LIBS="-lm -ldl -lpthread -lrt"
- ;;
- darwin)
- SDL_CFLAGS="-D_GNU_SOURCE=1 -D_THREAD_SAFE"
- SDL_STATIC_LIBS="-Wl,-framework,OpenGL -Wl,-framework,Cocoa -Wl,-framework,QuickTime -Wl,-framework,ApplicationServices -Wl,-framework,Carbon -Wl,-framework,IOKit"
- ;;
- windows)
- SDL_CFLAGS="-D_GNU_SOURCE=1 -Dmain=SDL_main"
- SDL_STATIC_LIBS="-luser32 -lgdi32 -lwinmm"
- ;;
- *)
- SDL_CFLAGS=
- SDL_STATIC_LIBS=
-esac
-
-DOLLAR="$"
-SDL_STATIC_LIBS="$DOLLAR{libdir}/libSDLmain.a $DOLLAR{libdir}/libSDL.a $SDL_STATIC_LIBS"
-
-###
-### Features probes
-###
-
-CONFIG_LIBC=yes
-
-###
-### Configuration files generation
-###
-
-# create the objs directory that is going to contain all generated files
-# including the configuration ones
-#
-mkdir -p objs
-
-config_add ()
-{
- echo "$1" >> $config_h
-}
-
-# used to add a macro define/undef line to the configuration
-# $1: macro name
-# $2: 1, 0, yes or no
-# $3: optional log prefix
-config_add_macro ()
-{
- local logname
- logname="${3:-CfgMacro }"
- case "$2" in
- 0|no|false)
- config_add "/* #undef $1 */"
- log "$logname: $1=0"
- ;;
- 1|yes|true)
- config_add "#define $1 1"
- log "$logname: $1=1"
- ;;
- esac
-}
-
-# used to add host-os-specific driver macros to the config file
-# $1 : driver prefix, e.g. DRIVERS_VIDEO
-# $2 : macro prefix
-# this will look for DRIVERS_VIDEO_${HOST_OS}, and, if it is not
-# defined in DRIVERS_VIDEO_default
-#
-# then this will call 'config_add ${2}_${driver}' for each driver listed
-#
-config_add_driver_macros ()
-{
- local driver_list="`var_value ${1}_${HOST_OS}`"
- local driver_name
- if [ -z "$driver_list" ] ; then
- driver_list="`var_value ${1}_default`"
- fi
- for driver_name in $driver_list; do
- config_add_macro "${2}_${driver_name}" yes
- done
-}
-
-config_h=objs/SDL_config.h
-
-# a function used to check the availability of a given Standard C header
-# $1 : header name, without the .h suffix nor enclosing brackets (e.g. 'memory' for <memory.h>)
-# this will update the configuration with a relevant line
-sdl_check_header ()
-{
- local result
- local header
- local macro
- header="<$1.h>"
- macro=`to_uppercase $1`
- macro=`echo $macro | tr '/' '_'`
- feature_check_header result "$header"
- config_add_macro HAVE_${macro}_H $result "StdCHeader "
-}
-
-# call sdl_check_header with a list of header names
-sdl_check_headers ()
-{
- for hh in $*; do
- sdl_check_header "$hh"
- done
-}
-
-# a function used to check that a given function is available in the C library
-# this will update the configuration with a relevant line
-# $1: function name
-# $2: optional, libraries to link against
-#
-sdl_check_func ()
-{
- local result
- local funcname
- local macro
- funcname="$1"
- macro=`to_uppercase $1`
- rm -f $TMPC
- cat > $TMPC <<EOF
-#undef $funcname
-#define $funcname _innocuous_$funcname
-#include <assert.h>
-#undef $funcname
-
-typedef void (*func_t)(void);
-extern void $funcname(void);
-func_t _dummy = $funcname;
-int main(void)
-{
- return _dummy == $funcname;
-}
-EOF
- EXTRA_LDFLAGS="$2"
- feature_check_link result
- config_add_macro HAVE_${macro} $result "StdCFunc "
-}
-
-# call sdl_check_func with a list of functions
-sdl_check_funcs ()
-{
- for ff in $*; do
- sdl_check_func "$ff"
- done
-}
-
-# check endianess of the host platform
-sdl_check_endianess ()
-{
- cat > $TMPC <<EOF
- int main(void)
- {
- union {
- unsigned short v;
- unsigned char b[2];
- } u;
-
- u.v = 0x1234;
- return (u.b[0] == 0x12);
- }
-EOF
- feature_run_exec test_e
- if [ "$test_e" = "1" ] ; then
- eval $1=4321
- else
- eval $1=1234
- fi
-}
-
-
-generate_SDL_config_h ()
-{
- echo "/* This file was autogenerated by '$PROGNAME' - do not edit */" > $config_h
-
- config_add "#ifndef _SDL_config_h"
- config_add "#define _SDL_config_h"
- config_add ""
- config_add "#include \"SDL_platform.h\""
- config_add ""
-
- # true for all architectures these days
- config_add_macro SDL_HAS_64BIT_TYPE 1
-
- sdl_check_endianess ENDIANESS
- config_add "#define SDL_BYTEORDER $ENDIANESS"
- config_add ""
-
- config_add_macro HAVE_LIBC $CONFIG_LIBC
-
- config_add "#if HAVE_LIBC"
- config_add ""
- config_add "/* Useful headers */"
-
- sdl_check_headers alloca sys/types stdio
-
- # just like configure - force it to 1
- config_add "#define STDC_HEADERS 1"
-
- sdl_check_headers stdlib stdarg malloc memory string strings inttypes stdint ctype math iconv signal altivec
-
- config_add "/* C library functions */"
-
- sdl_check_funcs malloc calloc realloc free alloc
-
- config_add "#ifndef _WIN32 /* Don't use on Windows */"
-
- sdl_check_funcs getenv putenv unsetenv
-
- config_add "#endif"
- sdl_check_funcs qsort abs bcopy memset memcpy memmove memcmp strlen strlcpy strlcat
- sdl_check_funcs strdup _strrev _strupr _strlwr index rindex strchr strrchr itoa _ltoa
- sdl_check_funcs _uitoa _ultoa strtol strtoul _i64toa _ui64toa strtoll strtoull
- sdl_check_funcs strtod atoi atof strcmp strncmp _stricmp strcasecmp _strnicmp
- sdl_check_funcs vsnprintf iconv sigaction setjmp nanosleep
-
- sdl_check_func clock_gettime -lrt
- sdl_check_func dlvsym -ldl
-
- sdl_check_funcs getpagesize
-
- config_add "#else"
- config_add "/* We may need some replacement for stdarg.h here */"
- config_add "#include <stdarg.h>"
- config_add "#endif /* HAVE_LIBC */"
- config_add ""
-
- config_add "/* Allow disabling of core subsystems */"
-
- config_add_macro SDL_AUDIO_DISABLED yes
- config_add_macro SDL_CDROM_DISABLED yes
- config_add_macro SDL_CPUINFO_DISABLED no
- config_add_macro SDL_EVENTS_DISABLED no
- config_add_macro SDL_FILE_DISABLED yes
- config_add_macro SDL_JOYSTICK_DISABLED yes
- config_add_macro SDL_LOADSO_DISABLED no
- config_add_macro SDL_THREADS_DISABLED no
- config_add_macro SDL_TIMERS_DISABLED no
- config_add_macro SDL_VIDEO_DISABLED no
-
- config_add ""
- config_add "/* Enable various shared object loading systems */"
-
- config_add_driver_macros DRIVERS_LOADSO SDL_LOADSO
-
- config_add ""
- config_add "/* Enable various threading systems */"
-
- config_add_driver_macros DRIVERS_THREAD SDL_THREAD
-
- config_add ""
- config_add "/* Enable various timer systems */"
-
- config_add_driver_macros DRIVERS_TIMER SDL_TIMER
-
- config_add ""
- config_add "/* Enable various video drivers */"
-
- config_add_driver_macros DRIVERS_VIDEO SDL_VIDEO_DRIVER
-
- config_add_driver_macros DRIVERS_MAIN SDL_MAIN
-
- # the following defines are good enough for all recent Unix distributions
- config_add "#define SDL_VIDEO_DRIVER_X11_DYNAMIC \"libX11.so.6\""
- config_add "#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT \"libXext.so.6\""
- config_add "#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR \"libXrandr.so.2\""
- config_add "#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRENDER \"libXrender.so.1\""
-
- # todo: OpenGL support ?
- # todo: Assembly routines support ?
-
- config_add "#endif /* _SDL_config_h */"
-}
-
-### Build the config sub-makefile
-###
-
-make_add ()
-{
- echo "$1" >> $config_mk
-}
-
-make_add_driver_macros ()
-{
- local driver_list="`var_value ${1}_${HOST_OS}`"
- local driver_name
- if [ -z "$driver_list" ] ; then
- driver_list="`var_value ${1}_default`"
- fi
- for driver_name in $driver_list; do
- make_add "SDL_$2_${driver_name} := yes"
- done
-}
-
-generate_sdl_config_mk ()
-{
- CFLAGS="$CFLAGS $BUILD_CFLAGS"
- LDFLAGS="$LDFLAGS $BUILD_LDFLAGS"
- create_config_mk
-
- make_add ""
- PWD=`pwd`
- make_add "SRC_PATH=$PWD"
- make_add "BUILD_SYSTEM=$ANDROID_QEMU_PATH/android/build"
-
- make_add "SDL_CONFIG_LIBC := $CONFIG_LIBC"
- make_add "SDL_CONFIG_CPUINFO := yes"
-
- make_add_driver_macros DRIVERS_LOADSO CONFIG_LOADSO
- make_add_driver_macros DRIVERS_THREAD CONFIG_THREAD
- make_add_driver_macros DRIVERS_TIMER CONFIG_TIMER
- make_add_driver_macros DRIVERS_VIDEO CONFIG_VIDEO
-
- make_add_driver_macros DRIVERS_MAIN CONFIG_MAIN
-
- make_add "INSTALL_TARGETS := $OPTION_TARGETS"
-}
-
-### Build the final sdl-config script from the template
-###
-
-generate_sdl_config ()
-{
- # build a sed script that will replace all @VARIABLES@ in the template
- # with appropriate values
- rm -f $TMPC
-
- # replace @exec_prefix@ with "{prefix}", and @libdir@ with "{libdir}"
- cat > $TMPC <<EOF
-s!@exec_prefix@!\$\{prefix\}!g
-s!@libdir@!\$\{exec_prefix\}/libs!g
-s!@includedir@!\$\{prefix\}/include!g
-EOF
-
- # we want to enable static linking, do @ENABLE_STATIC_FALSE@ and @ENABLE_STATIC_TRUE@
- cat >> $TMPC <<EOF
-s!@ENABLE_STATIC_FALSE@!\#!g
-s!@ENABLE_STATIC_TRUE@!!g
-s!@ENABLE_SHARED_TRUE@!\#!g
-s!@ENABLE_SHARED_FALSE@!!g
-EOF
-
- # set the version to 1.2.12
- cat >> $TMPC <<EOF
-s!@SDL_VERSION@!1.2.12!g
-EOF
-
- #
- cat >> $TMPC <<EOF
-s!@SDL_CFLAGS@!$SDL_CFLAGS!g
-s!@SDL_STATIC_LIBS@!$SDL_STATIC_LIBS!g
-EOF
-
- cat sdl-config.in | sed -f $TMPC > objs/sdl-config
- chmod +x objs/sdl-config
-}
-
-# copy a configuration file or perform auto-detection if one is not available
-# or the --force-autodetect option was used
-# $1: basename of config file
-# $2: command to run to perform auto-detection/generation
-#
-copy_or_autodetect ()
-{
- if [ "$OPTION_FORCE_AUTODETECT" != "yes" -a -f android/build/$OS/$1 ] ; then
- log "Setup : Copying $1 from android/build/$OS"
- cp -f android/build/$OS/$1 objs/$1
- else
- log "Setup : Auto-generating $1"
- eval $2
- fi
-}
-
-generate_all ()
-{
- copy_or_autodetect SDL_config.h generate_SDL_config_h
- generate_sdl_config_mk
- copy_or_autodetect sdl-config generate_sdl_config
-}
-
-DRIVERS_LOADSO_default=DLOPEN
-DRIVERS_LOADSO_darwin=DLCOMPAT
-DRIVERS_LOADSO_windows=WIN32
-
-# TODO: determine if PTHREAD_RECURSIVE or PTHREAD_RECURSIVE_NP is valid for the platform
-DRIVERS_THREAD_default="PTHREAD PTHREAD_RECURSIVE_MUTEX"
-DRIVERS_THREAD_linux="PTHREAD PTHREAD_RECURSIVE_MUTEX_NP"
-DRIVERS_THREAD_windows=WIN32
-
-DRIVERS_TIMER_default=UNIX
-DRIVERS_TIMER_windows=WIN32
-
-# TODO: actually compute this properly for X11 and dynamic loading !!
-DRIVERS_VIDEO_default="X11 X11_DPMS X11_XINERAMA X11_XME"
-DRIVERS_VIDEO_darwin="QUARTZ"
-DRIVERS_VIDEO_windows="WINDIB"
-
-DRIVERS_MAIN_default=DUMMY
-DRIVERS_MAIN_darwin=MACOSX
-DRIVERS_MAIN_windows=WIN32
-
-generate_all