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
This commit is contained in:
parent
413ef2a3d1
commit
cf44c89bba
@ -1359,6 +1359,9 @@ kernel-tools: .MAKE
|
|||||||
#
|
#
|
||||||
# cross-tools: Build cross-building tools
|
# 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} != ${MACHINE_ARCH} || ${BOOTSTRAPPING} < 800035
|
||||||
.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386"
|
.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386"
|
||||||
_btxld= usr.sbin/btxld
|
_btxld= usr.sbin/btxld
|
||||||
@ -1872,15 +1875,17 @@ NOFUN=-DNO_FSCHG MK_HTML=no MK_INFO=no -DNO_LINT \
|
|||||||
CPUTYPE=${XDEV_CPUTYPE}
|
CPUTYPE=${XDEV_CPUTYPE}
|
||||||
|
|
||||||
XDDIR=${XDEV_ARCH}-freebsd
|
XDDIR=${XDEV_ARCH}-freebsd
|
||||||
XDTP=usr/${XDDIR}
|
XDTP?=usr/${XDDIR}
|
||||||
CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \
|
CDBENV=MAKEOBJDIRPREFIX=${MAKEOBJDIRPREFIX}/${XDDIR} \
|
||||||
INSTALL="sh ${.CURDIR}/tools/install.sh"
|
INSTALL="sh ${.CURDIR}/tools/install.sh"
|
||||||
CDENV= ${CDBENV} \
|
CDENV= ${CDBENV} \
|
||||||
_SHLIBDIRPREFIX=${XDDESTDIR} \
|
_SHLIBDIRPREFIX=${XDDESTDIR} \
|
||||||
TOOLS_PREFIX=${XDDESTDIR}
|
TOOLS_PREFIX=${XDTP}
|
||||||
CD2CFLAGS=-isystem ${XDDESTDIR}/usr/include -L${XDDESTDIR}/usr/lib \
|
CD2CFLAGS=-isystem ${XDDESTDIR}/usr/include -L${XDDESTDIR}/usr/lib \
|
||||||
-B${XDDESTDIR}/usr/lib
|
--sysroot=${XDDESTDIR}/ -B${XDDESTDIR}/usr/libexec \
|
||||||
CD2ENV=${CDENV} CC="${CC} ${CD2CFLAGS}" \
|
-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}
|
MACHINE=${XDEV} MACHINE_ARCH=${XDEV_ARCH}
|
||||||
|
|
||||||
CDTMP= ${MAKEOBJDIRPREFIX}/${XDDIR}/${.CURDIR}/tmp
|
CDTMP= ${MAKEOBJDIRPREFIX}/${XDDIR}/${.CURDIR}/tmp
|
||||||
|
Loading…
Reference in New Issue
Block a user