mirror of
https://github.com/JGRennison/OpenTTD-patches.git
synced 2024-11-17 21:25:40 +00:00
(svn r3273) -Fix: [OSX] PPC part of universal binaries now target 10.3 instead of 10.4
10.2 support appears to be broken right now Changed BUILD_UNIVERSAL_BINARY into FAT_BINARY (I got tired of typing)
This commit is contained in:
parent
e486e56050
commit
79b76e2397
10
Makefile
10
Makefile
@ -106,7 +106,7 @@
|
||||
#
|
||||
# Special for crosscompiling there are some commands available:
|
||||
#
|
||||
# BUILD_UNIVERSAL_BINARY: builds a universal binary for OSX. Make sure you got both PPC and x86 libs
|
||||
# FAT_BINARY: builds a universal binary for OSX. Make sure you got both PPC and x86 libs
|
||||
#
|
||||
# ENDIAN_FORCE: forces the endian-check to give a certain result. Can be BE, LE or PREPROCESSOR.
|
||||
# PREPROCESSOR is always used on all OSX targets and will make the preprocessor pick the right endian.
|
||||
@ -508,8 +508,12 @@ ifdef OSX
|
||||
# set the endian flag for OSX, that can't fail
|
||||
ENDIAN_FORCE:=PREPROCESSOR
|
||||
|
||||
# ensure that changing libpathnames will not overwrite anything in the binary
|
||||
LDFLAGS += -headerpad_max_install_names
|
||||
ifdef UNIVERSAL_x86_PART
|
||||
ifdef WITH_SDL
|
||||
# ensure that changing libpathnames will not overwrite anything in the binary
|
||||
LDFLAGS += -headerpad_max_install_names
|
||||
endif
|
||||
endif
|
||||
|
||||
ifndef DEDICATED
|
||||
LIBS += -framework QuickTime
|
||||
|
@ -94,17 +94,26 @@ $(MAKE_CONFIG):
|
||||
$(call CONFIG_LINE,)
|
||||
|
||||
$(call CONFIG_LINE,\# Universal binary setup)
|
||||
$(call CONFIG_LINE,\# use these settings for building universal binaries. Most settings should work with the default settings)
|
||||
$(call CONFIG_LINE,UNIVERSAL_CFLAGS:=$(UNIVERSAL_CFLAGS))
|
||||
$(call CONFIG_LINE,UNIVERSAL_LDFLAGS:=$(UNIVERSAL_LDFLAGS))
|
||||
$(call CONFIG_LINE,\# use these settings for building universal binaries. Most systems should work with the default settings)
|
||||
$(call CONFIG_LINE,SDL_PPC_CONFIG:=$(SDL_PPC_CONFIG))
|
||||
$(call CONFIG_LINE,SDL_x86_CONFIG:=$(SDL_x86_CONFIG))
|
||||
|
||||
$(call CONFIG_LINE,\# if you got a fat libpng you should not need to change this. It is recommended to get a fat libpng lib)
|
||||
$(call CONFIG_LINE,LIBPNG_PPC_CONFIG:=$(LIBPNG_PPC_CONFIG))
|
||||
$(call CONFIG_LINE,LIBPNG_x86_CONFIG:=$(LIBPNG_x86_CONFIG))
|
||||
|
||||
$(call CONFIG_LINE,\# autodetected SDL lib path, but it is not detected in a reliable way, so verify it. It needs to be the x86 lib)
|
||||
$(call CONFIG_LINE,x86_SDL_LIB:=$(x86_SDL_LIB))
|
||||
|
||||
$(call CONFIG_LINE,\# default values should be good enough for the rest of the universal binary flags, but check them anyway)
|
||||
$(call CONFIG_LINE,SKIP_LIB_TEST:=$(SKIP_LIB_TEST))
|
||||
$(call CONFIG_LINE,PPC_CC:=$(PPC_CC))
|
||||
$(call CONFIG_LINE,SDL_PPC_CONFIG:=$(SDL_PPC_CONFIG))
|
||||
$(call CONFIG_LINE,LIBPNG_PPC_CONFIG:=$(LIBPNG_PPC_CONFIG))
|
||||
$(call CONFIG_LINE,CFLAGS_PPC:=$(CFLAGS_PPC))
|
||||
$(call CONFIG_LINE,LDFLAGS_PPC:=$(LDFLAGS_PPC))
|
||||
|
||||
$(call CONFIG_LINE,x86_CC:=$(x86_CC))
|
||||
$(call CONFIG_LINE,SDL_x86_CONFIG:=$(SDL_x86_CONFIG))
|
||||
$(call CONFIG_LINE,LIBPNG_x86_CONFIG:=$(LIBPNG_x86_CONFIG))
|
||||
$(call CONFIG_LINE,x86_SDL_LIB:=$(x86_SDL_LIB))
|
||||
$(call CONFIG_LINE,CFLAGS_x86:=$(CFLAGS_x86))
|
||||
$(call CONFIG_LINE,LDFLAGS_x86:=$(LDFLAGS_x86))
|
||||
$(call CONFIG_LINE,)
|
||||
|
||||
$(call CONFIG_LINE,\# For cross-compiling)
|
||||
|
@ -2,8 +2,8 @@
|
||||
# This makefile is not a standalone makefile, but is called from the general one
|
||||
# it contains targets specific to MacOS X
|
||||
|
||||
ifdef BUILD_UNIVERSAL_BINARY
|
||||
BUILD_UNIVERSAL_BINARY:=build_universal_binary
|
||||
ifdef FAT_BINARY
|
||||
FAT_BINARY:=build_universal_binary
|
||||
COPY_x86_SDL_LIB:=$(Q)cp $(x86_SDL_LIB) $(OSXAPP)/Contents/lib/libSDL-x86.dylib
|
||||
endif
|
||||
|
||||
@ -19,7 +19,7 @@ endif
|
||||
# we make clean and compile the other one. In the end we use lipo to join them together
|
||||
# when this is done, we can continue with the targets from the first run, which is build_OSX_bundle
|
||||
|
||||
$(BUILD_UNIVERSAL_BINARY): $(TTD)
|
||||
$(FAT_BINARY): $(TTD)
|
||||
$(Q)mkdir -p temp_binary_dir
|
||||
$(Q)cp $(TTD) temp_binary_dir/$(TTD)_a
|
||||
$(Q)rm -rf $(TTD) $(OBJS) # delete all .o files so we can compile for a new endian
|
||||
@ -33,7 +33,7 @@ $(BUILD_UNIVERSAL_BINARY): $(TTD)
|
||||
# build the bundle. OSX wants to keep apps in bundles, so we will give it one
|
||||
# the good thing about bundles is that you can keep extra files in them, so we keep lng files and a data dir in it
|
||||
|
||||
$(BUILD_OSX_BUNDLE): $(TTD) $(BUILD_UNIVERSAL_BINARY)
|
||||
$(BUILD_OSX_BUNDLE): $(TTD) $(FAT_BINARY)
|
||||
@echo '===> Building application bundle'
|
||||
$(Q)rm -fr "$(OSXAPP)"
|
||||
$(Q)mkdir -p "$(OSXAPP)"/Contents/MacOS
|
||||
@ -70,4 +70,4 @@ release: all
|
||||
|
||||
$(OSX): $(TTD) $(BUILD_OSX_BUNDLE)
|
||||
|
||||
.PHONY: release $(BUILD_OSX_BUNDLE) $(BUILD_UNIVERSAL_BINARY)
|
||||
.PHONY: release $(BUILD_OSX_BUNDLE) $(FAT_BINARY)
|
||||
|
@ -11,11 +11,18 @@ endif
|
||||
endif
|
||||
|
||||
ifdef RELEASE
|
||||
ifndef BUILD_UNIVERSAL_BINARY
|
||||
ifndef FAT_BINARY
|
||||
$(warning Compiling a release build, that is not a universal binary)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef FAT_BINARY
|
||||
ifndef STATIC
|
||||
$(warning Compiling a universal binary, that is not static. Adding static flag)
|
||||
STATIC:=1
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef RELEASE
|
||||
ifdef DEBUG
|
||||
$(warning Compiling a release build, that is a debug build)
|
||||
@ -23,15 +30,21 @@ endif
|
||||
endif
|
||||
|
||||
# setup flags if none are defined
|
||||
ifndef UNIVERSAL_CFLAGS
|
||||
UNIVERSAL_CFLAGS:= -isysroot /Developer/SDKs/MacOSX10.4u.sdk
|
||||
ifndef CFLAGS_PPC
|
||||
CFLAGS_PPC:= -isysroot /Developer/SDKs/MacOSX10.3.9.sdk
|
||||
endif
|
||||
ifndef UNIVERSAL_LDFLAGS
|
||||
UNIVERSAL_LDFLAGS:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
|
||||
ifndef LDFLAGS_PPC
|
||||
LDFLAGS_PPC:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.3.9.sdk
|
||||
endif
|
||||
ifndef PPC_CC
|
||||
PPC_CC:=powerpc-apple-darwin8-gcc-4.0.0
|
||||
endif
|
||||
ifndef CFLAGS_x86
|
||||
CFLAGS_x86:= -isysroot /Developer/SDKs/MacOSX10.4u.sdk
|
||||
endif
|
||||
ifndef LDFLAGS_x86
|
||||
LDFLAGS_x86:= -Wl,-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk
|
||||
endif
|
||||
ifndef x86_CC
|
||||
x86_CC:=i686-apple-darwin8-gcc-4.0.0
|
||||
endif
|
||||
@ -50,12 +63,12 @@ ifdef WITH_SDL
|
||||
ifndef SDL_x86_CONFIG
|
||||
SDL_x86_CONFIG:=$(SDL-CONFIG)
|
||||
endif
|
||||
ifndef x86_SDL_LIB
|
||||
x86_SDL_LIB:=$(shell echo "`$(SDL_x86_CONFIG) --prefix`/lib/libSDL-1.2.0.dylib")
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef BUILD_UNIVERSAL_BINARY
|
||||
CFLAGS:= $(UNIVERSAL_CFLAGS)
|
||||
LDFLAGS:= $(UNIVERSAL_LDFLAGS)
|
||||
|
||||
ifdef FAT_BINARY
|
||||
# set up config files
|
||||
ifndef SKIP_LIB_TEST
|
||||
ifdef WITH_PNG
|
||||
@ -87,16 +100,18 @@ $(error no x86 SDL lib found)
|
||||
endif
|
||||
|
||||
ifdef UNIVERSAL_x86_PART
|
||||
CFLAGS += -arch i386
|
||||
LIBPNG-CONFIG:=$(LIBPNG_x86_CONFIG)
|
||||
SDL-CONFIG:=$(SDL_x86_CONFIG)
|
||||
CC_TARGET:=$(x86_CC)
|
||||
# clear the cached list of PPC libs
|
||||
LIBS:=
|
||||
CFLAGS:= $(CFLAGS_x86) -arch i386
|
||||
LDFLAGS:= $(LDFLAGS_x86)
|
||||
else
|
||||
CFLAGS += -arch ppc
|
||||
LIBPNG-CONFIG:=$(LIBPNG_PPC_CONFIG)
|
||||
SDL-CONFIG:=$(SDL_PPC_CONFIG)
|
||||
CC_TARGET:=$(PPC_CC)
|
||||
CFLAGS:= $(CFLAGS_PPC) -arch ppc
|
||||
LDFLAGS:= $(LDFLAGS_PPC)
|
||||
endif
|
||||
endif
|
||||
|
Loading…
Reference in New Issue
Block a user