1 |
commit: f2920e67f3747925f72e04b89f193e79f6ff8ab4 |
2 |
Author: Mike Frysinger <vapier <AT> gentoo <DOT> org> |
3 |
AuthorDate: Mon Feb 27 22:58:33 2012 +0000 |
4 |
Commit: Mike Frysinger <vapier <AT> gentoo <DOT> org> |
5 |
CommitDate: Mon Feb 27 22:58:33 2012 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/crossdev.git;a=commit;h=f2920e67 |
7 |
|
8 |
cross-pkg-config: use SYSROOT from env if set |
9 |
|
10 |
If we already have SYSROOT set in the env, just go with that. This lets |
11 |
us do multiple sysroots-per-target by manipulating the env. Idea based |
12 |
on the work in ChromiumOS. |
13 |
|
14 |
Signed-off-by: Mike Frysinger <vapier <AT> gentoo.org> |
15 |
|
16 |
--- |
17 |
wrappers/cross-pkg-config | 36 +++++++++++++++++++----------------- |
18 |
1 files changed, 19 insertions(+), 17 deletions(-) |
19 |
|
20 |
diff --git a/wrappers/cross-pkg-config b/wrappers/cross-pkg-config |
21 |
index b39bbf6..37f3690 100755 |
22 |
--- a/wrappers/cross-pkg-config |
23 |
+++ b/wrappers/cross-pkg-config |
24 |
@@ -42,23 +42,25 @@ if [ "$1" = "--cross-pkg-config-install" ] ; then |
25 |
fi |
26 |
|
27 |
unset EXTRA_PKG_CONFIG_LIBDIR |
28 |
-if [ "@CROSS_PKG_CONFIG_INSTALLED@" = "installed" ] ; then |
29 |
- # Manual install |
30 |
- SYSROOT="@CROSS_PKG_CONFIG_PATH@" |
31 |
-elif [ -n "${ROOT}" ] ; then |
32 |
- # Gentoo |
33 |
- SYSROOT=${ROOT} |
34 |
-elif [ -n "${STAGEDIR}" ] ; then |
35 |
- # uClinux-dist |
36 |
- SYSROOT=${STAGEDIR} |
37 |
- EXTRA_PKG_CONFIG_LIBDIR=${UCLINUX_PKG_CONFIG_LIBDIR} |
38 |
-else |
39 |
- # /usr/<target> |
40 |
- CHOST=${0##*/} |
41 |
- CHOST=${CHOST%-pkg-config} |
42 |
- SYSROOT="/usr/${CHOST}" |
43 |
- if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then |
44 |
- error "Need \$ROOT or \$STAGEDIR set first" |
45 |
+if [ -z "${SYSROOT}" ] ; then |
46 |
+ if [ "@CROSS_PKG_CONFIG_INSTALLED@" = "installed" ] ; then |
47 |
+ # Manual install |
48 |
+ SYSROOT="@CROSS_PKG_CONFIG_PATH@" |
49 |
+ elif [ -n "${ROOT}" ] ; then |
50 |
+ # Gentoo |
51 |
+ SYSROOT=${ROOT} |
52 |
+ elif [ -n "${STAGEDIR}" ] ; then |
53 |
+ # uClinux-dist |
54 |
+ SYSROOT=${STAGEDIR} |
55 |
+ EXTRA_PKG_CONFIG_LIBDIR=${UCLINUX_PKG_CONFIG_LIBDIR} |
56 |
+ else |
57 |
+ # /usr/<target> |
58 |
+ CHOST=${0##*/} |
59 |
+ CHOST=${CHOST%-pkg-config} |
60 |
+ SYSROOT="/usr/${CHOST}" |
61 |
+ if [ -z "${CHOST}" ] || [ ! -d "${SYSROOT}" ] ; then |
62 |
+ error "Need \$ROOT or \$STAGEDIR set first" |
63 |
+ fi |
64 |
fi |
65 |
fi |
66 |
# abort infinite loop due to misconfiguration |