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