History log of /freebsd-current/gnu/lib/Makefile
Revision Date Author Comments
# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/


# 8aff76fb 22-Dec-2020 Kyle Evans <kevans@FreeBSD.org>

build: remove the option to build gnugrep

Unconditionally install bsdgrep as grep, bootstrap or not. Remove all
build glue and stop installing both gnugrep and libgnuregex now that
all consumers of the latter are gone.

Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D27732


# fe7dff17 15-Dec-2020 Ed Maste <emaste@FreeBSD.org>

Remove additional GDB leftovers missed in r368667


# 2756e138 04-Dec-2020 Kyle Evans <kevans@FreeBSD.org>

gnu: don't build libgnuregex for WITH_GNU_GREP_COMPAT

bsdgrep switched over to libregex back in r363823 to fill
WITH_GNU_GREP_COMPAT, since libgnuregex in base is quite buggy and libregex
is somewhat functional. Don't build libgnuregex on our account, please.


# 57f80467 28-Feb-2020 Ed Maste <emaste@FreeBSD.org>

remove GCC 4.2.1 build infrastructure

As described in Warner's email message[1] to the FreeBSD-arch mailing
list we have reached GCC 4.2.1's retirement date. At this time all
supported architectures either use in-tree Clang, or rely on external
toolchain (i.e., a contemporary GCC version from ports).

GCC 4.2.1 was released July 18, 2007 and was imported into FreeBSD later
that year, in r171825. GCC has served us well, but version 4.2.1 is
obsolete and not used by default on any architecture in FreeBSD. It
does not support modern C and does not support arm64 or RISC-V.

Thanks to everyone responsible for maintaining, updating, and testing
GCC in the FreeBSD base system over the years.

So long, and thanks for all the fish.

[1] https://lists.freebsd.org/pipermail/freebsd-arch/2020-January/019823.html

PR: 228919
Reviewed by: brooks, imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D23124


# 43e84039 31-Jan-2020 Ed Maste <emaste@FreeBSD.org>

retire BSD_CRTBEGIN option

BSD crt is currently used on all architectures (other than sparc64).
Remove the option and use BSD crt everywhere as part of the GCC 4.2.1
retirement plan.

https://lists.freebsd.org/pipermail/freebsd-arch/2020-January/019823.html

PR: 239851
Reviewed by: andrew, brooks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D23122


# 305f30cc 08-Jan-2020 Ed Maste <emaste@FreeBSD.org>

Retire build support for GCC's DWARF unwinder

As of r356514 LLVM's libunwind is used as the DWARF unwinder on all
supported CPU architectures, and GCC and its libraries will be removed
soon. Retire the build infrastructure for GCC's unwinder; from here
if there are any unwinder bugs (on any arch) the path forward is to fix
LLVM's libunwind.


# cd0d51ba 04-Jan-2020 Kyle Evans <kevans@FreeBSD.org>

Provide libssp based on libc

For libssp.so, rebuild stack_protector.c with FORTIFY_SOURCE stubs that just
abort built into it.

For libssp_nonshared.a, steal stack_protector_compat.c from
^/lib/libc/secure and massage it to maintain that __stack_chk_fail_local
is a hidden symbol.

libssp is now built unconditionally regardless of {WITH,WITHOUT}_SSP in the
build environment, and the gcclibs version has been disconnected from the
build in favor of this one.

PR: 242950 (exp-run)
Reviewed by: kib, emaste, pfg, Oliver Pinter (earlier version)
Also discussed with: kan
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D22943


# b0840a28 16-Mar-2019 Dimitry Andric <dim@FreeBSD.org>

Connect lib/libomp to the build.

* Set MK_OPENMP to yes by default only on amd64, for now.
* Bump __FreeBSD_version to signal this addition.
* Ensure gcc's conflicting omp.h is not installed if MK_OPENMP is yes.
* Update OptionalObsoleteFiles.inc to cope with the conflicting omp.h.
* Regenerate src.conf(5) with new WITH/WITHOUT fragments.

Relnotes: yes
PR: 236062
MFC after: 1 month
X-MFC-With: r344779


# 31d62a73 25-Oct-2018 Andrew Turner <andrew@FreeBSD.org>

Implement a BSD licensed crtbegin/crtend

These are needed for .ctors/.dtors and .jcr handling. The former needs
all the function pointers to be called in the correct order from the
.init/.fini section. The latter just needs to call a gcj specific function
if it exists with a pointer to the start of the .jcr section.

This is currently disabled until __dso_handle support is added.

Reviewed by: emaste
MFC after: 1 month
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D17587


# 8134347f 05-Feb-2018 Baptiste Daroussin <bapt@FreeBSD.org>

Remove libreadline from the source tree, all consumers but gdb
has been switched to libedit long ago, libreadline was built as an
internallib for a while and kept only for gdbtui which was broken using
libreadline.

Since gdb has been mostly deorbitted in all arches, gdbtui was only installed
on arm and sparc64, given it has been removed, gdb has been switched to use
libedit, no consumers are left for libreadline. Thus this removal


# af8612c1 20-Apr-2017 Baptiste Daroussin <bapt@FreeBSD.org>

GNU diff is done and GNU diff3 is not using libgnuregex, so no need to
condition the build of libgnuregex anymore on WITHOUT_GNU_DIFF


# fd1444e4 20-Apr-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Only build libreadline for gdb, binutils actually does not need it


# c7fbd772 04-Nov-2016 Ed Maste <emaste@FreeBSD.org>

Connect new LLVM-based libgcc_eh & libgcc_s to the build

Compiler-rt and LLVM's libunwind provide a suitable replacement for
libgcc.a, libgcc_eh.a, and libgcc_s.so.

Remove the now-unused LLVM_LIBUNWIND block from gnu/lib/libgcc.

PR: 213480 [exp-run]
Reviewed by: brooks, ed
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8189


# 2abd4864 20-Oct-2016 Ed Maste <emaste@FreeBSD.org>

Correct typo in r307679: the variable is MK_GNU_GREP_COMPAT


# d1a69033 20-Oct-2016 Ed Maste <emaste@FreeBSD.org>

Build libgnuregex only if necessary for other components

Reviewed by: brooks
Differential Revision: https://reviews.freebsd.org/D8298


# dc8b6297 19-Oct-2016 Ed Maste <emaste@FreeBSD.org>

Put each SUBDIR on a separate line for ease of maintenance

Additional patches to this file are in progress, and having each SUBDIR
entry on a separate line makes it easier to change the order in which
the patches are reviewed, tested, and applied.


# 016e7731 19-Oct-2016 Ed Maste <emaste@FreeBSD.org>

Switch gnu/lib/Makefile to SUBDIR.${MK_*} optional subdir style

Compound conditions are left unchanged


# b31f8596 03-Oct-2016 Ed Maste <emaste@FreeBSD.org>

Don't build libdialog if WITHOUT_DIALOG is set

X-MFC-With: r306375


# aa92269e 15-Oct-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Add more SUBDIR_PARALLEL.

MFC after: 3 weeks
Sponsored by: EMC / Isilon Storage Division


# cab0e8ff 18-Jul-2015 Marius Strobl <marius@FreeBSD.org>

- Record dependencies of gdb/gdbtui/kgdb on binutils/lib{bfd,iberty,opcodes},
fixing parallel builds.
- Don't build gdb/gdbtui/kgdb or libreadline when MK_BINUTILS is "no" for
obvious reasons.

MFC after: 3 days


# 781eb744 25-May-2015 Baptiste Daroussin <bapt@FreeBSD.org>

ntp is now again libreadline free, so only build libreadline for gdb


# 6e23c23b 25-May-2015 Mark Murray <markm@FreeBSD.org>

Unbreak build where WANT_GDB == "no', as libreadline is also used by ntpdc.


# 40f51e75 18-May-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Only build libreadline if gdb is going to be built

gdb is the only consumer of libreadline which is an INTERNALLIB


# d485dbc7 18-May-2015 Ed Maste <emaste@FreeBSD.org>

Build libgcov only if we're building base system GCC

Clang uses compiler-rt for the code coverage runtime, and ports GCC
provides its own libgcov.

PR: 200203 (exp-run)
Sponsored by: The FreeBSD Foundation


# 810d5b34 15-May-2015 Ed Maste <emaste@FreeBSD.org>

Build libgomp only if we're also building base system GCC

Clang's OpenMP support will emit Intel OpenMP API library calls,
and will therefore require libiomp (or whatever name is settled on).
An up-to-date version of libgomp is included in ports or pkg GCC.
Thus, there is no reason to build base libgomp without base system GCC.

PR: 199979 (exp-run)
Reviewed by: pfg
Relnotes: Yes
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2459


# 9e88096e 10-Jul-2014 Warner Losh <imp@FreeBSD.org>

Make MK_GNUCXX mean "build the libstdc++ and libsupc++ libraries" and
nothing more. Force it to be "no" when MK_CXX is "no" to simplify
usage. It no longer also means "build g++" since we no longer have a
platform where that's interesting now that pc98 no longer needs clang
and gcc, but not g++. pc98 now just uses clang after boot2 changes.


# c6063d0d 05-May-2014 Warner Losh <imp@FreeBSD.org>

Use src.opts.mk in preference to bsd.own.mk except where we need stuff
from the latter.


# 38f0b757 21-Apr-2014 Julio Merino <jmmv@FreeBSD.org>

Add placeholder Kyuafiles for various top-level hierarchies.

This change adds tests/ directories in the source tree to create various
subdirectories in /usr/tests/ and to install placeholder Kyuafiles for
them.

the relevant hierarchies are: cddl, etc, games, gnu and secure.

The reason for this is to simplify the addition of new test programs for
utilities or libraries under any of these directories. Doing so on a
case by case basis is unnecessary and is quite an obscure process.


# c77d0c98 01-Apr-2014 Warner Losh <imp@FreeBSD.org>

It is possible that MK_GNUCXX is "yes" but MK_CXX is "no" so make sure
MK_CXX isn't "no" before building these libraries.


# 52b42bac 06-Sep-2013 David Chisnall <theraven@FreeBSD.org>

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, ...


# 450ea99d 21-May-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Don't recurse into libssp when MK_SSP is set to no.


# 24d1b19e 24-Nov-2011 Max Khon <fjoe@FreeBSD.org>

libodialog: disconnect from the build and obsolete.


# 6d67f694 17-Apr-2011 Dimitry Andric <dim@FreeBSD.org>

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@


# 4c8945a0 12-Jan-2011 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

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


# a7d5f7eb 19-Oct-2010 Jamie Gritton <jamie@FreeBSD.org>

A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.


# fe0506d7 09-Mar-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Create the altix project branch. The altix project will add support
for the SGI Altix 350 to FreeBSD/ia64. The hardware used for porting
is a two-module system, consisting of a base compute module and a
CPU expansion module. SGI's NUMAFlex architecture can be an excellent
platform to test CPU affinity and NUMA-aware features in FreeBSD.


# d7f03759 19-Oct-2008 Ulf Lilleengen <lulf@FreeBSD.org>

- Import the HEAD csup code which is the basis for the cvsmode work.


# 042df2e2 25-Jun-2008 Ruslan Ermilov <ru@FreeBSD.org>

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>


# afb57df6 18-May-2007 Alexander Kabaev <kan@FreeBSD.org>

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.


# e1fe3dba 17-Mar-2006 Ruslan Ermilov <ru@FreeBSD.org>

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)


# 0d7a4fdf 13-Aug-2004 Alexander Kabaev <kan@FreeBSD.org>

Add libgcov, a runtime support library for binaries compiled for basic
block profiling.


# 66422f5b 16-Sep-2002 Peter Wemm <peter@FreeBSD.org>

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


# b5ad6294 28-May-2002 Peter Wemm <peter@FreeBSD.org>

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.


# 83f56d9a 15-May-2002 Ruslan Ermilov <ru@FreeBSD.org>

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.


# 2fe1eb28 09-May-2002 David E. O'Brien <obrien@FreeBSD.org>

All platforms should be on equal footing now -- no special handling for
Sparc64 and IA-64.


# 9d047912 08-Apr-2002 Peter Wemm <peter@FreeBSD.org>

Unbreak world (missing .else)

Submitted by: fenner
Pointy hat to: obrien


# 28def05c 08-Apr-2002 David E. O'Brien <obrien@FreeBSD.org>

Some things don't compile on ia64 and sparc64 yet.


# 6662e3f4 07-Jan-2002 John Baldwin <jhb@FreeBSD.org>

Back out the previous revision for now. Instead, the current sparc64
Makefile changes are in the sparc64 p4 tree.


# 7855d28a 03-Jan-2002 John Baldwin <jhb@FreeBSD.org>

Don't build csu or libgcc on sparc64 for the time being.


# 7bd0b867 29-Jul-2001 Dima Dorfman <dd@FreeBSD.org>

Enable the new libmp in the build, and disable libgmp and its
henchmen.


# 3f6014e6 05-Jan-2001 David E. O'Brien <obrien@FreeBSD.org>

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


# 07ec8772 25-Nov-2000 David E. O'Brien <obrien@FreeBSD.org>

Don't compile libgcc_r twice.


# d96d20c3 24-Nov-2000 David E. O'Brien <obrien@FreeBSD.org>

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.


# ae7c8a2b 28-Oct-2000 David E. O'Brien <obrien@FreeBSD.org>

* 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.


# 51b7e772 24-Oct-2000 David E. O'Brien <obrien@FreeBSD.org>

Add "NO_CXX" knob to match src/gnu/usr.bin/cc/Makefile.


# 690d1b00 27-Nov-1999 David E. O'Brien <obrien@FreeBSD.org>

Make ObjC bits optional. NO_OBJC ==> don't need `em.


# 9b7a44a6 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


# d0ef0a35 18-Apr-1999 David E. O'Brien <obrien@FreeBSD.org>

Hookup libg2c. (define NO_FORTRAN if you don't want it built)


# a10a6b60 13-Apr-1999 David E. O'Brien <obrien@FreeBSD.org>

Create a libgcc with POSIX threads support.

Submitted by: Luoqi Chen <luoqi@chen.ml.org> (reorganized by me)


# 18ff6ae9 04-Apr-1999 David E. O'Brien <obrien@FreeBSD.org>

Minimum set of changes to switch from Gcc 2.7.2 (in contrib/gcc) to Egcs 1.1.2
(in contrib/egcs)


# b3f059f4 30-Mar-1999 David E. O'Brien <obrien@FreeBSD.org>

Hookup libgcc at gnu/lib instead of gnu/usr.bin/cc
(libgcc was repository copied for me by Peter)


# 9a150126 02-Sep-1998 Bruce Evans <bde@FreeBSD.org>

Fixed munging of the SUBDIR list in rev.1.16-1.18.


# 2d9dae45 31-Aug-1998 Doug Rabson <dfr@FreeBSD.org>

All libs build on alpha now.


# c9fc3831 19-Feb-1998 John Birrell <jb@FreeBSD.org>

Just one of these libs left to port to alpha.


# d7ad7217 10-Jan-1998 John Birrell <jb@FreeBSD.org>

Avoid building x86 specific libraries on Alpha.


# fce15c9a 22-Feb-1997 Peter Wemm <peter@FreeBSD.org>

Revert $FreeBSD$ to $Id$


# 1130b656 14-Jan-1997 Jordan K. Hubbard <jkh@FreeBSD.org>

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.


# e27edaff 04-Oct-1996 Peter Wemm <peter@FreeBSD.org>

Add libstdc++ to the SUBDIR list


# f19798eb 19-Sep-1996 Peter Wemm <peter@FreeBSD.org>

Add libobjc, the Objective-C runtime library.


# 2551444e 11-Feb-1996 Poul-Henning Kamp <phk@FreeBSD.org>

gnumalloc is gone.


# 1191aefe 13-Nov-1995 Mark Murray <markm@FreeBSD.org>

Add libgmp.


# 58cf3c92 12-Nov-1995 Mark Murray <markm@FreeBSD.org>

Add libmp


# 98f978a5 16-Jan-1995 Andrey A. Chernov <ache@FreeBSD.org>

Remove */doc


# ea822ebc 10-Jan-1995 Andrey A. Chernov <ache@FreeBSD.org>

libregex/doc added


# 00e87e70 04-Jan-1995 Andrey A. Chernov <ache@FreeBSD.org>

Add readline/doc to SUBDIR


# 02d988ba 11-Oct-1994 Andrey A. Chernov <ache@FreeBSD.org>

libdialog added


# b54a9a15 09-Sep-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

Reenable libg++


# e59e670c 07-Aug-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove libg++ until we have a working one again.
Submitted by: jkh


# e9ca3bdf 09-May-1994 Andrey A. Chernov <ache@FreeBSD.org>

libreadline added


# 984de365 29-Jan-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

Update for new organization of gnu tree.