Commit Graph

535 Commits

Author SHA1 Message Date
marcel
c2c77abf9b Remove the AFM (Anti-Footshooting Measure) added when we split the
5.x signal code from the 4.x signal code. The split happened in
Oct 2002 and we have had 2 releases since then. A kernel older than
5.0-R cannot reasonably be called a -current kernel anymore.

This does not break upgrading from an 10 month older kernel. It just
makes it more exiting.
2003-08-28 20:13:34 +00:00
imp
55042fc881 OSRELDATE should fallback to 'unknown' rather than the kernel that's
booted on this machine.  This is a slightly better default to use.

Requested by: ru
2003-08-27 04:49:43 +00:00
imp
59cb58f3f1 Add @ before the shell invocation for the testing of sufficiently new sh.
No need to see this message twice.
2003-08-25 18:30:06 +00:00
imp
2b92492b44 Fall back to using the kernel version for the OSRELDATE when
/usr/include/osreldate.h doesn't exist on the system.  While this
could be worked around by saying something like 'make includes
OSLRELDATE=0' when this file doesn't exist, it is just as easy to
provide a fallback when the file we know we depend on doesn't exist.
While this doesn't make all targets work w/o a
/usr/include/osreldate.h, because some of the FreeBSD bootstrap tools
use this file.  'make includes' however does work.

Noticed by: peter, obrien (and likely others)
Pointy hat to: imp (for suggesting a method that depended on /usr/include)
2003-08-25 17:48:25 +00:00
gordon
2251e17fc3 In preparation for libraries being installed in /lib, add lib to the
list of build directories during the tool creation phase of the build.
2003-08-17 07:50:15 +00:00
markm
231d889e77 Don't lint(1) so early in the build. Its OK to keep this for the
"make all" phase.
2003-07-24 18:14:29 +00:00
gordon
34cb14ccf7 Apparently we prefer underscores in new options. Sorry for the churn folks.
Requested by:	obrien
2003-07-14 16:21:16 +00:00
gordon
ba10b4a13d Forgot that the rescue subdir needs to be a conditional for the
build-tools bit.
2003-07-11 17:01:58 +00:00
gordon
b896522432 Turn rescue back on, conditional to NORESCUE. We seem to be split on
using underscores or not, so I just randomly picked a style. I think
I have the logic correct, but if someone wants to give it a once over
that would be good.

Tim submitted a patch to fix the cross-building issues which I tested
with a tinderbox run for sparc64.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-07-11 16:57:43 +00:00
kris
931b660ce6 Correct makefile syntax error in r1.375. 2003-07-10 05:29:56 +00:00
obrien
12a335d82b Style nit. 2003-07-08 01:24:21 +00:00
gshapiro
db42b17055 Use 'id' instead of 'grep' to detect the presence of the smmsp user/group.
This fixes the check for users with smmsp in NIS instead of their local
files.

Suggested by:	peter
MFC after:	5 days
2003-07-06 19:37:40 +00:00
ru
240df1e4a7 Fixed style bugs related to parentheses in Makefile.inc1.
Submitted by:	bde

Fixed nearby bug: propagate the root Makefile's idea of
the appropriate "make" binary down to release/Makefile.
2003-07-04 14:27:06 +00:00
gordon
7d054a5c56 More NO_RESCUE to RESCUE transitions.
Submitted by:	ru
2003-07-02 19:26:19 +00:00
gordon
7616d9bb52 Switch the logic on the /rescue bits from NO_RESCUE to RESCUE, at least
until there is a fix for cross building available.
2003-07-01 23:10:39 +00:00
ru
f71aabaec8 Put rescue/ into a correct slot in the SUBDIR list. Sort bootstrap-,
build-, and cross-tools lists, reformat lists for easier maintenance.

Submitted by:	bde, ru
2003-07-01 12:57:53 +00:00
ru
0ef7485747 Only bootstrap crunchide(1) and build crunchgen(1) when necessary.
The latter needs to be built either if it's used as a cross-tool
(${TARGET_ARCH} != ${MACHINE_ARCH}) or if it has backward compat
issues, like e.g. lack of the AMD64 support.
2003-07-01 12:25:11 +00:00
gordon
1bc17506c3 Do the deed and hookup /rescue to the build. As a result, always build
crunchgen and crunchide as cross-tools.

Submitted by:	Tim Kientzle <kientzle@acm.org>
2003-06-30 05:59:35 +00:00
smkelly
10466ee3ac - Fix a typo.
PR:		bin/53864
Submitted by:	Lukas Ertl <l.ertl@univie.ac.at>
Approved by:	jeff (mentor)
2003-06-28 04:46:45 +00:00
simokawa
c2d986d0e3 Allow installkernel.debug and reinstallkernel.debug. 2003-06-22 10:01:03 +00:00
imp
c78937e224 Minor tweaks to the build process so that we can build 5.1-current on
4.8-stable:

Must build lib/libc before libpthread.  Fix how we do this to be more
consistant with how lists are handled in the file.  Also, don't bother
to prebuild libc if we're not building libpthread.

Submitted by: ru@
Reviewed by: bde@ (before ru@ submitted it)
2003-06-14 17:50:13 +00:00
des
d84e6f299c Do not bogusly set CSTD to the empty string. 2003-06-14 13:30:32 +00:00
imp
bc62e791aa Add lib/libc to list of _prebuild_libs because we need the target
built libc_pic.a for libkse.

# This should finally fix the build on 4.x

Submitted by: kan
2003-06-08 04:15:05 +00:00
imp
2db9b918f6 When boot strapping from older systems, don't specify a C standard in
the bootstrap process.  This allows one to more completely build from
a -stable box.

Reviewed by: ru@ (briefly)
2003-06-07 18:16:12 +00:00
obrien
2c128d0844 Wrap gperf & groff wth NO_CXX. 2003-05-31 21:29:38 +00:00
ru
27a4bbdd92 Unbreak world build if NO_OPENSSL is defined but NO_KERBEROS is not.
Submitted by:	Marius Strobl <marius@alchemy.franken.de>
Approved by:	re (jhb)
2003-05-21 21:47:20 +00:00
des
e5d2d778eb Retire the useless NOSECURE knob.
Approved by:	re (scottl)
2003-05-19 15:52:01 +00:00
ru
1174073c83 Unbreak parallel make of _includes after revision 1.356 changes.
Spotted by:	bde
Approved by:	re (scottl)
2003-05-18 20:22:26 +00:00
ru
371eb349e9 -lbsdxml lives in lib/libexpat. *Blush*
Submitted by:	tmm (Makefile.inc1)
2003-05-18 00:40:22 +00:00
ru
2df626cc2d Unbreak world: record libgeom dependency on libbsdxml here too.
Forgotten by:	ru
Submitted by:	des
Verified by:	tools/make_libdeps.sh
Approved by:	re (scottl) (related change)
2003-05-17 23:07:09 +00:00
ru
3100b1e280 Use the installed world's idea of OSRELDATE rather than the kernel.
This was the initial intent anyway, and it became clear that it is
really necessary to treat it this way, as many people happen to run
with kernel newer than the installed world.

Submitted by:	imp, ru
Approved by:	re (scottl)
2003-05-15 17:59:32 +00:00
bde
c0fd079086 Install symlinks to individual headers instead of symlinks to directories
in the SHARED=symlinks case.  Symlinks to directories only work if all the
the necessary headers are in 1 directory, but the necessary headers are
scattered for at least ipfilter headers in <netinet>.  This change also
avoids polluting /usr/include with non-headers; the /usr/include hierarchy
is now independent of the setting of SHARED.

Submitted by:	ru (edited to fix netgraph/bluetooth/include and machine/pc)
PR:		44148
2003-05-05 12:54:26 +00:00
markm
38e081a5bd Negate the logic of MAKE_KERBEROS5, and replace it with NO_KERBEROS. 2003-05-05 08:44:40 +00:00
imp
713f395a43 Many developers run with userland != to kernel. While this isn't
supported, it usually works for months at a time.  Allow these people
to override the OSRELDATE of their installed world when things don't
match and the exact OSRELDATE matters and is different than the
kernel.  Now that Makefile.inc1 depends more and more about which date
you have to optimize the pieces it builds, it may be necessary to
pessimize things if its guesses are wrong.

If OSRELDATE is already set, we won't fork the sysctl to find out what
the kernel's date is.

Developers on IRC suggested that they run mismatches all the time as
well.

Reviewed by: obrien
2003-05-04 04:14:10 +00:00
ru
06edd58569 For the time being, upgrade the whole Groff (to version 1.19),
but stop doing so again on the next __FreeBSD_version bump.
2003-05-01 20:41:03 +00:00
ru
bc54a1bc8b Restore the ordering of NO's and remove one redundant NOLINT.
Reviewed by:	markm
2003-04-30 12:38:20 +00:00
markm
cbc517e461 Fix "make world" for the WANT_LINT case. The various build tools
must not try to lint(1) stuff at *-tools time; keep the linting
for the actual build (which comes later).
2003-04-30 11:17:33 +00:00
ru
3f80556a05 Groff after 2002/10/15 has no known backward compatibility issues,
but we always want the latest macro files.
2003-04-30 10:58:52 +00:00
jhb
da8de4ae41 Rename KRNLSRCDIR to KERNSRCDIR and allow it to be overridden. The name
change was to be consistent with other overridable variables such as
KERNCONFDIR and KERNCONF.
2003-04-16 21:05:06 +00:00
ru
3ff8bde4fa kbdcontrol.c rev. 1.35 and onwards support the KEYMAP_PATH
environment variable, and don't need to be bootstrapped.
2003-04-14 14:46:13 +00:00
ru
0a9a218038 yacc(1) with skeleton.c rev. 1.29 in HEAD and rev. 1.28.2.1 in RELENG_4,
and onwards, are believed to not require bootstrapping.
2003-04-13 16:26:31 +00:00
ru
d684a7cc03 xargs.c rev. 1.10 in HEAD and rev. 1.9.2.1 in RELENG_4,
and onwards, have support for the -J option we need.
2003-04-13 16:05:28 +00:00
ru
bbfe17206a elf2aout.c,v 1.6 and onwards have no known backward compatibility issues. 2003-04-13 15:43:29 +00:00
ru
a501663ce7 uudecode.c rev. 1.23 in HEAD and rev. 1.13.2.3 in RELENG_4,
and onwards, have no known backwards compatibility issues.
2003-04-13 15:09:26 +00:00
ru
0f4764dcd5 Only create directories that are really needed. 2003-04-13 14:34:17 +00:00
ru
5ce64464d0 Install bootstrap-tools into a separate subtree of ${WORLDTMP}.
This allows us to use them as early as possible while building
bootstrap-, build-, and cross-tools.  Some cleanups to follow.

This change resolves the gperf(1) bootstrapping issue (missing
-E option) in gnu/usr.bin/cc/cc1plus while in the cross-tools
stage when upgrading from 4.0-RELEASE.
2003-04-13 11:42:55 +00:00
ru
e3d7641b70 Make sure legacy stuff comes last. Some tools that use
legacy stuff (binutils) depend on this order.

For this to work, provide (and use) specialized versions
of bsd.prog.mk and bsd.lib.mk that include the standard
versions first, then augment CFLAGS, DPADD, LDADD, and
LDFLAGS as necessary, with the legacy stuff.

Tested on:	4.0-RELEASE
2003-04-12 15:07:46 +00:00
ru
18679452c0 libc_gen/basename.c depends on include/libgen.h. 2003-04-11 17:58:17 +00:00
ru
1625724056 Put back the undocumented change from rev. 1.334 too: no
need to create ${WORLDTMP}/legacy/usr/include explicitly.
2003-04-07 00:01:33 +00:00
imp
fb3369e9a3 Put back parts of 1.335 and 1.336 that 1.337 accidentally backed out.
Submitted by: ru
2003-04-06 23:46:02 +00:00
imp
a3dc544bfe -legacy and /.../legacy/... looks better than build or bootstrap in
the logs, so use that instead.

Submitted by: obrien.
2003-04-06 21:46:44 +00:00
ru
2dcfa9709b Always remove ${WORLDTMP}/build/usr/include, even in the NOCLEAN
case.  This way, we won't have stale compatibility headers there.
2003-04-06 21:39:20 +00:00
ru
1e90af9113 Moved libbuild target to where it belongs. Added a comment. 2003-04-06 21:33:49 +00:00
ru
37af09e8c1 Fixed buildworld stages names in comments. 2003-04-06 21:23:02 +00:00
imp
070e2898a0 We can't use ${WORLDTMP}/usr/{include,lib} for the compat layer. This
is because we populate these directories later, and a subsequent
-DNOCLEAN build may fail.  So, we put them in
${WORLDTMP}/build/usr/{include,lib} instead and adjust Makefile.boot.

Again, this works on -stable and -current, but might break older
versions.

Submitted by: ru@
2003-04-06 03:50:28 +00:00
imp
b0693a4cbc Migrate to a new way of dealing with building from old revisions of
FreeBSD.  This method attempts to centralize all the necessary hacks
or work arounds in one of two places in the tree (src/Makefile.inc1
and src/tools/build).  We build a small compatibility library
(libbuild.a) as well as selectively installing necessary include
files.  We then include this directory when building host binaries.

This removes all the past release compatibilty hacks from various
places in the tree.  We still build on tip of stable and current.  I
will work with those that want to support more, although I anticipate
it will just work.

Many thanks to ru@, obrien@ and jhb@ for providing valuable input at
various stage of implementation, as well as for working together to
positively effect a change for the better.
2003-04-05 20:30:30 +00:00
imp
9eaffccc28 Diff reduction with my p4 changes:
Add @ before ${ECHODIR} where appropriate because we don't need to echo
the echo command...  This gets rid of extra echo ===> in log files...
2003-04-04 22:46:08 +00:00
ru
575e050d5b Parallelize (on the top-level SUBDIR list) the "all" stage of
buildworld.  This gives 5-11% percent gain in real buildworld
times on various UP and SMP systems here.  I used 4 * hw.ncpu
as an argument to "make -j" in my tests.
2003-04-01 11:39:04 +00:00
ru
9fcf0741d3 Pass NO_WARNS to the build-tool stage too; -Wsystem-headers
isn't known to the 4.x system compiler.
2003-04-01 11:29:29 +00:00
ru
874869c32c Enable cpp(1) warnings in system headers. GCC is oriented on
glibc which is externally maintained, so GCC ships with these
warnings turned off by default.  This is also consistent with
the src/contrib/gcc/c-lex.c,v 1.2 change.
2003-03-31 13:10:51 +00:00
ru
c5376b3ca5 Slightly improve buildworld times by excluding crunchide(1)
and kgzip(8) from the list of cross-tools during the normal,
non-"make release" buildworld.

Also, don't gratuitously build them, btxld(8) and elf2aout(1)
for native architecture builds, since they have no known
boostrapping issues along the supported upgrade path.

Prodded by:	peter
2003-03-31 12:58:33 +00:00
ru
1620c05a8d Convert kgzip(8) to be an i386 cross-tool. This is needed for
cross-releasing i386 on different architectures.  This version
provides an i386 version of <a.out.h>, and handles endianness.

Tested on:	alpha, sparc64
2003-03-11 11:45:43 +00:00
markm
e41e907c30 KerberosIV de-orbit burn continues. Disconnect from "make world". 2003-03-08 10:01:26 +00:00
ru
4fd88830fe With CVS_UPDATE, use read-only repository mode by default. 2003-03-06 13:54:31 +00:00
ru
cc661efe39 Doh, committed to the wrong branch.
Spotted by:	johan
2003-03-04 17:24:18 +00:00
ru
1ad4049fcc MFC: Ship with /etc/login.conf hashed.
Approved by:	re
2003-03-04 09:49:00 +00:00
ru
b6a38ff592 Make sure the default install comes with /etc/login.conf hashed. 2003-03-03 11:19:18 +00:00
ru
0968a2b964 Catch up with sys/conf/kern.post.mk,v 1.39 -- we can now use
plain ${CLEANDIR} to clean kernel and modules.  This has an
additional nicety of respecting NOCLEANDIR.
2003-03-03 08:50:32 +00:00
ru
e88feebb76 Ensure that build-tools end up in the object directory different
from the source directory.  (This mostly affects the RELENG_4's
``make release'' release.5 target, where "rtermcap" build-tool
for release/sysinstall ends up in the source directory and later
steps of release.5 wipe it out.)

Spotted by:	jhay
2003-02-24 20:09:16 +00:00
ru
c3b629c33f Respect ``makeoptions NO_MODULES'' specified in the kernel config file. 2003-02-21 11:19:25 +00:00
trhodes
978695f103 Add -DNOMAN to the list. 2003-02-11 19:21:13 +00:00
jkoshy
0194489d8e Catch typos in the kernel name specified for an "installkernel" invocation
early on, rather than failing later with an obscure error message.

Make error messages appear consistent.
2003-02-07 07:29:57 +00:00
phk
65dd91a290 Don't attempt buildworld if the path to the source-tree contains a comma.
Can be removed if the underlying issue is fixed.

Submitted by:	Flemming Jacobsen <fj@batmule.dk>
2003-02-04 08:15:30 +00:00
obrien
b09fc872b2 Move elf2aout back to /usr/bin -- it is a general development tool, not
a sysadmin tool.
2002-12-30 10:01:26 +00:00
ru
b08bf1dfd2 For installkernel, use the fresh tools (if we've built them with
buildworld).

Reviewed by:	imp, marcel
Approved by:	re (rwatson)
2002-12-02 14:03:40 +00:00
ru
6db7cbc3e1 Make dynamic PAM modules depend on dynamic PAM library.
Requested by:	des, markm
2002-11-14 19:24:51 +00:00
ru
7920e22cea Take __FreeBSD_version into account when BOOTSTRAPPING. 2002-11-13 13:49:29 +00:00
scottl
974996d4b9 Hook the aic7xxx modules up. This requires some extra care since aicasm
is a compiler tool and needs to be compiled by the host compiler.  I've
tested this in i386->sparc cross-build, 4.7->current upgrade, normal
buildkernel target, and normal /sys/i386/compile/GENERIC configurations.

Submitted by:	ru
2002-11-03 23:48:14 +00:00
ru
3809a204e5 Emptify. 2002-10-28 08:44:59 +00:00
peter
921fb01865 DISTDIR is used by 'make release', lets see if this is enough to turn
off the execution test.
2002-10-27 03:38:57 +00:00
peter
edb58880e4 Provide a bit of anti-foot-shooting protection. Make sure that in the
non-cross cases without DESTDIR, that the bin/sh that we're about to
install works.  Otherwise, a 'make installworld' without having already
rebooted with a post-signal-fix kernel is a rather big disaster when
important things like /bin/sh coredump.
2002-10-25 19:15:29 +00:00
ru
0cb4cfe3c6 _games is gone in rev. 1.305. 2002-10-22 08:30:31 +00:00
markm
cc5521cdd1 Do not build the majority of the games. Remaining are the
"utility-like" games and everyone's favourite, fortune(6).
2002-10-20 11:18:56 +00:00
peter
a51c9b6627 Initiate deorbit burn for the i386-only a.out related support. Moves are
under way to move the remnants of the a.out toolchain to ports.  As the
comment in src/Makefile said, this stuff is deprecated and one should not
expect this to remain beyond 4.0-REL.  It has already lasted WAY beyond
that.

Notable exceptions:
gcc - I have not touched the a.out generation stuff there.
ldd/ldconfig - still have some code to interface with a.out rtld.
old as/ld/etc - I have not removed these yet, pending their move to ports.
some includes - necessary for ldd/ldconfig for now.

Tested on: i386 (extensively), alpha
2002-09-17 01:49:00 +00:00
johan
8a593cad78 Similar to bsd.subdir.mk, echo the name of the dir before
doing the cd. This is done for bootstrap-tools,
build-tools, cross-tools, and the libraries loop.

Reviewed by:	ru
Approved by:	sheldonh (mentor)
MFC after:	1 week
2002-08-23 12:49:16 +00:00
ru
c7c1aa8abb The intent in rev. 1.299 was to make the CPUTYPE assignment type check
bother "only those who attempts to set it to a different value".  This
got broken in rev. 1.300 (that fixed another race).

Reported by:	ache
2002-08-08 15:43:23 +00:00
ru
cb35d94c92 Makefile.inc1 may eventually be merged with Makefile, so fix an
endless recursion bug similar to the one that has been fixed in
release/Makefile,v 1.698, in advance.  A related fix to make(1)
has been committed in make/main.c,v 1.68.

Requested by:	bde (who has them merged already)
2002-08-07 13:41:46 +00:00
ru
9281a6c0db An empty CPUTYPE now means ``the default CPUTYPE'' in bsd.cpu.mk.
If there was no CPUTYPE assignment in /etc/make.conf, this would
cause the ``CPUTYPE assignment type'' check to falsely fail.

Reported by:	johan

Fixed this by making sure we always pass the non-empty CPUTYPE.
Also make sure we use the correct set of share/mk files in our
test.
2002-08-05 08:54:26 +00:00
ru
55b49dda70 TARGET_CPUTYPE should exist solely in Makefile.inc1, similar to
TARGET_ARCH and TARGET.  This is problematic when one has the =
(unconditional) type of assigment for CPUTYPE in /etc/make.conf.
(This would override what was set on the command line to "make
buildworld".)

Add a (horrible) kludge to Makefile.inc1 to check the type of
assignment for CPUTYPE (only for those who attempts to set it to
a different value).  Fix an example make.conf.  Fix the kernel's
build-tools target (aicasm only at the moment) to catch up with
bsd.cpu.mk,v 1.15 (BOOTSTRAPPING replaced with NO_CPU_CFLAGS in
Makefile.inc1's BMAKE).

Reviewed by:	jhb
2002-08-02 18:04:22 +00:00
jhb
7385ed2e47 - Define NO_CPU_CFLAGS during BMAKE and TMAKE (and thus XMAKE) so that
bsd.cpu.mk doesn't have to worry about compilers other than the current
  version.
- Allow TARGET_CPUTYPE to override CPUTYPE in bsd.cpu.mk.
- Treat an empty CPUTYPE the same as an undefined CPUTYPE.
- For buildworld, buildkernel, etc., define TARGET_CPUTYPE to CPUTYPE for
  native builds and define it to be empty for cross-builds.
  TARGET_CPUTYPE is only defined if it is not already defined via the
  commandline or environment.
2002-07-31 03:56:03 +00:00
ru
2168e888b7 Inline ${_cxx_consumers}. 2002-07-24 23:08:57 +00:00
peter
31d96a089d We're done with 1.287 and 1.288 now.
Submitted by: ru
2002-07-24 22:44:19 +00:00
ru
e2dbe09225 Pass -DBOOTSTRAPPING to the kernel's build tool (sys/dev/aic7xxx/aicasm).
This way, it has a chance to be built with gcc 2.95.x (using the bandaid
in share/mk/bsd.cpu.mk,v 1.11).

Feedback timeout from:	gordon
2002-07-11 16:43:59 +00:00
jmallett
e0bb05d58f libufs does not need built before most things, after all.
Submitted by:	bde, ru
2002-07-01 17:51:43 +00:00
jmallett
c5e404f2ea Add libufs to prebuild_libs, since lots of things will want it, in time. 2002-07-01 05:43:11 +00:00
ru
25fe20626e Make NO_OPENSSL actually imply NO_OPENSSH, as documented in make.conf(5). 2002-06-21 08:54:03 +00:00
sobomax
2175153012 Don't try to build libssh if NO_OPENSSL is defined because NO_OPENSSL implies
NO_OPENSSH.
2002-06-16 14:24:51 +00:00
ru
876652376e libfetch now depends on libcrypto and libssl. 2002-06-06 13:45:46 +00:00
ru
5cae2ac38b On behalf of lib/compat/compat4x.i386/libusb.so.0.bz2.uu,v 1.1,
added uudecode(1) to bootstrap-tools.
2002-05-31 13:04:09 +00:00
peter
99c8ad18e3 Ignore a c++ that is version other than 3.1 if it does not also match
cc's version.  libgcc.a will have been clobbered and will no longer have
the old c++ support.

Submitted by:	jhb
2002-05-30 19:46:34 +00:00
peter
4a482ef2e9 Bandaid for helping people who have a broken /usr/bin/c++ installation.
This only affects the -current early adopters and developers who have
done a 'make world' in the last few weeks and as a result installed a
gcc-3.1 version of /usr/bin/c++ but without the corresponding library
support that this now requires.  This is a temporary hack that should be
deleted within a few weeks.  In this case we will use the existing
gperf/groff one last time around for the early stage1 bootstrap.  (This
isn't so bad, because we were unconditionally using the host one before)
2002-05-29 03:59:20 +00:00
peter
8b1c546166 Put on peril sensitive sunglasses and turn C++ stuff back on. 2002-05-29 00:48:14 +00:00
ru
eddf946bef Fixed the world breakage caused by my last commit.
NOMAN is defined when building bootstrap-tools.

Submitted by:	jhay
2002-05-28 07:30:21 +00:00
ru
37bdc051b0 Bootstrap makewhatis(1). 2002-05-27 15:51:38 +00:00
ru
6e02fb8404 Move elf2aout to usr.sbin/.
Approved by:	jake
2002-05-25 13:29:47 +00:00
ru
531943a766 Bootstrap elf2aout(1) for sparc64; used to build sys/boot/sparc64/boot1. 2002-05-20 14:42:48 +00:00
obrien
818de6bb4c Back out rev 1.278. Seems we grew a getconf(1) that requires it. 2002-05-18 18:23:04 +00:00
obrien
3b19d9df2a Remove local patch that crept in. 2002-05-18 18:17:13 +00:00
obrien
fff8069519 Don't build gperf. 2002-05-18 00:20:01 +00:00
markm
4a63c3e321 Remove the perl bits from the build. 2002-05-16 08:55:59 +00:00
ru
b860787a18 Make sure to not yet build the GNU C++, but still allow
for the C++ progs to be built with e.g. an old compiler,
CXX=/usr/bin/c++, for the time being.
2002-05-15 16:29:45 +00:00
ru
f5faaf6181 Rename includes' to buildincludes'.
Rename `incsinstall' to `installincludes'.
Make `includes' a -j safe shortcut for `buildincludes' + `installincludes'.
`buildincludes' and `installincludes' are SUBDIR friendly, if run directly.
2002-05-15 16:19:54 +00:00
ru
c86405adbf Restore comment that got lost in revision 1.265. 2002-05-14 08:30:40 +00:00
ru
93d6d2e8c2 Do not run includes' and incsinstall' in parallel.
Spotted by:	jhay

Parallel worlds and releases should be working again.
2002-05-14 07:30:40 +00:00
ru
59049318b6 Added new bsd.incs.mk which handles installing of header files
via INCS.  Implemented INCSLINKS (equivalent to SYMLINKS) to
handle symlinking include files.  Allow for multiple groups of
include files to be installed, with the powerful INCSGROUPS knob.
Documentation to follow.

Added standard `includes' and `incsinstall' targets, use them
in Makefile.inc1.  Headers from the following makefiles were
not installed before (during `includes' in Makefile.inc1):

	kerberos5/lib/libtelnet/Makefile
	lib/libbz2/Makefile
	lib/libdevinfo/Makefile
	lib/libform/Makefile
	lib/libisc/Makefile
	lib/libmenu/Makefile
	lib/libmilter/Makefile
	lib/libpanel/Makefile

Replaced all `beforeinstall' targets for installing includes
with the INCS stuff.

Renamed INCDIR to INCSDIR, for consistency with FILES and SCRIPTS,
and for compatibility with NetBSD.  Similarly for INCOWN, INCGRP,
and INCMODE.

Consistently use INCLUDEDIR instead of /usr/include.

gnu/lib/libstdc++/Makefile and gnu/lib/libsupc++/Makefile changes
were only lightly tested due to the missing contrib/libstdc++-v3.
I fully tested the pre-WIP_GCC31 version of this patch with the
contrib/libstdc++.295 stuff.

These changes have been tested on i386 with the -DNO_WERROR "make
world" and "make release".
2002-05-12 16:01:00 +00:00
obrien
640af5489d Quiet the peanut gallary and back out magical "breakage". 2002-05-12 13:37:59 +00:00
obrien
53be32ddbc Turn off groff and gperf -- they will not compile with the in-tree Gcc 3.1. 2002-05-10 00:50:43 +00:00
des
bd966af68e Add rpcgen to the bootstrap tools. 2002-05-09 20:48:19 +00:00
obrien
e5218e60ea `beforeinstall' w/the csu bits is a nop. 2002-05-09 20:36:42 +00:00
obrien
45b0fa9ec0 Build our native CSU bits before the compiler-specific ones.
This helps in the compiler build.
2002-05-08 20:35:12 +00:00
obrien
c54d188fb4 Make NO_CXX, really mean NO_CXX. 2002-05-07 07:49:12 +00:00
bde
bebc19ee0d Sorted the directories in the rule for the includes target as much as
possible.
2002-04-30 23:29:00 +00:00
ru
7080bdd505 Milestone #2 in cross-arch make releases. They now work!
You need to set TARGET_ARCH and possibly TARGET, the same
way you normally do it for a cross build(7).

Renamed `distribworld' to a more natutal `distributeworld'.

Put pwd_mkdb(8) under ${INSTALLTMP}; for `distributeworld'.
2002-04-30 11:50:01 +00:00
ru
443c2c2e10 Back out part of the revision 1.261: "etc" indeed needs to be
last for "distribute" to succeed -- the "make makedb" part of
the etc/Makefile:distribution target should be the last thing
made.
2002-04-30 11:46:49 +00:00
ru
d2cb56e26c Make crunchide(1) a cross-tool; needed for cross-arch "make release".
Note that a.out is only supported for the non-cross i386 case.
2002-04-30 09:34:53 +00:00
ru
be388967d4 Parallel "make release" fixes. 2002-04-29 15:22:01 +00:00
ru
8ad1c2807b Milestone #1 in cross-arch make releases.
Do not install games and profiled libraries to the ${CHROOTDIR}
with the initial installworld.

Eliminate the need in the second installworld.  For that, make sure
_everything_ is built in the "world" environment, using the right
tool chain.

Added SUBDIR_OVERRIDE helper stuff to Makefile.inc1.  Split the
buildworld process into stages, and skip some stages when
SUBDIR_OVERRIDE is set (used to build crypto, krb4, and krb5
dists).

Added NO_MAKEDB_RUN knob to Makefile.inc1 to avoid running
makewhatis(1) at the end of installworld (used when making crypto,
krb4, and krb5 dists).

In release/scripts/doFS.sh, ensure that the correct boot blocks are
used.

Moved the creation of the "crypto" dist from release.5 to
release.2.

In release.3 and doMFSKERN, build kernels in the "world"
environment.  KERNELS now means "additional" kernels, GENERIC is
always built.

Ensure we build crunched binaries in the "world" environment.
Obfuscate release/Makefile some more (WMAKEENV) to achieve this.

Inline createBOOTMFS target.

Use already built GENERIC kernel modules to augment mfsfd's
/stand/modules.  GC doMODULES as such.

Assorted fixes:

Get rid of the "afterdistribute" target by moving the single use
of it from sys/Makefile to etc/Makefile's "distribute".

Makefile.inc1: apparently "etc" no longer needs to be last for
"distribute" to succeed.

gnu/usr.bin/perl/library/Makefile.inc: do not override the
"install" and "distribute" targets, do it the "canonical" way.

release/scripts/{man,cat}pages-make.sh: make sure Perl manpages and
catpages appear in the right dists.  Note that because Perl does
not respect the MANBUILDCAT (and NOMAN), this results in a loss of
/usr/share/perl/man/cat* empty directories.  This will be fixed
soon.

Turn MAKE_KERBEROS4 into a plain boolean variable (if it is set it
means "make KerberosIV"), as documented in the make.conf(5)
manpage.  Most of the userland makefiles did not test it for "YES"
anyway.

XXX Should specialized kerberized libpam versions be included into
the krb4 and krb5 dists?  (libpam.a would be incorrect anyway if
both krb4 and krb5 dists were choosen.)

Make sure "games" dist is made before "catpages", otherwise games
catpages settle in the wrong dist.

Fast build machine provided by: Igor Kucherenko <kivvy@sunbay.com>
2002-04-26 17:55:27 +00:00
gshapiro
d0aa6dec50 Despite the fact that it is documented in the handbook, the release notes,
and UPDATING and has been posted to both freebsd-current and
freebsd-stable, users are still not adding the required smmsp user and
group before doing an installworld.  Therefore, don't let users do an
installworld unless they have followed directions.

Add a new installcheck Makefile target which installworld runs before
actually starting the installation.  This target can be used by other parts
of userland as well.  The first addition to the target is to check for the
smmsp user and group if NO_SENDMAIL isn't defined.

Others may add checks to this target as they see fit.

MFC after:	1 week
2002-04-20 19:04:59 +00:00
ru
48a2a6a0b8 Sort _startup_libs, _prebuild_libs, and _generic_libs lists alphabetically.
Submitted by:	bde, ru
2002-04-16 14:38:15 +00:00
ru
805db85123 Keep up with lib/Makefile,v 1.64 (uhh). 2002-04-16 14:35:01 +00:00
des
4d91927fb0 Fix incorrect ordering in previous commit. 2002-04-15 15:31:25 +00:00
des
e3cf06c03c Add libypclnt to the prebuild library list, and record its dependency on
librpcsvc.
2002-04-15 11:31:52 +00:00
des
2eccbb788c Add libypclnt to the includes target. 2002-04-13 07:24:14 +00:00
ru
085e16fca5 Add a tool (and the first application of it) that could be used
to automate building of libraries.

Prodded by:	bde
2002-04-12 19:46:25 +00:00
ru
ff35a38e49 I now don't seem to be able to reproduce the -DNOCLEAN buildworld
breakage with ioctl.c.  The .depend file should track dependencies
just fine, and the worst we can have is to miss new ioctls.

But I still think it's a good idea to have -DNOCLEAN build produce
the same ioctl.c as it would without -DNOCLEAN.

Prodded for a long time by:	bde
2002-04-11 14:49:32 +00:00
ru
d2541f3387 Don't special case i386/pc98, replace it with the smarter logic
of setting ${TARGET} -- make it default to ${MACHINE} if we are
not cross-building, and ${TARGET_ARCH} otherwise.

Set MAKEOBJDIREPREFIX based on ${TARGET}, not on ${TARGET_ARCH}.
This is useful if you want to cross-build pc98 worlds on i386.
2002-04-11 13:43:50 +00:00
ru
84b6179919 Avoid cleaning modules twice in `buildkernel'. 2002-04-08 15:11:29 +00:00
ru
e7d7c55da1 Bootstrap xargs(1) -- sys/conf/kmod.mk uses the new -J option.
PR:		bin/36747
2002-04-08 07:40:41 +00:00
ru
0e89259d4a Unbreak buildworld after include/Makefile,v 1.167 commit. 2002-04-04 06:49:46 +00:00
joe
e930ebd721 Back out lots of the last commit that was committed by accident.
(It's my test rig for some CVSUP,SUP code).

Spotted by:	Michael G. Petry <petry@NetMasters.Com>
2002-04-01 20:47:27 +00:00
joe
92833214d1 Install libusbhid.h during 'make includes'.
Requested by:	jhb
MFC after:	3 days
2002-04-01 16:59:43 +00:00
ru
f6da61bcc9 Install sys/security/lomac/*.h to /usr/include/security/lomac/.
Install sys/<arch>/include/pc/*.h to /usr/include/machine/pc/.

PR:		docs/29534

Install sys/netatm/*/*.h to /usr/include/netatm/*/.

Don't install compatibility symlinks for <machine/soundcard.h>
and <machine/joystick.h>.  Three years is enough to be aware of
the change, and these weren't visible in the SHARED=symlinks
case.

Back out include/Makefile,v 1.160 that was a null change anyway
due to the bug in the path, and we now don't want to install
these headers because they would otherwise be invisible in the
SHARED=symlinks case.

Don't install IPFILTER headers.  Userland utilities fetch them
directly, and they were not visible in the SHARED=symlinks case.

Resurrect SHARED=symlinks in Makefile.inc1.

PR:		bin/28002

Prodded by:	bde
MFC after:	2 weeks
2002-03-26 16:05:14 +00:00
ru
333c1d4d25 Make lint(1) a cross-tool.
(See commit log for usr.bin/xlint/Makefile,v 1.11 for what was wrong
with enabling build of lint libraries in rev. 1.12.)

This fixes cross-arch compiles (running binaries for a different arch
when generating lint.7 and lint libraries) and cross-branch compiles
(4.x -> 5.0 buildworld should be working again).
2002-03-20 18:25:50 +00:00
ru
145cf2ca03 Fixed the NO_PERL braino. 2002-03-20 09:39:16 +00:00
markm
5dd0946513 Update for Perl 5.6.1 2002-03-16 21:41:09 +00:00
markm
f376ca5a9f Allow the use of NO_PERL as well as NOPERL. The latter is going to
be removed.
2002-03-16 14:55:37 +00:00
obrien
e2c6079333 1-true-AWK has a build-tool target. 2002-03-06 08:24:32 +00:00
ru
c07193f5e6 Obviate the need to set the COMPILER_PATH and LIBRARY_PATH in Makefile.inc1
to pick up the correct cross-tools (the compiler executables and binutils)
and special linker files (crt*.o).  This is now controlled by a single knob,
TOOLS_PREFIX, when building cross-tools.

Fixed regression in Makefile.inc1,v 1.203 (-nostdinc).  This clobbered target
architecture's CFLAGS with building host's CPUTYPE setting in /etc/make.conf,
and had a nice but nasty side effect of exposing some (normally hidden) bugs
in system headers.

(Attempt to move the "-nostdinc -I..." part of CFLAGS into the new CINCLUDES
(modeled after a similar CXXINCLUDES) eventually failed because hard-coding
${WORLDTMP}/usr/include to be the first in the include list does not always
work, e.g. lib/libbind.)

Compensate the -nostdinc removal by making cpp(1) built in the cross-tools
stage to not look for <> header files in the building host's /usr/include
(already committed as gnu/usr.bin/cc/cc_tools/freebsd-native.h, revisions
1.10-1.12, STANDARD_INCLUDE_DIR).

: $ /usr/obj/usr/src/i386/usr/bin/cpp -v /dev/null
:
: Before:
:
: #include <...> search starts here:
:  /usr/obj/usr/src/i386/usr/include
:  /usr/include
: End of search list.
:
: After:
:
: #include <...> search starts here:
:  /usr/obj/usr/src/i386/usr/include
:  /usr/obj/usr/src/i386/usr/include

(Disabling the use of GCC_INCLUDE_DIR in the FREEBSD_NATIVE case would fix
the duplicate above.)

Get rid of the (now unneeded) -I${DESTDIR}/usr/include magic in bsd.prog.mk
and bsd.lib.mk.  Finish the removal of LDDESTDIR in bsd.lib.mk,v 1.55 -- we
no longer have users of it.

The required changes to gcc were already committed as contrib/gcc.295/gcc.c,
revisions 1.23 and 1.24.

Basically, this allows for the changes above plus makes gcc(1) persistent
about path configuration, whether it's configured as a native or a cross
compiler:

: $ /usr/obj/usr/src/i386/usr/bin/cc -print-search-dirs
: install: /usr/obj/usr/src/i386/usr/libexec/(null)
: programs: /usr/obj/usr/src/i386/usr/libexec/elf/:/usr/obj/usr/src/i386/usr/libexec/
: libraries: /usr/obj/usr/src/i386/usr/lib/
:
: $ /usr/obj/alpha/usr/src/i386/usr/bin/cc -print-search-dirs
: install: /usr/obj/alpha/usr/src/i386/usr/libexec/(null)
: programs: /usr/obj/alpha/usr/src/i386/usr/libexec/elf/:/usr/obj/alpha/usr/src/i386/usr/libexec/
: libraries: /usr/obj/alpha/usr/src/i386/usr/lib/

Reviewed by:	bde, obrien
2002-02-21 10:23:41 +00:00
ru
09374cbc0e The previous fix for broken -DMAKE_KERBEROS5 world was incomplete.
Finish it by adding kerberos5/lib/libvers to the build-tools list.

(I didn't notice it before because I tested my fix in a -DNOCLEAN
environment, and static libc.a was already in ${WORLDTMP}/usr/lib,
and libvers's make-print-version build tool used it for linking.)

Spotted by:	John Indra <maverick@office.naver.co.id>
2002-02-14 13:06:52 +00:00
ru
514239b04b Fixed -DMAKE_KERBEROS5 world breakage in kerberos5/lib/libroken
(make-roken is a build tool).  This bug was hiding itself after
a just fixed bug in cross-linker (binutuils/ld/Makefile,v 1.20).

The bug was fatal for cross builds; for example, an alpha binary
(make-roken) was attempted to be run on i386.

Added make-roken to the list of build-tools in libasn1.  It only
worked because another build tool needs make-roken implicitly:

(build-tools: asn1_compile: print_version.o: roken.h: make-roken).

Spotted by:	nectar
2002-02-11 16:47:05 +00:00
ru
b2c3dc0715 Now that cross-tools ld(1) has been fixed to look for dynamic
dependencies in the correct place, record the fact that -lssh
depends on -lcrypto and -lz.

Removed false dependencies on -lz (except ssh(1) and sshd(8)).
Removed false dependencies on -lcrypto and -lutil for scp(1).

Reviewed by:	markm
2002-02-08 13:42:58 +00:00
ru
fe2d1dffd3 FreeBSD 4.1 bootstrapping aid (setproctitle(3) is in -lutil).
This backs out (sort of) delta 1.18 to perl/miniperl/Makefile.
Update to the ld(1) comment by peter in this revision:

ld(1) built as part of the cross-tools stage of buildworld has
been fixed to look for dynamic dependencies in the right place,
${WORLDTMP}/usr/lib, effective binutils/ld/Makefile,v 1.20.

Approved by:	markm
2002-02-08 13:09:08 +00:00
paul
c2ddf60170 gnu/libexec has gone so remove it from the most targets. 2001-12-28 11:53:18 +00:00
jedgar
22c0505e31 Specify the full path to mktemp 2001-12-23 22:49:06 +00:00
jedgar
2c142873b9 Use a more secure method of creating the temporary
install directory.
2001-12-21 01:44:11 +00:00
imp
88e60827d4 Move NO_WERROR from CROSSENV to BMAKE. In CROSSENV it disables it for
the entire build.  We only want it for the bootstrap process.

Submitted by: ru
2001-12-13 17:00:59 +00:00
imp
9d7baf72ba Add NO_WERROR to the cross building environment so that we do not bail on
warnings generated by earlier versions of the compilers when bootstrapping.

Also a minor formatting nit in the tools list.

Reviewed by: markm
2001-12-13 01:37:45 +00:00
phantom
1fef6a00e6 Get rid of unsed since rev 1.109 of lib/Makefile WANT_CSRG_LIBM define.
Also replace internal make variable _libm with hardcoded path to lib/msun

Reviewed by:	bde
2001-12-11 16:10:26 +00:00
jhb
8eeb37dd0e Just to be pedantic and more aesthetically pleasing, move the secure/
top-level subdirectory prior to share/ so that the top-level directories
are processed in alphabetical order.
2001-12-06 07:44:47 +00:00
obrien
bfb2f48058 Add the CVS knob so it may be overridden (or have options added).
Submitted by:	Andrea Campi <andrea@webcom.it>
2001-11-19 17:43:29 +00:00
matusita
5f3369bd0e Don't cleandir also if MODULES_WITH_WORLD.
MFC after:	3 days
2001-11-16 03:02:34 +00:00
matusita
9713287dca Typo fix (my test version doesn't have this...) 2001-11-15 07:09:00 +00:00
matusita
e4cf28f044 Run "make cleandir" if NO_MODULES are set, or there is no sys/modules
directory.  Previous commit breaks buildkernel if NO_MODULES was set.
Sorry...

Noticed by: mike
2001-11-15 07:04:23 +00:00
matusita
1b1306776b "make cleandir" before building a kernel and modules.
This will hopefully fix the recent 'I cannot compile linux module with
buildworld' problem.  MFC will come shortly.

Submitted by:		imura@ryu16.org
2001-11-14 16:48:47 +00:00
matusita
bca52333be Set full-path of cvsup.
In src/Makefile rev 1.232, environment variable PATH is set explicitly
to /sbin:/bin:/usr/sbin:/usr/bin.  As a result, binaries located on
non-standard path cannot be executed without full-path (it's the change
of this revision).

However, cvsup is not in our base system -- you lose if you try to
"make update" without setting SUP in make.conf or command line argument.
I think it is safe to assume that cvsup is located at /usr/local/bin,
and it would help other people who first try to do "make update".

PR:		31932
MFC after:	1 day
2001-11-13 15:47:40 +00:00
obrien
2fd0cade3f Bring Gawk back. There just isn't any other POSIX compliant AWK out there.
The biggest thing missing from Bell-Labs AWK is the character class regexes.
2001-11-02 23:48:32 +00:00
obrien
63f5f922df Add 'awk' to the build-tools, so that the small utility used to build
one of the source files is made for the host, not target.
2001-11-01 06:14:42 +00:00
ru
3f8bab2d95 Fix cross-building further.
Introduce ${TARGET} defaulting to ${MACHINE} which should be set to
whatever your target ${MACHINE} is, and use that with world-related
stages.  That is, to build pc98 on alpha, one now needs to set both
TARGET_ARCH=i386 and TARGET=pc98.

The scope of ${TARGET} is limited to Makefile.inc1 and cross-tools.

In particular, this change was tested to fix:

1.  Cross building of "alpha" on i386.  The breakage was introduced
    by rev. 1.10 to sbin/i386/Makefile (missing <machine/cronyx.h>).

2.  Descending into machine-specific subdirs for a different arch.
    Previously, sbin/i386 and usr.sbin/boot0cfg were descended into
    when cross-building "alpha" or pc98 on i386.

3.  Fixes pc98 cross-building which was horribly broken, caused by
    not setting MACHINE correctly (most ${MACHINE} == pc98 checking
    Makefiles put -DPC98 to CFLAGS).
2001-10-25 07:28:55 +00:00
ru
0579c777d9 Fix cross-building, etc:
1.  To cross-build, one now needs to set TARGET_ARCH, and not the
    MACHINE_ARCH.  MACHINE_ARCH should never be changed manually!

2.  Initialize DESTDIR= explicitly for bootstrap-tools, build-tools,
    and cross-tools stages.  This fixes broken header and library
    dependencies problem.  We build them in the host environment,
    and obviously want them to depend on host headers and libraries.
    The problem with broken header dependencies for bootstrap-tools
    and cross-tools was already partially solved (see BOOTSTRAPPING
    tests in bsd.prog.mk and bsd.lib.mk), but it was still there for
    build-tools if the user ran "make world DESTDIR=/foo".  Also,
    for all of these stages, the library dependencies were broken
    because of how bsd.libnames.mk define DPADD members.

    We still provide a glue to install bootstrap- and cross-tools
    under the ${WORLDTMP}.

    Removed PATH overrides for bootstrap-, build-, and cross-tools
    stages.  There is just no reason why we would need to override
    it, and the hacks to clean up the ${WORLDTMP} in the -DNOCLEAN
    case are no longer needed with fixes from this step.

    That is, we now never use ${WORLDTMP} headers and libraries,
    and we don't use any ${WORLDTMP} installed binaries during
    these stages.  Again, these stages depend solely on the host
    environment, including compiler, headers, and libraries.

3.  Moved "miniperl" back from cross-tools (it has nothing to do
    with a cross-compiler) to build-tools where it belongs.  The
    change from step 1 let to do this.  Also, to make this work,
    build-tools targets of "cc_tools" and "miniperl" were modified
    to call "depend".  Here follow the detailed explanations.

    There are two categories of build tools, for now.  In the first
    category there are "cc_tools" and "miniperl".  They occupy the
    whole (sub)directory, and nothing needs to be done in this
    subdirectory later during the "all" stage.  They are also
    constructed using system makefiles.  We must build the .depend
    early in the build-tools stage because:

    1)  They use (and depend on) the host environment.

    2)  If we don't do this in build-tools, the "depend" stage of
        buildworld will do this for us; wrong library and header
        dependencies will be recorded (DESTDIR=${WORLDTMP}) and,
        what's worse, the "all" stage may then clobber the
        build-architecture format tools (that we built in the
        build-tools stage) with the target-architecture format
        ones, breaking cross build.

    In the second category there are all other build-tools.  They
    share their directory with the "main" module that needs them
    in the "all" stage, and they don't show up themselves in the
    .depend file.  The portion of this fix was already committed
    in gnu/usr.bin/cc/cc_tools/Makefile,v 1.52.

4.  "libperl" is no longer a build tool, and "miniperl" is the
    stand-alone application.  I had to make this change because
    build-tools and "all" stages share the same object directory.
    Without this change, if we cross compile, libperl.a is first
    built for the build architecture during the build-tools stage
    (for the purposes of immediate linkage with "miniperl").
    Later on, the "all" stage sees this library as up-to-date,
    and doesn't rebuild it.  The effect is that the wrong format
    static libperl library is installed with installworld.

5.  Fixed "includes" to install secure/lib/libtelnet headers if
    required.

Reviewed by:	bde
2001-09-29 13:17:54 +00:00
ru
32703cc757 Removed touch(1) from the list of installworld tools that
was added in previous revision for no apparent reason.

Submitted by:	bde
2001-09-25 12:17:52 +00:00
markm
68d1e52605 Add which(1) the stuff that we need early on. The perl build needs it
to find miniperl.
2001-09-20 12:24:10 +00:00
ru
a313983325 Run the bootstrap-tools' and cross-tools' stages with BOOTSTRAPPING
flag defined.  This replaces the WORLD flag that got lost in revision
1.96.
2001-09-17 11:50:36 +00:00
bde
63171780d4 Fixed world breakage. mkdir was not copied to ${INSTALLTMP}, but it is
used by src/include/Makefile in the SHARED=symlinks case.
2001-08-29 09:11:03 +00:00
paul
f3c9efd4c4 Change the name of KRNLDEFDIR to KERNCONFDIR.
Suggested by Bruce, since the latter is more acceptable for a variable
that is externally visible.

Fix a style nit with a long line.
2001-08-27 12:01:46 +00:00
paul
e7df803670 Add a variable KRNLDEFDIR that specifies where to find the kernel
config files.

It defaults to KRNLCONFDIR.
2001-08-26 18:39:07 +00:00
markm
87ef7ba02c More libss removal. 2001-08-26 17:47:21 +00:00
markm
0cf75639fe Adjust dependancies; now that a PAM module (pam_unix) can change
NIS passwords, libpam needs rpc dependancies.
2001-08-26 17:45:56 +00:00
kris
07b5572402 Say goodbye to libss, which somehow managed to crouch hidden in the tree
for long after it was used.
2001-08-19 21:32:52 +00:00
obrien
dd7a669ee7 Use a build-tool to create the .mgc files.
Submitted by:	ru (partial)
Obtained from:	NetBSD (basic idea)
Reviewed by:	bde, ru
2001-08-17 17:21:38 +00:00
tmm
37ac1a7962 Add some features to libdevstat, and overhaul the interface a bit:
1.) prefix all functions in the library with devstat_ (compatability
    functions are available for all functions that were chaned in an
    incompatible way, but are deprecated).
2.) Add a pointer to a kvm_t as the first argument to functions that
    used to get their information via sysctl; they behave the same
    as before when NULL is passed as this argument, otherwise, the
    information is obtained via libkvm using the supplied handle.
3.) Add a new function, devstat_compute_statistics(), that is intended
    to replace the old compute_stats() function. It offers more
    statistics data, and has a more flexible interface.

libdevstat does now require libkvm; a library depedency is added, so
that libkvm only needs to be explicitely specified for statically linked
programs.
The library major version number is bumped.

Submitted by:	Sergey A. Osokin <osa@freebsd.org.ru>, ken (3)
Reviewed by:	ken
2001-08-04 18:25:48 +00:00
dd
a12e9377b2 Enable the new libmp in the build, and disable libgmp and its
henchmen.
2001-07-29 08:58:22 +00:00
markm
92ae7a35b5 Axe S/Key. OPIE is the true and faithful successor. 2001-07-09 17:49:34 +00:00
peter
e0f60f3756 Part 2 of gensetdefs de-orbit burn. linker sets are now self contained
for ELF, see src/sys/linker_set.h log.
2001-06-14 01:35:23 +00:00
ru
3f6f32f534 WARNS= is fully functional again. 2001-06-13 15:18:11 +00:00
ru
cce62bac31 - Restore -nostdinc that got lost in rev.1.105; we don't
want host headers during `buildworld'.

- During `buildworld', install headers in a "copy" mode
  until we decide what to do with the (currently broken)
  SHARED=symlinks.

- Temporarily run `buildworld' with -DNO_WERROR, which
  effectively disabled the -Werror bit of recently added
  WARNS=X feature.  This is required because adding the
  -nostdinc bit back revealed bugs in some header files
  that were hiding after not using -nostdinc.
  It is unclear currently how exactly (and why) -nostdinc
  affects gcc(1) warnings.
2001-06-11 18:09:08 +00:00
ru
d893654545 Bootstrap install(1). 2001-05-28 16:54:02 +00:00
ru
767c484a85 Add kbdcontrol(1) to bootstrap-tools.
This fixes the upgrade path breakage in usr.sbin/sysinstall.
2001-05-14 17:21:02 +00:00
asmodai
c4851f977b Remove xlint from build-tools. This needs to be fixed in a different way. 2001-04-26 17:54:24 +00:00
asmodai
c2390be887 Add usr.bin/xlint to build-tools. 2001-04-24 20:19:29 +00:00
gshapiro
f41656c49c ${MAKEOBJDIRPREFIX}/usr/src/i386/usr/include/isc was being created as a plain
file during the bootstrapping process of a buildworld and contained the
last isc include file to be installed.  It was meant to be a directory for
the isc include files.
2001-04-24 02:57:42 +00:00
ru
28cc9e1ba4 Add groff to bootstrap-tools. 2001-04-18 12:20:28 +00:00
ken
24c4b1e75b Rewrite of the CAM error recovery code.
Some of the major changes include:

	- The SCSI error handling portion of cam_periph_error() has
	  been broken out into a number of subfunctions to better
	  modularize the code that handles the hierarchy of SCSI errors.
	  As a result, the code is now much easier to read.

	- String handling and error printing has been significantly
	  revamped.  We now use sbufs to do string formatting instead
	  of using printfs (for the kernel) and snprintf/strncat (for
	  userland) as before.

	  There is a new catchall error printing routine,
	  cam_error_print() and its string-based counterpart,
	  cam_error_string() that allow the kernel and userland
	  applications to pass in a CCB and have errors printed out
	  properly, whether or not they're SCSI errors.  Among other
	  things, this helped eliminate a fair amount of duplicate code
	  in camcontrol.

	  We now print out more information than before, including
	  the CAM status and SCSI status and the error recovery action
	  taken to remedy the problem.

	- sbufs are now available in userland, via libsbuf.  This
	  change was necessary since most of the error printing code
	  is shared between libcam and the kernel.

	- A new transfer settings interface is included in this checkin.
	  This code is #ifdef'ed out, and is primarily intended to aid
	  discussion with HBA driver authors on the final form the
	  interface should take.  There is example code in the ahc(4)
	  driver that implements the HBA driver side of the new
	  interface.  The new transfer settings code won't be enabled
	  until we're ready to switch all HBA drivers over to the new
	  interface.

src/Makefile.inc1,
lib/Makefile:		Add libsbuf.  It must be built before libcam,
			since libcam uses sbuf routines.

libcam/Makefile:	libcam now depends on libsbuf.

libsbuf/Makefile:	Add a makefile for libsbuf.  This pulls in the
			sbuf sources from sys/kern.

bsd.libnames.mk:	Add LIBSBUF.

camcontrol/Makefile:	Add -lsbuf.  Since camcontrol is statically
			linked, we can't depend on the dynamic linker
			to pull in libsbuf.

camcontrol.c:		Use cam_error_print() instead of checking for
			CAM_SCSI_STATUS_ERROR on every failed CCB.

sbuf.9:			Change the prototypes for sbuf_cat() and
			sbuf_cpy() so that the source string is now a
			const char *.  This is more in line wth the
			standard system string functions, and helps
			eliminate warnings when dealing with a const
			source buffer.

			Fix a typo.

cam.c:			Add description strings for the various CAM
			error status values, as well as routines to
			look up those strings.

			Add new cam_error_string() and
			cam_error_print() routines for userland and
			the kernel.

cam.h:			Add a new CAM flag, CAM_RETRY_SELTO.

			Add enumerated types for the various options
			available with cam_error_print() and
			cam_error_string().

cam_ccb.h:		Add new transfer negotiation structures/types.

			Change inq_len in the ccb_getdev structure to
			be "reserved".  This field has never been
			filled in, and will be removed when we next
			bump the CAM version.

cam_debug.h:		Fix typo.

cam_periph.c:		Modularize cam_periph_error().  The SCSI error
			handling part of cam_periph_error() is now
			in camperiphscsistatuserror() and
			camperiphscsisenseerror().

			In cam_periph_lock(), increase the reference
			count on the periph while we wait for our lock
			attempt to succeed so that the periph won't go
			away while we're sleeping.

cam_xpt.c:		Add new transfer negotiation code.  (ifdefed
			out)

			Add a new function, xpt_path_string().  This
			is a string/sbuf analog to xpt_print_path().

scsi_all.c:		Revamp string handing and error printing code.
			We now use sbufs for much of the string
			formatting code.  More of that code is shared
			between userland the kernel.

scsi_all.h:		Get rid of SS_TURSTART, it wasn't terribly
			useful in the first place.

			Add a new error action, SS_REQSENSE.  (Send a
			request sense and then retry the command.)
			This is useful when the controller hasn't
			performed autosense for some reason.

			Change the default actions around a bit.

scsi_cd.c,
scsi_da.c,
scsi_pt.c,
scsi_ses.c:		SF_RETRY_SELTO -> CAM_RETRY_SELTO.  Selection
			timeouts shouldn't be covered by a sense flag.

scsi_pass.[ch]:		SF_RETRY_SELTO -> CAM_RETRY_SELTO.

			Get rid of the last vestiges of a read/write
			interface.

libkern/bsearch.c,
sys/libkern.h,
conf/files:		Add bsearch.c, which is needed for some of the
			new table lookup routines.

aic7xxx_freebsd.c:	Define AHC_NEW_TRAN_SETTINGS if
			CAM_NEW_TRAN_CODE is defined.

sbuf.h,
subr_sbuf.c:		Add the appropriate #ifdefs so sbufs can
			compile and run in userland.

			Change sbuf_printf() to use vsnprintf()
			instead of kvprintf(), which is only available
			in the kernel.

			Change the source string for sbuf_cpy() and
			sbuf_cat() to be a const char *.

			Add __BEGIN_DECLS and __END_DECLS around
			function prototypes since they're now exported
			to userland.

kdump/mkioctls:		Include stdio.h before cam.h since cam.h now
			includes a function with a FILE * argument.

Submitted by:	gibbs (mostly)
Reviewed by:	jdp, marcel (libsbuf makefile changes)
Reviewed by:	des (sbuf changes)
Reviewed by:	ken
2001-03-27 05:45:52 +00:00
ru
f2a28122a4 Add missing NOSECURE check for `includes' target.
Reviewed by:	markm
2001-03-26 12:46:17 +00:00
ru
127f379b36 Enhancement to 1.99 -> 1.100.
Avoid EPERM from ln(1) in a different (proper) way.
2001-03-22 09:54:25 +00:00
ru
3e8d7346e8 setlocale(3) has been fixed to match POSIX standard:
LC_ALL takes precedence over other LC_* envariables.
2001-03-02 16:52:14 +00:00
jhb
bd40828dbb MACHINE_ARCH is the target arch to crossbuild to, not TARGET_ARCH.
Requested by:	marcel
2001-02-22 22:58:24 +00:00
jhb
2b6e732106 Document TARGET_ARCH. 2001-02-22 08:27:17 +00:00
bde
b8925ba36b Removed some garbage (genassym(8) and its infrastructure). 2001-02-17 06:06:14 +00:00
markm
d74560913e Fix make world. 2001-02-14 19:48:51 +00:00
peter
5e4cf5aee9 Provide backwards compatable recognition of ${KERNEL}. You should be
able to use KERNEL= again with buildkernel, but it will point you at
KERNCONF= and press on regardless.
2001-01-23 09:52:50 +00:00