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
@ -43,6 +43,13 @@ unexport LPATH
|
|||||||
# make sure that a predefined CFLAGS variable does not disturb packages
|
# make sure that a predefined CFLAGS variable does not disturb packages
|
||||||
export CFLAGS=
|
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),)
|
ifeq ($(FORCE),)
|
||||||
.config scripts/config/conf scripts/config/mconf: tmp/.prereq-build
|
.config scripts/config/conf scripts/config/mconf: tmp/.prereq-build
|
||||||
endif
|
endif
|
||||||
@ -74,12 +81,12 @@ prepare-tmpinfo: FORCE
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
scripts/config/mconf:
|
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))
|
$(eval $(call rdep,scripts/config,scripts/config/mconf))
|
||||||
|
|
||||||
scripts/config/conf:
|
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: scripts/config/conf prepare-tmpinfo FORCE
|
||||||
$< Config.in
|
$< 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 New Issue
Block a user