From: "Mike Frysinger" <vapier@gentoo.org> To: gentoo-commits@lists.gentoo.org Subject: [gentoo-commits] proj/crossdev:master commit in: wrappers/ Date: Wed, 17 Sep 2014 21:41:36 +0000 (UTC) [thread overview] Message-ID: <1406613038.a8d5eab601c99724dec4dae611d1cb316f92318d.vapier@gentoo> (raw) commit: a8d5eab601c99724dec4dae611d1cb316f92318d Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> AuthorDate: Tue Jul 29 05:50:38 2014 +0000 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> CommitDate: Tue Jul 29 05:50:38 2014 +0000 URL: http://sources.gentoo.org/gitweb/?p=proj/crossdev.git;a=commit;h=a8d5eab6 cross-pkg-config: set up PKG_CONFIG_SYSTEM_LIBRARY_PATH Rather than hardcode /usr/lib, set PKG_CONFIG_SYSTEM_LIBRARY_PATH to the right libdir paths. This should handle lib vs lib64 vs lib correctly. Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org> --- wrappers/cross-pkg-config | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config index 859ef05..f928bd0 100755 --- a/wrappers/cross-pkg-config +++ b/wrappers/cross-pkg-config @@ -42,6 +42,10 @@ if [ "$1" = "--cross-pkg-config-install" ] ; then fi unset EXTRA_PKG_CONFIG_LIBDIR +if [ -z "${CHOST}" ] ; then + CHOST=${0##*/} + CHOST=${CHOST%-pkg-config} +fi if [ -z "${SYSROOT}" ] ; then if [ "@CROSS_PKG_CONFIG_INSTALLED@" = "installed" ] ; then # Manual install @@ -55,8 +59,6 @@ if [ -z "${SYSROOT}" ] ; then EXTRA_PKG_CONFIG_LIBDIR=${UCLINUX_PKG_CONFIG_LIBDIR} else # /usr/<target> - CHOST=${0##*/} - CHOST=${CHOST%-pkg-config} SYSROOT="/usr/${CHOST}" if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then error "Need \$ROOT or \$STAGEDIR set first" @@ -75,9 +77,25 @@ unset PKG_CONFIG_ALLOW_SYSTEM_CFLAGS unset PKG_CONFIG_ALLOW_SYSTEM_LIBS # +# Try and figure out the appropriate libdir for this target. +# This logic matches Gentoo's get_libdir which uses $ABI. +# +: ${ABI:=${DEFAULT_ABI:-default}} +var="LIBDIR_${ABI}" +libdir=${!var} +if [ -z "${libdir}" ] ; then + # Fall back to probing the compiler. + libc=$(realpath $(${CC:-${CHOST}-gcc} ${CFLAGS} ${LDFLAGS} -print-file-name=libc.so)) + # Chopping the basename isn't exactly correct, but it's good enough for now. + libdir=$(basename "${libc%/*}") +fi +: ${libdir:=lib} +export PKG_CONFIG_SYSTEM_LIBRARY_PATH="/usr/${libdir}:/${libdir}" + +# # Set the pkg-config search paths to our staging directory. # -export PKG_CONFIG_LIBDIR="${SYSROOT}/usr/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig" +export PKG_CONFIG_LIBDIR="${SYSROOT}/usr/${libdir}/pkgconfig:${SYSROOT}/usr/share/pkgconfig" if [ -n "${EXTRA_PKG_CONFIG_LIBDIR}" ] ; then PKG_CONFIG_LIBDIR="${EXTRA_PKG_CONFIG_LIBDIR}:${PKG_CONFIG_LIBDIR}" fi
WARNING: multiple messages have this Message-ID (diff)
From: "Mike Frysinger" <vapier@gentoo.org> To: gentoo-commits@lists.gentoo.org Subject: [gentoo-commits] proj/crossdev:master commit in: wrappers/ Date: Tue, 29 Jul 2014 06:07:03 +0000 (UTC) [thread overview] Message-ID: <1406613038.a8d5eab601c99724dec4dae611d1cb316f92318d.vapier@gentoo> (raw) Message-ID: <20140729060703.SmFb7p1VkXdJKllh3_z7u2gfLnN_gCCT6zih8Jc7igU@z> (raw) commit: a8d5eab601c99724dec4dae611d1cb316f92318d Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> AuthorDate: Tue Jul 29 05:50:38 2014 +0000 Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> CommitDate: Tue Jul 29 05:50:38 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commit;h=a8d5eab6 cross-pkg-config: set up PKG_CONFIG_SYSTEM_LIBRARY_PATH Rather than hardcode /usr/lib, set PKG_CONFIG_SYSTEM_LIBRARY_PATH to the right libdir paths. This should handle lib vs lib64 vs lib correctly. Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org> --- wrappers/cross-pkg-config | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config index 859ef05..f928bd0 100755 --- a/wrappers/cross-pkg-config +++ b/wrappers/cross-pkg-config @@ -42,6 +42,10 @@ if [ "$1" = "--cross-pkg-config-install" ] ; then fi unset EXTRA_PKG_CONFIG_LIBDIR +if [ -z "${CHOST}" ] ; then + CHOST=${0##*/} + CHOST=${CHOST%-pkg-config} +fi if [ -z "${SYSROOT}" ] ; then if [ "@CROSS_PKG_CONFIG_INSTALLED@" = "installed" ] ; then # Manual install @@ -55,8 +59,6 @@ if [ -z "${SYSROOT}" ] ; then EXTRA_PKG_CONFIG_LIBDIR=${UCLINUX_PKG_CONFIG_LIBDIR} else # /usr/<target> - CHOST=${0##*/} - CHOST=${CHOST%-pkg-config} SYSROOT="/usr/${CHOST}" if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then error "Need \$ROOT or \$STAGEDIR set first" @@ -75,9 +77,25 @@ unset PKG_CONFIG_ALLOW_SYSTEM_CFLAGS unset PKG_CONFIG_ALLOW_SYSTEM_LIBS # +# Try and figure out the appropriate libdir for this target. +# This logic matches Gentoo's get_libdir which uses $ABI. +# +: ${ABI:=${DEFAULT_ABI:-default}} +var="LIBDIR_${ABI}" +libdir=${!var} +if [ -z "${libdir}" ] ; then + # Fall back to probing the compiler. + libc=$(realpath $(${CC:-${CHOST}-gcc} ${CFLAGS} ${LDFLAGS} -print-file-name=libc.so)) + # Chopping the basename isn't exactly correct, but it's good enough for now. + libdir=$(basename "${libc%/*}") +fi +: ${libdir:=lib} +export PKG_CONFIG_SYSTEM_LIBRARY_PATH="/usr/${libdir}:/${libdir}" + +# # Set the pkg-config search paths to our staging directory. # -export PKG_CONFIG_LIBDIR="${SYSROOT}/usr/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig" +export PKG_CONFIG_LIBDIR="${SYSROOT}/usr/${libdir}/pkgconfig:${SYSROOT}/usr/share/pkgconfig" if [ -n "${EXTRA_PKG_CONFIG_LIBDIR}" ] ; then PKG_CONFIG_LIBDIR="${EXTRA_PKG_CONFIG_LIBDIR}:${PKG_CONFIG_LIBDIR}" fi
next reply other threads:[~2014-09-17 21:41 UTC|newest] Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top 2014-09-17 21:41 Mike Frysinger [this message] 2014-07-29 6:07 ` [gentoo-commits] proj/crossdev:master commit in: wrappers/ Mike Frysinger -- strict thread matches above, loose matches on Subject: below -- 2024-09-22 8:35 James Le Cuirot 2024-05-04 11:58 Sam James 2024-01-08 14:28 Sam James 2023-10-15 4:23 Matt Turner 2023-09-23 12:56 Sam James 2023-06-16 20:21 Mike Gilbert 2022-12-27 16:06 Sam James 2022-08-18 21:57 Sam James 2022-08-18 21:57 Sam James 2022-01-13 8:20 Mike Frysinger 2022-01-13 8:20 Mike Frysinger 2021-11-26 19:02 Mike Frysinger 2021-10-27 8:55 Mike Frysinger 2021-06-21 21:23 Sergei Trofimovich 2021-01-17 8:09 Sergei Trofimovich 2019-08-30 7:32 Sergei Trofimovich 2019-07-21 13:41 James Le Cuirot 2019-07-12 7:24 Sergei Trofimovich 2019-03-18 22:54 Sergei Trofimovich 2019-03-11 22:13 Sergei Trofimovich 2018-10-20 20:08 Sergei Trofimovich 2018-04-05 6:56 Sergei Trofimovich 2018-03-24 15:13 Sergei Trofimovich 2018-03-10 13:07 Sergei Trofimovich 2017-12-30 22:37 Sergei Trofimovich 2017-12-30 17:45 Sergei Trofimovich 2016-01-16 8:22 Mike Frysinger 2015-07-23 3:47 Mike Frysinger 2014-10-31 1:56 Mike Frysinger 2014-10-31 1:56 Mike Frysinger 2014-10-31 0:52 Mike Frysinger 2014-09-18 16:52 Mike Frysinger 2014-09-17 21:41 Mike Frysinger 2014-09-17 21:41 Mike Frysinger 2014-07-29 6:07 ` Mike Frysinger 2014-03-27 6:43 Mike Frysinger 2014-01-18 19:37 Mike Frysinger 2013-12-23 3:06 Mike Frysinger 2013-01-28 22:51 Mike Frysinger 2012-02-27 23:13 Mike Frysinger 2011-10-18 17:36 Mike Frysinger
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1406613038.a8d5eab601c99724dec4dae611d1cb316f92318d.vapier@gentoo \ --to=vapier@gentoo.org \ --cc=gentoo-commits@lists.gentoo.org \ --cc=gentoo-dev@lists.gentoo.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox