void-packages/common/environment/configure/gnu-configure-args.sh
Érico Rolim de99c9693f environment/configure/gnu-configure: always include configure_args from
template last.

This makes sure that anything set in templates will override the
defaults.
2020-12-27 22:31:15 -03:00

132 lines
3.4 KiB
Bash

# This file sets up configure_args with common settings.
if [ -n "$build_style" -a "$build_style" != "gnu-configure" ]; then
return 0
fi
# Store args from template so they can be included last and override
# our defaults
TEMPLATE_CONFIGURE_ARGS="${configure_args}"
export configure_args="--prefix=/usr --sysconfdir=/etc --sbindir=/usr/bin --bindir=/usr/bin
--mandir=/usr/share/man --infodir=/usr/share/info --localstatedir=/var"
. ${XBPS_COMMONDIR}/build-profiles/${XBPS_MACHINE}.sh
export configure_args+=" --host=$XBPS_TRIPLET --build=$XBPS_TRIPLET"
# Always use wordsize-specific libdir even though the real path is lib
# This is to make sure 32-bit and 64-bit libs can coexist when looking
# up things (the opposite-libdir is always symlinked as libNN)
export configure_args+=" --libdir=/usr/lib${XBPS_TARGET_WORDSIZE}"
_AUTOCONFCACHEDIR=${XBPS_COMMONDIR}/environment/configure/autoconf_cache
# From now on all vars are exported to the environment
set -a
# Read autoconf cache variables for native target.
case "$XBPS_TARGET_MACHINE" in
# musl libc
*-musl) . ${_AUTOCONFCACHEDIR}/musl-linux
;;
esac
# Cross compilation vars
if [ -z "$CROSS_BUILD" ]; then
export configure_args+=" ${TEMPLATE_CONFIGURE_ARGS}"
unset TEMPLATE_CONFIGURE_ARGS
set +a
return 0
fi
export configure_args+=" --host=$XBPS_CROSS_TRIPLET --with-sysroot=$XBPS_CROSS_BASE --with-libtool-sysroot=$XBPS_CROSS_BASE "
export configure_args+=" ${TEMPLATE_CONFIGURE_ARGS}"
unset TEMPLATE_CONFIGURE_ARGS
# Read autoconf cache variables for cross target (taken from OE).
case "$XBPS_TARGET_MACHINE" in
# musl libc
*-musl) . ${_AUTOCONFCACHEDIR}/common-linux
. ${_AUTOCONFCACHEDIR}/musl-linux
;;
# gnu libc
*) . ${_AUTOCONFCACHEDIR}/common-linux
. ${_AUTOCONFCACHEDIR}/common-glibc
;;
esac
# Read apropiate autoconf cache files for target machine.
case "$XBPS_TARGET_MACHINE" in
armv5te*|armv?l*)
. ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/arm-common
. ${_AUTOCONFCACHEDIR}/arm-linux
;;
aarch64*)
. ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/aarch64-linux
;;
i686*) . ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/ix86-common
;;
mips) . ${_AUTOCONFCACHEDIR}/endian-big
. ${_AUTOCONFCACHEDIR}/mips-common
. ${_AUTOCONFCACHEDIR}/mips-linux
;;
mipshf*)
. ${_AUTOCONFCACHEDIR}/endian-big
. ${_AUTOCONFCACHEDIR}/mips-common
. ${_AUTOCONFCACHEDIR}/mips-linux
;;
mipsel*)
. ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/mips-common
. ${_AUTOCONFCACHEDIR}/mips-linux
;;
x86_64*)
. ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/x86_64-linux
;;
ppc64le*)
. ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/powerpc-common
. ${_AUTOCONFCACHEDIR}/powerpc-linux
. ${_AUTOCONFCACHEDIR}/powerpc64-linux
;;
ppc64*)
. ${_AUTOCONFCACHEDIR}/endian-big
. ${_AUTOCONFCACHEDIR}/powerpc-common
. ${_AUTOCONFCACHEDIR}/powerpc-linux
. ${_AUTOCONFCACHEDIR}/powerpc64-linux
;;
ppcle*)
. ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/powerpc-common
. ${_AUTOCONFCACHEDIR}/powerpc-linux
. ${_AUTOCONFCACHEDIR}/powerpc32-linux
;;
ppc*)
. ${_AUTOCONFCACHEDIR}/endian-big
. ${_AUTOCONFCACHEDIR}/powerpc-common
. ${_AUTOCONFCACHEDIR}/powerpc-linux
. ${_AUTOCONFCACHEDIR}/powerpc32-linux
;;
*) ;;
esac
unset _AUTOCONFCACHEDIR
set +a # vars are not exported to the environment anymore