Commit Graph

320 Commits

Author SHA1 Message Date
jdc 3c119b0891 Pull up the following revision (requested by martin in ticket #1807):
build.sh: revision 1.366 via patch

Avoid the dependency on a populated tooldir (or building the tools)
when simply doing mkrepro-timestamp and the current repository setups
does not actually require it.
2023-03-13 21:36:29 +00:00
msaitoh 090e07d001 Pull up following revision(s) (requested by martin in ticket #1695):
build.sh: revision 1.348
	build.sh: revision 1.349
	build.sh: revision 1.350
	build.sh: revision 1.351
	build.sh: revision 1.352
	build.sh: revision 1.356
ignore cvslatest errors in expert mode
Handle git and mercurial for reproducible builds.
for mercurial, use the latest revision instead of limiting the output to 1
(requested by joerg)
handle different flavors of date(1)
kre@ does not like the subshell :-)
Add a new operation "mkrepro-timestamp" to extract the timestamp a
build with -P would use. Example usage:
	./build.sh -T /usr/tools -P mkrepro-timestamp
This allows us to extract this information once, make other use of it,
and replicate it on other machines with -V MKREPRO=yes -V MKREPRO_TIMESTAMP=..
2021-09-15 05:07:42 +00:00
martin 0390cd83c9 Pull up following revision(s) (requested by maya in ticket #591):
build.sh: revision 1.317-1.320

Add sanity check: passed -x but no xsrc directory

Accept also ../xsrc in our sanity check, we use this as a default too,
if it exists.

Simplify.

If we're going xsrc hunting, lets's do it properly.   In particular
it is not "good" just because ../xsrc or /usr/xsrc exists, if the user said
-X /no/xsrc/here ...   Further, when we find it, remember it.

While here, also look in my favourite place: .../src/xsrc - src/x would be
better (or src/x11) but that's too hard given the cvs module name and src
tarball format.
2018-02-26 13:52:00 +00:00
snj fda60e1318 Pull up following revision(s) (requested by uwe in ticket #555):
build.sh: 1.322-1.323
	tools/make/buildmake.sh.in: 1.9-1.12
Make sure nbmake is always built with the right _PATH_DEFSYSPATH.
--
Restore formatting/indentation of the configure call in rebuildmake()
to what it used to be.
--
G/c unused runcmd.
--
Do not use HOST_CFLAGS to link the make binary.
--
Do not use HOST_CFLAGS and others.  build.sh calls configure with
CFLAGS set to HOST_CFLAGS, etc - so HOST_* environment variables are
already taken into account if set.
OTOH, if configure were to add anything to CFLAGS etc, the old code
would happily ignore those changes, picking up original environment
variables instead.
2018-02-19 18:26:44 +00:00
christos ab4baeaa18 - Allow all other targets (like kernel=) to obey mkrepro (-P)
- Print the timestamp in UTC
2017-04-08 18:22:35 +00:00
sevan f92715b077 State the reason script bombed.
Reword recommendation.
2017-03-10 17:15:47 +00:00
christos 5a5501a835 add a trailing / to force symlink resolution. 2016-12-18 19:39:05 +00:00
christos 163c34b376 Bail out on error computing the timestamp 2016-12-18 19:00:20 +00:00
christos bb5b15d092 Add -P for reproducible builds based on the latest cvs timestamp. 2016-12-18 02:20:30 +00:00
ast c024434196 With driver modulization of if_loop.c through introduction of
sys/net/if_module.h, build.sh rumptest of -lrumpnet_virtif now also
requires -lrumpdev -lrumpvfs for if_loop.c:config_cfdriver_attach()
and kern_pmf.c:do_sys_sync().
2016-11-13 14:47:46 +00:00
kre 8d737b49d5 When setting TOP the idea is to run the [/usr]/bin/pwd binary, and
exclude any skell builtin.   There are two ways to guarantee exec'ing
a binary, using a path, or using exec.   To use a path we would need to
find it first (which certainly could be done.)  Using exec here is easier.
2016-06-03 00:00:01 +00:00
christos c3fb96a2cc Provide the correct system Makefile path to the tools make. This is needed
because although the arch-specific make wrapper sets $MAKEFLAGS to include
the proper system Makefile path, configure clears $MAKEFLAGS before it invokes
$MAKE to figure out which dependency style to use. This made the build fail
during the gcc build.
2016-04-29 16:08:09 +00:00
matt eb96b2e87d Make evbarm64 (little endian) the default for aarch64. 2015-06-27 06:00:28 +00:00
wiz 9ff958c753 Fix typo in usage. From Christopher M. Fuhrman in PR 49882. 2015-05-06 17:31:49 +00:00
christos 309da5c724 Fix the build kernels target with -n, disable temporarily runcmd while we
are fetching the allkernels variable.
2015-02-01 18:49:25 +00:00
uebayasi 0a333665fa Add a new build make variable, CONFIGOPTS, which is passed to config(1)
when building kernels.  Revert "mkernel=*" and "mkernels" in favor of
this option.

Diff posted on source-changes-d@, approved by (null).
2014-11-30 15:53:29 +00:00
uebayasi 34757c628f build.sh mkernels: Build all kernels in modular build 2014-11-16 06:08:13 +00:00
uebayasi 5c3b6b4d21 Expand TABs in usage. 2014-11-16 05:39:09 +00:00
uebayasi 445d0e91db build.sh mkernel=*: New command to build kernel in modular 2014-11-16 05:38:10 +00:00
apb d23dc3a0d7 Replace '.' and '-' in ${op} with '_', before setting d_${op}=true.
Also remove or simplify older code that did the same thing in a
different way.  The old code handled most cases, but did not change
op=kernel.gdb to op=kernel_gdb.
2014-11-10 09:59:33 +00:00
uebayasi 9886534313 build.sh: New operation "kernels" to build all kernels 2014-11-06 02:02:48 +00:00
snj 5a351217dd iso -> images 2014-11-05 08:19:17 +00:00
apb fccc687bdd Prefer dash to bash when searching for a usable shell.
I have tested a complete build with HOST_SH=dash on NetBSD.
2014-09-30 14:57:51 +00:00
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