
"man ld" on Tiger says: -macosx_version_min version This overrides the MACOSX_DEPLOYMENT_TARGET environment variable (see below). Unlike other linker options, this one may be spec- ified multiple times; only the last occurrence is effective. The following environment variable is used to control the use of incom- patible features in the output with respect to Mac OS X releases. MACOSX_DEPLOYMENT_TARGET This is set to indicate the oldest Mac OS X version that that the output is to be used on. When this is set to a release that is older than the current release features that are incompatible with that release will be disabled. If a feature is seen in the input that can't be in the output due to this setting a warning is issued. The current allowable values for this are 10.1, 10.2 10.3, and 10.4 with the default being 10.4 for the i386 archi- tecture and 10.1 for all other architectures. "man ld" on Leopard does not mention MACOSX_DEPLOYMENT_TARGET, but "-macosx_version_min" does not work as expected: When passing "-macosx_version_min 10.4" via ghc to gcc and ld using: ghc -v --make Hello.hs \ -optl-Xlinker -optl-macosx_version_min -optl-Xlinker -optl10.4 then "-macosx_version_min 10.4" lands almost at the end of "collect2" and has no effect, because the command starts with "-macosx_version_min 10.5.1" (although the above man page claims that the last occurrence should be effective). Cheers Christian /usr/libexec/gcc/i686-apple-darwin9/4.0.1/collect2 -dynamic -arch i386 -macosx_version_min 10.5.1 -weak_reference_mismatches non-weak [...] Hello.o -macosx_version_min 10.4 -lHSbase-3.0.1.0 -lHSrts -lm -framework GMP -lgcc_s.10.5 -lgcc -lSystem -F/home/maeder/Library/Frameworks Christian Maeder wrote:
setting MACOSX_DEPLOYMENT_TARGET=10.4 or MACOSX_DEPLOYMENT_TARGET=10.3
on an Intel Leopard produced binaries executable on Intel Tigers (we have no Intel Panther, though)
Without MACOSX_DEPLOYMENT_TARGET binaries from Leopard yield "Bus Error" on Tiger.
The binary was built using my own binary-dist for Intel Tiger (Mac OS 10.4) (with GMP and GNUreadline frameworks).
Christian