Commit Graph

29 Commits (bb6818aa5c39f373395dc32bd37ce3e4d914e516)

Author SHA1 Message Date
bjarni dcad28dd22 (svn r6432) -Fix r4987: [OSX] added CCFLAGS to OSX targets as well 18 years ago
bjarni 9b9efcc16e (svn r5759) -Fix: [OSX] fixed issue where the bundle was not build if the data dir contained subdirs (now copies the subdirs as well)
-Fix: [OSX] allow subdirs in scenario when using make release (copies the subdirs as well)
-Fix: [OSX] removed an outdated line in make release that prevented the creation of the dmg file
18 years ago
bjarni 77d3d20941 (svn r5438) -Code cleanup [OSX] removed UNIVERSAL_BINARY as a phony target since the target is long gone. Also corrected BUILD_OSX_BUNDLE as phony target 18 years ago
bjarni d5bb8a3267 (svn r4997) -Fix: [OSX] reverted the OSX part of rev 4994 as it caused dyld (lib) crashes
now OSX strips after linking again
18 years ago
truelight 7bd65117af (svn r4994) -Fix: changed the stripping parts a bit. OSX is no longer an exeption 18 years ago
truelight 4941e487c2 (svn r4991) -Fix: don't compile UNITTEST by default, it isn't needed
-Fix: do not use hardcoded names for things like 'strip', keep it configurable!!
18 years ago
truelight ca7bbd262b (svn r4990) -Fix: use CXX to link MacOSX OpenTTD, not CC 18 years ago
truelight a887a529a0 (svn r4989) -Fix: make the OSX Makefile stuff to work with the compile-farm 18 years ago
KUDr 308f27a3de (svn r4987) Feature: Merged YAPF into trunk. Thanks to devs for continuous support and users for testing. 18 years ago
bjarni f6662e056d (svn r4149) -Codechange: [OSX] rewrite of how universal binaries are compiled
Now OSX stores object files in .OSX and instead of making FAT object files, there are one for each architecture
	Each architecture got their own targets to make a non-FAT binary and in the end, lipo will merge them into one binary

	It's now possible to select which architectures you want to support by defining OTTD_PPC, OTTD_PPC970 (G5) and/or OTTD_i386
	All combos are supported. UNIVERSAL_BINARY and TRIPLE_BINARY can still be used even though it's possible to gain the same result by using the new flags
	Making a universal build when you already got part of it compiled (say the PPC part), it will reuse it and only compile the i386 part to save time
	Note: in some cases when you switch flags, you risk that openttd is not updated. Delete it and try again. The Makefile can't solve this except if it forces linking each time

	This fixes: FS#87 universal binary building borked in 0.4.7
	Now universal binaries work on OSX 10.3.9 again

	Building universal binaries no longer needs to store flags in Makefile.config as the new design makes it possible to figure everything out automatically
19 years ago
bjarni 85c49764e1 (svn r4084) -Documentation: [OSX] changed OSX specific docs
-added an explanation to why there is a special Jaguar download (people appears to download it even when they should download the other one)
	-removed the long outdated README_if_game_crashed_on_OSX.txt
19 years ago
bjarni e271479136 (svn r4061) -Codechange: [OSX] removed some long dead flags for universal binary building and removed an absolute path for hdiutil (I don't thin anybody will have it at a non-default place, but still) 19 years ago
bjarni 15f72ab7f4 (svn r4060) -Codechange: [OSX] made the release target (in os/macosx/Makefile) easier to use since it gives the release disk image the right name automatically
it now uses REV instead of RELEASE, which means RELEASE is not needed to be set manaully anymore
	it also automatically adds "-jaguar" when making a build aimed at OSX 10.2 (codenamed jaguar)
19 years ago
bjarni 38569fe229 (svn r3884) renamed TRIPPLE_BINARY to TRIPLE_BINARY 19 years ago
bjarni 3ebc41c9fe (svn r3882) -Codechange: [OSX] changed the way universal and tripple binaries are build
Instead of compiling a binary for each arch and then join them in the end, each .o file is now compiled as a fat file
	This means that the makefile will not call itself to make a binary for each target and we don't have to make clean between each build
	it also means that if one file changed, we don't have to recompile all files
	Another benefit is since it's handled at .o level and though LDFLAGS, no special code is needed if we decide to compile more binaries (like a lot of stuff used to happen at post linking)
	We also needs much less flags to set up, so it should be even easier to get to work out of the box now
	The tradeoff in doing so is that now the binary needs at least OSX 10.3.9 to execute
	To deal with this issue, the JAGUAR flag can be used to compile for older OSes. We will release a binary for old OSes at next release to see if anybody even downloads it (not that many people use OSX 10.2 anymore)
	GPMI will not work on 10.2 anyway so we will cut support for it some day anyway
19 years ago
bjarni 04f072c3c1 (svn r3676) -Change: [OSX] changed info about package to how to install the game
the package is long gone and people don't read a doc about a missing package when they don't expect to find one
	the doc is called install even though it's not a real install and have nothing to do with make install. People just read it the first time they see it when it's called install ;)
19 years ago
bjarni b764f8d676 (svn r3674) -Feature: [OSX] Added support for tripple binaries (binaries optimised for G3, G5 and i686)
G4 have no problems using G3 code while G5 can, but really benefit from getting their own optimised code (Apple: G5 is not just a fast G4)
	Also changed FAT_BINARY to UNIVERSAL_BINARY since Apple removed most (all?) references to fat binaries on their homepage two days after I added FAT_BINARY
19 years ago
bjarni db3d226c52 (svn r3383) -Code cleanup: [OSX] removed SDL support from FAT binaries as it caused problems for non-SDL builds
FAT binaries now need to rely on COCOA drivers. SDL didn't work properly anyway
19 years ago
bjarni 50a1e16943 (svn r3281) -Feature: [OSX] added native cocoa sound and video drivers (egladil)
you can still use SDL drivers if you like and you have to run "make upgradeconf" to start using the cocoa drivers (or manually write WITH_COCOA:=1)
	since SDL breaks the cocoa drivers, you can't compile with both SDL and cocoa support
	Using cocoa drivers makes it easier to make universal binaries and it solves:
	-FS#18 [OSX] SDL is weird in universal binaries
	-FS#2  [OSX] lazy pointer crash on exit
	-FS#10 [OSX] linking error when linking statically to SDL 1.2.8 (needless to explain this, but it means it should be able to compile statically with the default settings now)
	-[ 1215073 ] Switching to large size out of fullscreen crashes
	Using SDL drivers will still have those issues though
19 years ago
bjarni 3923eab424 (svn r3276) reverted the last two commits. OSX 10.2 kept finding new stuff to prevent it from running OpenTTD, so now it's not supported anymore 19 years ago
bjarni 98ef748715 (svn r3274) -Fix: [OSX] added JAGUAR flag to crosscompile for OSX 10.2 (codenamed jaguar)
JAGUAR and FAT_BINARY can't be used at the same time
	JAGUAR will disable network support due to missing libs in 10.2
19 years ago
bjarni 79b76e2397 (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)
19 years ago
bjarni 967abb24e4 (svn r3267) -Codechange: [OSX] universal binary makefile code cleanup
now PPC code is always compiled before x86 code
	strgen and lng files are only compiled once, which results in shorter building time
	the makefile now assigns default values to undefined values so much less needs to be set up
	the code is now easier to maintain
19 years ago
bjarni c2153e7419 (svn r3262) -Fix: [OSX] universal binaries can now include the dynamic SDL lib into the bundle 19 years ago
bjarni cfc4753ba6 (svn r3259) -Fix: [OSX] fixed that universal binaries did not make a bundle 19 years ago
bjarni e273fe2f33 (svn r3258) -Feature: [OSX] added support for universal binaries
it needs both PPC and x86 libs to compile
	due to this fact, compilation with libPNG or SDL is not tested (dedicated servers only)
	only PPC part is tested as I don't have x86 OSX
19 years ago
bjarni 4550c2361d (svn r3257) -Codechange: [OSX] removed the dynamic lib in bundle option (introduced in rev 3230)
it caused way more problems than it solved
19 years ago
bjarni 16625f4db1 (svn r3256) -Fix: [OSX] fixed issue where building the bundle could take place before linking if -j 2 was used 19 years ago
bjarni 97b3afe9ae (svn r3230) -Feature: [OSX] OSX builds can now change where it searches for dynamic libs and can move libs into the bundle
This is not a fix for the issues with static linking, more like a workaround. Static linking still got issues
	Apple recommends to use dynamic linking anyway, so I guess this doesn't matter much
19 years ago