LINUX.ORG.RU

как помирить два тул-чейна в одном проекте?

 ,


0

1

у меня есть проэкт в котором часть кода должна компилироватся gcc для A15 а вторая gcc для M4. это создает проблемы с использованием переменных окружения CROSS_COMPILE и стандартных именований тулчейнов типа arm-none-eabi-gcc или arm-eabi-gcc.

тоесть проэкт допустим состоит из 2-х исходников: M4.c и A15.c + Makefile.

Сейчас Makefile выглядит примерно так:

all: M4 A15

TARGET_GCC=$(CROSS_COMPILE)gcc

A15: A15.c
    $(TARGET_GCC) -o A15 A15.c

M4: M4.c
    arm-none-eabi-gcc -o M4 M4.c

собственно проблема в том что никто не знает какие тулчейны будут стоять на той машине где будет происходить сборка и мне нужен какой нибудь кошерный способ меппинга тулчейнов на CPU.

интересуют любые идеи по упорядочиванию ситуации.

★★★★★

Последнее исправление: cvv (всего исправлений: 2)

В итоге после компиляции их в один бинарник нужно линковать? Если да, то линковать можно будет только одним линковщиком, и он может ругаться, на файлы, скомпилинные иным gcc. Тут лучше shared либу создать для одного из них.
Если в итоге нужно 2 файла, то вроде проблем не должно быть, можно перед запуском ./configure добавить переменные.

CROSS_COMPILE=arm-none-eabi-gcc ./configure
Ну и вопрос поконкретнее бы сформулировать, пробовал так, не получилось потому что..

rudolfovich
()

юзаю для кроссбилдов cmake. Проблем не имею!

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

В итоге после компиляции их в один бинарник нужно линковать? Если да, то линковать можно будет только одним линковщиком, и он может ругаться, на файлы, скомпилинные иным gcc. Тут лучше shared либу создать для одного из них.

Код для А15 слинковать с кодом для М4? ты шутник однако

Если в итоге нужно 2 файла, то вроде проблем не должно быть, можно перед запуском ./configure добавить переменные.

да нужно два файла

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

У меня в компьютере два кода, что мне делать? Помогите срочно!

Может нужно яснее выражаться, поменьше умничать и тогда помогут?
Что в твоём понимании «проект», «часть кода» и вообще что мешает скомпилировать разными gcc? Вопрос не понятен, если ты и так всё знаешь?

rudolfovich
()
Ответ на: комментарий от cvv

Код для А15 слинковать с кодом для М4? ты шутник однако

Вообще то код сначала нужно скомпилировать, потом уже линковать обж-файлы. Если я не прав, то расскажи как ты код линкуешь?

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

Попытался доработать описание проблемы

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