diff options
author | sjg <sjg@FreeBSD.org> | 2014-07-25 20:44:04 +0000 |
---|---|---|
committer | sjg <sjg@FreeBSD.org> | 2014-07-25 20:44:04 +0000 |
commit | 03e1e7777ce8bae78958bdbf2c87894aef64036b (patch) | |
tree | 6d47a4b22f426255fe720f660962c765d6d24a23 | |
parent | 24a7f90a9730be22eb1ebfab9cf004b8fa2e099e (diff) | |
download | FreeBSD-src-03e1e7777ce8bae78958bdbf2c87894aef64036b.zip FreeBSD-src-03e1e7777ce8bae78958bdbf2c87894aef64036b.tar.gz |
Crude cross-build support thanks to clang
-rw-r--r-- | share/mk/local.sys.mk | 14 |
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 |