[Python-Dev] python, lipo and the future?

Bob Ippolito bob at redivi.com
Sun Sep 17 20:46:41 CEST 2006


On 9/17/06, "Martin v. Löwis" <martin at v.loewis.de> wrote:
> Josiah Carlson schrieb:
> > "Martin v. Löwis" <martin at v.loewis.de> 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


More information about the Python-Dev mailing list