build: fix fstools host compile path + bison spawn.h cross-compile
fstools.mk: Use canonical local/sources/ paths for installer and redoxfs cargo install --path. The recipes/ symlink chain caused cargo to resolve path dependencies (../libredox, ../redoxfs, ../syscall) relative to the recipe directory instead of the canonical source location, breaking the host build. bison: Add cross-compilation cache variables for POSIX spawn support. Gnulib's configure couldn't detect the system spawn.h during cross-compile, causing generated lib/spawn.h to omit #include_next, leaving POSIX_SPAWN_* constants undefined.
This commit is contained in:
@@ -10,6 +10,17 @@ export ac_cv_func___fseterr=yes
|
||||
export ac_cv_type_sigset_t=yes
|
||||
export ac_cv_type_posix_spawnattr_t=yes
|
||||
export ac_cv_type_posix_spawn_file_actions_t=yes
|
||||
export ac_cv_header_spawn_h=yes
|
||||
export ac_cv_func_posix_spawn=yes
|
||||
export ac_cv_func_posix_spawnp=yes
|
||||
export gl_cv_header_spawn_h_self_contained=yes
|
||||
export gl_cv_header_spawn_h_POSIX_SPAWN_RESETIDS=yes
|
||||
export gl_cv_header_spawn_h_POSIX_SPAWN_SETPGROUP=yes
|
||||
export gl_cv_header_spawn_h_POSIX_SPAWN_SETSIGDEF=yes
|
||||
export gl_cv_header_spawn_h_POSIX_SPAWN_SETSIGMASK=yes
|
||||
export gl_cv_header_spawn_h_POSIX_SPAWN_SETSCHEDULER=yes
|
||||
export gl_cv_header_spawn_h_POSIX_SPAWN_SETSCHEDPARAM=yes
|
||||
export gl_cv_header_spawn_h_POSIX_SPAWN_USEVFORK=yes
|
||||
COOKBOOK_CONFIGURE_FLAGS+=(
|
||||
--disable-nls
|
||||
)
|
||||
|
||||
+5
-2
@@ -20,10 +20,13 @@ else
|
||||
$(MAKE) fstools_fetch PODMAN_BUILD=$(GOING_TO_PODMAN_AGAIN)
|
||||
|
||||
# Compile installer and redoxfs for host (may be outside of podman container)
|
||||
# Use canonical local fork paths so cargo resolves path dependencies correctly.
|
||||
# When source is accessed via recipes/ symlinks, cargo resolves "../dep" paths
|
||||
# from the symlink location, not the canonical location, breaking path deps.
|
||||
cd $@.partial && \
|
||||
export CARGO_TARGET_DIR=../$@-target && \
|
||||
$(HOST_CARGO) install --root . --path recipes/core/installer/source --locked $(INSTALLER_FEATURES) && \
|
||||
$(HOST_CARGO) install --root . --path recipes/core/redoxfs/source --locked $(REDOXFS_FEATURES)
|
||||
$(HOST_CARGO) install --root . --path local/sources/installer --locked $(INSTALLER_FEATURES) && \
|
||||
$(HOST_CARGO) install --root . --path local/sources/redoxfs --locked $(REDOXFS_FEATURES)
|
||||
|
||||
mv $@.partial $@
|
||||
touch $@
|
||||
|
||||
Reference in New Issue
Block a user