LINUX.ORG.RU

[gcc] вопрос гуру

 


0

0

В наличии есть linux (x86) и некоторая программа на си. Задача - собрать ее на других архитектурах и платформах. Решение в лоб простое - найти машину нужной архитектуры и с нужной платформой и собрать программу там. Но так не интересно :) вопрос в следующем: как научить debian собирать программы для linux, freebsd, windows и mac os x, с вариациями архитектур у этих платформ x86, x86-64 и ppc?

★★★★★

Собрать кросс-компилятор или взять готовый.

tailgunner ★★★★★
()

ну раз про кросскомпиляцию уже написали, то добавлю что вместо поиска (днем с огнем) нужной экзотической машины можно вполне воспользоваться и виртуальной, особенно если собираемая программа достаточно сложна и недружелюбна к кросскомпилированию

Sylvia ★★★★★
()
Ответ на: комментарий от Sylvia

могу еще порекомендовать qemu для не самых популярных архитектур.

val-amart ★★★★★
()
Ответ на: комментарий от rmap

> этот инструмент - http://ymorin.is-a-geek.org/projects/crosstool И вообще, лучше всего искать уже готовые системы сборки кросс-компиляторов.

Взаимоисключающие параграфы детектед.

И да, таки лучше использовать готовые сборки ()http://www.emdebian.org/ или пересобирать готовые пакеты с исходниками.

tailgunner ★★★★★
()

Спасибо за ответы. Про кросскомпиляцию я подумал, но когда рылся по пакетам дебиана, то ничего похожего не обнаружил, потому сунул задачу в долгий ящик. Сегодня я еще раз внимательно осмотрел все пакеты в дебиане, так или иначе связанные с кросскомпиляцией и вывод оказался простой: хочешь кросскомпиляцию, собери binutils и gcc под нужную платформу сам. Что не debian-way. Поэтому сейчас собираю cross-binutils и cross-gcc на FreeBSD, где много меньше геморроя с этим делом. В принципе сейчас еще попробую собрать cross-binutils и cross-gcc на Debian'е через binutils-multiarch и gcc-multiarch.

Случай с qemu хорош, но бывают и сложности - на него не водрузить Mac OS, к примеру (конкретно в этом случае у меня есть «пожарный выход» - собрать на реальном маке все, благо есть в наличии).

alex-w ★★★★★
() автор топика
Ответ на: комментарий от alex-w

Случай с qemu хорош, но бывают и сложности - на него не водрузить Mac OS, к примеру

Вроде, в новых Virtual Box можно ставить макось. Где-то даже на главное пробегало, если я не ошибаюсь.

drakmail ★★★★
()
Ответ на: комментарий от drakmail

можно, в виртуалбокс сделали эксприментальную поддержку

Sylvia ★★★★★
()
Ответ на: комментарий от alex-w

> вывод оказался простой: хочешь кросскомпиляцию, собери binutils и gcc под нужную платформу сам. Что не debian-way.

Как ты заработал две звезды?

Поэтому сейчас собираю cross-binutils и cross-gcc на FreeBSD, где много меньше геморроя с этим делом.

(злорадно) Да ты еще и по ссылкам не ходишь.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.