diff options
author | planetmaker <planetmaker@openttd.org> | 2010-11-11 22:37:45 +0000 |
---|---|---|
committer | planetmaker <planetmaker@openttd.org> | 2010-11-11 22:37:45 +0000 |
commit | b31543aa9aa153779f1aab89e09bf779efd30a2b (patch) | |
tree | 690b5ca74c5d74bd40d63869587c6795ad870aee | |
parent | 13685c0210b61fb87a8a23b80be09de737dd0499 (diff) | |
download | openttd-b31543aa9aa153779f1aab89e09bf779efd30a2b.tar.xz |
(svn r21149) -Fix [FS#4210]: [OSX] Unify compiler flags with other OS and work around a compiler bug in gcc-4.0.1 which breaks graphics display in x86_64 binaries (Rubidium)
-rw-r--r-- | config.lib | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/config.lib b/config.lib index 1ea1f6dc8..29bf9c925 100644 --- a/config.lib +++ b/config.lib @@ -1280,17 +1280,12 @@ make_cflags_and_ldflags() { if [ "$enable_debug" = "0" ]; then # No debug, add default stuff OBJS_SUBDIR="release" - if [ "$os" = "OSX" ]; then - # these compilerflags makes the app run as fast as possible without making the app unstable. It works on G3 or newer - CFLAGS="-O3 -funroll-loops -fsched-interblock -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-jumps-max-skip=15 -falign-loops-max-skip=15 -mdynamic-no-pic $CFLAGS" - else - if [ "$os" = "MORPHOS" ]; then - CFLAGS="-I/gg/os-include -noixemul -fstrict-aliasing -fexpensive-optimizations -mcpu=604 -fno-inline -mstring -mmultiple $CFLAGS" - LDFLAGS="$LDFLAGS -noixemul" - fi - - CFLAGS="-O2 -fomit-frame-pointer $CFLAGS" + if [ "$os" = "MORPHOS" ]; then + CFLAGS="-I/gg/os-include -noixemul -fstrict-aliasing -fexpensive-optimizations -mcpu=604 -fno-inline -mstring -mmultiple $CFLAGS" + LDFLAGS="$LDFLAGS -noixemul" fi + + CFLAGS="-O2 -fomit-frame-pointer $CFLAGS" else OBJS_SUBDIR="debug" @@ -1317,6 +1312,12 @@ make_cflags_and_ldflags() { fi fi + if [ "$os" = "OSX" ] && [ $cc_version -eq 40 ]; then + # Apple's GCC 4.0 has a compiler bug for x86_64 with (higher) optimization, + # wrongly optimizing ^= in loops. This disables the failing optimisation. + CFLAGS="$CFLAGS -fno-expensive-optimizations" + fi + if [ "$enable_profiling" != "0" ]; then CFLAGS="$CFLAGS -p" LDFLAGS="$LDFLAGS -pg" |