builder: msys2: fix links to host binaries
Factor out non-environment code from host_env()/target_env() into host_env_base()/target_env_base(). Such as that for creating symlinks to root, link host binaries to the target root, as well as calling the hook. Call the _base() functions from the msys2 overrides so that symlinks are created properly, remove redundant symlink code.
This commit is contained in:
parent
727606420a
commit
5b0f2e8aa6
|
@ -13,7 +13,7 @@ export PERL_MAKE="${PERL_MAKE:-make}"
|
||||||
|
|
||||||
BUILD_ENV=$BUILD_ENV$(cat <<EOF
|
BUILD_ENV=$BUILD_ENV$(cat <<EOF
|
||||||
|
|
||||||
export BUILD_ROOT="\$BUILD_ROOT"
|
export BUILD_ROOT="\${BUILD_ROOT:-$BUILD_ROOT}"
|
||||||
|
|
||||||
export CC="\${CC:-gcc}"
|
export CC="\${CC:-gcc}"
|
||||||
export CXX="\${CXX:-g++}"
|
export CXX="\${CXX:-g++}"
|
||||||
|
|
|
@ -71,9 +71,13 @@ fi
|
||||||
|
|
||||||
both_dists=$(list_remove_duplicates $both_dists)
|
both_dists=$(list_remove_duplicates $both_dists)
|
||||||
|
|
||||||
host_env() {
|
host_env_base() {
|
||||||
rm -f "$BUILD_ROOT/root"
|
rm -f "$BUILD_ROOT/root"
|
||||||
ln -sf "$BUILD_ROOT/host" "$BUILD_ROOT/root"
|
ln -sf "$BUILD_ROOT/host" "$BUILD_ROOT/root"
|
||||||
|
host_env_hook 2>/dev/null || :
|
||||||
|
}
|
||||||
|
|
||||||
|
host_env() {
|
||||||
if [ -z "$OCC" ]; then
|
if [ -z "$OCC" ]; then
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
OCC="\$CC"
|
OCC="\$CC"
|
||||||
|
@ -110,13 +114,28 @@ REQUIRED_CMAKE_ARGS="\$(puts "\$REQUIRED_CMAKE_ARGS" | sed 's/-DCMAKE_TOOLCHAIN_
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
host_env_hook 2>/dev/null || :
|
host_env_base 2>/dev/null || :
|
||||||
}
|
}
|
||||||
|
|
||||||
target_env() {
|
target_env_base() {
|
||||||
rm -f "$BUILD_ROOT/root"
|
rm -f "$BUILD_ROOT/root"
|
||||||
ln -sf "$BUILD_ROOT/target" "$BUILD_ROOT/root"
|
ln -sf "$BUILD_ROOT/target" "$BUILD_ROOT/root"
|
||||||
|
|
||||||
|
# make links to executables in the target as well
|
||||||
|
IFS=$NL
|
||||||
|
for exe in $(find "$BUILD_ROOT/host/bin" -maxdepth 1 -type f); do
|
||||||
|
IFS=$OIFS
|
||||||
|
basename=${exe##*/}
|
||||||
|
if ! path_exists "$BUILD_ROOT/target/bin/$basename"; then
|
||||||
|
ln -s "$exe" "$BUILD_ROOT/target/bin/$basename";
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
IFS=$OIFS
|
||||||
|
|
||||||
|
target_env_hook 2>/dev/null || :
|
||||||
|
}
|
||||||
|
|
||||||
|
target_env() {
|
||||||
if [ -n "$OCC" ]; then
|
if [ -n "$OCC" ]; then
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
export CC="\$OCC"
|
export CC="\$OCC"
|
||||||
|
@ -140,18 +159,7 @@ $BUILD_ENV
|
||||||
EOF
|
EOF
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# make links to executables in the target as well
|
target_env_base 2>/dev/null || :
|
||||||
IFS=$NL
|
|
||||||
for exe in $(find "$BUILD_ROOT/host/bin" -maxdepth 1 -type f); do
|
|
||||||
IFS=$OIFS
|
|
||||||
basename=${exe##*/}
|
|
||||||
if ! path_exists "$BUILD_ROOT/target/bin/$basename"; then
|
|
||||||
ln -s "$exe" "$BUILD_ROOT/target/bin/$basename";
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
IFS=$OIFS
|
|
||||||
|
|
||||||
target_env_hook 2>/dev/null || :
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# replace install artifact paths with absolute paths into host and target trees
|
# replace install artifact paths with absolute paths into host and target trees
|
||||||
|
|
|
@ -107,8 +107,6 @@ DIST_TAR_ARGS="
|
||||||
. "${0%/*}/../builder/mingw.sh"
|
. "${0%/*}/../builder/mingw.sh"
|
||||||
|
|
||||||
host_env() {
|
host_env() {
|
||||||
ln -sf "$BUILD_ROOT/host" "$BUILD_ROOT/root"
|
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
unset MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE ACLOCAL_PATH PKG_CONFIG_PATH
|
unset MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE ACLOCAL_PATH PKG_CONFIG_PATH
|
||||||
|
|
||||||
|
@ -120,11 +118,10 @@ $BUILD_ENV
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cd "$OPWD"
|
cd "$OPWD"
|
||||||
|
host_env_base 2>/dev/null || :
|
||||||
}
|
}
|
||||||
|
|
||||||
target_env() {
|
target_env() {
|
||||||
ln -sf "$BUILD_ROOT/target" "$BUILD_ROOT/root"
|
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
unset MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE ACLOCAL_PATH PKG_CONFIG_PATH
|
unset MSYSTEM_PREFIX MSYSTEM_CARCH MSYSTEM_CHOST MINGW_CHOST MINGW_PREFIX MINGW_PACKAGE_PREFIX CONFIG_SITE ACLOCAL_PATH PKG_CONFIG_PATH
|
||||||
|
|
||||||
|
@ -136,6 +133,7 @@ $BUILD_ENV
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
cd "$OPWD"
|
cd "$OPWD"
|
||||||
|
target_env_base 2>/dev/null || :
|
||||||
}
|
}
|
||||||
|
|
||||||
table_line_append DIST_PRE_BUILD c2man ":; \
|
table_line_append DIST_PRE_BUILD c2man ":; \
|
||||||
|
|
Loading…
Reference in New Issue