Как да избера персонализиран изходен код OVERRIDE_SRCDIR за GCC при изграждане на Buildroot?

Използвам настройките BR2_PACKAGE_OVERRIDE_FILE + <pkg>_OVERRIDE_SRCDIR в Buildroot 2018.05 за успешно проследяване на интересуващи ме пакети като Binutils и glibc като подмодули на моя проект:

BINUTILS_OVERRIDE_SRCDIR = ../../submodules/binutils-gdb
GLIBC_OVERRIDE_SRCDIR = ../../submodules/glibc

Въпреки това, когато опитах аналогична процедура за GCC, изглежда не влезе в сила:

GCC_OVERRIDE_SRCDIR = ../../submodules/gcc

Например под build/ в папката за изграждане получавам обичайното:

host-gcc-final-7.3.0
host-gcc-initial-7.3.0

вместо очакваните -custom версии.

Има ли начин да го постигнете?

Може би http://buildroot-busybox.2317881.n4.nabble.com/Internal-toolchain-wrapper-ccache-fixes-tp113064p113187.html предполага, че това е просто изключение за GCC поради технически причини, но тази нишка вече е на няколко години, и все още не съм се опитал да го разбера напълно.


person Ciro Santilli 新疆再教育营六四事件ۍ    schedule 04.03.2019    source източник


Отговори (1)


gcc не е действителен пакет. Състои се от два пакета, които споделят известна конфигурация: gcc-initial и gcc-final. По този начин трябва да зададете

GCC_INITIAL_OVERRIDE_SRCDIR = ../../submodules/gcc
GCC_FINAL_OVERRIDE_SRCDIR = ../../submodules/gcc

или, за да го факторизираме малко по същия начин, както го правят пакетите в дървото:

GCC_OVERRIDE_SRCDIR = ../../submodules/gcc
GCC_INITIAL_OVERRIDE_SRCDIR = $(GCC_OVERRIDE_SRCDIR)
GCC_FINAL_OVERRIDE_SRCDIR = $(GCC_OVERRIDE_SRCDIR)
person Arnout    schedule 05.03.2019
comment
А, благодаря Арнаут! Трябваше да опитам това. Ще бъде красиво. Единственото нещо, което липсва сега за съвършенство, не е необходимо да се изгражда от SRCDIR от дърво вместо грозен rsync. - person Ciro Santilli 新疆再教育营六四事件ۍ 06.03.2019