2872 Commits

Author SHA1 Message Date
David E. O'Brien
5b3bcd0c77 I was finally able to repeat the -j breakage on one of my machines. Fix it.
I borrowed some ideas from Ruslan, and made the style match cc_tools/Makefile
2002-05-13 01:54:26 +00:00
Ruslan Ermilov
c75fbf36b1 NOLIB is gone; put INTERNALLIB back for now. 2002-05-12 16:35:34 +00:00
Ruslan Ermilov
c7b111cba8 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
David E. O'Brien
357228d788 Properly build lb1spc.asm on Sparc64. 2002-05-12 14:05:58 +00:00
David E. O'Brien
d43e78d0c7 There is no more NOLIB. 2002-05-12 13:49:14 +00:00
David E. O'Brien
be60db5891 I was not strict enough with my ordering of things to satisfy make(1) nieve
symbol evaluation which causes it to be very sensitive to macro ordering.
2002-05-12 12:44:04 +00:00
David E. O'Brien
a0eb22834d Tidy up the cleanfiles. 2002-05-12 12:06:19 +00:00
David E. O'Brien
79c021244b Fixes for building a.out bits.
Submitted by:	bde
2002-05-12 12:01:12 +00:00
David E. O'Brien
c00b947e3f Sorry, I did not mean to turn collect2 back on yet. 2002-05-11 04:51:45 +00:00
David E. O'Brien
b42da20fd5 Revert rev 1.3 -- I tested using the wrong build compiler. 2002-05-11 00:15:45 +00:00
David E. O'Brien
943aada83d Actually we don't need any special YACC'ing here. The ones known to
Bmake are fine.
2002-05-10 23:20:54 +00:00
David E. O'Brien
498e57a7a4 BWK awk appears to work for world builds just fine now. We want to make
sparc64 the same as the other platforms -- so do it by moving the other
platforms toward the sparc64.
2002-05-10 20:36:21 +00:00
David E. O'Brien
d147c3da04 Touching the sjlj setting on IA-64 makes things not build.
Submitted by:	peter
2002-05-10 17:42:19 +00:00
David E. O'Brien
6121408bac Build compiler on all platforms. 2002-05-10 17:30:42 +00:00
David E. O'Brien
871d3affa7 Doh! Add IA-64 to our target list. 2002-05-10 17:23:04 +00:00
David E. O'Brien
415f2bb46f Gather up the stragglers that depends on genrtl.h. This is -j10 safe now. 2002-05-10 10:21:19 +00:00
David E. O'Brien
01c50f1782 This was *very* -j unsafe. Add a dependency on the common generated
headers to mostly make it -j1 safe.
2002-05-10 10:14:53 +00:00
David E. O'Brien
e20b0b7333 [Ab]use LDFLAGS rather than CFLAGS.
BDE tells me POSIX pretends `ld' as a directly callable entity does not exist.
2002-05-10 09:32:39 +00:00
David E. O'Brien
3cdd876f04 Bmake bits for Gcc 3.1.
Partially made possible by:	Wilko.Bulte@compaq.com
2002-05-10 08:54:50 +00:00
David E. O'Brien
94083430d8 Need to build libgcc.so with -nostdlib -- otherwise we try linking with
ourself.
2002-05-10 08:52:41 +00:00
David E. O'Brien
7b4716843d Use MD_EXEC_PREFIX now to get us thru `buildworld'.
The problem is the GCC driver now turns STANDARD_EXEC_PREFIX into a relative
path -- "<basename argv[0]>/../../libexec" for our normal install location.
However, in the middle of `buildworld' we need
"<basename argv[0]>/../../../../libexec" due to the prefix we tell the GCC
driver.  But either the GCC driver is buggy, or we are confusing it, as it
tries to exec "<basename argv[0]>/../../libexec/cpp0" as if it were installed
in the normal place (but isn't).
MD_EXEC_PREFIX is still absolute, so I'll use that for now.  I would like to
later make it so MD_EXEC_PREFIX is set only for `buildworld', as
MD_EXEC_PREFIX is also in the search path for libraries. Don't ask me why!
Another way is to add ${OBJFORMAT_PATH} (as set in CROSSENV) to the PATH
in src/Makefile.inc's WMAKEENV.
2002-05-10 08:41:46 +00:00
David E. O'Brien
066003a540 Gcc 3.1 now offers both a C99 and a K&R traditional C preprocessor.
This is the ISO C99 one.
2002-05-10 02:46:01 +00:00
David E. O'Brien
dd7731cf37 Bmake bits for GCC 3.1. 2002-05-10 02:36:12 +00:00
David E. O'Brien
bd7ce31c9a Turn off groff and gperf -- they will not compile with the in-tree Gcc 3.1. 2002-05-10 00:50:43 +00:00
David E. O'Brien
2fe1eb28ab All platforms should be on equal footing now -- no special handling for
Sparc64 and IA-64.
2002-05-10 00:49:55 +00:00
cvs2svn
ff24f7832c This commit was manufactured by cvs2svn to create branch 'WIP_GCC31'. 2002-05-09 00:52:10 +00:00
David E. O'Brien
354b719bf7 Gcc 3.1 now offers both a C99 and a K&R traditional C preprocessor.
This is the traditional one.
2002-05-09 00:52:09 +00:00
David E. O'Brien
b9b736e422 Using ${.ALLSRC} here is dangerious as it sometimes picks up more
"sources" than desired.
2002-05-08 02:46:10 +00:00
David E. O'Brien
672528fa3d Make the YACC'ing more bullet proof. 2002-05-07 01:41:46 +00:00
David E. O'Brien
baef823236 The GCC target name does not always match our platform's name.
MFC: rev 1.61 (needed a different way to keep from multiple inclusion)
2002-05-07 01:26:58 +00:00
David E. O'Brien
66ecbefa3d The HAVE_AS_GOTOFF_IN_DATA definition needs to depend on obj format. 2002-05-07 01:19:56 +00:00
David E. O'Brien
dbda0c7715 Mostly filled in contents for GCC 3.1.
Bribed by:	peter
2002-05-07 01:16:04 +00:00
David E. O'Brien
ca15bbbfe3 Fill in the missing.
Bribed by:	peter
2002-05-07 01:13:32 +00:00
cvs2svn
a7b4ff14b9 This commit was manufactured by cvs2svn to create branch 'WIP_GCC31'. 2002-05-07 01:03:52 +00:00
David E. O'Brien
6ce0897d11 libstdc++ version 3 (Gcc 3.1 is a consumer) uses the typical `config.h'. 2002-05-07 01:03:51 +00:00
David E. O'Brien
68866c8c5b Mostly filled in contents for GCC 3.1.
Bribed by:	peter
2002-05-07 01:01:38 +00:00
David E. O'Brien
ae889c62a2 Dependencies on tconfig.h work better if we set GCCDIR when shelling
to other Makefiles.
2002-05-07 00:58:49 +00:00
David E. O'Brien
4466867fd8 Update for GCC 3.1.
Tested on:	alpha, sparc64, i386
2002-05-07 00:55:51 +00:00
David E. O'Brien
df411a300f Fix to work on sparc64 (which has an extra crt .o file). 2002-05-07 00:08:30 +00:00
cvs2svn
bc2fcd34bc This commit was manufactured by cvs2svn to create branch 'WIP_GCC31'. 2002-05-06 22:07:27 +00:00
David E. O'Brien
91004f18ea GCC's libstdc++ version 3 has the "libgcc" like bits (start up / terminate
code, `new' handler, exception handling, etc.) split out into libsupc++.
2002-05-06 22:07:26 +00:00
David E. O'Brien
57f6dc86bd Make life a little bit easier with a trimmed down list of bits. 2002-05-06 21:10:08 +00:00
David E. O'Brien
a5cc86f163 Add support for using the profiled versions of the C++ (and related) libs. 2002-05-01 19:19:22 +00:00
Garance A Drosehn
38a1326cad Add many prototypes and ANSI-ize 'patch. Not a complete job of it, but it gets
our patch to look a little more like NetBSD's, and has the nice characteristic
that the object code is exactly the same after the change as before it (even in
patch.c and pch.c, which have pesky 'assert' statements in them).

Reviewed by:	/sbin/md5 on i386, alpha, sparc64
MFC after:	3 days
2002-04-28 01:33:45 +00:00
Garance A Drosehn
a3df8483c8 Add FreeBSD id's to these files, in advance of a separate update.
MFC after:	3 days
2002-04-28 01:26:40 +00:00
Eric Melville
23b1419ddc Move ID tag. 2002-04-27 19:57:22 +00:00
Garance A Drosehn
5343608723 Modify our 'patch' utility to recognize the
\ No newline at end of file
line that some versions of diff print out if the last line of the two files
are different, and one of the two files does not have a newline character
on that last line.

This change is still somewhat under discussion in -arch and -standards, but I
want to commit it to -current today so I'd have the chance to MFC it to -stable
before the code freeze for 4.6-release (which would be May 1st).

Note: the related change to 'diff' (so it might *generate* that line) is NOT
expected to be included in 4.6-release.  We can debate that change later.

Obtained from:	NetBSD (1.13 of basesrc/usr.bin/patch/pch.c, by kristerw)
MFC after:	4 days
2002-04-26 19:01:19 +00:00
Ruslan Ermilov
6bde859f40 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
Eric Melville
a73fa39e64 When a compound section name is specified, search for pages that actually
match the requested section. Previously, the section would be trimmed and
every entry matching the page name would be displayed.

Sponsored by:	Apple
2002-04-24 20:07:06 +00:00
David E. O'Brien
e5ccba11ac Don't use "GCCDIR" as the multiple inclusion protector. Subdir Makefiles
may want to override GCCDIR and this gets in the way.
2002-04-23 00:10:18 +00:00