void-packages/common/environment/configure/gnu-configure-args.sh
Juan RP 313cdf6ee6 xbps-src: force reconfiguration of base-directories in sysroot.
... otherwise some required symlinks in sysroot aren't created, and this
seems to be required when cross compiling for i686.
2015-04-15 12:23:07 +02:00

77 lines
2 KiB
Bash

# This file sets up configure_args with common settings.
if [ -n "$build_style" -a "$build_style" != "gnu-configure" ]; then
return 0
fi
export configure_args="--prefix=/usr --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man --localstatedir=/var ${configure_args}"
. ${XBPS_COMMONDIR}/build-profiles/${XBPS_MACHINE}.sh
export configure_args+=" --host=$XBPS_TRIPLET --build=$XBPS_TRIPLET"
if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
# on x86 use /usr/lib32 as libdir, but just as fake directory,
# because /usr/lib32 is a symlink to /usr/lib in void.
export configure_args+=" --libdir=/usr/lib32"
fi
# Cross compilation vars
if [ -z "$CROSS_BUILD" ]; then
return 0
fi
export configure_args+=" --host=$XBPS_CROSS_TRIPLET --with-sysroot=$XBPS_CROSS_BASE --with-libtool-sysroot=$XBPS_CROSS_BASE "
_AUTOCONFCACHEDIR=${XBPS_COMMONDIR}/environment/configure/autoconf_cache
# From now on all vars are exported to the environment
set -a
# Read autoconf cache variables for cross target (taken from OE).
case "$XBPS_TARGET_MACHINE" in
# musl libc
*-musl) . ${_AUTOCONFCACHEDIR}/common-linux
;;
# gnu libc
*) . ${_AUTOCONFCACHEDIR}/common-linux
. ${_AUTOCONFCACHEDIR}/common-glibc
;;
esac
# Read apropiate autoconf cache files for target machine.
case "$XBPS_TARGET_MACHINE" in
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
;;
mipsel) . ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/mips-common
. ${_AUTOCONFCACHEDIR}/mips-linux
;;
x86_64*)
. ${_AUTOCONFCACHEDIR}/endian-little
. ${_AUTOCONFCACHEDIR}/x86_64-linux
;;
*) ;;
esac
unset _AUTOCONFCACHEDIR
set +a # vars are not exported to the environment anymore