Commit Graph

33 Commits

Author SHA1 Message Date
dim
b4a5074609 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
jmmv
80efbcbbcd 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
des
1fb35847da By popular demand, move freebsd-version(1) from /libexec to /bin.
Approved by:	re (gjb)
2013-10-09 20:47:20 +00:00
imp
681e259e01 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
0a8c57af78 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
yar
f8df6b10b3 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
obrien
3c1f420f6a 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
ru
388e590f95 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
trhodes
792676bbc2 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
ru
6593bb80ea - 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
obrien
2c8f50670b 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
obrien
8115ffde7c 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
markm
cf6ebbd6fe Remove the last reference to NOUUCP - we don't have UUCP in the base
system.
2002-08-02 10:55:51 +00:00
bmilekic
890c5794a5 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
e9400873cc 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
rwatson
1d7d2ae4e8 o Enable getfacl(1) and setfacl(1)
Obtained from:	TrustedBSD Project
2001-03-19 18:09:56 +00:00
dougb
b13f26d45b 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
obrien
d099893938 Add a NO_TCSH knob. 2000-04-17 20:32:13 +00:00
peter
66312e4a8d $Id$ -> $FreeBSD$ 1999-08-27 23:15:48 +00:00
gpalmer
69c14dad4d Split lines into one subdir per line. 1998-08-30 20:22:15 +00:00
jb
9cde9d5506 Now that alpha uses FreeBSD syscalls, all these work. 1998-08-15 12:27:23 +00:00
phk
efc31c018f "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
jb
babe8d3976 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
jb
de6bdd1c61 Some things only work on i386. 1998-03-13 19:41:06 +00:00
peter
127c7ca6a0 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
sef
bfd5e43c20 Add procctl to the list of programs built. 1997-12-06 04:19:41 +00:00
joerg
cf12351a85 Acitvate chio(1). 1997-03-06 15:30:53 +00:00
peter
83b3c2c161 Revert $FreeBSD$ to $Id$ 1997-02-22 14:13:04 +00:00
jkh
808a36ef65 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
markm
50f18fc23c 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
ache
269e1bfa71 Build secure ed if available and allowed 1995-09-29 19:31:55 +00:00
wollman
3363d7a700 Added domainname. 1994-09-18 21:25:26 +00:00
rgrimes
e3cfc8ce61 BSD 4.4 Lite bin Sources 1994-05-26 06:18:55 +00:00