Commit Graph

365 Commits

Author SHA1 Message Date
Warner Losh
c452953245 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
Dag-Erling Smørgrav
f212249acf Do not bogusly set CSTD to the empty string. 2003-06-14 13:30:32 +00:00
Warner Losh
21e24af3ff 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
Warner Losh
59d855a0fe 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
David E. O'Brien
652b5a7533 Wrap gperf & groff wth NO_CXX. 2003-05-31 21:29:38 +00:00
Ruslan Ermilov
a0218a2a4d 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
Dag-Erling Smørgrav
7691f66abf Retire the useless NOSECURE knob.
Approved by:	re (scottl)
2003-05-19 15:52:01 +00:00
Ruslan Ermilov
8ec00e70b1 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
Ruslan Ermilov
5d29610095 -lbsdxml lives in lib/libexpat. *Blush*
Submitted by:	tmm (Makefile.inc1)
2003-05-18 00:40:22 +00:00
Ruslan Ermilov
81d5f4384e 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
Ruslan Ermilov
50da533c0e 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
Bruce Evans
a270eca53b 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
Mark Murray
4ee05d2921 Negate the logic of MAKE_KERBEROS5, and replace it with NO_KERBEROS. 2003-05-05 08:44:40 +00:00
Warner Losh
22bd4d16b6 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
Ruslan Ermilov
dd2aac0249 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
Ruslan Ermilov
01b63a1009 Restore the ordering of NO's and remove one redundant NOLINT.
Reviewed by:	markm
2003-04-30 12:38:20 +00:00
Mark Murray
945e0cea45 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
Ruslan Ermilov
007bf12e1e 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
John Baldwin
69e7419512 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
Ruslan Ermilov
c2400c8ec5 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
Ruslan Ermilov
692ebfe975 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
Ruslan Ermilov
da54b929c3 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
Ruslan Ermilov
47c95a33ef elf2aout.c,v 1.6 and onwards have no known backward compatibility issues. 2003-04-13 15:43:29 +00:00
Ruslan Ermilov
710b5ef8fc 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
Ruslan Ermilov
7a9bf94022 Only create directories that are really needed. 2003-04-13 14:34:17 +00:00
Ruslan Ermilov
ad1520bdf4 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
Ruslan Ermilov
cb66f4dd73 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
Ruslan Ermilov
7552a592f4 libc_gen/basename.c depends on include/libgen.h. 2003-04-11 17:58:17 +00:00
Ruslan Ermilov
c0006b49db 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
Warner Losh
5675749e1a 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
Warner Losh
1c62f92354 -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
Ruslan Ermilov
5ceb21ff5d 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
Ruslan Ermilov
cfc236e808 Moved libbuild target to where it belongs. Added a comment. 2003-04-06 21:33:49 +00:00
Ruslan Ermilov
32054bbb7e Fixed buildworld stages names in comments. 2003-04-06 21:23:02 +00:00
Warner Losh
f7e19a98fd 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
Warner Losh
30aaff1192 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
Warner Losh
756ec6a40f 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
Ruslan Ermilov
cdcdfd877b 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
Ruslan Ermilov
b9040d98f9 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
Ruslan Ermilov
effd19ed24 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
Ruslan Ermilov
fcdc271389 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
Ruslan Ermilov
8eb1c4caf9 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
Mark Murray
4d9e5eadf2 KerberosIV de-orbit burn continues. Disconnect from "make world". 2003-03-08 10:01:26 +00:00
Ruslan Ermilov
f93bdc081c With CVS_UPDATE, use read-only repository mode by default. 2003-03-06 13:54:31 +00:00
Ruslan Ermilov
f617fa528d Doh, committed to the wrong branch.
Spotted by:	johan
2003-03-04 17:24:18 +00:00
Ruslan Ermilov
7adf0ebb72 MFC: Ship with /etc/login.conf hashed.
Approved by:	re
2003-03-04 09:49:00 +00:00
Ruslan Ermilov
6192b1dff1 Make sure the default install comes with /etc/login.conf hashed. 2003-03-03 11:19:18 +00:00
Ruslan Ermilov
73ba057ccc 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
Ruslan Ermilov
2ff31e0d81 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
Ruslan Ermilov
9a9c78bd69 Respect ``makeoptions NO_MODULES'' specified in the kernel config file. 2003-02-21 11:19:25 +00:00