Как изменить, какой набор инструментов использует scons
Я пытаюсь скомпилировать OpeniBoot на устройстве ARM, а именно PocketCHIP, в соответствии с данным руководством (но с некоторыми незначительными изменениями, учитывая, что я не использую Raspberry Pi.). OpeniBoot - это пользовательский низкоуровневый загрузчик, разработанный для установки на устройства Apple, такие как iPod Touch или iPhone. Это позволяет пользователю запускать ядро Linux вместе со стандартным ядром iOS, а также выполнять другие операции низкого уровня.
Мне удалось скомпилировать и установить почти все перечисленные зависимости, чтобы скомпилировать бинарный файл для OpeniBoot. Однако при запуске scons iPhone4
Я получаю ошибку:
chip@chip:~/openiBoot$ scons iPhone4
...
arch-arm/asmhelpers.sx: Assembler messages:
arch-arm/asmhelpers.sx:212: Error: selected processor does not support `wfi'
scons: *** [arch-arm/iPhone4_asmhelpers.o] Error 1
scons: building terminated because of errors.
Я исследовал эту ошибку, и я нашел это решение:
Исправлено это путем добавления "-mcpu=cortex-a8" к опциям компилятора.
Я уже пытался добавить опцию к самой команде scons, используя синтаксис, подобный следующему:
scons -mcpu=cortex-a8 iPhone4
но безрезультатно.
Итак, вопрос: как я могу передать опции компилятору при использовании scons
?
--РЕДАКТИРОВАТЬ--
С тех пор я решил этот вопрос, изменив строку в файле "ARMEnviroment.SConscript" на подобные:
plat_flags = ['-mlittle-endian', '-mfpu=vfp', '-mthumb', '-mthumb-interwork', '-fPIC', '-mcpu=cortex-a8']
Тем не менее, я теперь сталкиваюсь с новой ошибкой при компиляции:
chip@chip:~/openiBoot$ scons iPhone4
...
arch-arm/entry.sx:0: error: bad value (cortex-a8) for -mcpu= switch
scons: *** [arch-arm/iPhone4_entry.o] Error 1
scons: building terminated because of errors.
Я считаю, что это потому, что scons
все еще использует старый набор инструментов, установленный с apt-get
GCC-4.9.2 вместо использования openiboot-toolchain
что я скомпилировал (и я считаю, что это необходимо для компиляции этой программы).
Так что вопрос в том, как мне изменить какой набор инструментов scons
использует для компиляции кода?