Commit Graph

33 Commits

Author SHA1 Message Date
Dimitry Andric
9fce37552a MFC r263778:
Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process
all the SUBDIR entries in parallel, instead of serially.  Apply this
option to a selected number of Makefiles, which can greatly speed up the
build on multi-core machines, when using make -j.

This can be extended to more Makefiles later on, whenever they are
verified to work correctly with parallel building.

I tested this on a 24-core machine, with make -j48 buildworld (N = 6):

		before    stddev       after    stddev
		=======   ======       =======  ======
real time        1741.1     16.5         959.8     2.7
user time       12468.7     16.4       14393.0    16.8
sys  time        1825.0     54.8        2110.6    22.8

(user+sys)/real     8.2                   17.1

E.g. the build was approximately 45% faster in real time.  On machines
with less cores, or with lower -j settings, the speedup will not be as
impressive.  But at least you can now almost max out a machine with
buildworld!

Submitted by:	jilles

MFC r263833:

Enable parallel building for gnu/usr.bin and usr.bin/clang too.
2014-04-09 18:16:58 +00:00
Julio Merino
b00c4ae607 Sync sh(1) in stable/10 to head.
This is a MFC of all the commits listed below.

My original goal of this change was to only merge the move of the tests
from tools/regression/bin/ into the new layout (which include tests for
sh(1) and other tools as well).  However, doing so is tricky due to the
ongoing work in sh(1) and, especially, the many changes to its tests
since stable/10 was first branched.

Merging everything is the simplest way to achieve this goal and, as a
bonus point, we get various fixes and miscellaneous improvements into
the branch.

Per jilles' suggestion, I'm avoiding the merge of a couple of changes
(r256850 and r257506) that required depending kernel changes.  I'm also
avoiding very recent changes that have not had a long enough time to be
validated in current.

This is "make tinderbox" clean.

r256735	sh: Remove one syscall when waiting for a foreground job.
r257399	sh: Allow trapping SIGINT/SIGQUIT after ignore because of '&'.
r257504	sh: Reorder union node to reduce its size on 64-bit platforms.
r257920	sh: Add a test case for would-be assignments that are not due to quoting.
r257929	sh: Properly quote alias output from command -v.
r258489	sh: Add tests for the </dev/null implicit in a background command.
r258533	sh: Add more tests for the </dev/null implicit in a background command.
r258535	sh: Make <&0 disable the </dev/null implicit in a background command.
r258776	sh: Prefer memcpy() to strcpy() in most cases. Remove the scopy macro.
r259047	sh: Split set -x output into a separate function.
r259210	Migrate tools/regression/bin/ tests to the new layout.
r259844	sh: Remove an unused variable.
r259846	sh: Initialize OPTIND=1 even if it came from the environment.
r259874	sh: Simplify code related to PPID variable.
r259946	sh: Don't check input for non-whitespace if history is disabled.
r260246	sh(1): Discourage use of -e.
r260506	Run the sh(1) and test(1) tests as unprivileged.
r260586	Mark the bin/pax tests as requiring perl.
r260634	Use TAP_TESTS_PERL to register the legacy_test in bin/pax.
r260635	Replace hand-crafted Kyuafiles with automatic generation.
r260654	sh: Remove SIGWINCH handler and just check for resize before every read.
r261121	sh: Add test for nested alias.
r261125	sh: Solve the alias recursion problem in a less hackish way.
r261141	sh: Do not depend on parse/execute split in new alias test.
r261160	sh: Add tests for alias names after another alias.
r261192	sh: Allow aliases to force alias substitution on the following word.
r262533	sh: Make expari() static.
r262565	sh: Do not corrupt internal representation if LINENO inner expansion fails.
r262697	sh: Simplify expari().

Reviewed by:	jilles
2014-03-09 17:04:31 +00:00
Dag-Erling Smørgrav
5f3850777e By popular demand, move freebsd-version(1) from /libexec to /bin.
Approved by:	re (gjb)
2013-10-09 20:47:20 +00:00
Warner Losh
9768ccae05 Merge from tbemd:
Add directory names directly and sort at the end.
Include bsd.arch.inc.mk so we can, in the future, more easily make arch
dependent changes in /bin (unlikely, but is needed for symmetry).
2010-09-13 01:29:51 +00:00
Jilles Tjoelker
0e5e416780 Add pwait utility, which waits for any process to terminate.
This is similar to the Solaris utility of the same name.

Some use cases:
* rc.subr's wait_for_pids
* interactive use, e.g. to shut down the computer when some task is done
  even if the task is already running

Discussed on:	hackers@
2009-11-17 22:47:20 +00:00
Yaroslav Tykhiy
21be3b3183 pkill(1) first appeared in /usr/bin, but later it was moved to /bin
for the convenience of rc.d.  Now it has happily lived there for quite
a while.  So move the pkill(1) source files from usr.bin to bin, too.

Approved by:	gad
2008-08-31 14:27:59 +00:00
David E. O'Brien
8757b00e1e uuidgen has been repo-copied from usr.bin/ to bin/ to match its "new"
(2007/04/09) installation location.
2008-03-13 17:38:06 +00:00
Ruslan Ermilov
e1fe3dba5c Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
Tom Rhodes
c71158d453 Wrap BSD r* commands in NO_RCMDS.
Change NO_RCMDNS to NO_RCMDS and do the switch in bsd.compat.mk.

Discussed with: ru, nectar
2005-03-02 11:53:22 +00:00
Ruslan Ermilov
d10a8d6cb4 - Build things in pure dictionary order (see sort(1)).
- Unify the conditional assignments section so that architectural
  exclusions come first, then options and !options, sorted by the
  option name, also in directory order, then architecture specific
  sections, sorted by the architecture name, with i386 being a
  traditional exception.

Prodded by:	bde
2004-01-16 15:23:19 +00:00
David E. O'Brien
f534f8f72b chflags(1) repo copied, usr.bin->bin.
We've been installing chflags(1) into /bin since 2000-11-10, so this
shouldn't cause any problems.
2003-02-18 19:51:59 +00:00
David E. O'Brien
d8ac087563 kenv(1) has been repo copied from usr.bin to bin.
Sometimes we need kenv(1) in /etc/rc.diskless*.
2003-01-20 17:56:25 +00:00
Mark Murray
5bb23f3653 Remove the last reference to NOUUCP - we don't have UUCP in the base
system.
2002-08-02 10:55:51 +00:00
Bosko Milekic
e5f7f97622 Introduce NO_RCMNDS flag so as to not compile rsh, rlogin, and rcp on will,
and document in share/examples/etc/make.conf

Submitted by: Aleksandar Simic <asimic@dsl.pipex.com>
MFC after: 1 week
2002-04-09 18:25:44 +00:00
Mike Barcroft
0dd10cae52 o Remove old code from pwd(1); realpath(1) is now in its own directory.
o Fix some unordered includes in pwd(1).
o Connect realpath(1) to the build.
2002-02-11 18:38:54 +00:00
Robert Watson
51d0ad314f o Enable getfacl(1) and setfacl(1)
Obtained from:	TrustedBSD Project
2001-03-19 18:09:56 +00:00
Doug Barton
9fc9ecb643 Finish the job of conditionalizing UUCP by preventing files in /etc/uucp
from being installed, and make rmail conditional on neither of
NO_SENDMAIL and NOUUCP.

PR:		bin/21321
Submitted by:	Me
2000-10-29 06:57:59 +00:00
David E. O'Brien
bcf88e07f6 Add a NO_TCSH knob. 2000-04-17 20:32:13 +00:00
Peter Wemm
2a4562393f $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
Gary Palmer
05da683dd4 Split lines into one subdir per line. 1998-08-30 20:22:15 +00:00
John Birrell
00bc12659e Now that alpha uses FreeBSD syscalls, all these work. 1998-08-15 12:27:23 +00:00
Poul-Henning Kamp
5734ac28b4 "make world" replaces /bin/rmail even when NO_SENDMAIL has been set to
true in /etc/make.conf.  Both qmail and smail use a different rmail, so
replacing rmail is a Bad Thing.

PR:		6762
Reviewed by:	phk
Submitted by:	Bill Trost <trost@cloud.rain.com>
1998-05-27 09:25:22 +00:00
John Birrell
e4dbdeafbe Of these programs, only df and ps aren't compatible with FreeBSD/Alpha.
All the rest work! Actually, I don't know if chio works because I can't
test that. df can be built using NetBSD's mount.h. ps depends on libkvm
so there is no point trying.
1998-05-09 06:42:52 +00:00
John Birrell
5c931089a9 Some things only work on i386. 1998-03-13 19:41:06 +00:00
Peter Wemm
4b4f0fcd24 Move procctl to the Attic, it's been copied to usr.sbin/procctl as
suggested by bde via sef.
1997-12-07 02:26:23 +00:00
Sean Eric Fagan
a367d57578 Add procctl to the list of programs built. 1997-12-06 04:19:41 +00:00
Joerg Wunsch
a88f199c80 Acitvate chio(1). 1997-03-06 15:30:53 +00:00
Peter Wemm
b97fa2ef50 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Mark Murray
670e751a63 ed/Makefile is able to 'decide' for itself whether to build secure or
unceumbered ed. Remove the superfluous .if (...) / .endif
1995-10-01 14:24:01 +00:00
Andrey A. Chernov
9c52d82f1e Build secure ed if available and allowed 1995-09-29 19:31:55 +00:00
Garrett Wollman
63c72c78d2 Added domainname. 1994-09-18 21:25:26 +00:00
Rodney W. Grimes
4b88c807ea BSD 4.4 Lite bin Sources 1994-05-26 06:18:55 +00:00