- кросс-компиляция xorg с использованием jhbuild
- для некоторых приложений / библиотек требуются инструменты сборки, созданные для системы сборки
- попытка создать патч для этих собственных инструментов сборки
- предупреждение: noob, сначала погрузитесь во внутреннее устройство automake, но изучайте / пытайтесь больше недели.
пример (libxt-util-makefile_am-cross-compile.patch)
--- a/util/Makefile.am 2020-08-03 10:57:21.986718082 -0400
+++ b/util/Makefile.am 2020-08-03 11:02:07.131431724 -0400
@@ -1,8 +1,7 @@
noinst_PROGRAMS = makestrs
-CC = @CC_FOR_BUILD@
-CFLAGS = @CFLAGS_FOR_BUILD@
-LDFLAGS = @LDFLAGS_FOR_BUILD@
+HOST := $(shell echo $$BUILD)
+TARGET := $(shell echo $$TARGET)
EXTRA_DIST = \
Shell.ht \
@@ -10,10 +9,8 @@
StrDefs.ht \
string.list
-makestrs_CFLAGS = $(XT_CFLAGS)
makestrs_SOURCES = makestrs.c
-
# Man page
appmandir = $(APP_MAN_DIR)
@@ -28,4 +25,15 @@
# String replacements in MAN_SUBSTS now come from xorg-macros.m4 via configure
.man.$(APP_MAN_SUFFIX):
+ifeq ($(HOST), $(TARGET))
+ CC = @CC_FOR_BUILD@
+ CFLAGS = @CFLAGS_FOR_BUILD@
+ LDFLAGS = @LDFLAGS_FOR_BUILD@
+ makestrs_CFLAGS = $(XT_CFLAGS)
+else
+ CC = @CC_FOR_BUILD@
+ CFLAGS = @CFLAGS_FOR_BUILD@
+ LDFLAGS = @LDFLAGS_FOR_BUILD@
+ makestrs_CFLAGS = "-I. -I.. -I/usr/include"
+endif
$(AM_V_GEN)$(SED) $(MAN_SUBSTS) < $< > $@
В качестве «доказательства принципа» единственным изменением является «makestrs_CFLAGS», который следует установить по-другому, если $ (HOST), $ (TARGET) не совпадают.
Результат: не удается заставить это работать. Нужен совет специалиста.
Спасибо; Счет