0
0
mirror of https://github.com/termux/termux-packages.git synced 2025-03-04 08:18:54 +00:00
termux-packages/scripts/build/configure/termux_step_configure.sh
Maxython 3446e6d564 scripts: cross-compilation implementation (compilation of 32-bit programs for 64-bit arch)
- New variables have been implemented:
 - TERMUX_PKG_BUILD32 - enables or disables cross-compilation of the package
 - TERMUX_PKG_BUILD32DIR - path to compiled cross-package components
 - TERMUX_LIB64_PATH - 64-bit library path
 - TERMUX_LIB32_PATH - 32-bit library path
 - TERMUX_LIB_PATH - path to the library which changes depending on the compilation type (non-cross - TERMUX_LIB64_PATH, cross - TERMUX_LIB32_PATH)
- Implemented cross functions (termux_step_configure32, termux_step_make32 and termux_step_make_install32).
- The application environment setup scheme has been updated to ensure that cgct works properly. It now sets up temporary glibc, glibc32 packages, and libgcc symbolic links from cgct when needed. The updated scheme also allows forks to easily build glibc packages for their applications.
- The glibc package naming standard has been updated, now glibc packages can be named with the "glibc32" prefix.
2025-02-28 14:35:53 +03:00

39 lines
1.3 KiB
Bash

termux_step_configure() {
[ "$TERMUX_PKG_METAPACKAGE" = "true" ] && return
# This check should be above autotools check as haskell package too makes use of configure scripts which
# should be executed by its own build system.
if ls "${TERMUX_PKG_SRCDIR}"/*.cabal &>/dev/null; then
[ "$TERMUX_CONTINUE_BUILD" == "true" ] && return
termux_step_configure_haskell_build
elif [ "$TERMUX_PKG_FORCE_CMAKE" = "false" ] && [ -f "$TERMUX_PKG_SRCDIR/configure" ]; then
if [ "$TERMUX_CONTINUE_BUILD" == "true" ]; then
return
fi
termux_step_configure_autotools
elif [ "$TERMUX_PKG_FORCE_CMAKE" = "true" ] || [ -f "$TERMUX_PKG_SRCDIR/CMakeLists.txt" ]; then
termux_setup_cmake
if [ "$TERMUX_CMAKE_BUILD" = Ninja ]; then
termux_setup_ninja
fi
# Some packages, for example swift, uses cmake
# internally, but cannot be configured with our
# termux_step_configure_cmake function (CMakeLists.txt
# is not in src dir)
if [ -f "$TERMUX_PKG_SRCDIR/CMakeLists.txt" ] &&
[ "$TERMUX_CONTINUE_BUILD" == "false" ]; then
termux_step_configure_cmake
fi
elif [ -f "$TERMUX_PKG_SRCDIR/meson.build" ]; then
if [ "$TERMUX_CONTINUE_BUILD" == "true" ]; then
return
fi
termux_step_configure_meson
fi
}
termux_step_configure32() {
termux_step_configure
}