summaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorsjg <sjg@FreeBSD.org>2014-07-25 20:44:04 +0000
committersjg <sjg@FreeBSD.org>2014-07-25 20:44:04 +0000
commit03e1e7777ce8bae78958bdbf2c87894aef64036b (patch)
tree6d47a4b22f426255fe720f660962c765d6d24a23 /share
parent24a7f90a9730be22eb1ebfab9cf004b8fa2e099e (diff)
downloadFreeBSD-src-03e1e7777ce8bae78958bdbf2c87894aef64036b.zip
FreeBSD-src-03e1e7777ce8bae78958bdbf2c87894aef64036b.tar.gz
Crude cross-build support thanks to clang
Diffstat (limited to 'share')
-rw-r--r--share/mk/local.sys.mk14
1 files changed, 13 insertions, 1 deletions
diff --git a/share/mk/local.sys.mk b/share/mk/local.sys.mk
index cc1001a..8fe0195 100644
--- a/share/mk/local.sys.mk
+++ b/share/mk/local.sys.mk
@@ -220,7 +220,7 @@ STAGE_SYMLINKS_DIR= ${STAGE_OBJTOP}
.ifdef WITH_SYSROOT
SYSROOT?= ${STAGE_OBJTOP}/
.endif
-LDFLAGS_LAST+= -Wl,-rpath-link,${STAGE_LIBDIR}
+LDFLAGS_LAST+= -Wl,-rpath-link -Wl,${STAGE_LIBDIR}
STAGED_INCLUDE_DIR= ${STAGE_OBJTOP}/usr/include
.endif
.endif # EARLY_BUILD for host
@@ -309,4 +309,16 @@ HOST_CC?= ${TOOLSDIR}/usr/bin/cc
.endif
.endif
+.if ${MACHINE:Nhost:Ncommon} != "" && ${MACHINE} != ${HOST_MACHINE}
+# cross-building
+.if !defined(FREEBSD_REVISION)
+FREEBSD_REVISION!= sed -n '/^REVISION=/{s,.*=,,;s,",,g;p; }' ${SRCTOP}/sys/conf/newvers.sh
+.export FREEBSD_REVISION
+.endif
+CROSS_TARGET_FLAGS= -target ${MACHINE_ARCH}-unknown-freebsd${FREEBSD_REVISION}
+CFLAGS+= ${CROSS_TARGET_FLAGS}
+ACFLAGS+= ${CROSS_TARGET_FLAGS}
+LDFLAGS+= -Wl,-m -Wl,elf_${MACHINE_ARCH}_fbsd
+.endif
+
.endif # bmake
OpenPOWER on IntegriCloud