Commit Graph

228 Commits

Author SHA1 Message Date
pooka 49d3a570e6 need object directory for etc/mtree to run distrib-dirs 2010-01-13 02:24:06 +00:00
pooka 2fdef1b4e0 In rumptest, create obj dirs before distrib dirs. Fail if distrib dir
creation fails.

per clue-by-4 from mrg
2010-01-13 02:18:25 +00:00
mbalmer 2940930ee5 'build.sh ... modules' only builds modules, but does not install them,
reflect that in the scripts output.  While here, fix the past form of build.
2009-12-26 14:13:08 +00:00
matt 3a2430f436 Add cobalt64 alias and indicte cobalt can be mips64el too. 2009-12-17 15:30:37 +00:00
matt 1819481222 Merge from matt-nb5-mips64 2009-12-14 01:11:02 +00:00
pooka d6224f4507 Remove support for NetBSD/playstation2. 2009-12-05 16:29:10 +00:00
uebayasi d166c4bf28 Support "extsrc", externally added programs and libraries. Users can write
their own reach-overs, cross-build, install, and get set files just like base
and X11 / X.org.  (These sets are not included as TNF releases.)
2009-11-30 16:13:22 +00:00
pooka 3fb11d6b4c For rumptest, ignore unresolved symbols which are in the
toolchain namespace:
  1) anything starting with __
  2) MD quirks as defined by sys/rump/Makefile.rump
2009-11-24 13:39:07 +00:00
pooka a874bbf6dc Add more rumpdev configurations to rumptest. 2009-11-23 14:07:45 +00:00
pooka 3f3cc8c2db Add rumptest command for testing rump linkage. 2009-11-18 18:05:19 +00:00
apb dea834c0d8 Set LC_ALL=C before we try to parse the output from any command.
This will ensure that awk is not invoked in a way that tickles
the bug described in PR 42320.
2009-11-17 20:49:34 +00:00
apb 61d1f4a9a4 If do_expertmode is false, then add DESTDIR and RELEASEDIR to makeenv.
This reinstates behaviour that was accidentally lost in revision 1.215.
2009-11-04 12:58:01 +00:00
enami e91a07076b There is no variable called __SRC_TOP_OBJ__. Use the correct one instead. 2009-10-15 03:21:45 +00:00
apb ab1c404393 Bomb if TOOLDIR, DESTDIR, or RELEASEDIR changes after we have created the
top level object directory.  This can happen if /etc/mk.conf overrides
values passed to build.sh in the environment or on the command line.
2009-10-14 19:03:12 +00:00
apb c8cd35993a Add an additional check for whether to rebuild make. This fixes a problem
I saw where building first without and then with OBJMACHINE confused
build.sh into not building a new nbmake in the new TOOLDIR.
2009-10-03 19:19:59 +00:00
apb cfa3cdb026 Replace try_set_TOOLDIR with a new function, print_tooldir_make,
which does much of the same work but prints a result instead of
setting a global variable.  Adjust the rebuildmake function to suit.
Improve the comments describing how we try to figure out whether
the existing tooldir make needs to be rebuilt.
2009-09-27 22:02:41 +00:00
apb 828252228e * Use a more robust method of creating the top level object directory.
Use getmakevar to expand MAKEOBJDIRPREFIX or MAKEOBJDIR, or (if
  neither of those variables is set) use a non-recursive "make obj" in
  the top level source directory.

* Do not let TOP_objdir default to ${TOP}.  It's now set only by the
  -M or -O command line options, or after using getmakevar to expand
  MAKEOBJDIRPREFIX or MAKEOBJDIR.

* Make try_set_TOOLDIR handle MAKEOBJDIRPERFIX passed from the
  environment.  It runs too early to use getmakevar, so it will not work
  if the value contains embedded '${...}' variable references.

* Use '$TOOLDIR' (with a literal '$') instead of 'nonexistent' in
  a message when rebuilding make when TOOLDIR is not yet known.
2009-09-27 18:08:24 +00:00
apb 9cdf728a90 Introduce a done_rebuildmake variable, instead of abusing do_rebuildmake
to mean both "must rebuild make" and "have already rebuilt make".
2009-09-27 17:55:53 +00:00
apb d1373a044c Rename raw_getmakevar to bomb_getmakevar. It wasn't "raw" at all; it
was (and is) a wrapper around nobomb_getmakevar.
2009-09-27 17:48:19 +00:00
apb f1ead22021 Allow build.sh "-C cdextra" option to be specified multiple times. 2009-09-27 17:28:38 +00:00
apb b4f381c612 Make resolvepath and resolvepaths slightly less magic. They now take
a variable name as an arg unstead of always working on $OPTARG,
and resolveepaths is now a wrapper around resolvepath instead of
duplicating code.
2009-09-27 17:25:01 +00:00
jnemeth d57c8fa8c6 Add a modules operation to build.sh, which builds and installs kernel modules
into DESTDIR.

This is based on the patch provided by tsutsui@ on tech-toolchain@.
2009-09-07 04:14:17 +00:00
perry 1fd3f53afd Add a MKARZERO flag, which invokes ar(1) with the new D flag when it
is set to "yes" -- defaults to "no" except for build.sh builds. This
results in a deterministic .a file rather than one that reflects
timestamps and permissions on the source files.

Also, clean up the ar flags we're using, and remove a redundant use of
ranlib that on a modern POSIX ar can be done with the "s" flag.

Discussed on tech-toolchain
2009-03-13 16:23:31 +00:00
apb a599e86f4b Add "-", "_", and "A-Z" to the set of allowed characters in the
result from `uname -p`.  We already have a platform with an underline
("x86_64"), and the other chars seem harmless.
2009-03-09 06:25:51 +00:00
apb 5ebdda3e89 In build.sh and bsd.own.mk, if uname -p fails, or prints "unknown", or
prints something that does not look like an identifier, then use uname
-m instead.  (Cygwin prints "unknown", and OpenBSD prints a long string
containing several spaces; this code should handle both.)
2009-03-06 16:29:40 +00:00
lukem 5bad8e7d9c Implement make_in_dir <dir> <op> to simplify various operations 2009-02-25 23:34:10 +00:00
sketch 7ce9d1c8ea Make 'build.sh tools' work with the Sun Studio compiler, although bugs in
some of the generated tools still prevent building a full release using them.
2009-02-24 22:25:24 +00:00
plunky e93c5d3dce update usage message for -x to "build X11" rather than "build X11R6" 2009-02-21 22:04:35 +00:00
apb e746baefad "\t" does not represent a tab in sed regular expressions,
so use a ${tab} variable instead.  This bug was found by
Jeremy C. Reed.
2009-01-03 08:23:00 +00:00
apb c89f08d79b Add support for new MAKEVERBOSE levels 3 and 4. The complete list is now:
0   Minimal output ("quiet")
 1   Describe what is occurring
 2   Describe what is occurring and echo the actual command
 3   Ignore the effect of the "@" prefix in make commands
 4   Trace shell commands using the shell's -x flag

The default remains MAKEVERBOSE=2.
2008-11-13 20:40:11 +00:00
apb 9af4e3ff5b Try harder to guess the correct TOOLDIR.
Adapted from a proposal by Izumi Tsutsui in tech-toolchain.
2008-10-26 23:40:06 +00:00
lukem 36e7d1970c Remove support for printing "'-x' has been replaced by 'xxxxx'".
The old option hasn't worked since 2003/01/23 (before NetBSD 2.0.)
2008-08-22 23:41:24 +00:00
lukem 8ee8058e34 Fix "-n releasekernel=..."
Patch from Jukka Salmi in PR 33096.
2008-08-18 06:40:09 +00:00
lukem e8d2dcc221 Implement "cleandir". Inspired by PR 39362.
Consistently expand tabs in the usage.
2008-08-18 05:26:05 +00:00
lukem e33cf6cb97 Determine top-level objdir from the environment $MAKEOBJDIRPREFIX early on,
and store in the (non-exported) $TOP_objdir.
(We can't do the same for the environment $MAKEOBJDIR since it may contain
make(1) expressions that aren't easily parseable by sh(1))
Remember appropriate variations of '-M modp' and '-O mod' in $TOP_objdir
(replacing $makeobjdir misuse).
Use $TOP_objdir when trying to guess the TOOLDIR,
and when detecting if the top-level objdir needs to be created.
Fixes problems observed when testing fixes for PR 39360 and 39361.

Fix the TOOLDIR path used when guessing the TOOLDIR.
PR 39360 from Andrew Cagney <cagney@gnu.org>

Use stricter result checking from make(1) when guessing the TOOLDIR.
PR 39361 from Andrew Cagney <cagney@gnu.org>
2008-08-16 00:10:04 +00:00
lukem 095e5fa04c crank copyright 2008-08-15 22:22:15 +00:00
apb 553ee2109e Don't bomb if we can't detect the top level obj directory name.
Apparently there are things you can do in the environment or mk.conf
to set your object directory in a way that the previous code couldn't
detect.  (This is an interim measure until we can properly detect and
create the top level object directory in all cases.)
2008-08-08 07:30:42 +00:00
apb 1b101ece85 If neither -M nor -O was specified, but the source directory is
/usr/src, then try to figure out what object directory would be chosen
by bsd.obj.mk, and pre-create it.
2008-08-05 22:35:32 +00:00
perry b1d7b7c21a Builds now use "BUILDSEED" so that c++ binaries are reproduceable.
By default BUILDSEED is set to NetBSD-{majorversion} -- a -S flag may
be used to change it.

Discussed on tech-toolchain.
2008-08-05 19:43:33 +00:00
dyoung a475a8844f Make build.sh -C work as advertised. 2008-06-27 21:38:36 +00:00
martin 11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
dholland fc5b5e6ac9 The phase of the build that -u prevents is "make cleandir", not merely
"make clean"; adjust build.sh's usage message to reflect this.
2008-03-28 04:24:18 +00:00
lukem bf66c8a26c Obtain RELEASEMACHINEDIR from the make environment.
Display the path to the binary set dir upon completion of "sets".
2008-03-16 07:52:59 +00:00
apb 56467d7fb7 * Installing as non-root is a bad idea. Print a warning in expert mode,
or bomb in non-expert mode.
* If a previous build.sh run with the -U (unprivileged) flag created a
  METALOG, then subsequent build.sh runs must also specify the -U flag.
  In expert mode, this is just a warning.
* While I was here, changed spaces to tabs in one existing line.
2008-02-25 11:14:31 +00:00
matt b1a0879c83 sh5 is dead. sh[35]e[bl] -> sh3e[bl] 2008-02-03 06:10:53 +00:00
jmmv 26f9a12859 Add ofppc64 as a machine target for the tools alongside evbppc64 and macppc64
that are already there (even if not useful for anything else, AFAIK).
2008-01-18 09:45:05 +00:00
simonb d8de5b102b Remove support for NetBSD/pc532. 2008-01-09 11:25:58 +00:00
garbled 8797c0442b Add rs6000 to this file so it can be easily cross-built. 2007-12-17 19:23:44 +00:00
jnemeth b38a821a97 Delete mention of 'iso-dir=cdextras'. This was a leftover from
the original implementation of cdextra as an operation instead of
a being paramater.
2007-11-23 19:38:43 +00:00
sborrill 14df52fe64 Add support for CDBUILDEXTRA which acts like CDEXTRA to add extra items
to the CD-ROM image.
Make CDEXTRA and CDBUILDEXTRA be able to contain lists of files and directories
which are added in turn.
Add support for CDEXTRA_SKIP which contains a list of fnmatch(3) items to
skip during the copy. This is _very_ useful for skipping CVS dirs for example.
CDBUILDEXTRA and CDEXTRA_SKIP are to be used in Makefiles creating the images,
CDEXTRA remains to be used from build.sh.
Update documentation and build.sh help text to show that -C can be used to
specify a list of files and directories rather than just a single dir.
2007-11-23 16:19:28 +00:00