stella/stella/configure

979 lines
22 KiB
Plaintext
Raw Normal View History

#!/bin/sh
#
# Some things this script could/should do when finished
#
# * detect whether it's a GNU compiler or not (for compiler settings)
# * command line options to...
# - override the host settings (for cross compiles
# - whether to do a debug build (with -g) or an optimized build (-O3 etc.)
# * detect whether the chosen backend is available (e.g. call sdl-config)
# * ....
# use environment vars if set
CXXFLAGS="$CXXFLAGS $CPPFLAGS"
# default lib behaviour yes/no/auto
_opengl=auto
_zlib=auto
# default option behaviour yes/no
_build_gl=yes
_build_sound=yes
_build_developer=yes
_build_snapshot=yes
_build_joystick=yes
_build_cheats=yes
_build_static=no
_build_profile=no
_build_atarivox=no
_build_scalers=no
# more defaults
_ranlib=ranlib
_install=install
_ar="ar cru"
_mkdir="mkdir -p"
_echo=printf
_cat=cat
_rm="rm -f"
_rm_rec="$_rm -r"
_zip="zip -q"
_cp=cp
_win32path=""
_sdlconfig=sdl-config
_sdlpath="$PATH"
_nasmpath="$PATH"
NASMFLAGS=""
NASM=""
_prefix=/usr/local
_have_x86=""
X_LIBS="/usr/X11R6/lib"
_srcdir=`dirname $0`
# TODO: We should really use mktemp(1) to determine a random tmp file name.
# However, that tool might not be available everywhere.
TMPO=${_srcdir}/stella-conf
TMPC=${TMPO}.cxx
TMPLOG=${_srcdir}/config.log
# For cross compiling
_host=""
_host_cpu=""
_host_vendor=""
_host_os=""
cc_check() {
echo >> "$TMPLOG"
cat "$TMPC" >> "$TMPLOG"
echo >> "$TMPLOG"
echo "$CXX $TMPC -o $TMPO$EXEEXT $@" >> "$TMPLOG"
rm -f "$TMPO$EXEEXT"
( $CXX "$TMPC" -o "$TMPO$EXEEXT" "$@" ) >> "$TMPLOG" 2>&1
TMP="$?"
echo >> "$TMPLOG"
return "$TMP"
}
echocheck () {
echo_n "Checking for $@... "
}
#
# Check whether the given command is a working C++ compiler
#
test_compiler ()
{
cat <<EOF >tmp_cxx_compiler.cpp
class Foo {
int a;
};
int main(int argc, char **argv)
{
Foo *a = new Foo();
delete a;
return 0;
}
EOF
if test -n "$_host"; then
# In cross-compiling mode, we cannot run the result
eval "$1 -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp
else
eval "$1 -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && eval "./tmp_cxx_compiler 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp
fi
}
#
# Determine sdl-config
#
# TODO: small bit of code to test sdl useability
find_sdlconfig()
{
echo_n "Looking for sdl-config... "
sdlconfigs="$_sdlconfig:sdl-config:sdl11-config:sdl12-config"
_sdlconfig=
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="$SEPARATOR"
done=0
for path_dir in $_sdlpath; do
#reset separator to parse sdlconfigs
IFS=":"
for sdlconfig in $sdlconfigs; do
if test -x "$path_dir/$sdlconfig" ; then
_sdlconfig="$path_dir/$sdlconfig"
done=1
break
fi
done
if test $done -eq 1 ; then
echo $_sdlconfig
break
fi
done
IFS="$ac_save_ifs"
if test -z "$_sdlconfig"; then
echo "none found!"
exit 1
fi
}
#
# Function to provide echo -n for bourne shells that don't have it
#
echo_n()
{
printf "$@"
}
#
# Determine a data type with the given length
#
find_type_with_size ()
{
cat <<EOF >tmp_find_type_with_size.cpp
#include <stdio.h>
int main(int argc, char **argv)
{
int size = argv[1][0] - '0';
if (size == sizeof(int))
printf("int\n");
else if (size == sizeof(short))
printf("short\n");
else if (size == sizeof(char))
printf("char\n");
else if (size == sizeof(long))
printf("long\n");
else {
printf("unknown\n");
return 1;
}
return 0;
}
EOF
if eval "$CXX -o tmp_find_type_with_size tmp_find_type_with_size.cpp"; then
datatype=`./tmp_find_type_with_size $1`
if test "$datatype" = "unknown"; then
echo "couldn't find data type with $1 bytes"
exit 1
fi
fi
rm -f tmp_find_type_with_size$EXEEXT tmp_find_type_with_size.cpp
echo $datatype
}
CheckNASM()
{
echocheck "nasm"
if test "$_nasm" = no ; then
echo "disabled"
return;
fi
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
for path_dir in $_nasmpath; do
if test -x "$path_dir/nasm" ; then
NASM="$path_dir/nasm"
echo $NASM
break
fi
done
IFS="$ac_save_ifs"
if test x$NASM = x -o x$NASM = x'"$NASM"'; then
echo "not found"
_nasm=no
else
case $_host_os in
mingw* | cygwin*)
NASMFLAGS="-f win32"
;;
*)
NASMFLAGS="-f elf"
;;
esac
_nasm=yes
fi
}
#
# Greet user
#
echo "Running Stella configure..."
echo "Configure run on" `date` > $TMPLOG
#
# Check any parameters we received
#
# TODO:
# * Change --disable-mad / --enable-mad to the way it's done in autoconf:
# That is, --without-mad / --with-mad=/prefix/to/mad. Useful for people
# who have Mad/Vorbis/ALSA installed in a non-standard locations.
#
for parm in "$@" ; do
if test "$parm" = "--help" || test "$parm" = "-help" || test "$parm" = "-h" ; then
cat << EOF
Usage: $0 [OPTIONS]...
Configuration:
-h, --help display this help and exit
Installation directories:
--prefix=DIR use this prefix for installing stella [/usr/local]
--bindir=DIR directory to install the stella binary [PREFIX/bin]
--docdir=DIR directory to install documentation [PREFIX/share/doc/stella]
--datadir=DIR directory to install icons/data files [PREFIX/share]
Optional Features:
--enable-gl enable/disable OpenGL rendering support [enabled]
--disable-gl
--enable-sound enable/disable sound support [enabled]
--disable-sound
--enable-developer enable/disable all developer/debugger options [enabled]
--disable-developer
--enable-snapshot enable/disable snapshot support [enabled]
--disable-snapshot
--enable-joystick enable/disable joystick support [enabled]
--disable-joystick
--enable-cheats enable/disable cheatcode support [enabled]
--disable-cheats
--enable-atarivox enable/disable AtariVox support [disabled]
--disable-atarivox
--enable-scalers enable/disable video scalers support [disabled]
--disable-scalers
--enable-shared build shared binary [enabled]
--enable-static build static binary (if possible) [disabled]
--disable-static
--enable-profile build binary with profiling info [disabled]
--disable-profile
Optional Libraries:
--with-zlib-prefix=DIR Prefix where zlib is installed (optional)
--disable-zlib disable zlib (compression) support [autodetect]
--with-sdl-prefix=DIR Prefix where the sdl-config script is installed (optional)
--with-nasm-prefix=DIR Prefix where nasm executable is installed (optional)
--disable-nasm disable assembly language optimizations [autodetect]
--x-libraries Path to X11 libraries [${X_LIBS}]
Some influential environment variables:
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir>
CXX C++ compiler command
CXXFLAGS C++ compiler flags
CPPFLAGS C++ preprocessor flags, e.g. -I<include dir> if you have
headers in a nonstandard directory <include dir>
EOF
exit 0
fi
done # for parm in ...
for ac_option in $@; do
case "$ac_option" in
--enable-gl) _build_gl=yes ;;
--disable-gl) _build_gl=no ;;
--enable-sound) _build_sound=yes ;;
--disable-sound) _build_sound=no ;;
--enable-developer) _build_developer=yes ;;
--disable-developer) _build_developer=no ;;
--enable-snapshot) _build_snapshot=yes ;;
--disable-snapshot) _build_snapshot=no ;;
--enable-joystick) _build_joystick=yes ;;
--disable-joystick) _build_joystick=no ;;
--enable-cheats) _build_cheats=yes ;;
--disable-cheats) _build_cheats=no ;;
--enable-atarivox) _build_atarivox=yes ;;
--disable-atarivox) _build_atarivox=no ;;
--enable-scalers) _build_scalers=yes ;;
--disable-scalers) _build_scalers=no ;;
--enable-zlib) _zlib=yes ;;
--disable-zlib) _zlib=no ;;
--enable-nasm) _nasm=yes ;;
--disable-nasm) _nasm=no ;;
--enable-shared) _build_static=no ;;
--enable-static) _build_static=yes ;;
--disable-static) _build_static=no ;;
--enable-profile) _build_profile=yes ;;
--disable-profile) _build_profile=no ;;
--with-zlib-prefix=*)
_prefix=`echo $ac_option | cut -d '=' -f 2`
ZLIB_CFLAGS="-I$_prefix/include"
ZLIB_LIBS="-L$_prefix/lib"
;;
--with-sdl-prefix=*)
arg=`echo $ac_option | cut -d '=' -f 2`
_sdlpath="$arg:$arg/bin"
;;
--with-nasm-prefix=*)
arg=`echo $ac_option | cut -d '=' -f 2`
_nasmpath="$arg:$arg/bin"
;;
--x-libraries=*)
arg=`echo $ac_option | cut -d '=' -f 2`
X_LIBS="$arg"
;;
--host=*)
_host=`echo $ac_option | cut -d '=' -f 2`
;;
--prefix=*)
_prefix=`echo $ac_option | cut -d '=' -f 2`
;;
--bindir=*)
_bindir=`echo $ac_option | cut -d '=' -f 2`
;;
--docdir=*)
_docdir=`echo $ac_option | cut -d '=' -f 2`
;;
--datadir=*)
_datadir=`echo $ac_option | cut -d '=' -f 2`
;;
*)
echo "warning: unrecognised option: $ac_option"
;;
esac;
done;
CXXFLAGS="$CXXFLAGS $DEBFLAGS"
case $_host in
linupy)
_host_os=linux
_host_cpu=arm
;;
arm-riscos-aof)
_host_os=riscos
_host_cpu=arm
;;
ppc-amigaos)
_host_os=amigaos
_host_cpu=ppc
;;
psp)
_host_os=psp
_host_cpu=mips
# force psp sdl path
_sdlpath=$(psp-config --pspdev-path)/psp/bin:$_sdlpath
PATH=$(psp-config --pspdev-path)/psp/bin:$(psp-config --pspdev-path)/bin:$PATH
;;
gp2x)
_host_os=gp2x
_host_cpu=arm
;;
*)
guessed_host=`$_srcdir/config.guess`
_host_cpu=`echo $guessed_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
_host_os=`echo $guessed_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
_host_vendor=`echo $guessed_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
;;
esac
#
# Determine extension used for executables
#
case $_host_os in
mingw* | cygwin* |os2-emx*)
EXEEXT=".exe"
;;
arm-riscos-aof)
EXEEXT=",ff8"
;;
psp)
EXEEXT=".elf"
;;
gp2x)
EXEEXT=""
;;
*)
EXEEXT=""
;;
esac
#
# Determine separator used for $PATH
#
case $_host_os in
os2-emx* )
SEPARATOR=";"
;;
* )
SEPARATOR=":"
;;
esac
#
# Determine the C++ compiler
#
echo_n "Looking for C++ compiler... "
if test -n "$_host"; then
compilers="$CXX $_host_cpu-$_host_os-g++ $_host_cpu-$_host_os-c++"
else
compilers="$CXX g++ c++"
fi
CXX=
if [ "$_host" = "psp" ] ; then
compilers="$CXX psp-g++ psp-c++"
CXX="psp-c++"
fi
if [ "$_host" = "gp2x" ] ; then
compilers="$CXX arm-linux-g++ arm-linux-c++"
CXX="arm-linux-c++"
fi
for compiler in $compilers; do
if test_compiler $compiler; then
CXX=$compiler
echo $CXX
break
fi
done
if test -z $CXX; then
echo "none found!"
exit 1
fi
#
# Determine the compiler version
echocheck "compiler version"
cxx_name=`( $cc -v ) 2>&1 | tail -n 1 | cut -d ' ' -f 1`
cxx_version=`( $CXX -dumpversion ) 2>&1`
if test "$?" -gt 0; then
cxx_version="not found"
fi
case $cxx_version in
2.95.[2-9]|2.95.[2-9][-.]*|3.[0-9]|3.[0-9].[0-9]|3.[0-9].[0-9][-.]*|4.[0-9].[0-9]|4.[0-9].[0-9][-.]*)
_cxx_major=`echo $cxx_version | cut -d '.' -f 1`
_cxx_minor=`echo $cxx_version | cut -d '.' -f 2`
cxx_version="$cxx_version, ok"
cxx_verc_fail=no
;;
# whacky beos version strings
2.9-beos-991026*|2.9-beos-000224*)
_cxx_major=2
_cxx_minor=95
cxx_version="$cxx_version, ok"
cxx_verc_fail=no
;;
3_4)
_cxx_major=3
_mxx_minor=4
;;
'not found')
cxx_verc_fail=yes
;;
*)
cxx_version="$cxx_version, bad"
cxx_verc_fail=yes
;;
esac
echo "$cxx_version"
if test "$cxx_verc_fail" = yes ; then
echo
echo "The version of your compiler is not supported at this time"
echo "Please ensure you are using GCC 2.95.x or GCC 3.x"
exit 1
fi
#
# Do CXXFLAGS now we know the compiler version
#
if test "$_cxx_major" -ge "3" ; then
CXXFLAGS="$CXXFLAGS"
_make_def_HAVE_GCC3='HAVE_GCC3 = 1'
fi;
if test -n "$_host"; then
# Cross-compiling mode - add your target here if needed
case "$_host" in
linupy|arm-riscos-aof)
echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
DEFINES="$DEFINES -DUNIX"
_def_endianness='#define SCUMM_LITTLE_ENDIAN'
_def_align='#define SCUMM_NEED_ALIGNMENT'
_def_linupy="#define DLINUPY"
type_1_byte='char'
type_2_byte='short'
type_4_byte='int'
;;
ppc-amigaos)
echo "Cross-compiling to $_host, forcing endianness, alignment and type sizes"
_def_endianness='#define SCUMM_BIG_ENDIAN'
_def_align='#define SCUMM_NEED_ALIGNMENT'
type_1_byte='char'
type_2_byte='short'
type_4_byte='long'
CXXFLAGS="$CFLAGS -newlib -mstrict-align -mcpu=750 -mtune=7400"
LDFLAGS="$LDFLAGS -newlib"
;;
psp)
;;
gp2x)
echo "Cross-compiling to $_host, forcing static build, and disabling OpenGL."
_build_static=yes
_build_gl=no
;;
*)
echo "Cross-compiling to unknown target, please add your target to configure."
exit 1
;;
esac
else
#
# Determine build settings
#
# TODO - also add an command line option to override this?!?
echo_n "Checking hosttype... "
echo $_host_os
case $_host_os in
linux* | openbsd* | freebsd* | netbsd* | bsd* | sunos* | hpux* | beos*)
DEFINES="$DEFINES -DUNIX"
_host_os=unix
;;
irix*)
DEFINES="$DEFINES -DUNIX"
_ranlib=:
_host_os=unix
;;
darwin*)
DEFINES="$DEFINES -DUNIX -DMACOSX"
LIBS="$LIBS -framework QuickTime -framework AudioUnit -framework Carbon"
# TODO: Add proper check for Altivec support in the compiler...
DEFINES="$DEFINES -DHAS_ALTIVEC"
CXXFLAGS="$CXXFLAGS -faltivec"
_host_os=unix
;;
mingw*)
DEFINES="$DEFINES -DWIN32"
_host_os=win32
;;
cygwin*)
DEFINES="$DEFINES -mno-cygwin -DWIN32"
LIBS="$LIBS -mno-cygwin -lmingw32 -lwinmm"
_host_os=win32
;;
os2*)
DEFINES="$DEFINES -DUNIX -DOS2"
LIBS="$LIBS -lz"
_host_os=unix
;;
# given this is a shell script assume some type of unix
*)
echo "WARNING: could not establish system type, assuming unix like"
DEFINES="$DEFINES -DUNIX"
;;
esac
fi
#
# Check whether we can use x86 asm routines
#
echo_n "Running on x86... "
case $_host_cpu in
i386|i486|i586|i686)
_have_x86=yes
;;
*)
_have_x86=no
;;
esac
if test "$_have_x86" = yes ; then
_def_x86='#define HAVE_X86'
else
_def_x86='#undef HAVE_X86'
fi
echo "$_have_x86"
#
# Check for ZLib
#
echocheck "zlib"
if test "$_zlib" = auto ; then
_zlib=no
cat > $TMPC << EOF
#include <string.h>
#include <zlib.h>
int main(void) { return strcmp(ZLIB_VERSION, zlibVersion()); }
EOF
cc_check $LDFLAGS $CXXFLAGS $ZLIB_CFLAGS $ZLIB_LIBS -lz && _zlib=yes
fi
echo "$_zlib"
#
# Check for GL
#
echocheck "opengl"
if test "$_opengl" = auto ; then
_opengl=no
cat > $TMPC << EOF
#include <string.h>
#include <GL/gl.h>
#include <GL/glu.h>
int main(void) { return 0; }
EOF
cc_check $LDFLAGS $CXXFLAGS && _opengl=yes
fi
echo "$_opengl"
#
# Check for nasm
#
if test "$_have_x86" = yes ; then
CheckNASM
fi
if test "$_nasm" = yes ; then
DEFINES="$DEFINES -DUSE_NASM"
_def_nasm='#define USE_NASM'
_make_def_HAVE_NASM='HAVE_NASM = 1'
else
_def_nasm='#undef USE_NASM'
_make_def_HAVE_NASM='# HAVE_NASM = 1'
fi
#
# figure out installation directories
#
test -z "$_bindir" && _bindir="$_prefix/bin"
test -z "$_docdir" && _docdir="$_prefix/share/doc/stella"
test -z "$_datadir" && _datadir="$_prefix/share"
echo
echo_n "Summary:"
echo
if test "$_build_gl" = "yes" ; then
if test "$_opengl" = "yes" ; then
echo_n " OpenGL rendering enabled"
echo
else
echo_n " OpenGL rendering disabled (missing OpenGL headers)"
echo
_build_gl=no
fi
else
echo_n " OpenGL rendering disabled"
echo
fi
if test "$_build_sound" = "yes" ; then
echo_n " Sound support enabled"
echo
else
echo_n " Sound support disabled"
echo
fi
if test "$_build_developer" = "yes" ; then
echo_n " Developer/debugger support enabled"
echo
else
echo_n " Developer/debugger support disabled"
echo
fi
if test "$_build_snapshot" = "yes" ; then
echo_n " Snapshot support enabled"
echo
else
echo_n " Snapshot support disabled"
echo
fi
if test "$_build_joystick" = yes ; then
echo_n " Joystick support enabled"
echo
else
echo_n " Joystick support disabled"
echo
fi
if test "$_build_cheats" = yes ; then
echo_n " Cheatcode support enabled"
echo
else
echo_n " Cheatcode support disabled"
echo
fi
if test "$_build_atarivox" = yes ; then
echo_n " AtariVox support enabled"
echo
else
echo_n " AtariVox support disabled"
echo
fi
if test "$_build_scalers" = "yes" ; then
if test "$_build_gl" = "yes" ; then
echo_n " Scaler support enabled in OpenGL mode"
echo
else
echo_n " Scaler support disabled (OpenGL not available)"
echo
_build_scalers=no
fi
else
echo_n " Scaler support disabled"
echo
fi
if test "$_nasm" = yes ; then
echo_n " NASM support enabled for x86 assembly code"
echo
else
echo_n " NASM support disabled"
echo
fi
if test "$_build_static" = yes ; then
echo_n " Static binary enabled"
echo
else
echo_n " Static binary disabled"
echo
fi
if test "$_build_profile" = yes ; then
echo_n " Profiling enabled"
echo
else
echo_n " Profiling disabled"
echo
fi
#
# Now, add the appropriate defines/libraries/headers
#
echo
find_sdlconfig
SRC="src"
CORE="$SRC/emucore"
COMMON="$SRC/common"
GUI="$SRC/gui"
DBG="$SRC/debugger"
DBGGUI="$SRC/debugger/gui"
YACC="$SRC/yacc"
CHEAT="$SRC/cheat"
ATARIVOX="$SRC/emucore/rsynth"
SCALER="$SRC/common/scaler"
INCLUDES="-I$CORE -I$CORE/m6502/src -I$CORE/m6502/src/bspf/src -I$COMMON -I$GUI"
INCLUDES="$INCLUDES `$_sdlconfig --cflags`"
if test "$_build_static" = yes ; then
_sdl_conf_libs="--static-libs"
LDFLAGS="-static $LDFLAGS"
else
_sdl_conf_libs="--libs"
fi
LIBS="$LIBS `$_sdlconfig $_sdl_conf_libs` -lz"
LD=$CXX
case $_host_os in
unix)
DEFINES="$DEFINES -DBSPF_UNIX -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
MODULES="$MODULES $SRC/unix"
INCLUDES="$INCLUDES -I$SRC/unix"
;;
win32)
DEFINES="$DEFINES -DBSPF_WIN32 -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
MODULES="$MODULES $SRC/win32"
INCLUDES="$INCLUDES -I$SRC/win32"
LIBS="$LIBS -lmingw32 -lwinmm"
;;
psp)
# -O3 is need for speed
# -G0 to avoid c++ link problems
CXXFLAGS="-G0 -O2 -fno-rtti"
# 2 times -lc to avoid link problems. psp-gcc seems to to forget the first -lc wiile stdc++ linking
LIBS="-L `psp-config --pspsdk-path`/lib -L`psp-config --pspsdk-path`/../lib "
LIBS="$LIBS -lSDLmain -lSDL -lGL -lm -lpspdebug -lpspgu -lpspctrl -lpspge -lpspdisplay -lpsphprm -lpspsdk -lpsprtc -lpspaudio -lc -lpspuser -lpspkernel -lpsppower -lz -lm -lg -lstdc++ -lc -lpsputility"
# psp compiler
CC="psp-gcc"
LD="psp-gcc"
_ranlib="psp-ranlib"
_ar="psp-ar cru"
MODULES="$MODULES src/psp"
# psp specific tool
PSP_STRIP=`psp-config --pspdev-path`"/bin/psp-strip"
PSP_FIX=`psp-config --pspdev-path`"/bin/psp-fixup-imports"
PACK_PBP=`psp-config --pspdev-path`"/bin/pack-pbp"
MKSFO="`psp-config --pspdev-path`/bin/mksfo"
# mount point of psp
PSP_MOUNTPOINT="/mnt/psp"
INCLUDES="$INCLUDES -Isrc/psp -I`psp-config --pspsdk-path`/include"
DEFINES="$DEFINES -Dmain=SDL_main -DPSP -DBSPF_PSP -DPSP_DEBUG"
;;
gp2x)
# -O3 hangs the GP2X, do not use.
CXXFLAGS="-O2 -finline-functions -mtune=arm940t"
DEFINES="$DEFINES -DBSPF_GP2X -DGP2X -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
MODULES="$MODULES $SRC/gp2x"
INCLUDES="$INCLUDES -I$SRC/gp2x"
_ranlib="arm-linux-ranlib"
_ar="arm-linux-ar cru"
# GP2X ARM Linux Specific strip
GP2X_STRIP="arm-linux-strip"
;;
*)
echo "WARNING: host system not currenty supported"
exit
;;
esac
if test "$_build_gl" = yes ; then
DEFINES="$DEFINES -DDISPLAY_OPENGL"
fi
if test "$_build_sound" = yes ; then
DEFINES="$DEFINES -DSOUND_SUPPORT"
fi
if test "$_build_developer" = yes ; then
DEFINES="$DEFINES -DDEVELOPER_SUPPORT"
MODULES="$MODULES $DBG $DBGGUI $YACC"
INCLUDES="$INCLUDES -I$DBG -I$DBGGUI -I$YACC"
fi
if test "$_build_snapshot" = yes ; then
DEFINES="$DEFINES -DSNAPSHOT_SUPPORT"
fi
if test "$_build_joystick" = yes ; then
DEFINES="$DEFINES -DJOYSTICK_SUPPORT"
fi
if test "$_build_cheats" = yes ; then
DEFINES="$DEFINES -DCHEATCODE_SUPPORT"
MODULES="$MODULES $CHEAT"
INCLUDES="$INCLUDES -I$CHEAT"
fi
if test "$_build_atarivox" = yes ; then
DEFINES="$DEFINES -DATARIVOX_SUPPORT"
MODULES="$MODULES $ATARIVOX"
INCLUDES="$INCLUDES -I$ATARIVOX"
fi
if test "$_build_scalers" = yes ; then
DEFINES="$DEFINES -DSCALER_SUPPORT"
MODULES="$MODULES $SCALER"
INCLUDES="$INCLUDES -I$SCALER"
fi
if test "$_build_profile" = no ; then
_build_profile=
fi
echo "Creating config.mak"
cat > config.mak << EOF
# -------- Generated by configure -----------
CXX := $CXX
CXXFLAGS := $CXXFLAGS
LD := $LD
LIBS += $LIBS
RANLIB := $_ranlib
INSTALL := $_install
AR := $_ar
MKDIR := $_mkdir
ECHO := $_echo
CAT := $_cat
RM := $_rm
RM_REC := $_rm_rec
ZIP := $_zip
CP := $_cp
WIN32PATH=$_win32path
MODULES += $MODULES
MODULE_DIRS += $MODULE_DIRS
EXEEXT := $EXEEXT
NASM := $NASM
NASMFLAGS := $NASMFLAGS
PREFIX := $_prefix
BINDIR := $_bindir
DOCDIR := $_docdir
DATADIR := $_datadir
PROFILE := $_build_profile
$_make_def_HAVE_GCC3
$_make_def_HAVE_NASM
INCLUDES += $INCLUDES
OBJS += $OBJS
DEFINES += $DEFINES
LDFLAGS += $LDFLAGS
EOF
if test $_host_os = "psp" ; then
cat >> config.mak << EOF
PSP-STRIP := $PSP_STRIP
PSP-FIX := $PSP_FIX
PACK-PBP := $PACK_PBP
MKSFO := $MKSFO
PSP-MOUNTPOINT := $PSP_MOUNTPOINT
EOF
fi
if test $_host_os = "gp2x" ; then
cat >> config.mak << EOF
GP2X-STRIP := $GP2X_STRIP
EOF
fi
# This should be taken care of elsewhere, but I'm not sure where
rm -f stella-conf*