From c18998be566d28c41db33cb572fcecebdebee0c3 Mon Sep 17 00:00:00 2001 From: oreo639 Date: Tue, 14 Feb 2023 18:36:41 -0800 Subject: [PATCH] libtool: fix include paths when cross compiling Fix library and object include paths. Fix ntl build by directly assigning cc/cxx/etc instead of using := assignment. Use g++ for CXX when cross compiling to match native. --- srcpkgs/libtool/template | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/srcpkgs/libtool/template b/srcpkgs/libtool/template index cd7c684c5945..42443c12a15c 100644 --- a/srcpkgs/libtool/template +++ b/srcpkgs/libtool/template @@ -1,7 +1,7 @@ # Template file for 'libtool' pkgname=libtool version=2.4.7 -revision=3 +revision=4 build_style=gnu-configure hostmakedepends="texinfo perl automake help2man xz gnulib tar" depends="tar sed grep" @@ -22,9 +22,13 @@ post_extract() { } do_configure() { + if [ "$CROSS_BUILD" ]; then + CXX="${XBPS_CROSS_TRIPLET}-g++" + fi + ./bootstrap --force --no-git --skip-po \ --gnulib-srcdir=/usr/share/gnulib/ --copy - ./configure ${configure_args} SED=/bin/sed GREP=/bin/grep + ./configure ${configure_args} SED=/bin/sed GREP=/bin/grep CXX=${CXX} } post_install() { @@ -38,8 +42,8 @@ post_install() { # things that need to go; the target libtool script is meant to be used # in native environments, not in cross environments, so patch the script if [ "$CROSS_BUILD" ]; then - # e.g. AR="armv7l-linux-gnueabihf-ar" becomes AR="${AR:=ar}" - vsed -i -e "s,\([A-Z]\+\)=\"${XBPS_CROSS_TRIPLET}\-\(.*\)\",\1=\$\{\1:=\2\},g" \ + # e.g. AR="armv7l-linux-gnueabihf-ar" becomes AR="ar" + vsed -i -e "s,\([A-Z]\+\)=\"${XBPS_CROSS_TRIPLET}\-\(.*\)\",\1=\"\2\",g" \ ${PKGDESTDIR}/usr/bin/libtool # clear out any sysroot present @@ -50,6 +54,20 @@ post_install() { vsed -i -e "s,\-I${XBPS_CROSS_BASE}/usr/include,,g" \ ${PKGDESTDIR}/usr/bin/libtool + # Strip cross sysroot from paths + vsed -i -e "s,${XBPS_CROSS_BASE},,g" \ + ${PKGDESTDIR}/usr/bin/libtool + + if [ "$XBPS_TARGET_WORDSIZE" = "64" ]; then + vsed -i \ + -e "s,/${XBPS_CROSS_TRIPLET}/lib/../lib64,/lib64,g" \ + ${PKGDESTDIR}/usr/bin/libtool + else + vsed -i \ + -e "s,/${XBPS_CROSS_TRIPLET}/lib,/lib,g" \ + ${PKGDESTDIR}/usr/bin/libtool + fi + # canonicalize host_alias, replace build(_alias,_os) _canonical_host=$(grep "^host=" ${PKGDESTDIR}/usr/bin/libtool | sed 's/host=//') _host_os=$(grep "^host_os=" ${PKGDESTDIR}/usr/bin/libtool | sed 's/host_os=//')