diff options
author | Arnout Vandecappelle <arnout@mind.be> | 2017-07-03 10:41:06 +0200 |
---|---|---|
committer | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2017-07-22 23:35:02 +0200 |
commit | 91a08ecc998ae232ea6f3525540ed129d8176d18 (patch) | |
tree | febcc901f579919eb5a774aa3e5aabf792fec963 | |
parent | 83ce8070b4f11c833026771f72916b423c444eb7 (diff) | |
download | buildroot-91a08ecc998ae232ea6f3525540ed129d8176d18.tar.gz buildroot-91a08ecc998ae232ea6f3525540ed129d8176d18.zip |
package/Makefile.in: add host-cc-option macro
This macro allows to test if HOSTCC supports a specific option. It is
needed to pass '-no-pie' on recent Debian, Ubuntu and Gentoo hosts.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r-- | package/Makefile.in | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/package/Makefile.in b/package/Makefile.in index a2b0d90f32..a1a5316051 100644 --- a/package/Makefile.in +++ b/package/Makefile.in @@ -222,6 +222,27 @@ HOST_CFLAGS += $(HOST_CPPFLAGS) HOST_CXXFLAGS += $(HOST_CFLAGS) HOST_LDFLAGS += -L$(HOST_DIR)/lib -Wl,-rpath,$(HOST_DIR)/lib +# The macros below are taken from linux 4.11 and adapted slightly. +# Copy more when needed. + +# try-run +# Usage: option = $(call try-run, $(CC)...-o "$$TMP",option-ok,otherwise) +# Exit code chooses option. "$$TMP" is can be used as temporary file and +# is automatically cleaned up. +try-run = $(shell set -e; \ + TMP="$$(tempfile)"; \ + if ($(1)) >/dev/null 2>&1; \ + then echo "$(2)"; \ + else echo "$(3)"; \ + fi; \ + rm -f "$$TMP") + +# host-cc-option +# Usage: HOST_FOO_CFLAGS += $(call host-cc-option,-no-pie,) +host-cc-option = $(call try-run,\ + $(HOSTCC) $(HOST_CFLAGS) $(1) -c -x c /dev/null -o "$$TMP",$(1),$(2)) + + # host-intltool should be executed with the system perl, so we save # the path to the system perl, before a host-perl built by Buildroot # might get installed into $(HOST_DIR)/bin and therefore appears |