[PD] fat binaries or not, on OSX (was: 'Pd 64 bits' for OSX is i386 + ppc)
IOhannes m zmoelnig
zmoelnig at iem.at
Tue Dec 15 09:56:05 CET 2015
On 2015-12-13 23:16, katja wrote:
> iven to both compiler and linker:
>
> -arch i386 -arch x86_64 -mmacosx-version-min=10.5
>
> One thing I noticed when building fat binaries: gcc doesn't define
> __i386__ or __x86_64__ which we use to conditionally compile bithacks.
?are you sure?
$ cc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5666) (dot 3)
$ cat > testarch.c <<EOL
#include <stdio.h>
int main() {
#ifdef __i386__
printf("i386\n");
#endif
#ifdef __x86_64__
printf("x86_64\n");
#endif
return 0;
}
EOL
$ make testarch CFLAGS="-arch i386 -arch x86_64 -mmacosx-version-min=10.5"
$ ./testarch
x86_64
$ arch -i386 ./testarch
i386
$ arch -x86_64 ./testarch
x86_64
$
> For this reason I'm now thinking that single-architecture should be
> the default in a generic build system, and fat binary an option.
dunno.
i think that the default should be to just use the system-defaults
(don't tell the compiler which architecture it should build for).
this is driven by the experience with tehe template/Makefile: there are
a number of externals out there that don't build on recent OSX, because
the original template-Makefile would build for PowerPC and apple dropped
out-of-the-box support for ppc.
otoh. it's obviously of utmost importance that any thus-compiled
external loads correctly under a "default" Pd installation.
so for practical reasons it's probably best to use i386/x86_64 (and
don't enable PPC by default)
fgmadr
IOhannes
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20151215/1cd62a38/attachment.sig>
More information about the Pd-list
mailing list