public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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


             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: link
Be 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