Как перебрать компиляцию из Mac OS X в Linux x86?

Я запускаю Mac OS X 10.5.8 и хочу скомпилировать для целевого CentOS 5.3 с GCC 4.1.2. Как я мог:

  • Компилировать инструментальную цепочку GCC 4.1.2 и связанные с ней инструменты
  • Используйте этот инструмент для перекрестного компиляции для целевого CentOS 5.3?

Любая помощь очень ценится!

Ответ 1

Самое простое решение - просто запустить CentOS 5.3 в виртуальной машине (например, Sun VirtualBox). Это требует минимальной настройки, имеет довольно разумные накладные расходы (при условии, что Intel Mac), и вы сможете фактически протестировать и отладить то, что вы строите.

Если вы действительно настаиваете на кросс-компиляции, вы должны построить кросс-компилятор. Инструкции здесь и здесь, но будьте осторожны: это, скорее всего, возьмите несколько дней, чтобы понять это правильно, и тогда вам все равно понадобится виртуальная машина для проверки результата, поэтому я не вижу смысла в этом.

Ответ 2

Используйте Cocotron для кросс-компиляции непосредственно из Xcode. Здесь есть хорошее руководство по началу работы: http://blog.tlensing.org/tag/cocotron/

Ответ 3

Я изо всех сил пытался получить crosstool-ng для создания OSX 10.9 для x86_64 Linux. Я использовал очень полезный пост на как построить кросс-компилятор gcc от Jeff Preshing и его script здесь в качестве основы для script, который сработал у меня. Его script в ссылке не работает при компиляции glibc в моей версии OSX (которая, кажется, очень распространенная жалоба на кросс-компиляцию из OSX в Linux).

Мой script находится здесь: https://github.com/johnlondon/Cross-compile-toolchain-for-linux-on-OSX

Ответ 4

Вы можете использовать crosstool-ng, или если вы не хотите тратить слишком много времени на его настройку, вы можете загрузить предварительно сконфигурированный кросс-компилятор, как Linaro. Здесь руководство для установки в Mac OS X.