Author: imp
Date: Fri Nov 20 21:54:05 2015
New Revision: 291112
URL: https://svnweb.freebsd.org/changeset/base/291112

Log:
  Add support for passing TARGET_CPUTYPE into the build. It's more
  important for arm and mips than for the more generic x86 systems.

Modified:
  head/tools/tools/nanobsd/defaults.sh   (contents, props changed)

Modified: head/tools/tools/nanobsd/defaults.sh
==============================================================================
--- head/tools/tools/nanobsd/defaults.sh        Fri Nov 20 21:49:49 2015        
(r291111)
+++ head/tools/tools/nanobsd/defaults.sh        Fri Nov 20 21:54:05 2015        
(r291112)
@@ -161,11 +161,16 @@ NANO_SLICE_DATA=s4
 #######################################################################
 # Architecture to build.  Corresponds to TARGET_ARCH in a buildworld.
 # Unfortunately, there's no way to set TARGET at this time, and it
-# conflates the two, so architectures where TARGET != TARGET_ARCH do
-# not work.  This defaults to the arch of the current machine.
+# conflates the two, so architectures where TARGET != TARGET_ARCH and
+# TARGET can't be guessed from TARGET_ARCH do not work.  This defaults
+# to the arch of the current machine.
 
 NANO_ARCH=`uname -p`
 
+# CPUTYPE defaults to "" which is the default when CPUTYPE isn't
+# defined.
+NANO_CPUTYPE=""
+
 # Directory to populate /cfg from
 NANO_CFGDIR=""
 
@@ -235,7 +240,7 @@ build_world ( ) (
        pprint 3 "log: ${MAKEOBJDIRPREFIX}/_.bw"
 
        cd ${NANO_SRC}
-       env TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} \
+       env TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} 
${NANO_PMAKE} \
                SRCCONF=${SRCCONF} \
                __MAKE_CONF=${NANO_MAKE_CONF_BUILD} buildworld \
                > ${MAKEOBJDIRPREFIX}/_.bw 2>&1
@@ -256,9 +261,6 @@ build_kernel ( ) (
        fi
 
        cd ${NANO_SRC};
-       # unset these just in case to avoid compiler complaints
-       # when cross-building
-       unset TARGET_CPUTYPE
        # Note: We intentionally build all modules, not only the ones in
        # NANO_MODULES so the built world can be reused by multiple images.
        eval "TARGET_ARCH=${NANO_ARCH} ${NANO_PMAKE} buildkernel \
@@ -299,7 +301,7 @@ install_world ( ) (
        pprint 3 "log: ${NANO_OBJ}/_.iw"
 
        cd ${NANO_SRC}
-       env TARGET_ARCH=${NANO_ARCH} \
+       env TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} \
        ${NANO_MAKE} SRCCONF=${SRCCONF} \
                __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} installworld \
                DESTDIR=${NANO_WORLDDIR} \
@@ -313,7 +315,7 @@ install_etc ( ) (
        pprint 3 "log: ${NANO_OBJ}/_.etc"
 
        cd ${NANO_SRC}
-       env TARGET_ARCH=${NANO_ARCH} \
+       env TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} \
        ${NANO_MAKE} SRCCONF=${SRCCONF} \
                __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} distribution \
                DESTDIR=${NANO_WORLDDIR} \
@@ -344,7 +346,8 @@ install_kernel ( ) (
        fi
 
        cd ${NANO_SRC}
-       eval "TARGET_ARCH=${NANO_ARCH} ${NANO_MAKE} installkernel \
+       eval "TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} \
+               ${NANO_MAKE} installkernel \
                DESTDIR='${NANO_WORLDDIR}' \
                SRCCONF='${SRCCONF}' \
                __MAKE_CONF='${NANO_MAKE_CONF_INSTALL}' \
@@ -358,7 +361,7 @@ native_xtools ( ) (
        pprint 3 "log: ${NANO_OBJ}/_.native_xtools"
 
        cd ${NANO_SRC}
-       env TARGET_ARCH=${NANO_ARCH} \
+       env TARGET_ARCH=${NANO_ARCH} TARGET_CPUTYPE=${NANO_CPUTYPE} \
        ${NANO_MAKE} SRCCONF=${SRCCONF} \
                __MAKE_CONF=${NANO_MAKE_CONF_INSTALL} native-xtools \
                DESTDIR=${NANO_WORLDDIR} \
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to