2014-07-21

waqur: (Евро)
Кросс-компиляция в шланге — просто конфетка по сравнению с gcc.

Скачиваются последние бинарики под вашу платформу с llvm.org, с целевой машины тарятся папки /lib, /usr/lib, /usr/include, кросс-компилятору передаются все задающие целевую платформу опции (например для Raspberry Pi: -target armv6--freebsd10.0-gnueabi -mcpu=arm1176jzf-s -mtune=arm1176jzf-s -mfpu=vfp -mfloat-abi=softfp), плюс пути к растаренным инклудам/либам — и вуаля, у нас уже есть набор объектных файлов.

Правда, чтобы скомпоновать их, всё равно нужен платформенно-зависимый компоновщик — GNU ld из binutils или Microsoft link.exe. Однако же собрать cross-binutils куда проще, чем весь cross-toolchain: одно стандартное заклинание ./configure ; make ; make install и всё.

GNU ld и GNU as тоже, конечно, могли бы принимать опцию -target и независимо от хост-платформы поддерживать любые целевые архитектуры. В идеальном мире. На практике, я думаю, мы скорее дождёмся alternative BSD-licensed binutils от проекта LLVM, чем упоротые Столлмэновские наркоманы доведут до ума свои поделки.

March 2024

S M T W T F S
     12
3456789
10111213141516
17181920212223
24252627282930
31      

На этой странице

Автор стиля

Развернуть

No cut tags
Page generated 2025-10-03 04:57 am
Powered by Dreamwidth Studios