-
Notifications
You must be signed in to change notification settings - Fork 1
/
cross-pkg-config
executable file
·50 lines (44 loc) · 2.07 KB
/
cross-pkg-config
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
# Copyright 2013-2017 Azul Systems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
#
# This code is free software; you can redistribute it and/or modify it under
# the terms of the GNU General Public License version 2 only, as published by
# the Free Software Foundation.
#
# This code is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more
# details (a copy is included in the LICENSE file that accompanied this code).
#
# You should have received a copy of the GNU General Public License version 2
# along with this work; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
#
# Please contact Azul Systems, 385 Moffett Park Drive, Suite 115, Sunnyvale,
# CA 94089 USA or visit www.azul.com if you need additional information or
# have any questions.
#
# Wrapper script that calls the real pkg-config with the relocated
# sysroot location
#
# Wrapper derived from raspberry crosstool and modified to take SYSROOT
# env variable from outside instead of computing via gcc -print-sysroot,
# which produces wrong output if called without CFLAGS which contain --sysroot
# Computing with CFLAGS not used, as pkg-config, in general, should not rely
# on CC, CFLAGS, ...
# However, we need to CC env defined to compute pkg-config-real executable.
# CC could be not used, if this script placed in raspberry crosstool's bin/.
set -e
if [ ! $SYSROOT ] || [ ! $CC ]; then
echo "No SYSROOT or CC env defined, exiting"
exit 1
fi
GCC="$CC"
MACHINE=`"$GCC" -dumpmachine`
#GCC could contain version like xxx-gcc-4.8.3, assuming xxx is equal to machine name
PKG_CONFIG_REAL=${GCC%$MACHINE-*}$MACHINE-pkg-config-real
export PKG_CONFIG_DIR=
export PKG_CONFIG_LIBDIR="${SYSROOT}/usr/lib/${MACHINE}/pkgconfig":"${SYSROOT}/usr/lib/pkgconfig":"${SYSROOT}/usr/share/pkgconfig"
export PKG_CONFIG_SYSROOT_DIR="${SYSROOT}"
exec $PKG_CONFIG_REAL "$@"