Commit Graph

2853 Commits

Author SHA1 Message Date
David E. O'Brien
5a87307b7f Use a more API denoting way to handle what is in libc and what isn't. 2002-05-18 04:49:44 +00:00
David E. O'Brien
ef446fb2c6 Don't build gperf. 2002-05-18 00:20:01 +00:00
David E. O'Brien
00900fed40 Don't depend on gperf. 2002-05-18 00:18:00 +00:00
Peter Wemm
aff1ee31b8 Move LIB1ASMFUNCS from the SYMS variable and explicitly add it to OBJS
later.  Otherwise make will try and build the supposedly assembler .o
files from libgcc2.c - which does not work too well (the .o's have no
content)

Reviewed by:	obrien
2002-05-17 08:59:13 +00:00
Peter Wemm
8c258dc6ba Put on peril-sensitive sunglasses and risk touching gcc related build glue
again.  Try and deal with platforms that provide their own crtbegin/end asm
files (ia64 for example).  crtstuff.c does not actually work on ia64 since
libgcc.a doesn't have a few key support functions when built on ia64 so it
is compulsory to use crtbegin.asm and crtend.asm.

Reviewed by:	obrien
2002-05-17 07:55:08 +00:00
David E. O'Brien
9c2a81d5ba Remove some WIP bits that I didn't fully clean out before merging to HEAD. 2002-05-17 06:35:44 +00:00
Ruslan Ermilov
a43171c248 Back out revision 1.30 change.
cc1plus can apparently be built if you happen to have
/usr/bin/gperf, or set CXX to point to a C++ compiler
that can build gperf(1) in the bootstrap-tools stage
of buildworld.
2002-05-17 05:41:47 +00:00
David E. O'Brien
03083777d9 Post rev 1.39, the PowerPC specific additions to OBJS was getting lost. 2002-05-17 04:18:33 +00:00
David E. O'Brien
d4dfcdb535 Update to Binutils 2.12.0 and stick to the native emulation for now.
This lets us get on the with the task at hand -- porting FreeBSD.
We can get fancy later on.
2002-05-17 03:43:47 +00:00
David E. O'Brien
79b40253a4 Update to Binutils 2.12.0 release. 2002-05-17 03:43:09 +00:00
David E. O'Brien
e3dd58ccbc Update to Binutils 2.12.0 and stick to the native emulation for now.
This lets us get on the with the task at hand -- porting FreeBSD.
We can get fancy later on.
2002-05-17 03:10:33 +00:00
David E. O'Brien
d781910a94 bsd.lib.mk now understands what to do with .asm files.
So we can refer to these files by their real name vs. playing tricks
renaming them during the build.
2002-05-17 03:08:15 +00:00
David E. O'Brien
ba2789556e GCC 3.1 on PowerPC also has the crtsavres C Run Time file. 2002-05-17 03:04:47 +00:00
David E. O'Brien
cffafa9e12 Do not cut `docs' out of the build with NO_CXX.
There are no longer GNU C++ specific info files, and it was a bug with Gcc
2.95 that NO_CXX would cause the C and CPP info files to not be installed.
2002-05-17 03:00:33 +00:00
Ruslan Ermilov
35abacef2a MD_EXEC_PREFIX doesn't work for the cross-arch compiler.
The change also makes the `cc -print-search-dirs' output
sane (the pre-3.1 way) in the non-cross case.

Draft reviewed by:	obrien
2002-05-16 15:22:58 +00:00
Ruslan Ermilov
2898afe627 Make it possible to build a cross compiler for alpha,
ia64 and sparc64 on systems that do not have atoll(3).
The "cross" here doesn't necessarily mean cross-arch.
2002-05-16 15:18:13 +00:00
Mark Murray
f72674c540 Remove the perl build. Farewell, old friend. 2002-05-16 09:57:11 +00:00
Mark Murray
9a473994d2 Don't build perl. 2002-05-16 08:59:52 +00:00
David E. O'Brien
fcbdc1f8a0 Add x86-64 bits. 2002-05-15 22:40:50 +00:00
David E. O'Brien
23735e10dd The IA-64 config needs to know that we are using GNU ld & as.
Submitted by:	peter
2002-05-15 21:59:46 +00:00
Ruslan Ermilov
83f56d9ae4 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
David E. O'Brien
7ed7e0cf33 We won't be doing FreeBSD-NT (NTBSD?, BSDNT?) anytime soon.
Same for any m68k platform.
2002-05-15 09:11:11 +00:00
David E. O'Brien
16444b7a38 We aren't quite ready to switch emulations and loose the
override ELF_DYNAMIC_INTERPRETER requirement.

Has a good eye:	jmallet
2002-05-15 09:01:03 +00:00
David E. O'Brien
91c7467999 We won't be doing FreeBSD/m68k or FreeBSD/rs6k anytime soon.
(not to mention these bits are still at the 2.9.1 level)
2002-05-15 08:33:41 +00:00
Mark Peek
117af193f6 Make our version tag unique due to our local changes.
PR:		19733
Submitted by:	sheldonh
MFC after:	3 days
2002-05-14 18:17:59 +00:00
David E. O'Brien
ee6b45631e Quote {CC} so ccache can be used. 2002-05-14 01:00:25 +00:00
Ruslan Ermilov
2020063860 Fixed CLEANFILES after bsd.lib.mk sweep. 2002-05-13 15:28:00 +00:00
Ruslan Ermilov
423e9124d9 Mark all internal libraries with INTERNALLIB. 2002-05-13 11:24:03 +00:00
Ruslan Ermilov
46f8fdc34e Removed now unused INTERNALSTATICLIB.
INTERNALLIB now implies NOPIC and NOPROFILE.
Removed gratuitous NOMAN.
2002-05-13 11:09:07 +00:00
Ruslan Ermilov
2a53f3fb35 Major cleanup of bsd.lib.mk.
Get rid of the INTERNALSTATICLIB knob and just use plain INTERNALLIB.
INTERNALLIB now means to build static library only and don't install
anything.  Added a NOINSTALLLIB knob for libpam/modules.  To not
build any library at all, just do not set LIB.
2002-05-13 10:53:24 +00:00
David E. O'Brien
6677f3e022 Restore some of the implementation from the Bmake gcc 2.95 bits.
In the end, I can do things more like the previous Bmake bits than was
apparent in the middle of the gcc31 WIP.
2002-05-13 03:27:03 +00:00
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
Mark Murray
9cc3cb3f28 Remove my MAINTAINER= from here, as it is in src/MAINTAINER 2002-04-21 08:03:25 +00:00
Mark Murray
116852511f Tidy up some of the configs; s/gcc/cc/ to make the choice of C compiler
more generic. Fix paths for things like scripts (fix perldoc). Tweak
externally passed macros.
2002-04-21 08:01:31 +00:00
David E. O'Brien
0537668b9b It is easier for me to debug with -I's at the rear. 2002-04-20 01:27:28 +00:00
Ruslan Ermilov
71b3ac84e1 Replaced exists() tests with two equivalent defined().
LIBDIR is defined in bsd.own.mk but sys.mk no longer
includes bsd.own.mk as of revision 1.60.
2002-04-18 07:01:35 +00:00
Ruslan Ermilov
c2eaaece3c *sigh* Really fix a typo.
Submitted by:	bde
2002-04-16 06:34:59 +00:00
David E. O'Brien
c9a979c8a8 Fix typo. 2002-04-15 21:57:40 +00:00
David E. O'Brien
9d838dbb47 Remove the #ifdef IN_GCC junk. We *know* we are building GCC with these
bits.  Also remove comment about keeping in sync with other instances in
the source tree -- it was too easy to get out of sync, so the other
instances now use this instance.
2002-04-15 03:41:47 +00:00
David E. O'Brien
d99ab028e5 Note that HAVE_GAS_SHF_MERGE is a new feature, and it can be surprising if
one does not know about it.

Experienced by:	peter
2002-04-15 03:39:20 +00:00
David E. O'Brien
d6c4eef6dd Turn off collect2.
collect2 was added based on the need of -frepo.  However, -frepo is currently
broken on -CURRENT (Gcc 2.95.4 20020320 [FreeBSD] / ld 2.12.0 [FreeBSD]
2002-04-10).  It is also broken on RELENG_4 (Gcc 2.95.3 20010315 / ld
2.11.2 20010719), so there is no need to MFC collect2 there yet.  I have
a feeling the brokeness is due to the wide difference between the libiberty
bits of Gcc 2.95 and the later ld.

Testing by:	fjoe
2002-04-15 03:15:40 +00:00
Andrey A. Chernov
d393af1752 Re-add sort spammed in v1.62 2002-04-13 05:49:33 +00:00
Eric Melville
a00e7d5452 Fix compilation in the non-FreeBSD case.
Sponsored by:	Apple
2002-04-13 01:17:21 +00:00
David E. O'Brien
2af8b6958a Updated to a 10-April-2002 2.12 branch snapshot.
This fixes serious problems in ld's symbol handling.
2002-04-12 19:59:42 +00:00
David E. O'Brien
596d4501ed Use PTRACE_ARG3_TYPE of caddr_t.
Obtained from:	gdb 5.2
2002-04-11 20:42:13 +00:00
David E. O'Brien
8089148b52 In the cross case we need to provide TARGET_MACHINE. 2002-04-11 18:40:37 +00:00
Ruslan Ermilov
5786a9cf4a Revert the last change and mark the program as PROG_CXX. 2002-04-11 11:06:06 +00:00
Ruslan Ermilov
c573632aed Use the new PROG_CXX knob. 2002-04-11 11:02:41 +00:00
David E. O'Brien
8f5dad4aa0 Update infodoc building for GCC 3.1. 2002-04-11 02:56:30 +00:00
David E. O'Brien
cb2a59bc57 In the cross case we need to provide TARGET_MACHINE. 2002-04-10 02:20:48 +00:00
David E. O'Brien
e228f1da77 Change YACCing.
Submited by:	ru
2002-04-10 01:48:47 +00:00