2005-06-28 18:56:49 +00:00
|
|
|
#!/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
|
2005-06-28 23:18:16 +00:00
|
|
|
_opengl=auto
|
2005-06-28 18:56:49 +00:00
|
|
|
_zlib=auto
|
|
|
|
|
|
|
|
# default option behaviour yes/no
|
|
|
|
_build_gl=yes
|
|
|
|
_build_sound=yes
|
|
|
|
_build_developer=yes
|
|
|
|
_build_snapshot=yes
|
|
|
|
_build_joystick=yes
|
2005-11-11 21:44:19 +00:00
|
|
|
_build_cheats=yes
|
2005-07-18 16:10:52 +00:00
|
|
|
_build_static=no
|
2006-02-01 13:53:25 +00:00
|
|
|
_build_profile=no
|
2006-08-11 12:50:22 +00:00
|
|
|
_build_atarivox=no
|
2006-11-03 16:50:19 +00:00
|
|
|
_build_scalers=no
|
2005-06-28 18:56:49 +00:00
|
|
|
|
|
|
|
# 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
|
2005-06-28 23:18:16 +00:00
|
|
|
_win32path=""
|
2005-06-28 18:56:49 +00:00
|
|
|
_sdlconfig=sdl-config
|
|
|
|
_sdlpath="$PATH"
|
2005-06-28 23:18:16 +00:00
|
|
|
_nasmpath="$PATH"
|
|
|
|
NASMFLAGS=""
|
|
|
|
NASM=""
|
2005-06-28 18:56:49 +00:00
|
|
|
_prefix=/usr/local
|
|
|
|
_have_x86=""
|
2005-10-29 18:11:29 +00:00
|
|
|
X_LIBS="/usr/X11R6/lib"
|
2005-06-28 18:56:49 +00:00
|
|
|
|
|
|
|
_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
|
2005-06-28 23:18:16 +00:00
|
|
|
TMPC=${TMPO}.cxx
|
2005-06-28 18:56:49 +00:00
|
|
|
TMPLOG=${_srcdir}/config.log
|
|
|
|
|
|
|
|
# For cross compiling
|
|
|
|
_host=""
|
|
|
|
_host_cpu=""
|
|
|
|
_host_vendor=""
|
|
|
|
_host_os=""
|
|
|
|
|
|
|
|
cc_check() {
|
|
|
|
echo >> "$TMPLOG"
|
|
|
|
cat "$TMPC" >> "$TMPLOG"
|
|
|
|
echo >> "$TMPLOG"
|
2005-11-19 22:31:51 +00:00
|
|
|
echo "$CXX $TMPC -o $TMPO$EXEEXT $@" >> "$TMPLOG"
|
2005-06-28 18:56:49 +00:00
|
|
|
rm -f "$TMPO$EXEEXT"
|
2005-11-19 22:31:51 +00:00
|
|
|
( $CXX "$TMPC" -o "$TMPO$EXEEXT" "$@" ) >> "$TMPLOG" 2>&1
|
2005-06-28 18:56:49 +00:00
|
|
|
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
|
2005-11-19 22:31:51 +00:00
|
|
|
eval "$1 -o tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp 2> /dev/null" && rm -f tmp_cxx_compiler$EXEEXT tmp_cxx_compiler.cpp
|
2005-06-28 18:56:49 +00:00
|
|
|
else
|
2005-11-19 22:31:51 +00:00
|
|
|
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
|
2005-06-28 18:56:49 +00:00
|
|
|
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=
|
|
|
|
|
2005-11-19 22:31:51 +00:00
|
|
|
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="$SEPARATOR"
|
2005-08-25 15:19:17 +00:00
|
|
|
done=0
|
2005-06-28 18:56:49 +00:00
|
|
|
for path_dir in $_sdlpath; do
|
2005-11-19 22:31:51 +00:00
|
|
|
#reset separator to parse sdlconfigs
|
|
|
|
IFS=":"
|
2005-06-28 18:56:49 +00:00
|
|
|
for sdlconfig in $sdlconfigs; do
|
|
|
|
if test -x "$path_dir/$sdlconfig" ; then
|
|
|
|
_sdlconfig="$path_dir/$sdlconfig"
|
2005-08-25 15:19:17 +00:00
|
|
|
done=1
|
2005-06-28 18:56:49 +00:00
|
|
|
break
|
|
|
|
fi
|
|
|
|
done
|
2005-08-25 15:19:17 +00:00
|
|
|
if test $done -eq 1 ; then
|
|
|
|
echo $_sdlconfig
|
|
|
|
break
|
|
|
|
fi
|
2005-06-28 18:56:49 +00:00
|
|
|
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 "$@"
|
|
|
|
}
|
|
|
|
|
2005-06-28 23:18:16 +00:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
}
|
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
#
|
|
|
|
# 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:
|
2005-10-03 00:53:20 +00:00
|
|
|
--prefix=DIR use this prefix for installing stella [/usr/local]
|
2005-09-30 22:12:18 +00:00
|
|
|
--bindir=DIR directory to install the stella binary [PREFIX/bin]
|
2005-10-03 00:53:20 +00:00
|
|
|
--docdir=DIR directory to install documentation [PREFIX/share/doc/stella]
|
|
|
|
--datadir=DIR directory to install icons/data files [PREFIX/share]
|
2005-06-28 18:56:49 +00:00
|
|
|
|
|
|
|
Optional Features:
|
2005-10-24 18:18:30 +00:00
|
|
|
--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
|
2005-11-11 21:44:19 +00:00
|
|
|
--enable-cheats enable/disable cheatcode support [enabled]
|
|
|
|
--disable-cheats
|
2006-11-03 16:50:19 +00:00
|
|
|
--enable-atarivox enable/disable AtariVox support [disabled]
|
2006-06-11 21:49:10 +00:00
|
|
|
--disable-atarivox
|
2006-11-03 16:50:19 +00:00
|
|
|
--enable-scalers enable/disable video scalers support [disabled]
|
|
|
|
--disable-scalers
|
2005-10-24 18:18:30 +00:00
|
|
|
--enable-shared build shared binary [enabled]
|
|
|
|
--enable-static build static binary (if possible) [disabled]
|
|
|
|
--disable-static
|
2006-02-01 13:53:25 +00:00
|
|
|
--enable-profile build binary with profiling info [disabled]
|
|
|
|
--disable-profile
|
2005-06-28 18:56:49 +00:00
|
|
|
|
2005-06-28 23:18:16 +00:00
|
|
|
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)
|
|
|
|
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
--with-nasm-prefix=DIR Prefix where nasm executable is installed (optional)
|
|
|
|
--disable-nasm disable assembly language optimizations [autodetect]
|
2005-06-28 23:18:16 +00:00
|
|
|
|
2005-10-29 18:11:29 +00:00
|
|
|
--x-libraries Path to X11 libraries [${X_LIBS}]
|
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
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
|
2005-10-24 18:18:30 +00:00
|
|
|
--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 ;;
|
2005-11-11 21:44:19 +00:00
|
|
|
--enable-cheats) _build_cheats=yes ;;
|
|
|
|
--disable-cheats) _build_cheats=no ;;
|
2006-06-11 21:49:10 +00:00
|
|
|
--enable-atarivox) _build_atarivox=yes ;;
|
|
|
|
--disable-atarivox) _build_atarivox=no ;;
|
2006-11-03 16:50:19 +00:00
|
|
|
--enable-scalers) _build_scalers=yes ;;
|
|
|
|
--disable-scalers) _build_scalers=no ;;
|
2005-10-24 18:18:30 +00:00
|
|
|
--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 ;;
|
2006-02-01 13:53:25 +00:00
|
|
|
--enable-profile) _build_profile=yes ;;
|
|
|
|
--disable-profile) _build_profile=no ;;
|
2005-06-28 23:18:16 +00:00
|
|
|
--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"
|
|
|
|
;;
|
2005-10-29 18:11:29 +00:00
|
|
|
--x-libraries=*)
|
|
|
|
arg=`echo $ac_option | cut -d '=' -f 2`
|
|
|
|
X_LIBS="$arg"
|
|
|
|
;;
|
2005-06-28 23:18:16 +00:00
|
|
|
--host=*)
|
|
|
|
_host=`echo $ac_option | cut -d '=' -f 2`
|
|
|
|
;;
|
2005-06-28 18:56:49 +00:00
|
|
|
--prefix=*)
|
|
|
|
_prefix=`echo $ac_option | cut -d '=' -f 2`
|
|
|
|
;;
|
|
|
|
--bindir=*)
|
|
|
|
_bindir=`echo $ac_option | cut -d '=' -f 2`
|
|
|
|
;;
|
2005-09-30 22:12:18 +00:00
|
|
|
--docdir=*)
|
|
|
|
_docdir=`echo $ac_option | cut -d '=' -f 2`
|
2005-06-28 18:56:49 +00:00
|
|
|
;;
|
2005-10-03 00:53:20 +00:00
|
|
|
--datadir=*)
|
|
|
|
_datadir=`echo $ac_option | cut -d '=' -f 2`
|
|
|
|
;;
|
2005-07-05 19:29:57 +00:00
|
|
|
*)
|
2005-07-06 15:09:16 +00:00
|
|
|
echo "warning: unrecognised option: $ac_option"
|
2005-07-05 19:29:57 +00:00
|
|
|
;;
|
2005-06-28 18:56:49 +00:00
|
|
|
esac;
|
|
|
|
done;
|
|
|
|
|
|
|
|
CXXFLAGS="$CXXFLAGS $DEBFLAGS"
|
|
|
|
|
|
|
|
case $_host in
|
2005-06-28 23:18:16 +00:00
|
|
|
linupy)
|
|
|
|
_host_os=linux
|
|
|
|
_host_cpu=arm
|
|
|
|
;;
|
|
|
|
arm-riscos-aof)
|
|
|
|
_host_os=riscos
|
|
|
|
_host_cpu=arm
|
|
|
|
;;
|
|
|
|
ppc-amigaos)
|
|
|
|
_host_os=amigaos
|
|
|
|
_host_cpu=ppc
|
|
|
|
;;
|
2005-08-25 15:19:17 +00:00
|
|
|
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
|
|
|
|
;;
|
2006-01-08 02:28:04 +00:00
|
|
|
gp2x)
|
|
|
|
_host_os=gp2x
|
|
|
|
_host_cpu=arm
|
|
|
|
;;
|
2005-06-28 18:56:49 +00:00
|
|
|
*)
|
|
|
|
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
|
2005-11-19 22:31:51 +00:00
|
|
|
mingw* | cygwin* |os2-emx*)
|
2005-06-28 18:56:49 +00:00
|
|
|
EXEEXT=".exe"
|
|
|
|
;;
|
|
|
|
arm-riscos-aof)
|
|
|
|
EXEEXT=",ff8"
|
|
|
|
;;
|
2005-08-25 15:19:17 +00:00
|
|
|
psp)
|
|
|
|
EXEEXT=".elf"
|
|
|
|
;;
|
2006-01-08 02:28:04 +00:00
|
|
|
gp2x)
|
2006-02-15 03:12:12 +00:00
|
|
|
EXEEXT=""
|
2006-01-08 02:28:04 +00:00
|
|
|
;;
|
2005-06-28 18:56:49 +00:00
|
|
|
*)
|
|
|
|
EXEEXT=""
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
2005-11-19 22:31:51 +00:00
|
|
|
#
|
|
|
|
# Determine separator used for $PATH
|
|
|
|
#
|
|
|
|
case $_host_os in
|
|
|
|
os2-emx* )
|
|
|
|
SEPARATOR=";"
|
|
|
|
;;
|
|
|
|
* )
|
|
|
|
SEPARATOR=":"
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
#
|
|
|
|
# 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=
|
2005-08-25 15:19:17 +00:00
|
|
|
if [ "$_host" = "psp" ] ; then
|
|
|
|
compilers="$CXX psp-g++ psp-c++"
|
|
|
|
CXX="psp-c++"
|
|
|
|
fi
|
2006-01-08 02:28:04 +00:00
|
|
|
if [ "$_host" = "gp2x" ] ; then
|
|
|
|
compilers="$CXX arm-linux-g++ arm-linux-c++"
|
|
|
|
CXX="arm-linux-c++"
|
|
|
|
fi
|
2005-08-25 15:19:17 +00:00
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
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"
|
|
|
|
|
2005-08-25 15:19:17 +00:00
|
|
|
cxx_name=`( $cc -v ) 2>&1 | tail -n 1 | cut -d ' ' -f 1`
|
2005-06-28 18:56:49 +00:00
|
|
|
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
|
2005-06-28 23:18:16 +00:00
|
|
|
CXXFLAGS="$CXXFLAGS"
|
2005-06-28 18:56:49 +00:00
|
|
|
_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
|
2005-06-28 23:18:16 +00:00
|
|
|
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"
|
|
|
|
;;
|
2005-08-25 15:19:17 +00:00
|
|
|
psp)
|
|
|
|
;;
|
2006-01-08 02:28:04 +00:00
|
|
|
gp2x)
|
2006-09-18 00:08:40 +00:00
|
|
|
echo "Cross-compiling to $_host, forcing static build, and disabling OpenGL."
|
2006-01-08 02:28:04 +00:00
|
|
|
_build_static=yes
|
|
|
|
_build_gl=no
|
|
|
|
;;
|
2005-06-28 18:56:49 +00:00
|
|
|
*)
|
|
|
|
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
|
|
|
|
;;
|
2005-06-28 23:18:16 +00:00
|
|
|
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
|
|
|
|
;;
|
2005-06-28 18:56:49 +00:00
|
|
|
mingw*)
|
|
|
|
DEFINES="$DEFINES -DWIN32"
|
|
|
|
_host_os=win32
|
|
|
|
;;
|
2005-06-28 23:18:16 +00:00
|
|
|
cygwin*)
|
|
|
|
DEFINES="$DEFINES -mno-cygwin -DWIN32"
|
|
|
|
LIBS="$LIBS -mno-cygwin -lmingw32 -lwinmm"
|
|
|
|
_host_os=win32
|
|
|
|
;;
|
2005-11-19 22:31:51 +00:00
|
|
|
os2*)
|
|
|
|
DEFINES="$DEFINES -DUNIX -DOS2"
|
2006-11-09 07:58:39 +00:00
|
|
|
LIBS="$LIBS -lz"
|
2005-11-19 22:31:51 +00:00
|
|
|
_host_os=unix
|
|
|
|
;;
|
2005-06-28 18:56:49 +00:00
|
|
|
# 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
|
|
|
|
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
#
|
|
|
|
# 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"
|
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
#
|
|
|
|
# Check for ZLib
|
|
|
|
#
|
|
|
|
echocheck "zlib"
|
|
|
|
if test "$_zlib" = auto ; then
|
|
|
|
_zlib=no
|
|
|
|
cat > $TMPC << EOF
|
|
|
|
#include <string.h>
|
|
|
|
#include <zlib.h>
|
2005-06-28 23:18:16 +00:00
|
|
|
int main(void) { return strcmp(ZLIB_VERSION, zlibVersion()); }
|
2005-06-28 18:56:49 +00:00
|
|
|
EOF
|
2005-06-28 23:18:16 +00:00
|
|
|
cc_check $LDFLAGS $CXXFLAGS $ZLIB_CFLAGS $ZLIB_LIBS -lz && _zlib=yes
|
2005-06-28 18:56:49 +00:00
|
|
|
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>
|
2006-01-14 23:50:43 +00:00
|
|
|
#include <GL/glu.h>
|
2005-06-28 18:56:49 +00:00
|
|
|
int main(void) { return 0; }
|
|
|
|
EOF
|
|
|
|
cc_check $LDFLAGS $CXXFLAGS && _opengl=yes
|
|
|
|
fi
|
|
|
|
echo "$_opengl"
|
|
|
|
|
2005-06-28 23:18:16 +00:00
|
|
|
#
|
|
|
|
# Check for nasm
|
|
|
|
#
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
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
|
2005-06-28 23:18:16 +00:00
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
#
|
|
|
|
# figure out installation directories
|
|
|
|
#
|
|
|
|
test -z "$_bindir" && _bindir="$_prefix/bin"
|
2005-09-30 22:12:18 +00:00
|
|
|
test -z "$_docdir" && _docdir="$_prefix/share/doc/stella"
|
2005-10-03 00:53:20 +00:00
|
|
|
test -z "$_datadir" && _datadir="$_prefix/share"
|
2005-06-28 18:56:49 +00:00
|
|
|
|
|
|
|
echo
|
|
|
|
echo_n "Summary:"
|
|
|
|
echo
|
|
|
|
|
|
|
|
if test "$_build_gl" = "yes" ; then
|
|
|
|
if test "$_opengl" = "yes" ; then
|
|
|
|
echo_n " OpenGL rendering enabled"
|
|
|
|
echo
|
|
|
|
else
|
2006-01-14 21:36:29 +00:00
|
|
|
echo_n " OpenGL rendering disabled (missing OpenGL headers)"
|
2005-06-28 18:56:49 +00:00
|
|
|
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
|
2006-11-09 03:06:42 +00:00
|
|
|
echo_n " Snapshot support enabled"
|
|
|
|
echo
|
2005-06-28 18:56:49 +00:00
|
|
|
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
|
|
|
|
|
2005-11-11 21:44:19 +00:00
|
|
|
if test "$_build_cheats" = yes ; then
|
|
|
|
echo_n " Cheatcode support enabled"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
echo_n " Cheatcode support disabled"
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
|
2006-06-11 21:49:10 +00:00
|
|
|
if test "$_build_atarivox" = yes ; then
|
|
|
|
echo_n " AtariVox support enabled"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
echo_n " AtariVox support disabled"
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
|
2006-11-03 16:50:19 +00:00
|
|
|
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
|
|
|
|
|
2005-07-18 16:10:52 +00:00
|
|
|
if test "$_build_static" = yes ; then
|
|
|
|
echo_n " Static binary enabled"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
echo_n " Static binary disabled"
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
|
2006-02-01 13:53:25 +00:00
|
|
|
if test "$_build_profile" = yes ; then
|
|
|
|
echo_n " Profiling enabled"
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
echo_n " Profiling disabled"
|
|
|
|
echo
|
|
|
|
fi
|
|
|
|
|
2005-06-28 23:18:16 +00:00
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
#
|
|
|
|
# Now, add the appropriate defines/libraries/headers
|
|
|
|
#
|
|
|
|
echo
|
|
|
|
find_sdlconfig
|
|
|
|
|
|
|
|
SRC="src"
|
|
|
|
CORE="$SRC/emucore"
|
|
|
|
COMMON="$SRC/common"
|
|
|
|
GUI="$SRC/gui"
|
|
|
|
DBG="$SRC/debugger"
|
2005-08-30 17:51:26 +00:00
|
|
|
DBGGUI="$SRC/debugger/gui"
|
2005-07-01 04:22:37 +00:00
|
|
|
YACC="$SRC/yacc"
|
2005-11-11 21:44:19 +00:00
|
|
|
CHEAT="$SRC/cheat"
|
2006-06-11 21:49:10 +00:00
|
|
|
ATARIVOX="$SRC/emucore/rsynth"
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
SCALER="$SRC/common/scaler"
|
2005-06-28 18:56:49 +00:00
|
|
|
|
|
|
|
INCLUDES="-I$CORE -I$CORE/m6502/src -I$CORE/m6502/src/bspf/src -I$COMMON -I$GUI"
|
|
|
|
|
2005-06-28 23:18:16 +00:00
|
|
|
INCLUDES="$INCLUDES `$_sdlconfig --cflags`"
|
2005-07-18 16:10:52 +00:00
|
|
|
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"
|
2005-08-25 15:19:17 +00:00
|
|
|
LD=$CXX
|
2005-06-28 18:56:49 +00:00
|
|
|
case $_host_os in
|
2005-07-03 14:18:54 +00:00
|
|
|
unix)
|
2005-06-28 18:56:49 +00:00
|
|
|
DEFINES="$DEFINES -DBSPF_UNIX -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
|
|
|
|
MODULES="$MODULES $SRC/unix"
|
|
|
|
INCLUDES="$INCLUDES -I$SRC/unix"
|
|
|
|
;;
|
2005-07-03 14:18:54 +00:00
|
|
|
win32)
|
2005-06-28 18:56:49 +00:00
|
|
|
DEFINES="$DEFINES -DBSPF_WIN32 -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
|
|
|
|
MODULES="$MODULES $SRC/win32"
|
|
|
|
INCLUDES="$INCLUDES -I$SRC/win32"
|
2005-10-22 20:33:57 +00:00
|
|
|
LIBS="$LIBS -lmingw32 -lwinmm"
|
2005-06-28 18:56:49 +00:00
|
|
|
;;
|
2005-08-25 15:19:17 +00:00
|
|
|
psp)
|
|
|
|
# -O3 is need for speed
|
|
|
|
# -G0 to avoid c++ link problems
|
2005-09-18 14:28:17 +00:00
|
|
|
CXXFLAGS="-G0 -O2 -fno-rtti"
|
2005-08-25 15:19:17 +00:00
|
|
|
# 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 "
|
2006-11-09 03:06:42 +00:00
|
|
|
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"
|
2005-08-25 15:19:17 +00:00
|
|
|
# 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"
|
2005-09-18 14:28:17 +00:00
|
|
|
PSP_FIX=`psp-config --pspdev-path`"/bin/psp-fixup-imports"
|
2005-08-25 15:19:17 +00:00
|
|
|
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"
|
|
|
|
;;
|
2006-01-08 02:28:04 +00:00
|
|
|
gp2x)
|
2006-09-18 00:08:40 +00:00
|
|
|
# -O3 hangs the GP2X, do not use.
|
|
|
|
CXXFLAGS="-O2 -finline-functions -mtune=arm940t"
|
2006-01-08 02:28:04 +00:00
|
|
|
DEFINES="$DEFINES -DBSPF_GP2X -DGP2X -DHAVE_GETTIMEOFDAY -DHAVE_INTTYPES"
|
|
|
|
MODULES="$MODULES $SRC/gp2x"
|
2006-11-09 07:58:39 +00:00
|
|
|
INCLUDES="$INCLUDES -I$SRC/gp2x"
|
|
|
|
|
2006-01-08 02:28:04 +00:00
|
|
|
_ranlib="arm-linux-ranlib"
|
|
|
|
_ar="arm-linux-ar cru"
|
2006-02-15 03:12:12 +00:00
|
|
|
|
2006-01-08 02:28:04 +00:00
|
|
|
# GP2X ARM Linux Specific strip
|
|
|
|
GP2X_STRIP="arm-linux-strip"
|
|
|
|
;;
|
2005-06-28 18:56:49 +00:00
|
|
|
*)
|
|
|
|
echo "WARNING: host system not currenty supported"
|
2005-07-03 14:18:54 +00:00
|
|
|
exit
|
2005-06-28 18:56:49 +00:00
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
if test "$_build_gl" = yes ; then
|
|
|
|
DEFINES="$DEFINES -DDISPLAY_OPENGL"
|
|
|
|
fi
|
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
if test "$_build_sound" = yes ; then
|
|
|
|
DEFINES="$DEFINES -DSOUND_SUPPORT"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$_build_developer" = yes ; then
|
|
|
|
DEFINES="$DEFINES -DDEVELOPER_SUPPORT"
|
2005-08-30 17:51:26 +00:00
|
|
|
MODULES="$MODULES $DBG $DBGGUI $YACC"
|
|
|
|
INCLUDES="$INCLUDES -I$DBG -I$DBGGUI -I$YACC"
|
2005-06-28 18:56:49 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$_build_snapshot" = yes ; then
|
|
|
|
DEFINES="$DEFINES -DSNAPSHOT_SUPPORT"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "$_build_joystick" = yes ; then
|
|
|
|
DEFINES="$DEFINES -DJOYSTICK_SUPPORT"
|
|
|
|
fi
|
|
|
|
|
2005-11-11 21:44:19 +00:00
|
|
|
if test "$_build_cheats" = yes ; then
|
|
|
|
DEFINES="$DEFINES -DCHEATCODE_SUPPORT"
|
|
|
|
MODULES="$MODULES $CHEAT"
|
|
|
|
INCLUDES="$INCLUDES -I$CHEAT"
|
|
|
|
fi
|
|
|
|
|
2006-06-11 21:49:10 +00:00
|
|
|
if test "$_build_atarivox" = yes ; then
|
|
|
|
DEFINES="$DEFINES -DATARIVOX_SUPPORT"
|
|
|
|
MODULES="$MODULES $ATARIVOX"
|
|
|
|
INCLUDES="$INCLUDES -I$ATARIVOX"
|
|
|
|
fi
|
|
|
|
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
if test "$_build_scalers" = yes ; then
|
2006-11-03 16:50:19 +00:00
|
|
|
DEFINES="$DEFINES -DSCALER_SUPPORT"
|
|
|
|
MODULES="$MODULES $SCALER"
|
|
|
|
INCLUDES="$INCLUDES -I$SCALER"
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
fi
|
|
|
|
|
2006-02-01 13:53:25 +00:00
|
|
|
if test "$_build_profile" = no ; then
|
|
|
|
_build_profile=
|
|
|
|
fi
|
2005-11-11 21:44:19 +00:00
|
|
|
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
echo "Creating config.mak"
|
|
|
|
cat > config.mak << EOF
|
|
|
|
# -------- Generated by configure -----------
|
|
|
|
|
|
|
|
CXX := $CXX
|
|
|
|
CXXFLAGS := $CXXFLAGS
|
2005-08-25 15:19:17 +00:00
|
|
|
LD := $LD
|
2005-06-28 18:56:49 +00:00
|
|
|
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
|
2005-06-28 23:18:16 +00:00
|
|
|
NASM := $NASM
|
|
|
|
NASMFLAGS := $NASMFLAGS
|
2005-06-28 18:56:49 +00:00
|
|
|
|
|
|
|
PREFIX := $_prefix
|
|
|
|
BINDIR := $_bindir
|
2005-09-30 22:12:18 +00:00
|
|
|
DOCDIR := $_docdir
|
2005-10-03 00:53:20 +00:00
|
|
|
DATADIR := $_datadir
|
2006-02-01 13:53:25 +00:00
|
|
|
PROFILE := $_build_profile
|
2005-06-28 18:56:49 +00:00
|
|
|
|
2005-06-28 23:18:16 +00:00
|
|
|
$_make_def_HAVE_GCC3
|
Some configure work:
- removed TEXTURES_ARE_DIRTY logic, and just recreate the GL textures
when a screenmode changes
- enable checking for machine type and if nasm is available
- logic to enable scaler mode only when in OpenGL mode (still not complete
and defaults to off)
First pass at adding scaler code to OpenGL. Still much work TODO,
but the C version is working correctly (asm is causing crashes,
haven't figured out why). GL quad coordinates aren't properly
set yet, so the image always appears in the upper left corner, and
is not scaled to the window size. CPU usage is also quite high,
but I'm on a 1GHz laptop with i950 GL, so that may explain it.
Fixed long-standing bug in software rendering, where switching to a
lower-res screen while a message is being displayed would cause a
segfault.
Large refactoring of mainSDL. Specifically, OSystem now owns all
the subsystems except for Settings, taking responsibility for creating
and destroying them.
Properties fixes for 'Tomarc the Barbarian' and 'Gyruss'.
git-svn-id: svn://svn.code.sf.net/p/stella/code/trunk@1136 8b62c5a3-ac7e-4cc8-8f21-d9a121418aba
2006-10-22 18:58:46 +00:00
|
|
|
$_make_def_HAVE_NASM
|
2005-06-28 23:18:16 +00:00
|
|
|
|
2005-06-28 18:56:49 +00:00
|
|
|
INCLUDES += $INCLUDES
|
2005-06-28 23:18:16 +00:00
|
|
|
OBJS += $OBJS
|
2005-06-28 18:56:49 +00:00
|
|
|
DEFINES += $DEFINES
|
|
|
|
LDFLAGS += $LDFLAGS
|
|
|
|
EOF
|
2005-06-28 23:18:16 +00:00
|
|
|
|
2005-08-25 15:19:17 +00:00
|
|
|
if test $_host_os = "psp" ; then
|
|
|
|
cat >> config.mak << EOF
|
|
|
|
|
|
|
|
PSP-STRIP := $PSP_STRIP
|
2005-11-11 21:44:19 +00:00
|
|
|
PSP-FIX := $PSP_FIX
|
2005-08-25 15:19:17 +00:00
|
|
|
PACK-PBP := $PACK_PBP
|
|
|
|
MKSFO := $MKSFO
|
|
|
|
PSP-MOUNTPOINT := $PSP_MOUNTPOINT
|
|
|
|
EOF
|
|
|
|
fi
|
|
|
|
|
2006-01-08 02:28:04 +00:00
|
|
|
if test $_host_os = "gp2x" ; then
|
|
|
|
cat >> config.mak << EOF
|
|
|
|
|
|
|
|
GP2X-STRIP := $GP2X_STRIP
|
|
|
|
EOF
|
|
|
|
fi
|
2005-08-25 15:19:17 +00:00
|
|
|
|
2005-06-28 23:18:16 +00:00
|
|
|
# This should be taken care of elsewhere, but I'm not sure where
|
|
|
|
rm -f stella-conf*
|