summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarc Kleine-Budde <mkl@pengutronix.de>2013-02-05 16:02:21 +0100
committerMarc Kleine-Budde <mkl@pengutronix.de>2013-02-05 18:54:14 +0100
commit5d2ac28b24b66386b81be26db225326fdaf2d48a (patch)
tree164b615fe3a86f20e36f86d94306bf40838a23fb
parent722b44bef47d9de96fcda9865541a1d45b342bc4 (diff)
downloadptxdist-5d2ac28b24b66386b81be26db225326fdaf2d48a.tar.gz
ptxdist-5d2ac28b24b66386b81be26db225326fdaf2d48a.tar.xz
ptxdist: use host compiler wrapper
- create links to wrapper scripts and real components - use gcc, g++ for HOSTCC, HOSTCXX - remove HOST_* Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rwxr-xr-xbin/ptxdist39
-rw-r--r--rules/other/Namespace.make4
-rw-r--r--rules/pre/Rules.make19
3 files changed, 36 insertions, 26 deletions
diff --git a/bin/ptxdist b/bin/ptxdist
index bf55b5821..2c6f66aa5 100755
--- a/bin/ptxdist
+++ b/bin/ptxdist
@@ -551,24 +551,27 @@ check_dirs() {
# This only should be done when we build userland (chicken egg problem)
#
check_compiler() {
- local cc
+ local cc_ptr cc cc_abs cc_default cc_alternate
- for cc in \
+ for cc_ptr in \
+ PTXCONF_SETUP_HOST_CPP \
PTXCONF_SETUP_HOST_CC \
PTXCONF_SETUP_HOST_CXX \
; do
- if [ -z "${!cc}" ]; then
+ cc="${!cc_ptr}"
+ if [ -z "${cc}" ]; then
echo
- echo "${PTXDIST_LOG_PROMPT}error: undefined host ${cc##*_} compiler"
+ echo "${PTXDIST_LOG_PROMPT}error: undefined host ${cc_ptr##*_} compiler"
echo "${PTXDIST_LOG_PROMPT}error: run 'ptxdist setup' and enter the 'Developer Options' menu"
echo "${PTXDIST_LOG_PROMPT}error: and specify the compiler"
echo
exit 1
fi
- if [ \! -x "$(which "${!cc}" 2>/dev/null)" ]; then
+ cc_abs="$(which "${cc}" 2>/dev/null)"
+ if [ \! -x "${cc_abs}" ]; then
echo
- echo "${PTXDIST_LOG_PROMPT}error: your host ${cc##*_} compiler: '${!cc}'"
+ echo "${PTXDIST_LOG_PROMPT}error: your host ${cc_ptr##*_} compiler: '${cc}'"
echo "${PTXDIST_LOG_PROMPT}error: cannot be found or isn't executable"
echo "${PTXDIST_LOG_PROMPT}error: run 'ptxdist setup' and enter the 'Developer Options' menu"
echo "${PTXDIST_LOG_PROMPT}error: and specify the compiler"
@@ -576,6 +579,30 @@ check_compiler() {
exit 1
fi
+ case "${cc_ptr}" in
+ PTXCONF_SETUP_HOST_CPP)
+ cc_default=cpp
+ unset cc_alternate
+ ;;
+ PTXCONF_SETUP_HOST_CC)
+ cc_default=gcc
+ cc_alternate=cc
+ ;;
+ PTXCONF_SETUP_HOST_CXX)
+ cc_default=g++
+ cc_alternate=c++
+ ;;
+ esac
+
+ ln -sf "${cc_abs}" "${PTX_WRAPPER_DIR}/${cc_default}.real" &&
+ ln -sf "${SCRIPTSDIR}/wrapper/host-${cc_default}-wrapper" "${PTX_WRAPPER_DIR}/${cc_default}" &&
+
+ if [ -n "${cc_alternate}" ]; then
+ ln -sf "${cc_default}" "${PTX_WRAPPER_DIR}/${cc_alternate}" &&
+ ln -sf "${cc_default}.real" "${PTX_WRAPPER_DIR}/${cc_alternate}.real"
+ fi || \
+ ptxd_bailout "unable to create compiler wrapper link"
+
if [ -n "${PTX_CCACHE_DIR}" ]; then
ln -sf "$(which "ccache")" "${PTX_CCACHE_DIR}/${!cc}" || ptxd_bailout "unable to create ccache link"
fi
diff --git a/rules/other/Namespace.make b/rules/other/Namespace.make
index 15972d8b0..f15800d00 100644
--- a/rules/other/Namespace.make
+++ b/rules/other/Namespace.make
@@ -19,8 +19,8 @@ PTXCONF_COMPILER_PREFIX_BOOTLOADER := \
PTXCONF_COMPILER_PREFIX := $(call remove_quotes, $(PTXCONF_COMPILER_PREFIX))
COMPILER_PREFIX := $(PTXCONF_COMPILER_PREFIX)
-HOSTCC := $(call remove_quotes, $(PTXCONF_SETUP_HOST_CC))
-HOSTCXX := $(call remove_quotes, $(PTXCONF_SETUP_HOST_CXX))
+HOSTCC := gcc
+HOSTCXX := g++
PTXCONF_ARCH_STRING := $(call remove_quotes, $(PTXCONF_ARCH_STRING))
PTXCONF_KERNEL_ARCH_STRING := $(call remove_quotes, $(PTXCONF_KERNEL_ARCH_STRING))
diff --git a/rules/pre/Rules.make b/rules/pre/Rules.make
index 8807093aa..997f4e7c0 100644
--- a/rules/pre/Rules.make
+++ b/rules/pre/Rules.make
@@ -270,30 +270,13 @@ endif
HOST_PATH := $$PATH
-HOST_CPPFLAGS := -isystem $(PTXDIST_SYSROOT_HOST)/include
-HOST_LDFLAGS := \
- -L$(PTXDIST_SYSROOT_HOST)/lib \
- -Wl,-rpath -Wl,$(PTXDIST_SYSROOT_HOST)/lib \
- -Wl,-rpath -Wl,/this/is/a/long/path/to/make/host/tools/relocateable/with/chrpath/when/using/dev/packages
-
-HOST_ENV_CC := CC="$(HOSTCC)"
-HOST_ENV_CXX := CXX="$(HOSTCXX)"
-HOST_ENV_CPPFLAGS := CPPFLAGS="$(HOST_CPPFLAGS)"
-HOST_ENV_LDFLAGS := LDFLAGS="$(HOST_LDFLAGS)"
-
-HOST_ENV_PKG_CONFIG := \
- PKG_CONFIG_PATH="" \
- PKG_CONFIG_LIBDIR="$(PTXDIST_SYSROOT_HOST)/lib/pkgconfig:$(PTXDIST_SYSROOT_HOST)/share/pkgconfig"
+HOST_ENV_PKG_CONFIG := $(PTXDIST_HOST_ENV_PKG_CONFIG)
HOST_ENV_PYTHONPATH := \
PYTHONPATH="$(shell python -c 'import distutils.sysconfig as sysconfig; \
print "%s" % sysconfig.get_python_lib(prefix="'"$(PTXDIST_SYSROOT_HOST)"'")')"
HOST_ENV := \
- $(HOST_ENV_CC) \
- $(HOST_ENV_CXX) \
- $(HOST_ENV_CPPFLAGS) \
- $(HOST_ENV_LDFLAGS) \
$(HOST_ENV_PKG_CONFIG) \
$(HOST_ENV_PYTHONPATH)