build: fix build on Mac OS X 10.9
Add a wrapper around the clang gcc emulation to fix -print-file-name=<lib> Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 38560
This commit is contained in:
parent
e31ccd95c7
commit
1879c5f8e7
2 changed files with 21 additions and 2 deletions
|
@ -43,6 +43,13 @@ unexport LPATH
|
|||
# make sure that a predefined CFLAGS variable does not disturb packages
|
||||
export CFLAGS=
|
||||
|
||||
ifneq ($(shell $(HOSTCC) 2>&1 | grep clang),)
|
||||
export HOSTCC_REAL?=$(HOSTCC)
|
||||
export HOSTCC_WRAPPER:=$(TOPDIR)/scripts/clang-gcc-wrapper
|
||||
else
|
||||
export HOSTCC_WRAPPER:=$(HOSTCC)
|
||||
endif
|
||||
|
||||
ifeq ($(FORCE),)
|
||||
.config scripts/config/conf scripts/config/mconf: tmp/.prereq-build
|
||||
endif
|
||||
|
@ -74,12 +81,12 @@ prepare-tmpinfo: FORCE
|
|||
fi
|
||||
|
||||
scripts/config/mconf:
|
||||
@$(_SINGLE)$(SUBMAKE) -s -C scripts/config all CC="$(HOSTCC)"
|
||||
@$(_SINGLE)$(SUBMAKE) -s -C scripts/config all CC="$(HOSTCC_WRAPPER)"
|
||||
|
||||
$(eval $(call rdep,scripts/config,scripts/config/mconf))
|
||||
|
||||
scripts/config/conf:
|
||||
@$(_SINGLE)$(SUBMAKE) -s -C scripts/config conf CC="$(HOSTCC)"
|
||||
@$(_SINGLE)$(SUBMAKE) -s -C scripts/config conf CC="$(HOSTCC_WRAPPER)"
|
||||
|
||||
config: scripts/config/conf prepare-tmpinfo FORCE
|
||||
$< Config.in
|
||||
|
|
12
scripts/clang-gcc-wrapper
Executable file
12
scripts/clang-gcc-wrapper
Executable file
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
_cc="${HOSTCC_REAL:-gcc}"
|
||||
case "$1" in
|
||||
-print-file-name=*)
|
||||
dirs="$($_cc -print-search-dirs | grep -m1 libraries | sed -e 's,:, ,' -e 's,.* =,,')"
|
||||
dirs="$dirs /usr/lib /usr/local/lib"
|
||||
find $dirs -name "${1#*=}" | head -n1
|
||||
;;
|
||||
*)
|
||||
exec $_cc "$@"
|
||||
;;
|
||||
esac
|
Loading…
Reference in a new issue