Commit Graph

48 Commits

Author SHA1 Message Date
David Chisnall
52b42bace1 On platforms where clang is the default compiler, don't build gcc or libstdc++.
To enable them, set WITH_GCC and WITH_GNUCXX in src.conf.
Make clang default to using libc++ on FreeBSD 10.
Bumped __FreeBSD_version for the change.

GCC is still enabled on PC98, because the PC98 bootloader requires GCC to build
(or, at least, hard-codes the use of gcc into its build).

Thanks to everyone who helped make the ports tree ready for this (and bapt
for coordinating them all).  Also to imp for reviewing this and working on the
forward-porting of the changes in our gcc so that we're getting to a much
better place with regard to external toolchains.

Sorry to all of the people who helped who I forgot to mention by name.

Reviewed by:	bapt, imp, dim, ...
2013-09-06 20:08:03 +00:00
Marcel Moolenaar
450ea99db7 Don't recurse into libssp when MK_SSP is set to no. 2012-05-21 16:03:44 +00:00
Max Khon
24d1b19ec4 libodialog: disconnect from the build and obsolete. 2011-11-24 20:31:06 +00:00
Dimitry Andric
6d67f69487 Remove libobjc and other Objective-C related components, as these are
extremely outdated, and not used by anything in the base system.

Silence from:	current@
2011-04-17 21:03:23 +00:00
Nathan Whitehorn
4c8945a06b Update dialog to version 20100428. This changes the license under which
dialog is distributed from GPLv2 to LGPLv2 and introduces a number of new
features and a new and better libdialog API. The existing libdialog will
be kept temporarily as libodialog for compatibility purposes until sade,
sysinstall and tzsetup have been either updated or replaced.

__FreeBSD_version is now 900030.

Discussed on:	-current
Approved by:	core
Obtained from:	http://invisible-island.net/dialog
2011-01-12 14:55:02 +00:00
Ruslan Ermilov
042df2e2da Enable GCC stack protection (aka Propolice) for userland:
- It is opt-out for now so as to give it maximum testing, but it may be
  turned opt-in for stable branches depending on the consensus.  You
  can turn it off with WITHOUT_SSP.
- WITHOUT_SSP was previously used to disable the build of GNU libssp.
  It is harmless to steal the knob as SSP symbols have been provided
  by libc for a long time, GNU libssp should not have been much used.
- SSP is disabled in a few corners such as system bootstrap programs
  (sys/boot), process bootstrap code (rtld, csu) and SSP symbols themselves.
- It should be safe to use -fstack-protector-all to build world, however
  libc will be automatically downgraded to -fstack-protector because it
  breaks rtld otherwise.
- This option is unavailable on ia64.

Enable GCC stack protection (aka Propolice) for kernel:
- It is opt-out for now so as to give it maximum testing.
- Do not compile your kernel with -fstack-protector-all, it won't work.

Submitted by:	Jeremie Le Hen <jeremie@le-hen.org>
2008-06-25 21:33:28 +00:00
Alexander Kabaev
afb57df680 Update bmake glue to build GCC 4.2.
Also:
        Switch FreeBSD to use libgcc_s.so.1.

        Use dl_iterate_phdr to locate shared objects' exception frame
        info instead of depending on older register_frame_info machinery.
        This allows us to avoid depending on libgcc_s.so.1 in binaries
        that do not use exception handling directly. As an additional
        benefit it breaks circular libc <=> libgcc_s.so.1 dependency too.

        Build newly added libgomp.so.1 library, the runtime support
        bits for OpenMP.

        Build LGPLed libssp library. Our libc provides our own
        BSD-licensed SSP callbacks implementation, so this library
        is only built to benefit applications that have hadcoded
        knowledge of libssp.so and libssp_nonshared.a. When linked
        in from command line, these libraries override libc
        implementation.
2007-05-19 04:25:59 +00:00
Ruslan Ermilov
e1fe3dba5c Reimplementation of world/kernel build options. For details, see:
http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html

The src.conf(5) manpage is to follow in a few days.

Brought to you by:	imp, jhb, kris, phk, ru (all bugs are mine)
2006-03-17 18:54:44 +00:00
Alexander Kabaev
0d7a4fdf65 Add libgcov, a runtime support library for binaries compiled for basic
block profiling.
2004-08-14 03:23:24 +00:00
Peter Wemm
66422f5b7a 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
Peter Wemm
b5ad6294bb Add some build glue for libstdc++. I'm not a C++ person, but this seems
to work at least for the non-hairy stuff.  The main wrinkle here is that
a whole mess of include files get installed and under different names.
An earlier version of this built a shadow include tree first in the obj
directory, but this depends on the 'make includes' functionality.

More tweaking is certainly going to be needed.
2002-05-29 00:45:51 +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
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
Peter Wemm
9d04791265 Unbreak world (missing .else)
Submitted by:   fenner
Pointy hat to:  obrien
2002-04-08 22:56:28 +00:00
David E. O'Brien
28def05c25 Some things don't compile on ia64 and sparc64 yet. 2002-04-08 20:36:39 +00:00
John Baldwin
6662e3f437 Back out the previous revision for now. Instead, the current sparc64
Makefile changes are in the sparc64 p4 tree.
2002-01-07 19:27:50 +00:00
John Baldwin
7855d28a28 Don't build csu or libgcc on sparc64 for the time being. 2002-01-03 19:57:35 +00:00
Dima Dorfman
7bd0b86765 Enable the new libmp in the build, and disable libgmp and its
henchmen.
2001-07-29 08:58:22 +00:00
David E. O'Brien
3f6014e672 Use a unified libgcc rather than a seperate one for threaded and
non-threaded programs.  This provides threaded programs with the
needed exception frame symbols.

parts submitted by:	Max Khon <fjoe@iclub.nsu.ru>
PR:	23252
2001-01-06 06:16:31 +00:00
David E. O'Brien
07ec877253 Don't compile libgcc_r twice. 2000-11-25 13:04:08 +00:00
David E. O'Brien
d96d20c397 Don't build libgcc_r if "NOLIBC_R" defined. If you don't have a threads
safe libc, having a threads safe libgcc isn't of much use.
2000-11-25 01:25:35 +00:00
David E. O'Brien
ae7c8a2bb8 * Bring back the guts of crt{i,n}.S. This allows C++ exceptions to work
when using the egcs and gcc-devel ports, along with GCC built from stock
public FSF sources.  With out this change, FreeBSD will be removed from
the list of systems GCC 3.0 must be evaluated on before release.  With
the effort some of us put into getting FreeBSD on this list, we should
not turn this effort into a waste, else we might not be worth fighting
for in the future.  (note that Alpha and IA-64 versions of crt{i,n}.S
are needed)

* Switch from our own crt{begin,in} to those created from GCC's crtstuff.c.
This will allow us to switch to DWARF2 exceptions in the future, along with
staying in sync with any future GCC requirements.

* Break out our ELF branding bits into a seperate file.  Currently this
is now included by our crt1.c files (since this functionality was part of
our native crtbegin.c).  Later crtbrand.o will be merged in the creation
of crti.o.
2000-10-28 21:26:48 +00:00
David E. O'Brien
51b7e77252 Add "NO_CXX" knob to match src/gnu/usr.bin/cc/Makefile. 2000-10-24 11:25:28 +00:00
David E. O'Brien
690d1b00ac Make ObjC bits optional. NO_OBJC ==> don't need `em. 1999-11-27 21:52:55 +00:00
Peter Wemm
9b7a44a60e $Id$ -> $FreeBSD$ 1999-08-27 23:37:10 +00:00
David E. O'Brien
d0ef0a358c Hookup libg2c. (define NO_FORTRAN if you don't want it built) 1999-04-18 09:50:16 +00:00
David E. O'Brien
a10a6b606b Create a libgcc with POSIX threads support.
Submitted by:	Luoqi Chen <luoqi@chen.ml.org> (reorganized by me)
1999-04-14 00:24:03 +00:00
David E. O'Brien
18ff6ae909 Minimum set of changes to switch from Gcc 2.7.2 (in contrib/gcc) to Egcs 1.1.2
(in contrib/egcs)
1999-04-04 16:36:35 +00:00
David E. O'Brien
b3f059f4d5 Hookup libgcc at gnu/lib instead of gnu/usr.bin/cc
(libgcc was repository copied for me by Peter)
1999-03-31 06:30:40 +00:00
Bruce Evans
9a15012667 Fixed munging of the SUBDIR list in rev.1.16-1.18. 1998-09-02 14:56:59 +00:00
Doug Rabson
2d9dae457a All libs build on alpha now. 1998-08-31 13:47:38 +00:00
John Birrell
c9fc383199 Just one of these libs left to port to alpha. 1998-02-19 07:30:06 +00:00
John Birrell
d7ad72179f Avoid building x86 specific libraries on Alpha. 1998-01-10 22:50:00 +00:00
Peter Wemm
fce15c9ab3 Revert $FreeBSD$ to $Id$ 1997-02-22 15:48:31 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Peter Wemm
e27edaff41 Add libstdc++ to the SUBDIR list 1996-10-04 08:44:26 +00:00
Peter Wemm
f19798ebd2 Add libobjc, the Objective-C runtime library. 1996-09-19 16:19:49 +00:00
Poul-Henning Kamp
2551444ec5 gnumalloc is gone. 1996-02-11 18:16:11 +00:00
Mark Murray
1191aefe58 Add libgmp. 1995-11-13 19:12:10 +00:00
Mark Murray
58cf3c925d Add libmp 1995-11-12 15:03:50 +00:00
Andrey A. Chernov
98f978a585 Remove */doc 1995-01-16 17:53:43 +00:00
Andrey A. Chernov
ea822ebc88 libregex/doc added 1995-01-11 04:34:23 +00:00
Andrey A. Chernov
00e87e70d1 Add readline/doc to SUBDIR 1995-01-04 22:38:51 +00:00
Andrey A. Chernov
02d988ba01 libdialog added 1994-10-11 23:34:13 +00:00
Rodney W. Grimes
b54a9a158c Reenable libg++ 1994-09-09 15:10:37 +00:00
Jordan K. Hubbard
e59e670cbe Remove libg++ until we have a working one again.
Submitted by:	jkh
1994-08-07 20:58:04 +00:00
Andrey A. Chernov
e9ca3bdf0e libreadline added 1994-05-09 16:11:10 +00:00
Rodney W. Grimes
984de365e7 Update for new organization of gnu tree. 1994-01-30 01:03:16 +00:00