aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRuslan Ermilov <ru@FreeBSD.org>2005-03-02 16:40:51 +0000
committerRuslan Ermilov <ru@FreeBSD.org>2005-03-02 16:40:51 +0000
commitf09a3cc462299cb519eea0dfc9210bed449a4643 (patch)
treec716f8e4b6261d09bb9c4bf7f3a554df0e91d7ea
parenta6b86949fc76b7c8e1979818e74ff2b153e90bab (diff)
downloadsrc-f09a3cc462299cb519eea0dfc9210bed449a4643.tar.gz
src-f09a3cc462299cb519eea0dfc9210bed449a4643.zip
Add hacks that I use to test cross-builds (by building on
native and foreign architectures and comparing products). They eliminate most of the differences caused by different object directory paths, timestamping, and identification. (Note WORLDTMP was renamed to ${OBJTREE}${.CURDIR}/tmp.)
Notes
Notes: svn path=/head/; revision=143044
-rw-r--r--Makefile.inc14
-rw-r--r--tools/build/Makefile4
-rw-r--r--tools/build/cross-build/Makefile7
-rw-r--r--tools/build/cross-build/date.sh6
-rw-r--r--tools/build/cross-build/hostname.sh6
5 files changed, 25 insertions, 2 deletions
diff --git a/Makefile.inc1 b/Makefile.inc1
index 1eb8835a2d7f..77985fca5af6 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -127,12 +127,12 @@ BUILD_ARCH!= sysctl -n hw.machine_arch
.error To cross-build, set TARGET_ARCH.
.endif
.endif
-.if ${MACHINE} == ${TARGET}
+.if ${MACHINE} == ${TARGET} && !defined(CROSS_BUILD_TESTING)
OBJTREE= ${MAKEOBJDIRPREFIX}
.else
OBJTREE= ${MAKEOBJDIRPREFIX}/${TARGET}
.endif
-WORLDTMP= ${OBJTREE}${.CURDIR}/${MACHINE_ARCH}
+WORLDTMP= ${OBJTREE}${.CURDIR}/tmp
# /usr/games added for fortune which depend on strfile
BPATH= ${WORLDTMP}/legacy/usr/sbin:${WORLDTMP}/legacy/usr/bin:${WORLDTMP}/legacy/usr/games
XPATH= ${WORLDTMP}/usr/sbin:${WORLDTMP}/usr/bin:${WORLDTMP}/usr/games
diff --git a/tools/build/Makefile b/tools/build/Makefile
index be1de32d75c2..b523f1395369 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -23,4 +23,8 @@ INCS+= nl_types.h
SRCS= dummy.c
.endif
+.if defined(CROSS_BUILD_TESTING)
+SUBDIR= cross-build
+.endif
+
.include <bsd.lib.mk>
diff --git a/tools/build/cross-build/Makefile b/tools/build/cross-build/Makefile
new file mode 100644
index 000000000000..69c1e9c49844
--- /dev/null
+++ b/tools/build/cross-build/Makefile
@@ -0,0 +1,7 @@
+# $FreeBSD$
+
+NO_OBJ=
+SCRIPTS= date.sh hostname.sh
+BINDIR= /usr/bin
+
+.include <bsd.prog.mk>
diff --git a/tools/build/cross-build/date.sh b/tools/build/cross-build/date.sh
new file mode 100644
index 000000000000..f697a7f0cd54
--- /dev/null
+++ b/tools/build/cross-build/date.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+exec /bin/date -r0 "$@"
diff --git a/tools/build/cross-build/hostname.sh b/tools/build/cross-build/hostname.sh
new file mode 100644
index 000000000000..855741beca85
--- /dev/null
+++ b/tools/build/cross-build/hostname.sh
@@ -0,0 +1,6 @@
+#!/bin/sh
+#
+# $FreeBSD$
+#
+
+echo dummy