GHC 6.8.1 (now ghc-6.8.2) on Mac OS X 10.5 (Leopard)
Christian Maeder
Christian.Maeder at dfki.de
Fri Jan 11 06:09:31 EST 2008
"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
More information about the Glasgow-haskell-users
mailing list