Для кросс-компиляции конфигурация нравится, когда вы предоставляете хост, цель и сборку, используя кортеж машины.
Если вы не знаете, что такое ваш кортеж машины, вы можете найти его, используя
gcc -dumpmachine
Что, используя отчеты Lion:
i686-apple-darwin11
Обратите внимание, что на Lion x86_64-apple-darwin11 действителен для 64-битной версии. Но, чтобы использовать это при сборке llvm:
./configure \
--enable-pic \
--prefix=/usr/local \
--host=i686-apple-darwin11 \
--target=i686-apple-darwin11 \
--build=i686-apple-darwin11
Это должно сработать, но вы можете включить
--enable-languages=c,c++,obj-c
--enable-optimized
Вы также можете проверить библиотеки, с которыми вы ссылаетесь, используя 'file' и 'otool'.Или, если это статический архив, с которым вы связываетесь (что, похоже, имеет место ...), мой тест для быстрого запуска будет
ar p somelib.a $(ar t somelib.a | grep \.o | tail -1) | file -
Вы не собираетесь работать с i386 OSX Lion box,поэтому сборка clang для i386 кажется излишней - вы, вероятно, могли бы собрать 64-битную версию (какую бы она не выбрала по умолчанию), а затем, когда вы скомпилируете WITH, вы бы указали '-m32' или '-m64' в ваших CFLAGS или CXXFLAGSгенерировать правильную битовую глубину объектов.
-n