On 9/17/06, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote:
> Josiah Carlson schrieb:
> > "Martin v. Löwis" <[EMAIL PROTECTED]> wrote:
> >> Out of curiosity: how do the current universal binaries deal with this
> >> issue?
> >
> > If I remember correctly, usually you do two completely independant
> > compile runs (optionally on the same machine with different configure or
> > macro definitions, then use a packager provided by Apple to merge the
> > results for each binary/so to be distributed. Each additional platform
> > would just be a new compile run.

Sometimes this is done, but usually people just use CC="cc -arch i386
-arch ppc". Most of the time that Just Works, unless the source
depends on autoconf gunk for endianness related issues.

> It's true that the compiler is invoked twice, however, I very much doubt
> that configure is run twice. Doing so would cause the Makefile being
> regenerated, and the build starting from scratch. It would find the
> object files from the previous run, and either all overwrite them, or
> leave them in place.
>
> The gcc driver on OSX allows to invoke cc1/as two times, and then
> combines the resulting object files into a single one (not sure whether
> or not by invoking lipo).
>

That's exactly what it does. The gcc frontend ensures that cc1/as is
invoked exactly as many times as there are -arch flags, and the result
is lipo'ed together. This also means that you get to see a copy of all
warnings and errors for each -arch flag.

-bob
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to