tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Support for Mac OS X Snow Leopard



Georg Schwarz wrote:
> 
> Am 13.09.2009 um 12:56 schrieb Matthias Scheler:
> 
>> On Sat, Sep 12, 2009 at 09:08:21PM -0700, Min Sik Kim wrote:
>>> Even with a 32-bit kernel, Snow Leopard is still capable of running
>>> 64-bit applications, and in fact all the (universal) binaries have
>>> 64-bit versions in them.
>>
>> I know that. But all Intel Macs execute them? Some of them use
>> Core Duo (not Core *2* Duo) CPU which IIRC don't support
>> 64 bit mode.

All processors in Intel based Macs support 64-bit mode.

> one could always set
> 
> CFLAGS+=.....
> 
> in one's mk.conf to optimize for one's specific machine (in fact to me
> this is one of the great advantage of pkgsrc).
> That's why I think pkgsrc should be very cautious about setting any
> defaults.

This isn't enough. LDFLAGS must be set, too - at least when -m32/-m64 is
used in CFLAGS (and I remember to read a special Apple flag for the
architecture in gcc manpage of X-Code). Ans especially for libtool based
building there are some different linking variables to set ...

> Now the issue of uname returing "i386" and building of some packages
> failing due to gcc creating 64 bit code, is that an inherent issue of
> pkgsrc, or is that an issue of the upstream code of those packages? Does
> the same issue occur as well when building outside pkgsrc?
> If the latter is the case, how likely/easy is it to be fixed upstream?

This will increase the work to be done dramatically (there are many packages
fail build for -m64 on MacOS X). And if pkgsrc can provide a more or less
simple solution - which may work for AIX and OpenSolaris, too (there are
similar problems), it's better to provide the solution in pkgsrc instead of
tracking hundreds of packages to be fixed upstream for several operating
systems.

> In the mean time, would adding a respective hacks.mk to the affected
> packages help?

Maybe there is a more clean (and generic) solution: ABI=32/64 support in
compiler/linker wrappers with default values based on OS.

Jens


Home | Main Index | Thread Index | Old Index