Hi Sherm. For those who don't know me, I'm the perl maintainer at
Apple, and I admit I keep a low profile on this list. But I wanted
clear up a few things:
On Jun 7, 2005, at 3:32 AM, Sherm Pendley wrote:
On Jun 7, 2005, at 5:19 AM, Gisle Aas wrote:
Why would it be painful to compile perl and its modules as a fat
binaries?
*If* Apple compiles a fat perl ...
As Steve said at the keynote, we've been building Mac OS X for i386
since the beginning, and that includes perl. As a matter of fact,
the Darwin sources are the very source we use to build both ppc and
i386.
and *if* that fat perl doesn't require me to buy an Intel/Mac with
money I don't have ...
I forget which session it was in, but it said you can build both ppc
and i386 on both platforms. Though I don't remember if it was
mentioned in these terms, what they meant is that gcc-4.0 supports
native and cross-compilation (and again from Steve's statement,
previous versions of gcc did as well). It was just that we never
shipped anything but the native ppc compilers.
My understanding of the i386-based Mac development platform is that
it will include all the native and cross-compliers, as well as all
the frameworks, libraries and other binaries in fat form. While
Apple could do this with a ppc machine, you couldn't then actually
test that it really worked on an i386, so (I'm assuming) that is why
it's shipping on i386.
No promises, but if you want to work on CamelBones for i386, I can
put out some feelers and see if we can help someway.
and *if* that fat perl is configured properly to produce fat XS
modules ...
This is a little tricky, but doable. Because we build fat, we have
to edit Configure.pm to remove that fact, otherwise it would always
try to build fat, and fail for most people, since the cross-compiler
is not available. But you can pass the appropriate flags to a perl
module so it will build fat; that is what we do to build the things
in /System/Library/Perl/Extras (on Tiger), for instance.
and *if* the ffcall library that CamelBones uses is updated to
support Darwin/x86 calling conventions ...
For what it's worth, in my testing last year, I built
CamelBones-0.2.3 fat, with a few changes to work with our build
system. I never really got around to testing it on a i386, but it
did compile.
------------------------------------------------------------------------
--
Edward Moy
Apple