313cdf6ee6
... otherwise some required symlinks in sysroot aren't created, and this seems to be required when cross compiling for i686.
77 lines
2 KiB
Bash
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
|