Commit Graph

2857 Commits

Author SHA1 Message Date
obrien
392eebf174 Fix the sparc64 build and make the LIB1ASMSRC handling more robust. 2002-05-18 09:46:12 +00:00
phk
dc6816f144 Improve chances that we correctly compile LIB1ASMSRC on all architectures.
sparc64 looked for the nonexistent sparc64/lb1spc.asm file instead
of the sparc/lb1spc.asm file.

arm probably looked for arm/arm/lib1funcs.asm instead of arm/lib1funcs.asm
ia64 probably looked for ia64/ia64/lib1funcs.asm instead of ia64/lib1funcs.asm

i386 and alpha don't seen to use the LIB1ASMSRC.
2002-05-18 09:21:42 +00:00
obrien
7f9fb78993 Segregate MD weirdness a little bit more. Improve cross buildability. 2002-05-18 04:59:57 +00:00
obrien
73a63698a0 Style sync with other platforms. 2002-05-18 04:50:32 +00:00
obrien
2f9891cf77 Use a more API denoting way to handle what is in libc and what isn't. 2002-05-18 04:49:44 +00:00
obrien
fff8069519 Don't build gperf. 2002-05-18 00:20:01 +00:00
obrien
fc5c0b8f29 Don't depend on gperf. 2002-05-18 00:18:00 +00:00
peter
a254817b08 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
877587ce74 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
obrien
e303f729c6 Remove some WIP bits that I didn't fully clean out before merging to HEAD. 2002-05-17 06:35:44 +00:00
ru
04cbf1cb05 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
obrien
17aec96489 Post rev 1.39, the PowerPC specific additions to OBJS was getting lost. 2002-05-17 04:18:33 +00:00
obrien
4adece7fd2 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
obrien
623d9d0043 Update to Binutils 2.12.0 release. 2002-05-17 03:43:09 +00:00
obrien
c83489556b 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
obrien
cef4417d4b 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
obrien
ff2300d7aa GCC 3.1 on PowerPC also has the crtsavres C Run Time file. 2002-05-17 03:04:47 +00:00
obrien
0e6872a9ec 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
ru
af2650e805 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
ru
e55e9be036 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
markm
344ddc1497 Remove the perl build. Farewell, old friend. 2002-05-16 09:57:11 +00:00
markm
52d70f2d2f Don't build perl. 2002-05-16 08:59:52 +00:00
obrien
5637f2111a Add x86-64 bits. 2002-05-15 22:40:50 +00:00
obrien
ce1704f4f0 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
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
obrien
986b462279 We won't be doing FreeBSD-NT (NTBSD?, BSDNT?) anytime soon.
Same for any m68k platform.
2002-05-15 09:11:11 +00:00
obrien
9139dec5a0 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
obrien
fb2703d06f 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
mp
51434df12e 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
obrien
68038c862a Quote {CC} so ccache can be used. 2002-05-14 01:00:25 +00:00
ru
661f00368b Fixed CLEANFILES after bsd.lib.mk sweep. 2002-05-13 15:28:00 +00:00
ru
46bb8fed43 Mark all internal libraries with INTERNALLIB. 2002-05-13 11:24:03 +00:00
ru
bc2e1305d8 Removed now unused INTERNALSTATICLIB.
INTERNALLIB now implies NOPIC and NOPROFILE.
Removed gratuitous NOMAN.
2002-05-13 11:09:07 +00:00
ru
dc9ee40833 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
obrien
1daa12366e 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
obrien
3399becf9d 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
ru
4204167002 NOLIB is gone; put INTERNALLIB back for now. 2002-05-12 16:35:34 +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
01532a0d4b Properly build lb1spc.asm on Sparc64. 2002-05-12 14:05:58 +00:00
obrien
14eeafe476 There is no more NOLIB. 2002-05-12 13:49:14 +00:00
obrien
1d595b254a 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
obrien
25fbcd7ded Tidy up the cleanfiles. 2002-05-12 12:06:19 +00:00
obrien
29ad76a5ac Fixes for building a.out bits.
Submitted by:	bde
2002-05-12 12:01:12 +00:00
obrien
6ffd9aaeaa Sorry, I did not mean to turn collect2 back on yet. 2002-05-11 04:51:45 +00:00
obrien
b900b2ab4e Revert rev 1.3 -- I tested using the wrong build compiler. 2002-05-11 00:15:45 +00:00
obrien
aaf4b41b86 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
obrien
d81b5e34df 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
obrien
525421bc1c Touching the sjlj setting on IA-64 makes things not build.
Submitted by:	peter
2002-05-10 17:42:19 +00:00
obrien
af22093650 Build compiler on all platforms. 2002-05-10 17:30:42 +00:00
obrien
f5e737107a Doh! Add IA-64 to our target list. 2002-05-10 17:23:04 +00:00
obrien
2991bb5869 Gather up the stragglers that depends on genrtl.h. This is -j10 safe now. 2002-05-10 10:21:19 +00:00
obrien
07f909dd68 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
obrien
bdc472c233 [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
obrien
dfe16a29fa Bmake bits for Gcc 3.1.
Partially made possible by:	Wilko.Bulte@compaq.com
2002-05-10 08:54:50 +00:00
obrien
a361afdafe 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
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
obrien
77caa62973 All platforms should be on equal footing now -- no special handling for
Sparc64 and IA-64.
2002-05-10 00:49:55 +00:00
obrien
97abec70bc 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
obrien
670609f4cc libstdc++ version 3 (Gcc 3.1 is a consumer) uses the typical `config.h'. 2002-05-07 01:03:51 +00:00
obrien
ac9b7a9901 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
obrien
7ba2aa9469 Add support for using the profiled versions of the C++ (and related) libs. 2002-05-01 19:19:22 +00:00
gad
b200c6709f 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
gad
69091a8284 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
6818945234 Move ID tag. 2002-04-27 19:57:22 +00:00
gad
ad53a7dcd4 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
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
eric
4c7b56686f 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
obrien
84b82bd4fa 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
markm
4cae6668ff Remove my MAINTAINER= from here, as it is in src/MAINTAINER 2002-04-21 08:03:25 +00:00
markm
1d46312627 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
obrien
e4e7ea8e6a It is easier for me to debug with -I's at the rear. 2002-04-20 01:27:28 +00:00
ru
8a3e2794af 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
ru
ef6fbcba9b *sigh* Really fix a typo.
Submitted by:	bde
2002-04-16 06:34:59 +00:00
obrien
a27301d850 Fix typo. 2002-04-15 21:57:40 +00:00
obrien
88095cb94f 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
ache
b2dbe33cce Re-add sort spammed in v1.62 2002-04-13 05:49:33 +00:00
eric
2d36550df1 Fix compilation in the non-FreeBSD case.
Sponsored by:	Apple
2002-04-13 01:17:21 +00:00
obrien
0e221eece2 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
obrien
ae03d60df4 Use PTRACE_ARG3_TYPE of caddr_t.
Obtained from:	gdb 5.2
2002-04-11 20:42:13 +00:00
obrien
42e587fcbd In the cross case we need to provide TARGET_MACHINE. 2002-04-11 18:40:37 +00:00
ru
1edf22e90f Revert the last change and mark the program as PROG_CXX. 2002-04-11 11:06:06 +00:00
ru
f32dc62607 Use the new PROG_CXX knob. 2002-04-11 11:02:41 +00:00
obrien
4a7b915fd5 In the cross case we need to provide TARGET_MACHINE. 2002-04-10 02:20:48 +00:00
obrien
64abb46d2e Change YACCing.
Submited by:	ru
2002-04-10 01:48:47 +00:00
obrien
f631d685df Back out most of revision 1.59. 2002-04-10 00:18:14 +00:00
ru
3f7981754a -ltermcap is spelled -lncurses nowadays. 2002-04-09 13:04:31 +00:00
peter
8180c55fce move gperf to NO_GXX section, it works fine on ia64. It just needs a
c++ compiler.
2002-04-08 22:58:52 +00:00
peter
926eea6a54 Unbreak world (missing .else)
Submitted by:   fenner
Pointy hat to:  obrien
2002-04-08 22:56:28 +00:00
ache
9acbbd14fc Get decimal point from locale 2002-04-08 22:00:28 +00:00
ache
cfa7ad4216 Connect sort 2002-04-08 20:46:44 +00:00
obrien
8080c6393b GCC and Gperf do not work on ia64 or sparc64 yet.
Also do not try to compile Groff if NO_CXX is set.
2002-04-08 20:38:56 +00:00
obrien
acb8992dc3 Some things don't compile on ia64 and sparc64 yet. 2002-04-08 20:36:39 +00:00
obrien
1ebe357b71 Fine! I cannot freaking take the bikeshed any more.
These binaries will be static, peroid.
2002-04-08 18:48:38 +00:00
ache
cc662f1d90 Revive GNU sort 2002-04-08 12:12:07 +00:00
ru
53a2826bc8 Add .Fx entries for upcoming 4.6 and forthcoming 4.7.
Requested by:	asmodai
2002-04-08 11:20:50 +00:00
peter
01494340e6 Add -lstdc++ to the link args for these C++ tools so that they can be
compiled with gcc-3.1.  Somebody thought it was a good idea to move
the implementation of new and delete from libgcc to libstdc++.  This
change doesn't harm the current compiler in the tree.
2002-04-07 02:40:55 +00:00
peter
078dac26a9 Bandaid for LP64 machines where 'warning: cast to pointer from different
sized integer' bites.  The various malloc functions return pointers,
but without any prototype/declarations visible to callers, the compiler
expects them to return int.
2002-04-07 01:44:24 +00:00
obrien
9928dbec92 Break some things used by the front-ends from Makefile.inc that cannot
be used build-wide for GCC 3.1.
2002-04-06 23:16:26 +00:00
obrien
e3947f6248 Build and install collect2. This is needed for some C++ programs. 2002-04-06 23:12:46 +00:00
obrien
19a0a4cab7 Break some things out of Makefile.inc that cannot be used build-wide
for GCC 3.1.
2002-04-06 22:37:19 +00:00