diff options
-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" |