summaryrefslogtreecommitdiffstats
path: root/Makefile.inc1
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2014-04-03 07:28:36 +0000
committerbapt <bapt@FreeBSD.org>2014-04-03 07:28:36 +0000
commitbb123e95cd60a2078d350aef8730ded5cf9d7f3f (patch)
treeff91fdacb74db1d767bf82860bc87c236060d0d4 /Makefile.inc1
parent5e097311523f06af22d4ca0bf586d529db24f44a (diff)
downloadFreeBSD-src-bb123e95cd60a2078d350aef8730ded5cf9d7f3f.zip
FreeBSD-src-bb123e95cd60a2078d350aef8730ded5cf9d7f3f.tar.gz
Some xdev fixes:
- if TARGET_ARCH is not defined and XDEV_ARCH is defined then early define TARGET_ARCH to the valud of XDEV_ARCH: This allow the xdev-build target to be able to correctly chose the compiler it needs to build - Allow overwriting XDTP to allow a user to not chose where the xdev env will live in - Fix build for gcc only xdev (like ia64) by providing the proper -B to the toolchain and not relying on gcc being installed already in base - Fix TOOLS_PREFIX so the generated toolchain has the right default sysroot when installed intead of getting the DESTDIR one - Fix supporting DESTDIR - Also overwrite CXX (needed for cross building c++ libraries with clang) and CPP (needed to cross build some libraries when gcc is the target default compiler but gcc is not installed on the building host) Discussed with: imp
Diffstat (limited to 'Makefile.inc1')
-rw-r--r--Makefile.inc113
1 files changed, 9 insertions, 4 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 4a49d10..1a79d56 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1359,6 +1359,9 @@ kernel-tools: .MAKE
#
# cross-tools: Build cross-building tools
#
+.if !defined(TARGET_ARCH) && defined(XDEV_ARCH)
+TARGET_ARCH= ${XDEV_ARCH}
+.endif
.if ${TARGET_ARCH} != ${MACHINE_ARCH} || ${BOOTSTRAPPING} < 800035
.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386"
_btxld= usr.sbin/btxld
@@ -1872,15 +1875,17 @@ NOFUN=-DNO_FSCHG MK_HTML=no MK_INFO=no -DNO_LINT \
CPUTYPE=${XDEV_CPUTYPE}
XDDIR=${XDEV_ARCH}-freebsd
-XDTP=usr/${XDDIR}
+XDTP?=usr/${XDDIR}
CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \
INSTALL="sh ${.CURDIR}/tools/install.sh"
CDENV= ${CDBENV} \
_SHLIBDIRPREFIX=${XDDESTDIR} \
- TOOLS_PREFIX=${XDDESTDIR}
+ TOOLS_PREFIX=${XDTP}
CD2CFLAGS=-isystem ${XDDESTDIR}/usr/include -L${XDDESTDIR}/usr/lib \
- -B${XDDESTDIR}/usr/lib
-CD2ENV=${CDENV} CC="${CC} ${CD2CFLAGS}" \
+ --sysroot=${XDDESTDIR}/ -B${XDDESTDIR}/usr/libexec \
+ -B${XDDESTDIR}/usr/bin -B${XDDESTDIR}/usr/lib
+CD2ENV=${CDENV} CC="${CC} ${CD2CFLAGS}" CXX="${CXX} ${CD2CFLAGS}" \
+ CPP="${CPP} ${CD2CFLAGS}" \
MACHINE=${XDEV} MACHINE_ARCH=${XDEV_ARCH}
CDTMP= ${MAKEOBJDIRPREFIX}/${XDDIR}/${.CURDIR}/tmp
OpenPOWER on IntegriCloud