diff options
author | bjarni <bjarni@openttd.org> | 2006-02-25 18:11:11 +0000 |
---|---|---|
committer | bjarni <bjarni@openttd.org> | 2006-02-25 18:11:11 +0000 |
commit | 4ff6b2a5148fce8f3abb110a4206b12825f243ef (patch) | |
tree | eafdcc56afa5ecd2d9c1be6258e506b21d2c2840 /os/macosx | |
parent | 51ece8d99ae9745d652f60e91b1df920e375675a (diff) | |
download | openttd-4ff6b2a5148fce8f3abb110a4206b12825f243ef.tar.xz |
(svn r3673) -Codechange: [OSX] changed the makefile to autodetect if it compiles on G5 and then adds flags to optimise for G5
This will not interfere with crosscompiling or universal binaries
Diffstat (limited to 'os/macosx')
-rw-r--r-- | os/macosx/G5_detector.c | 29 | ||||
-rw-r--r-- | os/macosx/Makefile.setup | 10 |
2 files changed, 39 insertions, 0 deletions
diff --git a/os/macosx/G5_detector.c b/os/macosx/G5_detector.c new file mode 100644 index 000000000..a67cbb51f --- /dev/null +++ b/os/macosx/G5_detector.c @@ -0,0 +1,29 @@ +/* $Id:$ */ + +#include <mach/mach.h> +#include <mach/mach_host.h> +#include <mach/host_info.h> +#include <mach/machine.h> +#include <stdio.h> + + +#ifndef CPU_SUBTYPE_POWERPC_970 +#define CPU_SUBTYPE_POWERPC_970 ((cpu_subtype_t) 100) +#endif + +// this function is a lightly modified version of some code from Apple's developer homepage to detect G5 CPUs at runtime +main() +{ + host_basic_info_data_t hostInfo; + mach_msg_type_number_t infoCount; + boolean_t is_G5; + + infoCount = HOST_BASIC_INFO_COUNT; + host_info(mach_host_self(), HOST_BASIC_INFO, + (host_info_t)&hostInfo, &infoCount); + + is_G5 = ((hostInfo.cpu_type == CPU_TYPE_POWERPC) && + (hostInfo.cpu_subtype == CPU_SUBTYPE_POWERPC_970)); + if (is_G5) + printf("1"); +} diff --git a/os/macosx/Makefile.setup b/os/macosx/Makefile.setup index c2531815f..3e9e2cf27 100644 --- a/os/macosx/Makefile.setup +++ b/os/macosx/Makefile.setup @@ -16,6 +16,16 @@ $(warning Compiling a release build, that is not a universal binary) endif endif +ifndef FAT_BINARY +ifndef JAGUAR +ifeq ($(shell uname), Darwin) +# it's a hardware mac, not crosscompiling +$(Q)$(CC_HOST) os/macosx/G5_detector.c -o os/macosx/G5_detector +IS_G5:=$(shell os/macosx/G5_detector) +endif +endif +endif + ifdef FAT_BINARY ifndef STATIC $(warning Compiling a universal binary, that is not static. Adding static flag) |