build-package: mv code for creating llvm-config
After https://github.com/termux/termux-packages/commit/e34ae5da030d, llvm-config was created before termux_step_get_dependencies, meaning that it gets overwritten if libllvm is installed. Fix this by creating llvm-config in a new function termux_step_override_config_scripts, that is run right after termux_step_get_dependencies.
This commit is contained in:
parent
fea2b14efd
commit
26da480d36
|
@ -107,6 +107,10 @@ source "$TERMUX_SCRIPTDIR/scripts/build/termux_get_repo_files.sh"
|
|||
# shellcheck source=scripts/build/termux_step_get_dependencies.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_get_dependencies.sh"
|
||||
|
||||
# Handle config scripts that needs to be run during build. Not to be overridden by packages.
|
||||
# shellcheck source=scripts/build/termux_step_override_config_scripts.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_override_config_scripts.sh"
|
||||
|
||||
# Remove old src and build folders and create new ones
|
||||
# shellcheck source=scripts/build/termux_step_setup_build_folders.sh
|
||||
source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_setup_build_folders.sh"
|
||||
|
@ -437,6 +441,7 @@ for ((i=0; i<${#PACKAGE_LIST[@]}; i++)); do
|
|||
|
||||
if [ "$TERMUX_CONTINUE_BUILD" == "false" ]; then
|
||||
termux_step_get_dependencies
|
||||
termux_step_override_config_scripts
|
||||
fi
|
||||
|
||||
termux_step_create_timestamp_file
|
||||
|
|
|
@ -0,0 +1,23 @@
|
|||
termux_step_override_config_scripts() {
|
||||
if [ "$TERMUX_INSTALL_DEPS" == true ] && [ "$TERMUX_PKG_DEPENDS" != "${TERMUX_PKG_DEPENDS/libllvm/}" ]; then
|
||||
LLVM_DEFAULT_TARGET_TRIPLE=$TERMUX_HOST_PLATFORM
|
||||
if [ $TERMUX_ARCH = "arm" ]; then
|
||||
LLVM_TARGET_ARCH=ARM
|
||||
elif [ $TERMUX_ARCH = "aarch64" ]; then
|
||||
LLVM_TARGET_ARCH=AArch64
|
||||
elif [ $TERMUX_ARCH = "i686" ]; then
|
||||
LLVM_TARGET_ARCH=X86
|
||||
elif [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
LLVM_TARGET_ARCH=X86
|
||||
fi
|
||||
LIBLLVM_VERSION=$(. $TERMUX_SCRIPTDIR/packages/libllvm/build.sh; echo $TERMUX_PKG_VERSION)
|
||||
sed $TERMUX_SCRIPTDIR/packages/libllvm/llvm-config.in \
|
||||
-e "s|@TERMUX_PKG_VERSION@|$LIBLLVM_VERSION|g" \
|
||||
-e "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|g" \
|
||||
-e "s|@TERMUX_PKG_SRCDIR@|$TERMUX_TOPDIR/libllvm/src|g" \
|
||||
-e "s|@LLVM_TARGET_ARCH@|$LLVM_TARGET_ARCH|g" \
|
||||
-e "s|@LLVM_DEFAULT_TARGET_TRIPLE@|$LLVM_DEFAULT_TARGET_TRIPLE|g" \
|
||||
-e "s|@TERMUX_ARCH@|$TERMUX_ARCH|g" > $TERMUX_PREFIX/bin/llvm-config
|
||||
chmod 755 $TERMUX_PREFIX/bin/llvm-config
|
||||
fi
|
||||
}
|
|
@ -71,28 +71,6 @@ termux_step_start_build() {
|
|||
return
|
||||
fi
|
||||
|
||||
if [ "$TERMUX_INSTALL_DEPS" == true ] && [ "$TERMUX_PKG_DEPENDS" != "${TERMUX_PKG_DEPENDS/libllvm/}" ]; then
|
||||
LLVM_DEFAULT_TARGET_TRIPLE=$TERMUX_HOST_PLATFORM
|
||||
if [ $TERMUX_ARCH = "arm" ]; then
|
||||
LLVM_TARGET_ARCH=ARM
|
||||
elif [ $TERMUX_ARCH = "aarch64" ]; then
|
||||
LLVM_TARGET_ARCH=AArch64
|
||||
elif [ $TERMUX_ARCH = "i686" ]; then
|
||||
LLVM_TARGET_ARCH=X86
|
||||
elif [ $TERMUX_ARCH = "x86_64" ]; then
|
||||
LLVM_TARGET_ARCH=X86
|
||||
fi
|
||||
LIBLLVM_VERSION=$(. $TERMUX_SCRIPTDIR/packages/libllvm/build.sh; echo $TERMUX_PKG_VERSION)
|
||||
sed $TERMUX_SCRIPTDIR/packages/libllvm/llvm-config.in \
|
||||
-e "s|@TERMUX_PKG_VERSION@|$LIBLLVM_VERSION|g" \
|
||||
-e "s|@TERMUX_PREFIX@|$TERMUX_PREFIX|g" \
|
||||
-e "s|@TERMUX_PKG_SRCDIR@|$TERMUX_TOPDIR/libllvm/src|g" \
|
||||
-e "s|@LLVM_TARGET_ARCH@|$LLVM_TARGET_ARCH|g" \
|
||||
-e "s|@LLVM_DEFAULT_TARGET_TRIPLE@|$LLVM_DEFAULT_TARGET_TRIPLE|g" \
|
||||
-e "s|@TERMUX_ARCH@|$TERMUX_ARCH|g" > $TERMUX_PREFIX/bin/llvm-config
|
||||
chmod 755 $TERMUX_PREFIX/bin/llvm-config
|
||||
fi
|
||||
|
||||
# Make $TERMUX_PREFIX/bin/sh executable on the builder, so that build
|
||||
# scripts can assume that it works on both builder and host later on:
|
||||
[ "$TERMUX_ON_DEVICE_BUILD" = "false" ] && ln -sf /bin/sh "$TERMUX_PREFIX/bin/sh"
|
||||
|
|
Loading…
Reference in New Issue