Commit Graph

297 Commits

Author SHA1 Message Date
matt fab8544d6c Add riscv32 and riscv64 platforms. 2014-09-19 17:59:57 +00:00
matt ef6ee95a03 Add or1k MACHINE/MACHINE_ARCH. 2014-09-03 19:32:18 +00:00
apb 9c3c6064f6 Only the -m command line option, not MACHINE from the environment,
is supposed override MACHINE_ARCH from the environment with the
default MACHINE_ARCH for the requested machine.

Add and use an opt_m variable to enforce this.
2014-08-15 18:34:19 +00:00
matt 547b3a3b01 Changes to existing files to enable building AARCH64 userland.
evbarm64-el
This is clang only.  While gcc4.8 supports aarch64, no netbsd support has
been written for aarch64 with gcc4.8.
2014-08-10 05:56:36 +00:00
apb 76ee568117 MACHINE_ARCH from the environment may be overridden by getarch (based
on the MACHINE), but MACHINE_ARCH from the -a option should not be
overridden.  The previous commit accidentally removed this behaviour.
2014-08-07 18:10:20 +00:00
apb 3058a673ed Add a list-arch operation to build.sh.
This lists all known MACHINE/MACHINE_ARCH values, optionally
filtered by glob patterns given in the "-m" and "-a" options.
For example: build.sh -a '*arm*' list-arch
2014-08-07 17:54:28 +00:00
apb b0a459328c In the usage message, mention that the -m arg may be an alias.
Also adjust a comment around alias processing.
2014-08-07 15:15:48 +00:00
apb cb95afc6e0 When searching for a default MACHINE_ARCH for a given MACHINE,
don't break out of the loop too early.
2014-08-06 12:29:13 +00:00
apb f80058aa23 Synchronise several shell_quote implementations, and:
* Elide some unnecessary pairs of quotation marks, to improve readability.
  For example, shell_quote "''" is now \'\' instead of ''\'''\'''.
* Don't add quotes around words that contain only safe characters,
  to improve readability.
* LC_COLLATE=C to prevent [a-zA-Z] from matching non-ASCII characters.
* Use ${SED} if defined.
2014-08-04 21:56:30 +00:00
riz ca39102762 hpcarm wants earmv4 because some models only have v4 CPUs. 2014-08-03 17:11:44 +00:00
apb 62aca79a71 BUILDINFO part 4: build.sh
Add BUILDINFO to the list of variables saved in the makewrapper script,
and print any non-blank BUILDINFO lines near the beginning of the output
from build.sh.
Index: build.sh
===================================================================
RCS file: /cvsroot/src/build.sh,v
retrieving revision 1.286
diff -d -p -u -r1.286 build.sh
--- build.sh	3 Aug 2014 01:03:41 -0000	1.286
+++ build.sh	3 Aug 2014 09:20:46 -0000
@@ -1299,6 +1299,7 @@ parseoptions()
 	#
 	makeenv="${makeenv} TOOLDIR MACHINE MACHINE_ARCH MAKEFLAGS"
 	[ -z "${BUILDID}" ] || makeenv="${makeenv} BUILDID"
+	[ -z "${BUILDINFO}" ] || makeenv="${makeenv} BUILDINFO"
 	MAKEFLAGS="-de -m ${TOP}/share/mk ${MAKEFLAGS}"
 	MAKEFLAGS="${MAKEFLAGS} MKOBJDIRS=${MKOBJDIRS-yes}"
 	export MAKEFLAGS MACHINE MACHINE_ARCH
@@ -2078,6 +2079,13 @@ main()
 	if [ -n "${BUILDID}" ]; then
 		statusmsg2 "BUILDID:"  "${BUILDID}"
 	fi
+	if [ -n "${BUILDINFO}" ]; then
+		printf "%b\n" "${BUILDINFO}" | \
+		while read -r line ; do
+			[ -s "${line}" ] && continue
+			statusmsg2 "BUILDINFO:"  "${line}"
+		done
+	fi

 	rebuildmake
 	validatemakeparams
2014-08-03 09:22:29 +00:00
riz 8b64a7c094 Make EABI the default for arm ports, as discussed on current-users
and port-arm.
2014-08-03 01:03:41 +00:00
apb cfff08a8a3 Make the makewrapper script robust against variables with
embedded special characters.
* Add a shell_quote function, identical to that in postinstall(1)
  and etcupdate(1).
* In the variable=value lines emitted to the wrapper script,
  quote the values, because they may contain special characters.
* Sort the variable names, not the variable=value lines, in case the
  value contains newlines.
2014-07-06 18:04:44 +00:00
apb 21232f58bc Set USETOOLS and MAKEWRAPPERMACHINE in parseoptions(), where
several other make variables are set, insteadof in special
case code in createmakewrapper().
2014-07-06 17:49:20 +00:00
apb dc4d730583 Fix two incorrect attempts to skip blank lines or comment lines.
They failed to account for the space that is appended to ${line}
before comparison.
2014-07-06 17:35:09 +00:00
apb 1ee6f9f471 Print BUILDID near the beginning of build.sh. 2014-06-14 12:25:00 +00:00
martin be27ff5209 Add a new action kernel.gdb=MYCONF to build a kernel with debuginfo
(and generate netbsd.gdb)
2014-05-05 19:12:19 +00:00
uebayasi f03da5f1d6 Revert previous for now; resolvepath() has to work for file paths too. 2014-04-29 11:52:51 +00:00
uebayasi 601713acc4 resolvepath: Resolve .. in absolute paths. 2014-04-29 06:51:57 +00:00
martin 606e79f9ab Typo 2014-03-31 19:29:21 +00:00
martin aad6ef8bb5 Bring back the playstation2 port - now that a toolchain for it is
available again.
2014-03-31 11:25:47 +00:00
skrll 6d3ceb1d61 Rename NetBSD/hp700 to NetBSD/hppa.
Unfortunately our VCS isn't very helpful here.
2014-02-24 07:23:38 +00:00
apb 5c6a475640 Move the "-U or -E must be set for build as an unprivileged user."
test from sanitycheck() to validatemakeparams().  If MKUNPRIVED is set
in mk.conf (and not on the build.sh command line) then it's not yet
available for use in the sanitycheck function.

Also move some other code for consistency.
2014-02-10 08:20:05 +00:00
apb d67dc8a5dd In the sanitycheck function, treat undefined MKUNPRIVED like "no".
Other uses of MKUNPRIVED should not need this treatment, because
bsd.own.mk sets it to "no" by default, and build.sh uses getmakevar to
pick up that default (but that happens too late for the sanitycheck
function to take advantage of it).
2014-01-13 20:00:20 +00:00
pooka 74f1a93841 Rename RUMPTEST_BUILDSH to RUMPKERN_ONLY. Turns out not building any
POSIX implementations of hypercalls is useful beyond the build.sh test,
such as when building rump kernels for non-POSIX hosts.
2013-08-30 10:29:06 +00:00
matt ebaa4f9b26 Use earmv4 for ecats enetwinder eshark
Add evbearm variants for earmv{4,5}{,eb} earmv7{,hf} earmv6{,hf}{,eb}
2013-08-06 05:47:58 +00:00
matt d97935c873 Add evbearmv7-eb and evbearmv7hf-eb aliases for evbarm.
These are because cortex (armv7a) cores uses a different big-endian binary
format that previous big-endian arm systems.
2013-08-05 00:28:52 +00:00
matt c9855651f8 Add stub port for evbcf which has enough to do a distribution build. 2013-07-18 22:08:59 +00:00
msaitoh 6c7aa7e063 The default of hpcarm's MACHINE_ARCH is arm. 2013-06-28 06:17:37 +00:00
matt 0daafbf5e0 Add earm aliases for various arm ports (ecats, hpcearm, eshark, etc.) 2013-06-27 01:02:13 +00:00
kiyohara 4aba7d3a0d Support to build for epoc32 userland. 2013-05-01 13:11:59 +00:00
pooka e0ab611267 fix "build.sh rumptest" wrt private hypercalls 2013-04-28 12:54:39 +00:00
oki 227f9e0fe5 fixed typo on comment. 2013-03-07 04:51:58 +00:00
christos d6c020d518 add a disk-image=target option 2013-02-13 02:17:54 +00:00
matt 29bcadd648 Add
MACHINE=evbarm		MACHINE_ARCH=earmhf	ALIAS=evbearmhf-el
MACHINE=evbarm		MACHINE_ARCH=earmhfeb	ALIAS=evbearmhf-eb
2013-02-03 05:37:43 +00:00
hubertf 1f03a12d0f If the initial build of nbmake fails, make the configure logfile
available (and tell where it is).
2013-02-02 02:08:37 +00:00
pooka 9df40f0e83 Scrub TERMINFO from host env lest it leaks into libterminfo build. 2013-01-14 13:02:59 +00:00
apb 381c3917c4 Move some tests from validatemakeparams() to sanitycheck(), so the
related error messages can be printed before build.sh builds
a new version of make.

Also make some sanity tests unconditional, instead of conditional on
${do_build} || ${do_distribution} || ${do_release} || ${do_install}.
2012-12-02 19:19:36 +00:00
joerg 54f191bfce Move the build_install logic from lib/Makefile into share/mk and re-use
it for tools. The existing logic broke for the LLVM build with the
recent .ORDER changes in make.
2012-11-15 23:51:53 +00:00
apb 9c5c1c9f13 Replace getarch and validatearch with table-driven implementations. 2012-10-31 13:05:09 +00:00
apb 22c6226401 Print the value of MAKECONF. 2012-10-18 16:15:29 +00:00
tsutsui 8a5f2d79df Fix build.sh "modules" target build which has been broken since
do-sys-modules target was removed from src/Makefile in rev 1.299.
Fixes PR/46994.
Also remove a redundant bomb message which is already handled by
make_in_dir().
2012-09-29 04:02:42 +00:00
matt 7d3aca317e Add support for MACHINE_ARCH matching earm or earmeb
Make evbearm-e[bl] a shortcut for evbarm and earmeb or earm.
Allow cats, iyonic, netwiner, shark, zaurus to specify earm though they
still default to arm.
2012-08-05 04:39:09 +00:00
tsutsui c6db16971c Add sanity checks for live-image and install-image targets
(which require mtree spec files built with MKUNPRIVED=yes)
to avoid unexpected makefs(8) error during image builds:
 - if release op is specified with live-image or install-image
   at the same time, make sure -U is also specified for the image builds
 - before perform live-image and install-image ops check METALOG file
   in DESTDIR to see if the build have been performed with MKUNPRIVED

XXX: Probably toolchain should create consistent spec files in
XXX: DESTDIR/etc/mtree dir regardless of MKUNPRIVED settings.
2012-02-26 20:32:40 +00:00
tsutsui 3cf69f27e2 Add "live-image" and "install-image" target support to build.sh.
"live-image" target builds pre-installed disk images that can be used on
emulators or boot from USB memory sticks to try NetBSD without installation.
Currently amd64, i386, pmax, sparc, sparc64, sun2, sun3, and vax
(which have working emulators and don't require extra tools like preparing
 msdosfs or partitioning MD label structures) support this target.

"install-image" target builds an bootable installation disk image that can
be used as an install CD but burned into USB memory sticks etc.
Current only amd64 and i386 (which would support USB boot) have this target.

For more details (and known issue) see following posts on netbsd-bugs@:
http://mail-index.NetBSD.org/netbsd-bugs/2011/08/06/msg023639.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/09/23/msg024207.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/07/msg025166.html
http://mail-index.NetBSD.org/netbsd-bugs/2011/12/08/msg025178.html

No particular comments about implementation, and
"go ahead" comments from mrg@, riz@ and christos@.

Closes PR toolchain/45153 and PR misc/45155.
2012-01-22 03:53:29 +00:00
jym ae1d24749f do_sys_sync() is part of vfs, hence rumpvfs. Used by pmf(9) during
device suspend, so explicitly link against rumpvfs to resolve that
symbol when linking rumpdev.

Unbreaks "rumptest" target.
2011-12-05 23:04:39 +00:00
mbalmer 0013a6a6ba wheher -> whether 2011-10-17 16:22:12 +00:00
apb 0d2b74d766 When using random versions of make to try to find the TOOLDIR,
redirect 2>/dev/null.  This should hide error messages like
"*** missing separator.  Stop." when GNU make doesn't
understand ".include".
2011-09-14 17:35:44 +00:00
apb 37b9b22e26 Add tests for the shell under which build.sh is run. If the
shell fails the tests, then build.sh tries to re-exec itself
under a more suitable shell.
2011-09-09 18:48:34 +00:00
apb a4d065775d Allow MAKEFLAGS to be set via build.sh -V. Somebody asked for this
in 2008.

Also add comments above a few functions in build.sh, and bump copyright
dates.
2011-09-09 13:29:23 +00:00