Added support for Symbian GCCE compiler

git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3067 8092fc87-c524-0410-9efc-e669fe64eaf9
This commit is contained in:
gewlitys
2008-08-31 21:27:02 +00:00
parent 4790be9ae4
commit 934b3ad08c
11 changed files with 142 additions and 42 deletions
+39 -15
View File
@@ -72,7 +72,7 @@ uqm_prepare_config()
MENU_main_ITEMS="debug graphics sound mikmod ovcodec netplay joystick \
ioformat accel threadlib"
case "$HOST_SYSTEM" in
Darwin|WINSCW|ARMV5)
Darwin|WINSCW|ARMV5|GCCE)
# Installation directory not modifiable
;;
MINGW32*|cegcc)
@@ -106,6 +106,9 @@ uqm_prepare_config()
;;
ARMV5)
CFLAGS="$CFLAGS -O3 -Otime -DNDEBUG"
;;
GCCE)
CFLAGS="$CFLAGS -O3 -DNDEBUG"
;;
*)
CFLAGS="$CFLAGS -O3"
@@ -120,9 +123,9 @@ uqm_prepare_config()
WINSCW)
CFLAGS="$CFLAGS -g -O0 -W all -d DEBUG -d _DEBUG"
;;
ARMV5)
ARMV5|GCCE)
CFLAGS="$CFLAGS -g -O0 -DDEBUG -D_DEBUG"
;;
;;
*)
CFLAGS="$CFLAGS -g -O0 -W -Wall -DDEBUG"
LDFLAGS="$LDFLAGS -O0"
@@ -137,9 +140,9 @@ uqm_prepare_config()
WINSCW)
CFLAGS="$CFLAGS -g -O0 -W all -d DEBUG -d _DEBUG"
;;
ARMV5)
ARMV5|GCCE)
CFLAGS="$CFLAGS -g -O0 -DDEBUG -D_DEBUG"
;;
;;
*)
CFLAGS="$CFLAGS -O1" # This is needed for -Wunitialized
CFLAGS="$CFLAGS -W -Wall \
@@ -172,7 +175,7 @@ uqm_prepare_config()
DEBUG=1
}
case "$HOST_SYSTEM" in
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
CHOICE_debug_DEFAULT=nodebug
;;
*)
@@ -272,7 +275,7 @@ uqm_prepare_config()
}
CHOICE_joystick_OPTION_disabled_TITLE="disabled"
case "$HOST_SYSTEM" in
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
CHOICE_joystick_DEFAULT=disabled
;;
*)
@@ -354,7 +357,7 @@ uqm_prepare_config()
use_library pthread
}
case "$HOST_SYSTEM" in
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
CHOICE_threadlib_DEFAULT=pthread
;;
*)
@@ -478,17 +481,24 @@ uqm_post_build() {
ARMV5)
cp "$TARGET_FILE" "$BUILD_EPOCROOT/epoc32/release/armv5/urel/"
cd src/symbian
cmd \\/C bldmake bldfiles armv5
cmd \\/C bldmake bldfiles
cmd \\/C abld build armv5 urel
cd ../..
;;
WINSCW)
cp "$TARGET_FILE" "$BUILD_EPOCROOT/epoc32/release/winscw/udeb/"
cd src/symbian
cmd \\/C bldmake bldfiles winscw
cmd \\/C bldmake bldfiles
cmd \\/C abld build winscw udeb
cd ../..
;;
;;
GCCE)
cp "$TARGET_FILE" "$BUILD_EPOCROOT/epoc32/release/armv5/urel/"
cd src/symbian
cmd \\/C bldmake bldfiles
cmd \\/C abld build gcce urel
cd ../..
;;
esac
}
@@ -515,6 +525,9 @@ uqm_install() {
ARMV5)
uqm_install_armv5
;;
GCCE)
uqm_install_gcce
;;
*)
generic_install
;;
@@ -613,7 +626,18 @@ uqm_install_armv5() {
cd src/symbian
cmd \\/C makekeys -cert -password asdfgh -len 2048 -dname "CN=UQM OR=Ur-Quan Masters CO=FI" uqm.key uqm.cer
cmd \\/C makesis uqm.pkg
cmd \\/C makesis uqm-armv5.pkg uqm.sis
cmd \\/C signsis -v uqm.sis uqm.sisx uqm.cer uqm.key asdfgh
mv uqm.sisx ../..
cd ../..
}
uqm_install_gcce() {
uqm_create_symbian_content_package
cd src/symbian
cmd \\/C makekeys -cert -password asdfgh -len 2048 -dname "CN=UQM OR=Ur-Quan Masters CO=FI" uqm.key uqm.cer
cmd \\/C makesis uqm-gcce.pkg uqm.sis
cmd \\/C signsis -v uqm.sis uqm.sisx uqm.cer uqm.key asdfgh
mv uqm.sisx ../..
cd ../..
@@ -640,7 +664,7 @@ uqm_clean() {
MINGW32*|CYGWIN*)
rm -f "$BUILD_WORK/config_win.h"
;;
ARMV5)
ARMV5|GCCE)
local TARGET_FILE
eval TARGET_FILE="\$BUILD_WORK/\${${BUILD_PROJECT}_NAME}"
@@ -649,7 +673,7 @@ uqm_clean() {
rm -f $TARGET_FILE uqm.sisx content.uqm
cd src/symbian
cmd \\/C abld reallyclean armv5
cmd \\/C abld reallyclean
cmd \\/C bldmake clean
rm -f uqm.sis uqm.key uqm.cer
cd ../..
@@ -663,7 +687,7 @@ uqm_clean() {
rm -f $TARGET_FILE content.uqm
cd src/symbian
cmd \\/C abld reallyclean winscw
cmd \\/C abld reallyclean
cmd \\/C bldmake clean
cd ../..
;;
+2
View File
@@ -1019,6 +1019,8 @@ set_host_system() {
HOST_SYSTEM="WINSCW" ;;
[Aa][Rr][Mm][Vv]5)
HOST_SYSTEM="ARMV5" ;;
[Gg][Cc][Cc][Ee])
HOST_SYSTEM="GCCE" ;;
*)
build_message "Warning: host type '$BUILD_HOST' unknown. Using defaults."
;;
+33
View File
@@ -117,6 +117,31 @@ case "$HOST_SYSTEM" in
BUILDTOOL_LINK_COMMAND="\$PROG_armar_FILE $EXTRA_ARMV5_FLAGS_LINK"
BUILDTOOL_LINK_DEPEND='armar'
;;
GCCE)
EXTRA_GCCE_FLAGS_COMPILE='-Wno-unknown-pragmas -march=armv5t -mapcs -pipe -nostdinc -msoft-float -D_UNICODE -D__GCCE__ -D__SYMBIAN32__ -D__SERIES60_30__ -D__SERIES60_3X__ -D__GCCE__ -D__EPOC32__ -D__MARM__ -D__EABI__ -D__MARM_ARMV5__ -D __REMOVE_PLATSEC_DIAGNOSTIC_STRINGS__ -D__PRODUCT_INCLUDE__=\"/epoc32/include/variant/Symbian_OS_v9.1.hrh\" -x c -include $BUILD_EPOCROOT/EPOC32/INCLUDE/GCCE/GCCE.h -I$BUILD_EPOCROOT/epoc32/include -I$BUILD_EPOCROOT/epoc32/include/stdapis -I$BUILD_EPOCROOT/epoc32/include/variant'
EXTRA_GCCE_FLAGS_LINK=''
BUILDTOOL_PREPROC_C_COMMAND="\$PROG_gcce_FILE -E $EXTRA_GCCE_FLAGS_COMPILE"
BUILDTOOL_PREPROC_C_DEPEND='gcce'
BUILDTOOL_MKDEP_C_COMMAND="\$PROG_gcce_FILE -MM $EXTRA_GCCE_FLAGS_COMPILE"
BUILDTOOL_MKDEP_C_DEPEND='gcce'
BUILDTOOL_COMPILE_C_COMMAND="\$PROG_gcce_FILE -c $EXTRA_GCCE_FLAGS_COMPILE"
BUILDTOOL_COMPILE_C_DEPEND='gcce'
BUILDTOOL_PREPROC_OBJC_COMMAND="\$PROG_gcce_FILE -E"
BUILDTOOL_PREPROC_OBJC_DEPEND='gcce'
BUILDTOOL_MKDEP_OBJC_COMMAND="\$PROG_gcce_FILE -MM"
BUILDTOOL_MKDEP_OBJC_DEPEND='gcce'
BUILDTOOL_COMPILE_OBJC_COMMAND="\$PROG_gcce_FILE -c"
BUILDTOOL_COMPILE_OBJC_DEPEND='gcce'
BUILDTOOL_LINK_COMMAND="\$PROG_gcce_FILE $EXTRA_GCCE_FLAGS_LINK"
BUILDTOOL_LINK_DEPEND='gcce'
;;
*)
useGccBuildTools
;;
@@ -271,6 +296,14 @@ PROG_armar_ACTION=""
PROG_armar_VERSION='$(armar --vsn)'
### gcce ###
PROG_gcce_NAME="GNU C Compiler (CodeSourcery ARM)"
PROG_gcce_FILE="arm-none-symbianelf-gcc"
PROG_gcce_ACTION=""
PROG_gcce_VERSION='$(arm-none-symbianelf-gcc --version)'
##############################################################################
# Describe the libaries (possibly) used: #
##############################################################################
+14 -11
View File
@@ -67,15 +67,17 @@ case "$HOST_SYSTEM" in
gcc -E -include SDL/SDL_version.h $LIB_SDL_CFLAGS - | \
tail -1 | tr -d ' ')
;;
WINSCW)
WINSCW|GCCE)
LIB_SDL_CFLAGS='-I$BUILD_EPOCROOT/epoc32/include/SDL'
LIB_SDL_LDFLAGS=''
LIB_SDL_VERSION='1.2.13'
LIB_SDL_DETECT="true"
;;
ARMV5)
LIB_SDL_CFLAGS='-J$BUILD_EPOCROOT/epoc32/include/SDL'
LIB_SDL_LDFLAGS=''
LIB_SDL_VERSION='1.2.13'
LIB_SDL_DETECT="true"
;;
*)
LIB_SDL_CFLAGS='$(sdl-config --cflags)'
@@ -99,9 +101,10 @@ case "$HOST_SYSTEM" in
LIB_SDL_image_CFLAGS=''
LIB_SDL_image_LDFLAGS="-framework SDL_image"
;;
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_SDL_image_CFLAGS="$LIB_SDL_CFLAGS"
LIB_SDL_image_LDFLAGS="$LIB_SDL_LDFLAGS"
LIB_SDL_image_DETECT="true"
;;
*)
LIB_SDL_image_CFLAGS="$LIB_SDL_CFLAGS"
@@ -149,7 +152,7 @@ case "$HOST_SYSTEM" in
LIB_opengl_CFLAGS=""
LIB_opengl_LDFLAGS="-framework OpenGL"
;;
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_opengl_DETECT="false"
;;
*)
@@ -166,7 +169,7 @@ LIB_vorbis_CFLAGS=""
LIB_vorbis_LDFLAGS="-lvorbis"
LIB_vorbis_VERSION=""
case "$HOST_SYSTEM" in
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_vorbis_DETECT="false"
;;
esac
@@ -198,7 +201,7 @@ case "$HOST_SYSTEM" in
esac
LIB_vorbisfile_VERSION=""
case "$HOST_SYSTEM" in
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_vorbisfile_DETECT="false"
;;
*)
@@ -220,7 +223,7 @@ case "$HOST_SYSTEM" in
LIB_tremor_CFLAGS=""
LIB_tremor_LDFLAGS="-framework Tremor"
;;
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_tremor_DETECT="false"
;;
*)
@@ -237,7 +240,7 @@ LIB_libmikmod_CFLAGS="$(libmikmod-config --cflags)"
LIB_libmikmod_LDFLAGS="$(libmikmod-config --libs)"
LIB_libmikmod_VERSION="$(libmikmod-config --version)"
case "$HOST_SYSTEM" in
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_libmikmod_DETECT="false"
;;
esac
@@ -250,7 +253,7 @@ case "$HOST_SYSTEM" in
MINGW32*|CYGWIN*|cegcc)
LIB_zlib_LDFLAGS="-lzdll"
;;
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_zlib_LDFLAGS=""
;;
*)
@@ -259,7 +262,7 @@ case "$HOST_SYSTEM" in
esac
LIB_zlib_VERSION=""
case "$HOST_SYSTEM" in
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_zlib_DETECT="true"
;;
*)
@@ -283,7 +286,7 @@ case "$HOST_SYSTEM" in
LIB_pthread_LDFLAGS="$(pthread-config --ldflags)"
LIB_pthread_VERSION="$(pthread-config --version)"
;;
WINSCW|ARMV5)
WINSCW|ARMV5|GCCE)
LIB_pthread_CFLAGS=""
LIB_pthread_LDFLAGS=""
LIB_pthread_VERSION=""
@@ -304,7 +307,7 @@ case "$HOST_SYSTEM" in
LIB_netlibs_LDFLAGS="-lsocket"
LIB_netlibs_VERSION=""
;;
ARMV5|WINSCW)
ARMV5|WINSCW|GCCE)
LIB_netlibs_DETECT="false"
;;
esac
+8
View File
@@ -0,0 +1,8 @@
# Definitions for build tools for the makefile used by the UQM build system.
# This file defines the build commands for GCCE tools.
include build/unix/make/buildtools-generic
define act_link
arm-none-symbianelf-ar cr "$@" $^ $(LDFLAGS)
endef