1
0
mirror of https://github.com/OpenTTD/OpenTTD.git synced 2025-08-17 19:49:10 +00:00

(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
This commit is contained in:
bjarni
2006-02-25 18:11:11 +00:00
parent 51ece8d99a
commit 4ff6b2a514
3 changed files with 42 additions and 0 deletions

29
os/macosx/G5_detector.c Normal file
View File

@@ -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");
}

View File

@@ -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)