This covers the rather special Unix variant that is Apple MacOS X. You'll need XCode installed along with the Apple X11 implementation plus at least scons v0.96.1 (which added MacOS X support).
This page doesn't duplicate what's already said in Unix-specific notes so you should also read that.
You have two choices when building TnFOX on Apples - the first is the same as on other platforms where you set x86
or x64
, however you MUST set architecture_version=7, x86_SSE=2 and x86_3dnow=0 in config.py as the Apple GCC won't output valid code for other architecture configurations.
The other choice is to specify one of the special architectures macosx-ppc/macosx-i386
. If you want to build a Universal binary, then you must use these. Firstly you build one, then change the config and build the other so you get two full builds - one PowerPC, the other i386. This is necessary because the endian is different for each.
You must then merge the two binaries into a Universal one using Apple's libtool:
Merging code to be added later
/usr/local
tree containing these from the TnFOX homepage after which these libraries will be found and used._APPLE_C_SOURCE
when compiling any code using TnFOX. This causes alternative (and improved) implementations of many C library functions to be used instead of the defaults. Failing to do this will cause random crashes and other weird behaviour. dlclose()
not kicking out a shared library like it's supposed to do. XInitThreads()
, the OpenGL code hangs in the internally called XLockDisplay()
. If you really need OpenGL working, you will have to comment out this call in FXApp.cpp
.