Age | Commit message (Collapse) | Author |
|
code and proofreading, thanks to peter1138 for another lot of code and ideas.
|
|
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
|
|
something similar on non-i386 architectures to performance-tune (critical) code. Some systems are probably missing, but those can be added later.
|
|
Some work with animated tiles remains. Thanks to Tron for parts of the code and lots of proof-reading and suggesting
|
|
calling itself. NOTE: Delete Makefile.config to recover.
|
|
present in the system
if detected, WITH_ICONV will be defined in the C code
WITH_ICONV is also added to Makefile.config
OSX do not use this flag setting in Makefile.config, as it is set at compile time based on target OS version
the actual C code is not changed as the current iconv code is hardcoded for OSX and would break if any other OS got iconv
This detection system is by request of Darkvater
|
|
in 10.3
this have the sideeffect that 10.2.8 will still have the "failure to save with certain chars in the filename bug", but at least it can compile again
|
|
contains german umlauts
now it saves correctly, but the load window still display some chars wrong (fix by ln-)
|
|
bridge ramp
|
|
|
|
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
|
|
wrapper-configure
|
|
|
|
|
|
universal binaries on PPC without any Makefile.config. Introduced in 3674 (before that i686 used PPC as CC_HOST, but nobody noticed that)
|
|
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
|
|
compiles on G5 and then adds flags to optimise for G5
This will not interfere with crosscompiling or universal binaries
|
|
to help control PDA-troubles which the commit was intended for. Didn't revert makefile-config version since it would cause trouble. But Bjarni promised to rewrite it :)
|
|
relate CPU usage to lines in the source files
Now OSX users can tell what lines in the C code that keeps the CPU busy instead of just ASM code
Note: PROFILE needs to be enabled in Makefile.config for this to work
|
|
'make mrproper' (TrueLight)
|
|
project files.
|
|
newgrf_engine.[ch], and add the new files to project files.
|
|
copying files there.
- Fix: Fix small syntactic error in the manpage.
|
|
funny results ;)
|
|
in branch/pbs. This reverts revisions r3158, r3140, r3075, r2977, r2674, r2625, r2621, r2529, r2528, r2525, r2524, r2519, r2517, r2516, r2507, r2499. (in conjunction with Tron)
- The only change is that the nsignalsw.grf file is kept and that existing nightlies with PBS signals get those signals converted to combo-signals.
|
|
directory.
|
|
caused problems for non-SDL builds
FAT binaries now need to rely on COCOA drivers. SDL didn't work properly anyway
|
|
10.2.8 on 10.4
|
|
lead to wrong results
|
|
if a header file changed
Also really automagically create the dependency directories by deriving the directory names from $(DEPS)
|
|
support (dst)
|
|
Revisions in detail: 2542, 3226 (partial), 3229, 3231, 3232, 3238, 3242-3245, 3251, 3253, 3260, 3263, 3265, 3266, 3269, 3277, 3278, 3279, 3283 (partial), 3304, 3305, 3306
|
|
probably be #ifdef
|
|
%.rc rule
|
|
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
|
|
variable SRCS
Now adding a new file to compile is just adding a line like SRCS += $(FIILE), regardless of type
|
|
to prevent it from running OpenTTD, so now it's not supported anymore
|
|
crosscompiles to fix crash
|
|
(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
|
|
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)
|
|
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
|
|
preprocessor to determine endianess
this means that ENDIAN_FORCE is obsolite since it's always overwritten with PREPROCESSOR
Since the preprocessor should never be able to pick wrong, it's easier this way
specially when compiling universal binaries as they got both endianess
|
|
lib into the bundle
|
|
|
|
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
|
|
(introduced in rev 3230)
it caused way more problems than it solved
|
|
|
|
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
|
|
before starting to overwrite old ones
max_autosave_num in the config files sets the number of autosaves to keep (default 16)
MAX_NUM_AUTOSAVES in Makefile.config sets the default value. 16 is used if no value is given
this behaviour can still be overwritten by keep_all_autosave (openttd.config setting)
Note: this is a requested behaviour for PDA ports, since they got limited storage space
|
|
Rewrite handling of station classes.
Allow for more than 8 station tile layouts.
Start of code to unload custom stations.
|