summaryrefslogtreecommitdiff
path: root/os/macosx/G5_detector.c
diff options
context:
space:
mode:
authorbjarni <bjarni@openttd.org>2006-02-25 18:11:11 +0000
committerbjarni <bjarni@openttd.org>2006-02-25 18:11:11 +0000
commit8e7c2555fedf34e3e7e66df66802d63d3d3bc04d (patch)
treeeafdcc56afa5ecd2d9c1be6258e506b21d2c2840 /os/macosx/G5_detector.c
parentfb301cced7d4773576416c78ef3e65950cf1f0a8 (diff)
downloadopenttd-8e7c2555fedf34e3e7e66df66802d63d3d3bc04d.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/G5_detector.c')
-rw-r--r--os/macosx/G5_detector.c29
1 files changed, 29 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");
+}