void-packages/common/environment/configure/gnu-configure-args.sh
Juan RP 77451b1845 Use --libdir=/usr/lib32 on x86 and create/remove the symlink via hooks.
This is to make all pkgs that use ${configure_args} work without changes
to the templates on x86_64.
2014-04-05 11:52:22 +02:00

68 lines
1.8 KiB
Bash

# This file sets up configure_args with common settings.
if [ -z "$build_style" -o "$build_style" = "gnu-configure" ]; then
export configure_args="--prefix=/usr --sysconfdir=/etc --infodir=/usr/share/info --mandir=/usr/share/man --localstatedir=/var ${configure_args}"
fi
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
;;
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