History log of /freebsd-current/lib/Makefile
Revision Date Author Comments
# 2da066ef 02-May-2024 John Baldwin <jhb@FreeBSD.org>

libnvmf: Add internal library to support NVMe over Fabrics

libnvmf provides APIs for transmitting and receiving Command and
Response capsules along with data associated with NVMe commands.
Capsules are represented by 'struct nvmf_capsule' objects.

Capsules are transmitted and received on queue pairs represented by
'struct nvmf_qpair' objects.

Queue pairs belong to an association represented by a 'struct
nvmf_association' object.

libnvmf provides additional helper APIs to assist with constructing
command capsules for a host, response capsules for a controller,
connecting queue pairs to a remote controller and optionally
offloading connected queues to an in-kernel host, accepting queue pair
connections from remote hosts and optionally offloading connected
queues to an in-kernel controller, constructing controller data
structures for local controllers, etc.

libnvmf also includes an internal transport abstraction as well as an
implementation of a userspace TCP transport.

libnvmf is primarily intended for ease of use and low-traffic use cases
such as establishing connections that are handed off to the kernel.
As such, it uses a simple API built on blocking I/O.

For a host, a consumer first populates an 'struct
nvmf_association_params' with a set of parameters shared by all queue
pairs for a single association such as whether or not to use SQ flow
control and header and data digests and creates a 'struct
nvmf_association' object. The consumer is responsible for
establishing a TCP socket for each queue pair. This socket is
included in the 'struct nvmf_qpair_params' passed to 'nvmf_connect' to
complete transport-specific negotiation, send a Fabrics Connect
command, and wait for the Connect reply. Upon success, a new 'struct
nvmf_qpair' object is returned. This queue pair can then be used to
send and receive capsules. A command capsule is allocated, populated
with an SQE and optional data buffer, and transmitted via
nvmf_host_transmit_command. The consumer can then wait for a reply
via nvmf_host_wait_for_response. The library also provides some
wrapper functions such as nvmf_read_property and nvmf_write_property
which send a command and wait for a response synchronously.

For a controller, a consumer uses a single association for a set of
incoming connections. A consumer can choose to use multiple
associations (e.g. a separate association for connections to a
discovery controller listening on a different port than I/O
controllers). The consumer is responsible for accepting TCP sockets
directly, but once a socket has been accepted it is passed to
nvmf_accept to perform transport-specific negotiation and wait for the
Connect command. Similar to nvmf_connect, nvmf_accept returns a newly
construct nvmf_qpair. However, in contrast to nvmf_connect,
nvmf_accept does not complete the Fabrics negotiation. The consumer
must explicitly send a response capsule before waiting for additional
command capsules to arrive. In particular, in the kernel offload
case, the Connect command and data are provided to the kernel
controller and the Connect response capsule is sent by the kernel once
it is ready to handle the new queue pair.

For userspace controller command handling, the consumer uses
nvmf_controller_receive_capsule to wait for a command capsule.
nvmf_receive_controller_data is used to retrieve any data from a
command (e.g. the data for a WRITE command). It can be called
multiple times to split the data transfer into smaller sizes.
nvmf_send_controller_data is used to send data to a remote host in
response to a command. It also sends a response capsule indicating
success, or an error if an internal error occurs. nvmf_send_response
is used to send a response without associated data. There are also
several convenience wrappers such as nvmf_send_success and
nvmf_send_generic_error.

Reviewed by: imp
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D44710


# 514773a5 25-Apr-2024 Dimitry Andric <dim@FreeBSD.org>

Skip building libclang_rt when WITHOUT_CLANG is used

As noted in bug 277096, when building a pkgbase repository using
WITHOUT_CROSS_COMPILER and WITHOUT_TOOLCHAIN (which sets WITHOUT_CLANG),
the following residual files are left over:

/usr/lib/clang/18/lib/freebsd/libclang_rt.asan-x86_64.so
/usr/lib/clang/18/share/asan_ignore_list.txt
/usr/lib/clang/18/share/cfi_ignore_list.txt
/usr/lib/clang/18/share/msan_ignore_list.txt

This is because the lib/libclang_rt directory is still descended into,
even if WITHOUT_CLANG is used. Fix it by not descending into the
libclang_rt directory in that case.

PR: 277096
Reported by: Siva Mahadevan <me@svmhdvn.name>
MFC after: 3 days


# 11c79f9e 03-Apr-2024 Mark Johnston <markj@FreeBSD.org>

arm64: Connect bhyve and libvmmapi to the build

Reviewed by: corvink, andrew, jhb, emaste
MFC after: 2 weeks
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D41742


# d9a9f23d 27-Mar-2024 Dag-Erling Smørgrav <des@FreeBSD.org>

diff: Integrate libdiff from OpenBSD GoT.

This adds support for two new diff algorithms, Myers diff and Patience
diff.

These algorithms perform a different form of search compared to the
classic Stone algorithm and support escapes when worst case scenarios
are encountered.

Add the -A flag to allow selection of the algorithm, but default to
using the new Myers diff implementation.

The libdiff implementation currently only supports a subset of input and
output options supported by diff. When these options are used, but the
algorithm is not selected, automatically fallback to the classic Stone
algorithm until support for these modes can be added.

Based on work originally done by thj@ with contributions from kevans@.

Sponsored by: Klara, Inc.
Reviewed by: thj
Differential Revision: https://reviews.freebsd.org/D44302


# f29af861 20-Mar-2024 Mark Johnston <markj@FreeBSD.org>

libfdt: Make an internal FDT library available

This will be used by bhyve to build a device tree when booting arm64
guests.

Reviewed by: corvink, jhb
MFC after: 1 week
Sponsored by: Innovate UK
Differential Revision: https://reviews.freebsd.org/D40994


# 0d4f7723 15-Nov-2023 Brooks Davis <brooks@FreeBSD.org>

libc: link libsys as a auxiliary filter library

At runtime, when rtld loads libc it will also load libsys. For each
symbol that is present in both, the libsys one will override the libc
one. It continues to be the case that program need only link against
libc (usually implicitly). The linkage to libsys is automatic.

Reviewed by: kib, emaste, imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/908


# e9d96105 15-Nov-2023 Brooks Davis <brooks@FreeBSD.org>

libsys: plumb in to build

libsys provides the FreeBSD kernel interface (auxargs, system calls,
vdso). It can be linked directly for programs using a non-standard
libc and will later be linked as a filter library to libc providing
the actual system call implementation.

Reviewed by: kib, emaste, imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/908


# dc36d6f9 23-Nov-2023 Warner Losh <imp@FreeBSD.org>

lib: Remove ancient SCCS tags.

Remove ancient SCCS tags from the tree, automated scripting, with two
minor fixup to keep things compiling. All the common forms in the tree
were removed with a perl script.

Sponsored by: Netflix


# e56a937c 04-Oct-2023 Baptiste Daroussin <bapt@FreeBSD.org>

bsddialog: Import version 1.0


# d0b2dbfa 16-Aug-2023 Warner Losh <imp@FreeBSD.org>

Remove $FreeBSD$: one-line sh pattern

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


# a1b67573 25-Jul-2023 Mike Karels <karels@FreeBSD.org>

arm64 lib32: enable building of lib32 on arm64

Enable LIB32 option on aarch64, defaulting to YES; it had defaulted
to "broken". Add required variables for how to compile lib32 on
arm. Use /usr/include/arm for armv7 (32-bit) headers, analogous to
/usr/include/i386 on amd64. Omit libomp from lib32; it is not
supported on armv7.

Reviewed by: jrtc27
Differential Revision: https://reviews.freebsd.org/D40945


# 3864bd4f 09-Jul-2023 Jessica Clarke <jrtc27@FreeBSD.org>

lib: Migrate from COMPAT_32BIT to generic COMPAT_LIBCOMPAT

In the process, delete a COMPAT_SOFTFP remnant that was missed in
previous sweeps.

See commit 8fad2cda93c7 ("bsd.compat.mk: Provide new CPP and sub-make
variables") for the context behind this change.

Reviewed by: emaste, brooks, jhb
Differential Revision: https://reviews.freebsd.org/D40931


# 6adfb815 09-Jul-2023 Jessica Clarke <jrtc27@FreeBSD.org>

lib: Enable libcbor and libfido2 for COMPAT_32BIT

We no longer have COMPAT_32BIT hacks for libusb, instead supporting the
normal 32-bit ioctls for freebsd32 processes, so we can enable these for
the lib32 build.

Reviewed by: emaste, brooks, jhb
Differential Revision: https://reviews.freebsd.org/D40920


# 6c5cdba1 22-May-2023 Dag-Erling Smørgrav <des@FreeBSD.org>

Add nss_tacplus, a TACACS+ NSS module.

MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: imp
Differential Revision: https://reviews.freebsd.org/D40133


# af0cc0b2 09-Mar-2023 Brooks Davis <brooks@FreeBSD.org>

NgATM: Remove netgraph ATM support

Most ATM support was removed prior to FreeBSD 12. The netgraph support
was kept as it was less intrusive, but it is presumed to be unused.

Reviewed by: manu
Relnotes: yes
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D38879


# b3392d84 24-Jan-2023 Allan Jude <allanjude@FreeBSD.org>

Import zstd 1.5.2


# ac4c695a 16-Nov-2022 Ed Maste <emaste@FreeBSD.org>

Retire WITHOUT_CXX option

Several important base system components are written in C++, and the
WITHOUT_CXX option produced a system that was not fully functional.
Just accept this, and remove the option to build without C++ support.

This reverts commit adc3c128c6603054586a993d117e5dd808deac17.

Reviewed by: brooks, kevans, jhb (earlier)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33108


# 0aa27001 01-Oct-2022 Dag-Erling Smørgrav <des@FreeBSD.org>

Put OPIE to rest.

Differential Revision: https://reviews.freebsd.org/D36592


# 9f24fda5 25-Sep-2022 Alfonso S. Siciliano <asiciliano@FreeBSD.org>

contrib/bsddialog: Import version 0.4

Improvements and changes to integrate bsddialog(1) with scripts in BASE.
Overview:

* New options. --and-widget, --keep-tite, --calendar.
* Change output format. Menus and --print-maxsize.
* Redefine sizing. Fixed rows, cols and menurows became at the most.
* Add DIAGNOSTICS. Error messages for bad arguments and options.
* Add keys. Space for --menu, fast keys for --msgbox and --yesno.
* Text. Change default text modification, add --cr-wrap.

See /usr/src/contrib/bsddialog/CHANGELOG '2022-09-24 Version 0.4'
for more detailed information.


# 2c9fd765 03-Sep-2022 Alfonso S. Siciliano <asiciliano@FreeBSD.org>

contrib/bsddialog: Import version 0.3

New features overview:
* Unicode. User interface handles multi-column characters. API can
handle char* like a multibyte character string. Internally wide
characters are used for keyboard input, to adapt word wrapping and
dynamic text auto-sizing for multi-column characters.
* Forms refactoring. Complete rewrite deleting libformw dependency.
* Theme. New utility options to save and load custom theme at run-time.
* TUI navigation. Added keys to navigate input components. Changed
default focus behavior of input dialogs to be LGPL-dialog-like; a new
option can set the previous whiptail-like behavior.

See /usr/src/contrib/bsddialog/CHANGELOG '2022-08-29 Version 0.3'
for more detailed information.


# 15d781b5 21-Jul-2022 Emmanuel Vadot <manu@FreeBSD.org>

lib: Gate libfigpar under MK_DIALOG

libfigpar is only used by dpv and dpv isn't built if WITHOUT_DIALOG
is set.


# 0b09867f 07-Jul-2022 John Baldwin <jhb@FreeBSD.org>

Simplify conditional guards for libclang_rt.

All supported architectures can build libclang_rt now.

Reviewed by: dim
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D35740


# 3781e779 12-Mar-2022 Piotr Kubaj <pkubaj@FreeBSD.org>

riscv: actually enable sanitizers

1. Backport https://github.com/llvm/llvm-project/commit/b475ce39e8b1de3a70ea242473f136a567be46e3.
2. Enable libclang_rt for riscv.

Previous commit missed it.

MFC after: 3 days
Reviewed by: dim
Differential Revision: https://reviews.freebsd.org/D34543


# 2f8d4418 12-Mar-2022 Alfonso S. Siciliano <asiciliano@FreeBSD.org>

bsddialog: Import version0.2

This version provides improvements and fixes mainly to use bsddialog
utility in bsdinstall/scripts. The lib API is not broken so the
previous converted utilities (tzsetup, distextract, etc.) are OK.

Approved by: bapt (mentor)
Differential Revision: https://reviews.freebsd.org/D34458


# 02db4a12 28-Jan-2022 Alfonso Siciliano <alfsiciliano@gmail.com>

bsddialog: import version 0.1


# 6f6fbfa3 15-Jan-2022 Ed Maste <emaste@FreeBSD.org>

Remove quotes around Makefile .error/.warn/.info strings

The text after .error et al is emitted verbatim.

Reviewed by: sjg
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D33904


# 63783933 22-Dec-2021 John Baldwin <jhb@FreeBSD.org>

Add an internal libiscsiutil library.

Move some of the code duplicated between ctld(8) and iscsid(8) into a
libiscsiutil library.

Sharing the low-level PDU code did require having a
'struct connection' base class with a method table to permit separate
initiator vs target behavior (e.g. in handling proxy PDUs).

Reviewed by: mav, emaste
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D33544


# 77a55d2c 21-Dec-2021 Alfonso Siciliano <alfsiciliano@gmail.com>

bsddialog: import snapshot 0.0.2


# e41955dd 13-Dec-2021 Alfonso Siciliano <alfsiciliano@gmail.com>

bsddialog: import version 0.0.1


# 2a31cd21 07-Dec-2021 Ed Maste <emaste@FreeBSD.org>

Apply ASAN/UBSAN Makefile check only for build target

COMPILER_TYPE is not set during cleandir and perhaps other non-build
targets, and a build with ASAN or UBSAN enabled failed with an error
reporting that runtime libraries could not be built.

PR: 260099
Reviewed by: dim
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32805


# 1b308d06 06-Dec-2021 Baptiste Daroussin <bapt@FreeBSD.org>

bsddialog: vendor import 2021-12-05


# 5abafe4a 24-Nov-2021 Baptiste Daroussin <bapt@FreeBSD.org>

bsddialog, mark the lib as dependent on ncurses


# 37d0601f 24-Nov-2021 Baptiste Daroussin <bapt@FreeBSD.org>

bsddialog: import new TUI widget and utility

bsddialog is an attempt to write in permissive license a replacement for
libdialog.

While it is still in early stage it is good enough to already be used in
many areas, it is imported as private lib until it matures enough to be
considered as having a stable ABI


# 857c66bb 24-Nov-2021 Baptiste Daroussin <bapt@FreeBSD.org>

bsddialog: import snapshot as of 2021-11-24


# ad09e2c8 28-Oct-2021 Ed Maste <emaste@FreeBSD.org>

Don't build sanitizer runtimes under WITHOUT_CXX

In the past we built the sanitizer runtimes when building Clang
(and using Clang as the compiler) but 7676b388adbc changed this to
be conditional only on using Clang, to make the runtimes available
for external Clang.

They fail to build when WITHOUT_CXX is set though, so add MK_CXX
as part of the condition.

Reported by: Michael Dexter, Build Option Survey
Reviewed by: imp, jrtc27
Fixes: 7676b388adbc ("Always build the sanitizer runtimes...")
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32731


# 93942379 26-Oct-2021 Ed Maste <emaste@FreeBSD.org>

Avoid building libfido2 if WITHOUT_USB

libfido2 requires USB, so disable it if not available.

Reported by: peterj
Fixes: 7b1e19ad78c6 ("Add libfido2 to the build")
Sponsored by: The FreeBSD Foundation


# 7b1e19ad 06-Oct-2021 Ed Maste <emaste@FreeBSD.org>

Add libfido2 to the build

From https://github.com/Yubico/libfido2:

libfido2 provides library functionality and command-line tools to
communicate with a FIDO device over USB, and to verify attestation
and assertion signatures.

libfido2 supports the FIDO U2F (CTAP 1) and FIDO 2.0 (CTAP 2)
protocols.

libfido2 will be used by ssh to support FIDO/U2F keys. It is currently
intended only for use by ssh, and so is installed as a PRIVATELIB and is
placed in the ssh pkgbase package.

This is currently disabled for the 32-bit library build as libfido2 is
not compatible with the COMPAT_32BIT hack in usb_ioctl.h.

Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32448


# 2e85df65 06-Oct-2021 Ed Maste <emaste@FreeBSD.org>

Add libcbor to the build

From https://github.com/PJK/libcbor:

libcbor is a C library for parsing and generating CBOR, the general-
purpose schema-less binary data format.

libcbor will be used by ssh to support FIDO/U2F keys. It is currently
intended only for use by ssh, and so is installed as a PRIVATELIB and is
placed in the ssh pkgbase package.

cbor_export.h and configuration.h were generated by the upstream CMake
build. We could create them with bmake rules instead (as NetBSD has
done) but this is a fine start.

This is currently disabled for the 32-bit library build as libfido2 is
not compatible with the COMPAT_32BIT hack in usb_ioctl.h, and there is
no need for libcbor without libfido2.

Reviewed by: kevans
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D32347


# 903873ce 22-Sep-2021 Hans Petter Selasky <hselasky@FreeBSD.org>

Implement and use new mixer(3) library for FreeBSD.

Wiki article: https://wiki.freebsd.org/SummerOfCode2021Projects/SoundMixerImprovements
This project was part of Google Summer of Code 2021.

Submitted by: christos@
Differential Revision: https://reviews.freebsd.org/D31636
Sponsored by: NVIDIA Networking


# 021385ab 06-Sep-2021 Alex Richardson <arichardson@FreeBSD.org>

Add WITH_LLVM_BINUTILS to install LLVM binutils instead of Elftoolchain

When WITH_LLVM_BINUTILS is set, we will install the LLVM binutils as
ar/ranlib/nm/objcopy/etc. instead of the elftoolchain ones.
Having the LLVM binutils instead of the elftoolchain ones allows us to use
features such as LTO that depend on binutils that understand LLVM IR.
Another benefit will be an improved user-experience when compiling with
AddressSanitizer, since ASAN does not symbolize backtraces correctly if
addr2line is elftoolchain addr2line instead of llvm-symbolizer.
See https://lists.freebsd.org/archives/freebsd-toolchain/2021-July/000062.html
for more details.

This is currently off by default but will be turned on by default at some
point in the near future.

Reviewed By: emaste

Differential Revision: https://reviews.freebsd.org/D31060


# 7bc797e3 02-Aug-2021 Alex Richardson <arichardson@FreeBSD.org>

Add build system support for ASAN+UBSAN instrumentation

This adds two new options WITH_ASAN/WITH_UBSAN that can be set to
enable instrumentation of all binaries with AddressSanitizer and/or
UndefinedBehaviourSanitizer. This current patch is almost sufficient
to get a complete buildworld with sanitizer instrumentation but in
order to actually build and boot a system it depends on a few more
follow-up commits.

Reviewed By: brooks, kib, markj
Differential Revision: https://reviews.freebsd.org/D31043


# c9515669 02-Jul-2021 Alex Richardson <arichardson@FreeBSD.org>

Remove lib/kyua from the build

I forgot to include this line in 2eb9ad427475190e87d026de4ca7fc296947f2a0.

Reported by: Jenkins CI
MFC after: 1 week
Fixes: 2eb9ad427475190ei ("Simplify and speed up the kyua build")


# 0d71f9f3 26-Mar-2021 Kristof Provost <kp@FreeBSD.org>

pfctl: Move ioctl abstraction functions into libpfctl

Introduce a library to wrap the pf ioctl interface.

MFC after: 4 weeks
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D29562


# 7676b388 10-Feb-2021 Alex Richardson <arichardson@FreeBSD.org>

Always build the sanitizer runtimes when compiling with clang

This allows instrumenting e.g. test binaries even when compiling with an
external clang (e.g. CROSS_TOOLCHAIN=llvm11). I have some upcoming patches
that allow building the entire base system with ASan/UBSan/etc.
instrumentation and this is required in preparation for this.

Reviewed By: dim, emaste
Differential Revision: https://reviews.freebsd.org/D28532


# 5cf6f1c4 30-Jan-2021 Alex Richardson <arichardson@FreeBSD.org>

Remove the MK_LIBCPLUSPLUS option

This option has been equivalent to any form of C++ support since libstdc++
was removed. Therefore, replace all MK_LIBCPLUSPLUS uses with MK_CXX.

Reviewed By: emaste
Differential Revision: https://reviews.freebsd.org/D27974


# 123ae304 20-Jan-2021 Kyle Evans <kevans@FreeBSD.org>

build: remove LIBPTHREAD/LIBTHR build options

WITHOUT_LIBTHR has been broken for a little over five years now, since the
xz 5.2.0 update introduced a hard liblzma dependency on libthr, and building
a useful system without threading support is becoming increasingly more
difficult.

Additionally, in the five plus years that it's been broken more reverse
dependencies have cropped up in libzstd, libsqlite3, and libcrypto (among
others) that make it more and more difficult to reconcile the effort needed
to fix these options.

Remove the broken options.

PR: 252760
Reviewed by: brooks, emaste, kib
Differential Revision: https://reviews.freebsd.org/D28263


# f6ae9767 24-Dec-2020 Conrad Meyer <cem@FreeBSD.org>

Import zstd 1.4.8


# 73577bf0 24-Oct-2020 Ryan Moeller <freqlabs@FreeBSD.org>

flua: Add a libjail module

libjail is pretty small, so it makes for a good proof of concept demonstrating
how a system library can be wrapped to create a loadable Lua module for flua.

* Introduce 3lua section for man pages
* Add libjail module

Reviewed by: kevans, manpages
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D26080


# 100353cf 03-Oct-2020 Jakub Wojciech Klama <jceel@FreeBSD.org>

Add virtio-9p (aka VirtFS) filesystem sharing to bhyve.

VirtFS allows sharing an arbitrary directory tree between bhyve virtual
machine and the host. Current implementation has a fairly complete support
for 9P2000.L protocol, except for the extended attribute support. It has
been verified to work with the qemu-kvm hypervisor.

Reviewed by: rgrimes, emaste, jhb, trasz
Approved by: trasz (mentor)
MFC after: 1 month
Relnotes: yes
Sponsored by: Conclusive Engineering (development), vStack.com (funding)
Differential Revision: https://reviews.freebsd.org/D10335


# 5c4f8d80 28-Aug-2020 Vincenzo Maffione <vmaffione@FreeBSD.org>

lib: add libnetmap

This changeset introduces the new libnetmap library for writing
netmap applications.
Before libnetmap, applications could either use the kernel API
directly (e.g. NIOCREGIF/NIOCCTRL) or the simple header-only-library
netmap_user.h (e.g. nm_open(), nm_close(), nm_mmap() etc.)

The new library offers more functionalities than netmap_user.h:
- Support for complex netmap options, such as external memory
allocators or per-buffer offsets. This opens the way to future
extensions.
- More flexibility in the netmap port bind options, such as
non-numeric names for pipes, or the ability to specify the netmap
allocator that must be used for a given port.
- Automatic tracking of the netmap memory regions in use across the
open ports.

At the moment there is no man page, but the libnetmap.h header file
has in-depth documentation.

Reviewed by: hrs
MFC after: 2 weeks
Differential Revision: https://reviews.freebsd.org/D26171


# 18de62a9 26-Aug-2020 Alex Richardson <arichardson@FreeBSD.org>

Move libsqlite3 to the top of the SUBDIR list

In parallel builds, this should allow sqlite to start building earlier and
increase parallelism when building lib/. Looking at htop output during
buildworld/tinderbox, there are long phases where only one CPU is active
optimizing the massive sqlite3.c file since the build of libsqlite3 is
started quite late.

Reviewed By: emaste
Differential Revision: https://reviews.freebsd.org/D26169


# eb578fec 03-Aug-2020 Kyle Evans <kevans@FreeBSD.org>

Ensure libregex is built in time for googletest

In lib/Makefile, we document the dependency with SUBDIR_DEPEND

For buildworld orchestration, just prebuild libregex if GOOGLETEST is
enabled. googletest will get built in a later pass.


# c5ea81f7 28-May-2020 Ed Maste <emaste@FreeBSD.org>

rename in-tree libevent v1 to libevent1

r316063 installed pf's embedded libevent as a private lib, with headers
in /usr/include/private/event. Unfortunately we also have a copy of
libevent v2 included in ntp, which needed to be updated for compatibility
with OpenSSL 1.1.

As unadorned 'libevent' generally refers to libevent v2, be explicit that
this one is libevent v1.

Reviewed by: vangyzen (earlier)
Differential Revision: https://reviews.freebsd.org/D17275


# bc64b5ce 23-May-2020 Conrad Meyer <cem@FreeBSD.org>

Import Zstd 1.4.5


# 564b9ff2 17-Mar-2020 Brooks Davis <brooks@FreeBSD.org>

Add an internal liblua and use it in flua.

The new liblua will be used in a forthcoming import of kyua.

Reviewed by: kevans
Obtained from: CheriBSD
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D24090


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

retire the LLVM_LIBUNWIND option

LLVM's libunwind is used on all FreeBSD-supported CPU architectures and
is a required component.

Reviewed by: brooks (earlier)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D23123


# feb2ecc3 11-Feb-2020 Warner Losh <imp@FreeBSD.org>

Remove excluding libproc and librtld_db on sparc64.


# 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


# 1bb8eb56 23-Nov-2019 Dimitry Andric <dim@FreeBSD.org>

libclang_rt: enable on powerpc*

Summary:
Enable on powerpc64 and in lib/libclang_rt/Makefile change
MACHINE_CPUARCH to MACHINE_ARCH because on powerpc64
MACHINE_ARCH==MACHINE_CPUARCH so the 32-bit library overwrites 64-bit
library during installworld.

This patch doesn't enable any other libclang_rt libraries because they
need to be separately ported.

I have verified that games/julius (which fails on powerpc64 elfv2
without this change because of no libclang_rt profiling library) builds.

Test Plan: Ship it, test on powerpc and powerpcspe

Submitted by: pkubaj
Reviewed by: dim, jhibbits
Differential Revision: https://reviews.freebsd.org/D22425
MFC after: 1 month
X-MFC-With: r353358


# 758bdc24 06-Nov-2019 Ed Maste <emaste@FreeBSD.org>

Vendor import of NetBSD's external/bsd/blacklist @ 20191106

Sponsored by: The FreeBSD Foundation


# ea684039 05-Nov-2019 Conrad Meyer <cem@FreeBSD.org>

Import Zstd 1.4.4


# 1a13f2e6 07-Oct-2019 Edward Tomasz Napierala <trasz@FreeBSD.org>

Introduce stats(3), a flexible statistics gathering API.

This provides a framework to define a template describing
a set of "variables of interest" and the intended way for
the framework to maintain them (for example the maximum, sum,
t-digest, or a combination thereof). Afterwards the user
code feeds in the raw data, and the framework maintains
these variables inside a user-provided, opaque stats blobs.
The framework also provides a way to selectively extract the
stats from the blobs. The stats(3) framework can be used in
both userspace and the kernel.

See the stats(3) manual page for details.

This will be used by the upcoming TCP statistics gathering code,
https://reviews.freebsd.org/D20655.

The stats(3) framework is disabled by default for now, except
in the NOTES kernel (for QA); it is expected to be enabled
in amd64 GENERIC after a cool down period.

Reviewed by: sef (earlier version)
Obtained from: Netflix
Relnotes: yes
Sponsored by: Klara Inc, Netflix
Differential Revision: https://reviews.freebsd.org/D20477


# 6b3555c3 26-Sep-2019 Dimitry Andric <dim@FreeBSD.org>

Enable OpenMP for powerpc64

Summary: When powerpc64 switches to LLVM, use this patch to enable
OpenMP as well. OpenMP on PPC is only for 64-bits, so don't make a
32-bit libomp. A change to openmp files is necesssary (under review on
https://reviews.llvm.org/D67190), because it determines ELF format
version based on endianness, which is incorrect.

Reviewed by: alfredo.junior_eldorado.org.br, #manpages
Differential Revision: https://reviews.freebsd.org/D21532


# d567f909 18-Sep-2019 Baptiste Daroussin <bapt@FreeBSD.org>

Add native support for zstd to libarchive

Note that old pkg will failed to build after this. A recent ports tree (one
providing pkg 1.12+) is required to build. Older already built pkg, should
continue working as expected

PR: 238797
Exp run by: antoine
Reviewed by: cem
Approved by: cem
Differential Revision: https://reviews.freebsd.org/D20752


# b0d4288f 28-Aug-2019 Dimitry Andric <dim@FreeBSD.org>

Update build glue for building libc++.


# fa94c738 08-Aug-2019 Conrad Meyer <cem@FreeBSD.org>

import zstd 1.4.1


# f5a95d9a 24-Jun-2019 Warner Losh <imp@FreeBSD.org>

Remove NAND and NANDFS support

NANDFS has been broken for years. Remove it. The NAND drivers that
remain are for ancient parts that are no longer relevant. They are
polled, have terrible performance and just for ancient arm
hardware. NAND parts have evolved significantly from this early work
and little to none of it would be relevant should someone need to
update to support raw nand. This code has been off by default for
years and has violated the vnode protocol leading to panics since it
was committed.

Numerous posts to arch@ and other locations have found no actual users
for this software.

Relnotes: Yes
No Objection From: arch@
Differential Revision: https://reviews.freebsd.org/D20745


# 3f774a5e 18-Apr-2019 Conrad Meyer <cem@FreeBSD.org>

import zstd 1.4.0


# eccf47f5 18-Mar-2019 Dimitry Andric <dim@FreeBSD.org>

Enable building libomp.so for 32-bit x86. This is done by selectively
enabling the functions that save and restore MXCSR, since access to this
register requires SSE support.

Note that you may run into other issues with OpenMP on i386, since this
*not* yet supported upstream, and certainly not extensively tested.

PR: 236062, 236582
MFC after: 1 month
X-MFC-With: r344779


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

Disable lib/libomp build for the 32-bit part of amd64 buildworld, as it
is not supported for that target.

Reported by: Michael Butler <imb@protected-networks.net>
PR: 236062
MFC after: 1 month
X-MFC-With: r344779


# 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


# a92958df 25-Feb-2019 Simon J. Gerraty <sjg@FreeBSD.org>

Enable build of libbearssl

Reviewed by: emaste
Sponsored by: Juniper Networks
Differential Revision: D16337


# 43e25f47 19-Feb-2019 Enji Cooper <ngie@FreeBSD.org>

Add MK_GOOGLETEST option for building/installing gmock/gtest

These libraries don't compile on non-C++-11 capable compilers, e.g., g++ 4.2.1
and its corresponding implementation of the c++ library, i.e., libstdc++.

Blacklist compilation on all non-C++-11 capable compilers and give others the
option of opting out of building/installing gmock/gtest via MK_GOOGLETEST.

This option is controlled by MK_CXX and MK_TESTS, as ATF compilation is.


# f3c5273d 12-Feb-2019 Enji Cooper <ngie@FreeBSD.org>

Merge build glue for libraries and tests done on github

I need to doublecheck my work vs the port, but I believe that this covers the
initial integration of all upstream tests.

Ref: https://github.com/ngie-eign/freebsd/tree/googletest-integration


# af73257b 28-Dec-2018 Conrad Meyer <cem@FreeBSD.org>

import zstd 1.3.8


# 7c807d77 12-Nov-2018 Ed Maste <emaste@FreeBSD.org>

retire LINKER_FEATURES filter flag

And build libdl unconditionally. All supported FreeBSD linkers accept
-F / --filter so there is no need to test for support.

Discussed with: kib
Sponsored by: The FreeBSD Foundation


# bc82609a 04-Nov-2018 Kyle Evans <kevans@FreeBSD.org>

Move pmc* bits behind MK_PMC to fix WITHOUT_PMC build

No objection from: mmacy
MFC after: 3 days


# 706cfae4 22-Oct-2018 Conrad Meyer <cem@FreeBSD.org>

import zstd 1.3.7


# 3b915697 13-Sep-2018 Matt Macy <mmacy@FreeBSD.org>

re-enable pmcstat, pmccontrol, and pmcannotate for gcc4 builds

I had disabled building of the aforementioned targets due to warnings breaking
tinderbox. This silences the warning and restores them to the build.

Reported by: jhibbits
Reviewed by: jhibbits
Approved by: re (gjb)


# 7920ad94 17-Aug-2018 Kyle Evans <kevans@FreeBSD.org>

libbe(3): Move build goop back out of cddl/

Some background: in the GSoC project, libbe/Makefile lived in lib/libbe. I
created projects/bectl branch, maintained the above for all of five
minutes before I misread Makefile.inc1 and decided that it couldn't possibly
build outside of cddl/, so I kicked the Makefile out into the cddl/ build
and all was good. The misreading was of the bit where .WAIT is added to
SUBDIR after lib, libexec but prior to building bin and cddl *only during
the install targets*, which is the critical part.

Fast forward- buildworld was still broken in my branch unbeknownst to me
because I didn't nuke my OBJDIR. Combing through Makefile.inc1 eventually
revealed the necessary magic to make sure that libbe's dependencies are
specified well enough, and it becomes clear what needs done to make a
non-cddl/ build work. This is an interesting prospect, because the build
split is kind of annoying to work with.

IGNORE_PRAGMA is added to avoid dropping WARNS by one more. This was
previously pulled in via cddl/Makefile.inc.


# 71cb2dfc 17-Jul-2018 Warner Losh <imp@FreeBSD.org>

Remove special cases for armeb in the build.

Differential Revision: https://reviews.freebsd.org/D16257


# e4b0a90e 25-Jun-2018 Brooks Davis <brooks@FreeBSD.org>

Normalize the g(eom,cache,part,...) build.

Rather then combining hardlink creation for the geom(8) binary with
shared library build, move libraries to src/lib/geom so they are
built and installed normally. Create a common Makefile.classes
which is included by both lib/geom/Makefile and sbin/geom/Makefile
so the symlink and libraries stay in sync.

The relocation of libraries allows libraries to be build for 32-bit
compat. This also reduces the number of non-standard builds in
the system.

This commit is not sufficent to run a 32-bit /sbin/geom on a 64-bit
system out of the box as it will look in the wrong place for libraries
unless GEOM_LIBRARY_PATH is set appropriatly in the environment.

Reviewed by: bdrewery
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D15360


# f39bffc6 16-Jun-2018 Konstantin Belousov <kib@FreeBSD.org>

Rework ofed build.

Aligns the build with the FreeBSD traditional approach to not build in
contrib/, and to track inter-dependencies between libraries.

With help from: bdrewery
Reviewed by: bdrewery, hselasky
Sponsored by: Mellanox Technologies
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D15648


# 456eeabe 08-Jun-2018 Matt Macy <mmacy@FreeBSD.org>

pmc: fix logic in skipping riscv


# 6159b91c 08-Jun-2018 Matt Macy <mmacy@FreeBSD.org>

pmc: don't build on riscv where there's no kmod support


# f992dd4b 06-Jun-2018 Matt Macy <mmacy@FreeBSD.org>

pmc: convert native to jsonl and track TSC value of samples

- add '-j' options to filter to enable converting native pmc
log format to json lines format to enable the use of scripts
and external tooling

% pmc filter -j pmc.log pmc.jsonl

- Record the tsc value in sampling interrupts as opposed to
recording nanotime when the sample is copied to a global log
in hardclock - potentially many milliseconds later.

- At initialize record the tsc_freq and the time of day to give
us an offset for translating the tsc values in callchain records


# cde6fa28 04-Apr-2018 Ruslan Bukin <br@FreeBSD.org>

Add new shared library -- libopencsd.

OpenCSD is an ARM CoreSight(tm) trace packets decoder.

- Connect libopencsd to the arm64 build.
- Install opencsd headers to /usr/include/opencsd/

Sponsored by: DARPA, AFRL


# 30b3274f 21-Mar-2018 Ruslan Bukin <br@FreeBSD.org>

Add new shared library -- libipt.

libipt is the Intel Processor Trace (Intel PT) packets decoder.

- Include libipt to amd64 build.
- Install libipt headers to /usr/include/libipt/

Sponsored by: DARPA, AFRL


# b37f6c98 21-Jan-2018 Kyle Evans <kevans@FreeBSD.org>

Add libregex, connect it to the build

libregex is a regex(3) implementation intended to feature GNU extensions and
any other non-POSIX compliant extensions that are deemed worthy.

These extensions are separated out into a separate library for the sake of
not cluttering up libc further with them as well as not deteriorating the
speed (or lack thereof) of the libc implementation.

libregex is implemented as a build of the libc implementation with LIBREGEX
defined to distinguish this from a libc build. The reasons for
implementation like this are two-fold:

1.) Maintenance- This reduces the overhead induced by adding yet another
regex implementation to base.

2.) Ease of use- Flipping on GNU extensions will be as simple as linking
against libregex, and POSIX-compliant compilations can be guaranteed with a
REG_POSIX cflag that should be ignored by libc/regex and disables extensions
in libregex. It is also easier to keep REG_POSIX sane and POSIX pure when
implemented in this fashion.

Tests are added for future functionality, but left disconnected for the time
being while other testing is done.

Reviewed by: cem (previous version)
Differential Revision: https://reviews.freebsd.org/D12934


# 5f8eed2f 20-Nov-2017 Ed Maste <emaste@FreeBSD.org>

Install strings unconditionally

Previously it was enabled by WITH_/WITHOUT_TOOLCHAIN, but it is commonly
expected to be available and may have non-toolchain consumers. As it
is now taken from the BSD-licensed ELF Tool Chain project, just install
it unconditionally.

PR: 213665, 223725
Reviewed by: bdrewery
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8398


# 653667f9 09-Nov-2017 Baptiste Daroussin <bapt@FreeBSD.org>

import zstd 1.3.2


# 82fcadcd 30-Oct-2017 Bryan Drewery <bdrewery@FreeBSD.org>

Connect libpathconv, disconnected since import in r309035.

Sponsored by: Dell EMC Isilon


# ceb36bc9 28-Oct-2017 Mariusz Zaborski <oshogbo@FreeBSD.org>

Introduce caspermocks.

The idea behinds mocks is that we don't need to ifdef a lot of code in
tools itself but those defines are hidden in the casper library.
Right now the mocks are implemented as define/inlines functions.
There was a very long discussion how this should be implemented.
This approach has some advantages like we don't need to link to any additional
libraries. Unfortunately there are also some disadvantages for example it is
easy to get library out of sync between two versions of functions or that we
need extra define to compile program with casper support.
This isn't an ideal solution but it's good enough for now and should simplify
capsicumizing programs. This also doesn't close us any other ways to do those
mocks and this should evolve in time.

Discussed with: pjd, emaste, ed, rwatson, bapt, cem, bdrewery
Differential Revision: https://reviews.freebsd.org/D8753


# d27927f7 24-Oct-2017 Ruslan Bukin <br@FreeBSD.org>

Extract a set of pmcstat functions and interfaces to the new internal
library -- libpmcstat.

This includes PMC logging module, symbols lookup functions,
ELF parsing, process management, PMC attachment, etc.

This allows to reuse code while building new hwpmc(4)-based applications.

Also add pmcstat_symbol_search_by_name() function that allows to find
mapped IP range for a given function name.

Reviewed by: kib
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D12718


# fc203cd4 21-Oct-2017 Dimitry Andric <dim@FreeBSD.org>

After the import of libc++ 5.0.0, there is no need to disable building
libc++experimental.a on arm (r318654) and mips (r318859) anymore, since
upstream fixed the static assertions which would occur.

Noticed by: George Abdelmalik <gabdelmalik@uniridge.com.au>
PR: 223119
MFC after: 3 days


# c8550231 09-Oct-2017 Warner Losh <imp@FreeBSD.org>

Disconnect libstand from the build.

Remove libstand from the src/lib build. Remove LIBSTAND from
bsd.libnames.mk. Add affected files to the obsolete files list.

Sponsored by: Netflix


# affe9eaf 14-Jul-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Import zstd 1.3.0


# 99ac8154 10-Jul-2017 Konstantin Belousov <kib@FreeBSD.org>

Provide libdl.

Create libdl.so.1 as a filter for libc.so.7 which exports public dl*
functions. The functions are resolved from the rtld instead, the goal
of creating library is to avoid errors from the static linker due to
missed libdl. For static binaries, an empty .o is compiled into
libdl.a so that static binaries still get dl stubs from libc.a.

Right now lld cannot create filter objects, disable libdl on arm64
when binutils are not used.

Reviewed by: bdrewery, dim (previos version); emaste
Exp run: PR 220525, done by antoine
Sponsored by: The FreeBSD Foundation
MFC after: 1 month
Differential revision: https://reviews.freebsd.org/D11504


# 7e069995 24-May-2017 Adrian Chadd <adrian@FreeBSD.org>

[lib] disable libc++experimental on mips platforms for now.

This breaks at least mips32 platform builds.

Reviewed by: dim


# 8e69077b 22-May-2017 Dimitry Andric <dim@FreeBSD.org>

For now, disable building libc++experimental for arm, since there are a
number of static assertion failures in the time_t related parts.

Reported by: mmel, kib


# 6930ca74 21-May-2017 Dimitry Andric <dim@FreeBSD.org>

Add libc++experimental.a for std::experimental support

This adds a separate library for supporting std::experimental features.
It is purposefully static, and must be explicitly linked into programs
using -lc++experimental.

PLEASE NOTE: there is NO WARRANTY as to any stability or continuing
existence of the features in the std::experimental parts of the C++
library!

Reviewed by: ed
Differential Revision: https://reviews.freebsd.org/D10840


# ffcbc2d7 06-May-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Import Zstandard 1.2.0
Among changes: threading support is now default and supports freebsd


# a19eddc3 15-Apr-2017 Baptiste Daroussin <bapt@FreeBSD.org>

Import zstd 1.1.4


# bc53c94f 28-Jan-2017 Enji Cooper <ngie@FreeBSD.org>

Fix typo in lib/Makefile

The SUBDIR_DEPEND variable should be for librpcsec_gss, not
liblibrpc_gss

MFC after: 1 week
PR: 216409
Reported by: mail@fbsd.e4m.org


# 20d24fbb 12-Jan-2017 Enji Cooper <ngie@FreeBSD.org>

Sync ^/vendor/NetBSD/tests/dist with upstream


# 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


# df283203 14-Oct-2016 Ed Maste <emaste@FreeBSD.org>

Simplify logic for libproc and librtld_db in lib/Makefile


# cd060b8d 13-Oct-2016 Ed Maste <emaste@FreeBSD.org>

partially convert lib/Makefile to SUBDIR.${MK_FOO} style

Cases other than MK_* (e.g. ${MACHINE_CPUARCH} == "i386") have been left
as is.

Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D8246


# 3ba97c20 13-Oct-2016 Ed Maste <emaste@FreeBSD.org>

garbage collect _libatm, missed in r179308


# b2a7ac48 13-Oct-2016 Warner Losh <imp@FreeBSD.org>

Fix building on i386 and arm. But 'public domain' headers on the files
with no creative content. Include "lost" changes from git:
o Use /dev/efi instead of /dev/efidev
o Remove redundant NULL checks.

Submitted by: kib@, dim@, zbb@, emaste@


# d49a5ddd 11-Oct-2016 Warner Losh <imp@FreeBSD.org>

Create libefivar library. This library aims to provide
the same API as the GPL'd version of this library. It implements the common
Linux API for programatically manipulating UEFI environment varibales using
the UEFI Runtime Services the kernel provides. It replaces the old efi
library since it is programmed to a different interface, but retails the
CHAR16 to UTF-8 and vice versa conversion routines. The new name is to match
Linux program's expectations.

Differential Revision: https://reviews.freebsd.org/D8128
Reviewed by: kib@, wblock@, Ganael Laplanche


# 7a6e3cf8 03-Oct-2016 Mariusz Zaborski <oshogbo@FreeBSD.org>

libcapsicum: introduce Capsicum helpers

Capsicum helpers are a set of inline functions which goal is to reduce
duplicated patterns used to Capsicumize applications.

Reviewed by: cem, AllanJude, bapt, ed, emaste
Differential Revision: https://reviews.freebsd.org/D8013


# 35c05a4f 30-Sep-2016 Adrian Chadd <adrian@FreeBSD.org>

Add librss, a simple wrapper around RSS APIs so applications can begin auto-tuning.

I've used this in a handful of RSS test applications. It is just some
very simple functions to fetch the RSS configuration, query the per-bucket
CPU set, and mark sockets as local to an RSS bucket. It should be sufficient
for both thread-based and process-based workloads.

(Yes, I wrote a manpage.)

This is based on some early RSS API and wrapper API work I did whilst
I was at Netflix. Thanks to Netflix for the very original work that
spawned this; thanks to Peter Grehan for his feedback about RSS APIs
and thanks to Jack Vogel and Navdeep Parhar for the NIC-facing side of the
APIs. These fed into the simple userland API I wrote up here.

Reviewed by: gallatin


# f987297f 27-Sep-2016 Ed Maste <emaste@FreeBSD.org>

Add a WITHOUT_DIALOG src.conf(5) knob

It also turns off dependencies (bsdinstall, bsdconfig, dpv, tzsetup).

Reviewed by: dteske
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D7969


# ec214349 02-Sep-2016 Kristof Provost <kp@FreeBSD.org>

Renaming libifc to libifconfig in response to feedback on initial commit of
this library. Sticking to 'libifconfig' (and 'ifconfig_' as function prefix)
should reduce chances of namespace collisions, make it more clear what the
library does, and be more in line with existing libraries.

Submitted by: Marie Helene Kvello-Aune <marieheleneka@gmail.com>
Differential Revision: https://reviews.freebsd.org/D7742
Reviewed by: cem, kp


# d14b24ef 25-Aug-2016 Kristof Provost <kp@FreeBSD.org>

Add libifc, a library implementing core functionality that exists in ifconfig(8) today.

libifc (pronounced lib-ifconfig) aims to be a light abstraction layer between
programs and the kernel APIs for managing the network configuration.
This should hopefully make programs easier to maintain, and reduce code
duplication.

Work will begin on making ifconfig(8) use this library in the near future.

This code is still evolving. The interface should not be considered stable until
it is announced as such.

Submitted By: Marie Helene Kvello-Aune <marieheleneka@gmail.com>
Reviewed By: kp
Differential Revision: https://reviews.freebsd.org/D7529


# 903b0dd7 24-Aug-2016 Ed Maste <emaste@FreeBSD.org>

Don't build libdevdctl if MK_CXX is no


# fa6d79e8 22-Aug-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Rename ORDERED to BOOTSTRAP since no order is respected in the list.

The directories in SUBDIR_ORDERED are built in parallel, so the name is
misleading.

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


# 014db25b 11-Aug-2016 Enji Cooper <ngie@FreeBSD.org>

Update ^/vendor/NetBSD/tests/dist to a more recent snapshot

Pulled on "Thu Aug 11 18:01:19 PDT 2016"


# f3fbd1c0 23-Jul-2016 Dimitry Andric <dim@FreeBSD.org>

Vendor import of lldb release_39 branch r276489:
https://llvm.org/svn/llvm-project/lldb/branches/release_39@276489


# 2b6b257f 23-Jul-2016 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang release_39 branch r276489:
https://llvm.org/svn/llvm-project/cfe/branches/release_39@276489


# 01095a5d 23-Jul-2016 Dimitry Andric <dim@FreeBSD.org>

Vendor import of llvm release_39 branch r276489:
https://llvm.org/svn/llvm-project/llvm/branches/release_39@276489


# c0759dac 07-Jun-2016 Kurt Lidl <lidl@FreeBSD.org>

Separate BLACKLIST vs BLACKLIST_SUPPORT properly

Sponsored by: The FreeBSD Foundation


# d82362bb 02-Jun-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Remove libstdc++ again.

This was mis-merged in r298107 which missed r289389.


# 95856e14 02-Jun-2016 Kurt Lidl <lidl@FreeBSD.org>

Add basic blacklist build support

Reviewed by: rpaulo
Approved by: rpaulo
Relnotes: YES
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5913


# df0cfa3b 01-Jun-2016 Kurt Lidl <lidl@FreeBSD.org>

Reviewed by: rpaulo
Approved by: rpaulo
Obtained from: NetBSD external/bsd/blacklist @ 20160409
Relnotes: YES
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5912


# 7a0c41d5 28-May-2016 Alan Somers <asomers@FreeBSD.org>

zfsd(8), the ZFS fault management daemon

Add zfsd, which deals with hard drive faults in ZFS pools. It manages
hotspares and replements in drive slots that publish physical paths.

cddl/usr.sbin/zfsd
Add zfsd(8) and its unit tests

cddl/usr.sbin/Makefile
Add zfsd to the build

lib/libdevdctl
A C++ library that helps devd clients process events

lib/Makefile
share/mk/bsd.libnames.mk
share/mk/src.libnames.mk
Add libdevdctl to the build. It's a private library, unusable by
out-of-tree software.

etc/defaults/rc.conf
By default, set zfsd_enable to NO

etc/mtree/BSD.include.dist
Add a directory for libdevdctl's include files

etc/mtree/BSD.tests.dist
Add a directory for zfsd's unit tests

etc/mtree/BSD.var.dist
Add /var/db/zfsd/cases, where zfsd stores case files while it's shut
down.

etc/rc.d/Makefile
etc/rc.d/zfsd
Add zfsd's rc script

sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
Fix the resource.fs.zfs.statechange message. It had a number of
problems:

It was only being emitted on a transition to the HEALTHY state.
That made it impossible for zfsd to take actions based on drives
getting sicker.

It compared the new state to vdev_prevstate, which is the state that
the vdev had the last time it was opened. That doesn't make sense,
because a vdev can change state multiple times without being
reopened.

vdev_set_state contains logic that will change the device's new
state based on various conditions. However, the statechange event
was being posted _before_ that logic took effect. Now it's being
posted after.

Submitted by: gibbs, asomers, mav, allanjude
Reviewed by: mav, delphij
Relnotes: yes
Sponsored by: Spectra Logic Corp, iX Systems
Differential Revision: https://reviews.freebsd.org/D6564


# bb52d711 12-Mar-2016 Warner Losh <imp@FreeBSD.org>

Use the newly minted Makefile.libcompat to implement libsoft libraries
for the armv6 ABI switch. This also make WITH_LIBSOFT functional on
the arm platform. As a transition thing, this seems to work even
without switching the ABI (we basically build the same libraries
twice when MK_LIBSOFT=yes until the ABI cut over next
month). MK_LIBSOFT remains default no.


# b3b5738b 04-Mar-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Revert r296395.

This mistakenly removed the SUBDIR_PARALLEL but even worse is that the install
(and build) order is not correct due to the lack of SUBDIR_DEPEND on the
most critical libraries. The only reason they build correctly now is because
buildworld's 'make libraries' orders them properly.

Pointyhat to: bdrewery
Sponsored by: EMC / Isilon Storage Division


# 57942836 04-Mar-2016 Bryan Drewery <bdrewery@FreeBSD.org>

Parallel installation has been safe here since r267511 added SUBDIR_DEPEND.

Sponsored by: EMC / Isilon Storage Division


# c501d73c 25-Feb-2016 Mariusz Zaborski <oshogbo@FreeBSD.org>

Convert casperd(8) daemon to the libcasper.
After calling the cap_init(3) function Casper will fork from it's original
process, using pdfork(2). Forking from a process has a lot of advantages:
1. We have the same cwd as the original process.
2. The same uid, gid and groups.
3. The same MAC labels.
4. The same descriptor table.
5. The same routing table.
6. The same umask.
7. The same cpuset(1).
From now services are also in form of libraries.
We also removed libcapsicum at all and converts existing program using Casper
to new architecture.

Discussed with: pjd, jonathan, ed, drysdale@google.com, emaste
Partially reviewed by: drysdale@google.com, bdrewery
Approved by: pjd (mentor)
Differential Revision: https://reviews.freebsd.org/D4277


# c1da2974 12-Feb-2016 Ed Maste <emaste@FreeBSD.org>

Add libpe for elfcopy(1) PE/COFF support

Sponsored by: The FreeBSD Foundation


# bb4355f7 04-Feb-2016 Glen Barber <gjb@FreeBSD.org>

Remove duplicate line, likely result of a mismerge.

Sponsored by: The FreeBSD Foundation


# 5ac86464 25-Jan-2016 Ruslan Bukin <br@FreeBSD.org>

Style.


# 194aedf7 25-Jan-2016 Ruslan Bukin <br@FreeBSD.org>

Do build libproc and librtld_db for RISC-V as well.


# 9e6d3549 06-Jan-2016 Dimitry Andric <dim@FreeBSD.org>

Vendor import of lldb trunk r256945:
https://llvm.org/svn/llvm-project/lldb/trunk@256945


# 5a5c549f 30-Dec-2015 Dimitry Andric <dim@FreeBSD.org>

Vendor import of lld trunk r256633:
https://llvm.org/svn/llvm-project/lld/trunk@256633


# 91ee3463 21-Dec-2015 Ian Lepore <ian@FreeBSD.org>

Make the building of libsmb and mount_smbfs unconditional, now that r292552
has eliminated alignment and endian problems that were making it fail on
some platforms.

PR: 180438
PR: 189415


# d6fb4894 14-Dec-2015 John Baldwin <jhb@FreeBSD.org>

Start on a new library (libsysdecode) that provides routines for decoding
system call information such as system call arguments. Initially this
will consist of pulling duplicated code out of truss and kdump though it
may prove useful for other utilities in the future.

This commit moves the shared utrace(2) record parser out of kdump into
the library and updates kdump and truss to use it. One difference from
the previous version is that the library version treats unknown events
that start with the "RTLD" signature as unknown events. This simplifies
the interface and allows the consumer to decide how to handle all
non-recognized events. Instead, this function only generates a string
description for known malloc() and RTLD records.

Reviewed by: bdrewery
Differential Revision: https://reviews.freebsd.org/D4537


# d32e83c2 03-Dec-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Move obscure lib/ installation of /usr/lib/include symlink to include/.

This avoids the need for an afterinstall: hook and a check for LIBRARIES_ONLY.
It also now respects INCLUDEDIR.

This came in r249484.

Sponsored by: EMC / Isilon Storage Division


# 127be1a7 29-Nov-2015 Adrian Chadd <adrian@FreeBSD.org>

Add lib80211, a small (but hopefully soon to grow) set of library
routines to interface with net80211.

This is all from the ifconfig program; the duplicate code from ifconfig
will be removed when it starts using this API.

Differential Revision: https://reviews.freebsd.org/D4290


# 0d9e60c8 25-Nov-2015 Bryan Drewery <bdrewery@FreeBSD.org>

Always build libevent, which fixes the build for usr.sbin/ypldap after r291230.

The dependency for ypldap is only with WITH_NIS, but libevent is small
enough to not warrant the extra logic and maintenance cost here so just
always build it.

Sponsored by: EMC / Isilon Storage Division


# a36eca08 04-Nov-2015 Craig Rodrigues <rodrigc@FreeBSD.org>

Rename libohash to libopenbsd.

libopenbsd is an internal library which
to bring in compatibility stuff from OpenBSD.
This will allow us to bring in more
OpenBSD utilities into the FreeBSD base system.

We similarly use libnetbsd for bringing in stuff from NetBSD.

Reviewed by: bapt
Differential Revision: https://reviews.freebsd.org/D4078


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

libstdc++ also snook in incorrectly in r267511, despite not being a real
subdir.

Sponsored by: EMC / Isilon Storage Division


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

Remove unneeded libg++ reference that came in with r267511 based on a removed
comment.

Sponsored by: EMC / Isilon Storage Division


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

Fix another ++= parsed as '+=', missed in r289384.

Sponsored by: EMC / Isilon Storage Division


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

Let the SUBDIR_DEPEND*c++ variables actually work rather than being parsed
as a +=. These were safe due to a .WAIT very early on.

Sponsored by: EMC / Isilon Storage Division


# 1bc28ffc 13-Aug-2015 Ed Maste <emaste@FreeBSD.org>

Roll WITHOUT_ELFTOOLCHAIN_TOOLS into WITHOUT_TOOLCHAIN

The option was added only to ease the transition from GNU Binutils to
ELF Tool Chain tools, and that process is now complete (for the viable
replacements). Noting the removal in UPDATING is sufficient as we have
not shipped a release with the option.

Reviewed by: brooks
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D3240


# b78ee15e 01-Jul-2015 Ruslan Bukin <br@FreeBSD.org>

First cut of DTrace for AArch64.

Reviewed by: andrew, emaste
Sponsored by: ARM Limited
Differential Revision: https://reviews.freebsd.org/D2738


# 3a0822f0 21-Jun-2015 Dimitry Andric <dim@FreeBSD.org>

Vendor import of llvm trunk r240225:
https://llvm.org/svn/llvm-project/llvm/trunk@240225


# 5a5ac124 27-May-2015 Dimitry Andric <dim@FreeBSD.org>

Vendor import of llvm trunk r238337:
https://llvm.org/svn/llvm-project/llvm/trunk@238337


# 4ed27da9 24-May-2015 Enji Cooper <ngie@FreeBSD.org>

Remove SUBDIR_DEPEND for non-existent libreadline directory

libreadline lives under gnu/lib

MFC after: 1 week


# 8def216e 20-May-2015 Baptiste Daroussin <bapt@FreeBSD.org>

Drop libmandoc and incorporate it into the main mandoc Makefile

This simplifies maintainance of mandoc(1).
Note that the same direction was taken on OpenBSD


# 4d372549 12-May-2015 Ed Maste <emaste@FreeBSD.org>

Remove redundant csu subdir logic

The appropriate subdirectories are handled by lib/csu/Makefile. There's
no need to duplicate this logic in Makefile.inc1 and lib/Makefile.

Reviewed by: imp
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D2523


# fb911942 24-Mar-2015 Dimitry Andric <dim@FreeBSD.org>

Vendor import of lld trunk r233088:
https://llvm.org/svn/llvm-project/lld/trunk@233088


# 43518607 23-Feb-2015 Kenneth D. Merry <ken@FreeBSD.org>

Significant upgrades to sa(4) and mt(1).

The primary focus of these changes is to modernize FreeBSD's
tape infrastructure so that we can take advantage of some of the
features of modern tape drives and allow support for LTFS.

Significant changes and new features include:

o sa(4) driver status and parameter information is now exported via an
XML structure. This will allow for changes and improvements later
on that will not break userland applications. The old MTIOCGET
status ioctl remains, so applications using the existing interface
will not break.

o 'mt status' now reports drive-reported tape position information
as well as the previously available calculated tape position
information. These numbers will be different at times, because
the drive-reported block numbers are relative to BOP (Beginning
of Partition), but the block numbers calculated previously via
sa(4) (and still provided) are relative to the last filemark.
Both numbers are now provided. 'mt status' now also shows the
drive INQUIRY information, serial number and any position flags
(BOP, EOT, etc.) provided with the tape position information.
'mt status -v' adds information on the maximum possible I/O size,
and the underlying values used to calculate it.

o The extra sa(4) /dev entries (/dev/saN.[0-3]) have been removed.

The extra devices were originally added as place holders for
density-specific device nodes. Some OSes (NetBSD, NetApp's OnTap
and Solaris) have had device nodes that, when you write to them,
will automatically select a given density for particular tape drives.

This is a convenient way of switching densities, but it was never
implemented in FreeBSD. Only the device nodes were there, and that
sometimes confused users.

For modern tape devices, the density is generally not selectable
(e.g. with LTO) or defaults to the highest availble density when
the tape is rewritten from BOT (e.g. TS11X0). So, for most users,
density selection won't be necessary. If they do need to select
the density, it is easy enough to use 'mt density' to change it.

o Protection information is now supported. This is either a
Reed-Solomon CRC or CRC32 that is included at the end of each block
read and written. On write, the tape drive verifies the CRC, and
on read, the tape drive provides a CRC for the userland application
to verify.

o New, extensible tape driver parameter get/set interface.

o Density reporting information. For drives that support it,
'mt getdensity' will show detailed information on what formats the
tape drive supports, and what formats the tape drive supports.

o Some mt(1) functionality moved into a new mt(3) library so that
external applications can reuse the code.

o The new mt(3) library includes helper routines to aid in parsing
the XML output of the sa(4) driver, and build a tree of driver
metadata.

o Support for the MTLOAD (load a tape in the drive) and MTWEOFI
(write filemark immediate) ioctls needed by IBM's LTFS
implementation.

o Improve device departure behavior for the sa(4) driver. The previous
implementation led to hangs when the device was open.

o This has been tested on the following types of drives:
IBM TS1150
IBM TS1140
IBM LTO-6
IBM LTO-5
HP LTO-2
Seagate DDS-4
Quantum DLT-4000
Exabyte 8505
Sony DDS-2

contrib/groff/tmac/doc-syms,
share/mk/bsd.libnames.mk,
lib/Makefile,
Add libmt.

lib/libmt/Makefile,
lib/libmt/mt.3,
lib/libmt/mtlib.c,
lib/libmt/mtlib.h,
New mt(3) library that contains functions moved from mt(1) and
new functions needed to interact with the updated sa(4) driver.

This includes XML parser helper functions that application writers
can use when writing code to query tape parameters.

rescue/rescue/Makefile:
Add -lmt to CRUNCH_LIBS.

src/share/man/man4/mtio.4
Clarify this man page a bit, and since it contains what is
essentially the mtio.h header file, add new ioctls and structure
definitions from mtio.h.

src/share/man/man4/sa.4
Update BUGS and maintainer section.

sys/cam/scsi/scsi_all.c,
sys/cam/scsi/scsi_all.h:
Add SCSI SECURITY PROTOCOL IN/OUT CDB definitions and CDB building
functions.

sys/cam/scsi/scsi_sa.c
sys/cam/scsi/scsi_sa.h
Many tape driver changes, largely outlined above.

Increase the sa(4) driver read/write timeout from 4 to 32
minutes. This is based on the recommended values for IBM LTO
5/6 drives. This may also avoid timeouts for other tape
hardware that can take a long time to do retries and error
recovery. Longer term, a better way to handle this is to ask
the drive for recommended timeout values using the REPORT
SUPPORTED OPCODES command. Modern IBM and Oracle tape drives
at least support that command, and it would allow for more
accurate timeout values.

Add XML status generation. This is done with a series of
macros to eliminate as much duplicate code as possible. The
new XML-based status values are reported through the new
MTIOCEXTGET ioctl.

Add XML driver parameter reporting, using the new MTIOCPARAMGET
ioctl.

Add a new driver parameter setting interface, using the new
MTIOCPARAMSET and MTIOCSETLIST ioctls.

Add a new MTIOCRBLIM ioctl to get block limits information.

Add CCB/CDB building routines scsi_locate_16, scsi_locate_10,
and scsi_read_position_10().

scsi_locate_10 implements the LOCATE command, as does the
existing scsi_set_position() command. It just supports
additional arguments and features. If/when we figure out a
good way to provide backward compatibility for older
applications using the old function API, we can just revamp
scsi_set_position(). The same goes for
scsi_read_position_10() and the existing scsi_read_position()
function.

Revamp sasetpos() to take the new mtlocate structure as an
argument. It now will use either scsi_locate_10() or
scsi_locate_16(), depending upon the arguments the user
supplies. As before, once we change position we don't have a
clear idea of what the current logical position of the tape
drive is.

For tape drives that support long form position data, we
read the current position and store that for later reporting
after changing the position. This should help applications
like Bacula speed tape access under FreeBSD once they are
modified to support the new ioctls.

Add a new quirk, SA_QUIRK_NO_LONG_POS, that is set for all
drives that report SCSI-2 or older, as well as drives that
report an Illegal Request type error for READ POSITION with
the long format. So we should automatically detect drives
that don't support the long form and stop asking for it after
an initial try.

Add a partition number to the sa(4) softc.

Improve device departure handling. The previous implementation
led to hangs when the device was open.

If an application had the sa(4) driver open, and attempted to
close it after it went away, the cam_periph_release() call in
saclose() would cause the periph to get destroyed because that
was the last reference to it. Because destroy_dev() was
called from the sa(4) driver's cleanup routine (sacleanup()),
and would block waiting for the close to happen, a deadlock
would result.

So instead of calling destroy_dev() from the cleanup routine,
call destroy_dev_sched_cb() from saoninvalidate() and wait for
the callback.

Acquire a reference for devfs in saregister(), and release it
in the new sadevgonecb() routine when all devfs devices for
the particular sa(4) driver instance are gone.

Add a new function, sasetupdev(), to centralize setting
per-instance devfs device parameters instead of repeating the
code in saregister().

Add an open count to the softc, so we know how many
peripheral driver references are a result of open
sessions.

Add the D_TRACKCLOSE flag to the cdevsw flags so
that we get a 1:1 mapping of open to close calls
instead of a N:1 mapping.

This should be a no-op for everything except the
control device, since we don't allow more than one
open on non-control devices.

However, since we do allow multiple opens on the
control device, the combination of the open count
and the D_TRACKCLOSE flag should result in an
accurate peripheral driver reference count, and an
accurate open count.

The accurate open count allows us to release all
peripheral driver references that are the result
of open contexts once we get the callback from devfs.

sys/sys/mtio.h:
Add a number of new mt(4) ioctls and the requisite data
structures. None of the existing interfaces been removed
or changed.

This includes definitions for the following new ioctls:

MTIOCRBLIM /* get block limits */
MTIOCEXTLOCATE /* seek to position */
MTIOCEXTGET /* get tape status */
MTIOCPARAMGET /* get tape params */
MTIOCPARAMSET /* set tape params */
MTIOCSETLIST /* set N params */

usr.bin/mt/Makefile:
mt(1) now depends on libmt, libsbuf and libbsdxml.

usr.bin/mt/mt.1:
Document new mt(1) features and subcommands.

usr.bin/mt/mt.c:
Implement support for mt(1) subcommands that need to
use getopt(3) for their arguments.

Implement a new 'mt status' command to replace the old
'mt status' command. The old status command has been
renamed 'ostatus'.

The new status function uses the MTIOCEXTGET ioctl, and
therefore parses the XML data to determine drive status.
The -x argument to 'mt status' allows the user to dump out
the raw XML reported by the kernel.

The new status display is mostly the same as the old status
display, except that it doesn't print the redundant density
mode information, and it does print the current partition
number and position flags.

Add a new command, 'mt locate', that will supersede the
old 'mt setspos' and 'mt sethpos' commands. 'mt locate'
implements all of the functionality of the MTIOCEXTLOCATE
ioctl, and allows the user to change the logical position
of the tape drive in a number of ways. (Partition,
block number, file number, set mark number, end of data.)
The immediate bit and the explicit address bits are
implemented, but not documented in the man page.

Add a new 'mt weofi' command to use the new MTWEOFI ioctl.
This allows the user to ask the drive to write a filemark
without waiting around for the operation to complete.

Add a new 'mt getdensity' command that gets the XML-based
tape drive density report from the sa(4) driver and displays
it. This uses the SCSI REPORT DENSITY SUPPORT command
to get comprehensive information from the tape drive about
what formats it is able to read and write.

Add a new 'mt protect' command that allows getting and setting
tape drive protection information. The protection information
is a CRC tacked on to the end of every read/write from and to
the tape drive.

Sponsored by: Spectra Logic
MFC after: 1 month


# fcb56067 10-Feb-2015 George V. Neville-Neil <gnn@FreeBSD.org>

Initial version of DTrace on ARM32.

Submitted by: Howard Su based on work by Oleksandr Tymoshenko
Reviewed by: ian, andrew, rpaulo, markj


# 64de8019 06-Feb-2015 John Baldwin <jhb@FreeBSD.org>

Add a new device control utility for new-bus devices called devctl. This
allows the user to request administrative changes to individual devices
such as attach or detaching drivers or disabling and re-enabling devices.
- Add a new /dev/devctl2 character device which uses ioctls for device
requests. The ioctls use a common 'struct devreq' which is somewhat
similar to 'struct ifreq'.
- The ioctls identify the device to operate on via a string. This
string can either by the device's name, or it can be a bus-specific
address. (For unattached devices, a bus address is the only way to
locate a device.) Bus drivers register an eventhandler to claim
unrecognized device names that the driver recognizes as a valid address.
Two buses currently support addresses: ACPI recognizes any device
in the ACPI namespace via its full path starting with "\" and
the PCI bus driver recognizes an address specification of
'pci[<domain>:]<bus>:<slot>:<func>' (identical to the PCI selector
strings supported by pciconf).
- To make it easier to cut and paste, change the PnP location string
in the PCI bus driver to output a full PCI selector string rather
than 'slot=<slot> function=<func>'.
- Add a devctl(3) interface in libdevctl which provides a wrapper around
the ioctls and is the preferred interface for other userland code.
- Add a devctl(8) program which is a simple wrapper around the requests
supported by devctl(3).
- Add a device_is_suspended() function to check DF_SUSPENDED.
- Add a resource_unset_value() function that can be used to remove a
hint from the kernel environment. This is used to clear a
hint.<driver>.<unit>.disabled hint when re-enabling a boot-time
disabled device.

Reviewed by: imp (parts)
Requested by: imp (changing PCI location string)
Relnotes: yes


# c7b6816f 04-Feb-2015 Enji Cooper <ngie@FreeBSD.org>

Add MK_FILE to control whether or not to build file(1), libmagic(3), etc

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


# 31a741f4 03-Feb-2015 Enji Cooper <ngie@FreeBSD.org>

Conditionalize building radius support into libpam, ppp, etc via
MK_RADIUS_SUPPORT

MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division


# 02629e46 25-Jan-2015 Enji Cooper <ngie@FreeBSD.org>

Add MK_BHYVE knob for building and installing bhyve(4), et al

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


# 3b09bf5e 24-Jan-2015 Enji Cooper <ngie@FreeBSD.org>

Build lib/libgpio if MK_GPIO != no

Fill in corresponding entries for MK_GPIO == no in OptionalObsoleteFiles.inc

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


# 8028b78d 13-Jan-2015 Dimitry Andric <dim@FreeBSD.org>

Connect libclang_rt to the build, for specific architectures. This
contains the libraries for Address Sanitizer (asan), Undefined Behavior
Sanitizer (ubsan) and Profile Guided Optimization.

ASan is a fast memory error detector. It can detect the following types
of bugs:

Out-of-bounds accesses to heap, stack and globals
Use-after-free
Use-after-return (to some extent)
Double-free, invalid free
Memory leaks (experimental)

Typical slowdown introduced by AddressSanitizer is 2x.

UBSan is a fast and compatible undefined behavior checker. It enables a
number of undefined behavior checks that have small runtime cost and no
impact on address space layout or ABI.

PLEASE NOTE: the sanitizers still have some rough edges on FreeBSD,
particularly on i386. These will hopefully be smoothed out in the
coming time.

Differential Revision: https://reviews.freebsd.org/D1505


# c05bafc5 25-Dec-2014 Poul-Henning Kamp <phk@FreeBSD.org>

Deorbit the IEEE-488/GPIB support.


# b43a681b 09-Dec-2014 Enji Cooper <ngie@FreeBSD.org>

Move MK_BHYVE/MK_HYPERV to architecture specific sections in Makefiles
instead of introducing an architecture specific section in src.opts.mk

Make it clear in the documentation that the options only affect certain
architectures to reduce user confusion if the knobs are tweaked

A better method for abstracting this out will be done in the future in a
different commit

Discussed with/Requested by: imp


# c8c7f0b0 02-Dec-2014 Enji Cooper <ngie@FreeBSD.org>

Add knob, MK_MAC_SUPPORT for building items with mac(9) support, like
libugidfw, ugidfw, etc


# 31942939 01-Dec-2014 Ed Maste <emaste@FreeBSD.org>

Build infrastructure for elftoolchain tools

Set WITH_ELFTOOLCHAIN_TOOLS in src.conf to use the elftoolchain version
of the following tools:

* addr2line
* elfcopy (strip / mcs)
* nm
* size
* strings

Reviewed by: bapt (earlier version)
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D1224


# 2ca503d3 29-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Honor MK_AUDIT, MK_FILE, MK_GPIO, and MK_SQLITE3

lib/libgpio is a standalone library, but it seems logical to conditionalize
it with MK_GPIO


# 254aaed7 26-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Fix typos: MK_RADIUS -> MK_RADIUS_SUPPORT


# f541dd9b 26-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Implement MK_RADIUS_SUPPORT to make libradius and assorted support optional


# 9a2c2638 25-Nov-2014 Enji Cooper <ngie@FreeBSD.org>

Don't build/install lib/libvmmapi if MK_BHYVE == no

Suggested by: grehan


# f12128e4 24-Nov-2014 Rui Paulo <rpaulo@FreeBSD.org>

Import libgpio.

This is a thin wrapper around the kernel interface which should make
it easier to write GPIO applications. gpioctl(8) will be converted to
use this library in a separate commit.

Differential Revision: https://reviews.freebsd.org/D1183
Reviewed by: adrian, loos
Discussed on: arm@, embedded@
Relnotes: yes


# 9f4dbff6 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_350/final@216957


# 5ca98fd9 24-Nov-2014 Dimitry Andric <dim@FreeBSD.org>

Vendor import of llvm RELEASE_350/final tag r216957 (effectively, 3.5.0 release):
https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_350/final@216957


# 362492e5 22-Nov-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Promote SQLite3 as a privatelib as it will also be used by mandoc

While here ensure sqlite3 is using pread(2) and enable the suppot for FTS4


# 7fc89952 06-Nov-2014 Devin Teske <dteske@FreeBSD.org>

Re-enable dpv(1,3): Introduced via r274116; temporarily disabled
shortly thereafter via r274124 until I could get the right recipe
down w/respect to SUBDIR_DEPEND.

Thanks to: ngie, ian
Reviewed by: ian
MFC after: 21 days
X-MFC-to: stable/10 stable/9
X-MFC-with: 274116 274120 274121 274123 274144 274146


# 2d0439fa 05-Nov-2014 Devin Teske <dteske@FreeBSD.org>

Upon second-thought (following r274144), remove spurious (unused)
line-noise (libdialog never lived in lib/ -- but rather the noise
came from translating a comment that was introduced 16 years ago
via r40306; translation from comment to code occurred via r267511).

MFC after: 3 days
Reviewed by: ngie
X-MFC-to: stable/10


# 4bfabf14 05-Nov-2014 Devin Teske <dteske@FreeBSD.org>

Fix code-typo; introduced by r267511

MFC after: 3 days
X-MFC-to: stable/10


# 39341fd0 04-Nov-2014 Devin Teske <dteske@FreeBSD.org>

Temporarily _disable_ compilation of dpv(3) and dpv(1).
Will revisit this to find out how to solve the ordering
issue in buildworld (potentially `make -j' specific).

Reviewed by: shurd


# 041394f3 04-Nov-2014 Devin Teske <dteske@FreeBSD.org>

Add new libraries/utilities for data throughput visualization.
dpv(3): dialog progress view library
dpv(1): stream data from stdin or multiple paths with dialog progress view
figpar(3): configuration file parsing library

Reviews: D714
Reviewed by: jelischer, shurd
Discussed at: MeetBSD California 2014 Vendor/Dev Summit
Discussed on: -current
MFC after: 21 days
X-MFC-to: stable/10 stable/9


# d7790611 23-Oct-2014 Marcel Moolenaar <marcel@FreeBSD.org>

Hook libxo to the build.

Sponsored by: Juniper Networks, Inc.


# b55e8e6e 21-Oct-2014 Warner Losh <imp@FreeBSD.org>

My previous commit exposed an issue as it fixed a different
issue. lib/atf isn't a prereq_lib, since it isn't required for other
libraries to build. Remove it. The old kludge of always building it
had effectively been retired. Since we don't want to build the
libraries with the tests when we're bootstrapping, invent
MK_TESTS_SUPPORT which normally defaults to the current MK_TESTS
value, except when explicitly defined. Make lib/atf depend on it being
yes. When building the libraries set MK_TESTS to no, and
MK_TESTS_SUPPORT to the current value of MK_TESTS so that later stages
of the build work correctly. This should fix (and does for me)
people's issues with parallel builds racing between lib/atf and
libexec/atf. Since lib/atf is built during the libraries phase, the
race disappears.


# f9721976 13-Oct-2014 Xin LI <delphij@FreeBSD.org>

Promote libevent to lib/ level and fold ftp-proxy into its parent Makefile.
This allows us to use libevent for other application in the future.

For now libevent is still INTERNALLIB and no shared library is installed.

MFC after: 1 month


# 478290db 30-Sep-2014 Enji Cooper <ngie@FreeBSD.org>

Check in first src/tests snapshot from NetBSD anoncvs

Sources were obtained like so:

% export CVSROOT="anoncvs@anoncvs.NetBSD.org:/cvsroot"
% cvs -z9 co -D "09/30/2014 20:45" -P src/tests
% mv src/tests/* tests/dist/.

'*CVS*' has been added to svn:ignore to ease updating periodically from
upstream

Some line ending issues had to be resolved with test outputs and scripts
via dos2unix and by deleting the eol-style property set in usr.bin/sort

Discussed with: rpaulo
Sponsored by: EMC / Isilon Storage Division


# e806d508 06-Aug-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Make libohash a proper internallib instead of hidding it in m4

mandoc development seems to be also using ohash so prepare to share the code when
needed


# e7d939bd 06-Jul-2014 Marcel Moolenaar <marcel@FreeBSD.org>

Remove ia64.

This includes:
o All directories named *ia64*
o All files named *ia64*
o All ia64-specific code guarded by __ia64__
o All ia64-specific makefile logic
o Mention of ia64 in comments and documentation

This excludes:
o Everything under contrib/
o Everything under crypto/
o sys/xen/interface
o sys/sys/elf_common.h

Discussed at: BSDcan


# a1c70d69 15-Jun-2014 Ian Lepore <ian@FreeBSD.org>

Create a mechanism for providing fine-grained build order dependencies
during SUBDIR_PARALLEL builds. This augments the coarse .WAIT mechanism,
which is still useful if you've got a situation such as "almost everything
depends on A and B".

Because the parallel subdir mechanism uses non-obvious mangling of
target names, which should probably remain a private detail of the
implementation, it's not easy to do things like "libfoo: libbar", so
instead the new mechanism lets you set a variable that lists dependencies:

SUBDIR_DEPEND_libfoo= libgroodah libpouet

Note that while I'm using libraries as an example here, it really has
nothing to do with the generated library files. This is really saying
"build in directory libfoo after building in the libgroodah and libpouet
directories."

This updates lib/Makefile with dependency information based on the old
almost-accurate comment block and by combing through lib/* makefiles
looking for LDADD dependencies to other libraries within lib/*.

Reviewed by: Jia-Shiun Li <jiashiun@gmail.com>


# 36716419 13-Jun-2014 Hans Petter Selasky <hselasky@FreeBSD.org>

Attach the CUSE library and kernel module to the default FreeBSD
builds. Bump the FreeBSD version number.


# b8fffe16 10-May-2014 Warner Losh <imp@FreeBSD.org>

Sprinkle a few more .WAITs into the mix after csu, libc, msun and the
early built libraries. This should be sufficient for most cases and
has eliminated the issues I've seen with high -j builds. Races likely
still remain, but this knocks the problem down a notch.


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


# fc57f9bb 05-Apr-2014 Jilles Tjoelker <jilles@FreeBSD.org>

lib: Remove duplicate SUBDIR libnv.

With SUBDIR_PARALLEL, duplicates in ${SUBDIR} cause harmless but verbose
warnings.


# 54ff5d73 26-Mar-2014 Dimitry Andric <dim@FreeBSD.org>

Add a SUBDIR_PARALLEL option to bsd.subdir.mk, to allow make to process
all the SUBDIR entries in parallel, instead of serially. Apply this
option to a selected number of Makefiles, which can greatly speed up the
build on multi-core machines, when using make -j.

This can be extended to more Makefiles later on, whenever they are
verified to work correctly with parallel building.

I tested this on a 24-core machine, with make -j48 buildworld (N = 6):

before stddev after stddev
======= ====== ======= ======
real time 1741.1 16.5 959.8 2.7
user time 12468.7 16.4 14393.0 16.8
sys time 1825.0 54.8 2110.6 22.8

(user+sys)/real 8.2 17.1

E.g. the build was approximately 45% faster in real time. On machines
with less cores, or with lower -j settings, the speedup will not be as
impressive. But at least you can now almost max out a machine with
buildworld!

Submitted by: jilles
MFC after: 2 weeks


# 2c284d93 13-Mar-2014 Gleb Smirnoff <glebius@FreeBSD.org>

Remove IPX support.

IPX was a network transport protocol in Novell's NetWare network operating
system from late 80s and then 90s. The NetWare itself switched to TCP/IP
as default transport in 1998. Later, in this century the Novell Open
Enterprise Server became successor of Novell NetWare. The last release
that claimed to still support IPX was OES 2 in 2007. Routing equipment
vendors (e.g. Cisco) discontinued support for IPX in 2011.

Thus, IPX won't be supported in FreeBSD 11.0-RELEASE.


# 81bd3d89 05-Mar-2014 Adrian Chadd <adrian@FreeBSD.org>

Add 'libstatfoo' from Sam Leffler.


# d0bfcaf8 23-Feb-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Remove libyaml, it has been replaced by libucl


# 4ca4d6a8 23-Feb-2014 Baptiste Daroussin <bapt@FreeBSD.org>

Branch libucl to the build


# bfef3995 21-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang release_34 branch r197841 (effectively, 3.4 RC3):
https://llvm.org/svn/llvm-project/cfe/branches/release_34@197841


# f8af5cf6 21-Dec-2013 Dimitry Andric <dim@FreeBSD.org>

Vendor import of llvm release_34 branch r197841 (effectively, 3.4 RC3):
https://llvm.org/svn/llvm-project/llvm/branches/release_34@197841


# 42a85952 02-Dec-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Please welcome casperd daemon. It (and its services) will be responsible for
giving access to functionality that is not available in capability mode
sandbox. The functionality can be precisely restricted.

Start with the following services:
- system.dns - provides API compatible to:
- gethostbyname(3),
- gethostbyname2(3),
- gethostbyaddr(3),
- getaddrinfo(3),
- getnameinfo(3),
- system.grp - provides getgrent(3)-compatible API,
- system.pwd - provides getpwent(3)-compatible API,
- system.random - allows to obtain entropy from /dev/random,
- system.sysctl - provides sysctlbyname(3-compatible API.

Sponsored by: The FreeBSD Foundation


# 2f02600a 01-Dec-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Move my simple logging API to a separate library. It is now already used
by hastctl(8), hastd(8) and auditdistd(8) and will soon be also used
by casperd(8) and its services. There is no documentation and pjdlog.h
header file is not installed in /usr/include/ to keep it private.
Unfortunately we don't have /lib/private/ at this point, only
/usr/lib/private/, so the library is installed in /lib/.

Sponsored by: The FreeBSD Foundation


# 091b8336 17-Nov-2013 Peter Wemm <peter@FreeBSD.org>

Attempt to move the POSIX iconv* symbols out of runtime linker space.
FreeBSD systems usually implemented this as a third party module and
our implementation hasn't played as nicely with the old way as it could
have.

To that end:
* Rename the iconv* symbols in libc.so.7 to have a __bsd_ prefix.
* Provide .symver compatability with existing 10.x+ binaries that
referenced the iconv symbols. All existing binaries should work.
* Like on Linux/glibc systems, add a libc_nonshared.a to the ldscript
at /usr/lib/libc.so.
* Move the "iconv*" wrapper symbols to libc_nonshared.a

This should solve the runtime ambiguity about which symbols resolve
to where. If you compile against the iconv in libc, your runtime
dependencies will be unambiguous.

Old 9.x libraries and binaries will always resolve against their
libiconv.so.3 like they did on 9.x. They won't resolve against libc.

Old 10.x binaries will be satisified by the .symver helpers.

This should allow ports to selectively compile against the libiconv
port if needed and it should behave without ambiguity now.

Discussed with: kib


# 36da5199 12-Nov-2013 Pawel Jakub Dawidek <pjd@FreeBSD.org>

Bring in libnv library for managing name/value pairs. The following types
are currently supported:

- NV_TYPE_NULL - only name, no data;
- NV_TYPE_BOOL - boolean (true or false);
- NV_TYPE_NUMBER - 64bit unsigned integer;
- NV_TYPE_STRING - C string;
- NV_TYPE_NVLIST - nested nvlist;
- NV_TYPE_DESCRIPTOR - file descriptor;
- NV_TYPE_BINARY - binary data.

For detailed documentation and examples see nv(3) manual page.

Sponsored by: The FreeBSD Foundation


# cc21b86f 08-Nov-2013 Julio Merino <jmmv@FreeBSD.org>

Install category Kyuafiles from their category directories.

Move the installation of /usr/tests/lib/Kyuafile from src/tests/lib/
to src/lib/. This is to keep the src/tests/ hierarchy unaware of the
rest of the tree, which makes things clearer in general. In particular:

1) Everything related to the construction of /usr/tests/lib/ is kept
in src/lib/. There is no need to think about different directories
and how they relate to each other. (The same applies for libexec,
usr.bin, etc. but these are not yet handled.)

2) src/tests becomes the place to keep cross-functional test programs
and nothing else, which also helps in simplifying things.

Reviewed by: freebsd-testing
Approved by: rpaulo (mentor)


# e01d128a 08-Nov-2013 Julio Merino <jmmv@FreeBSD.org>

Subsume the functionality of MK_ATF into MK_TESTS.

There is no reason to keep the two knobs separate: if tests are
enabled, the ATF libraries are required; and if tests are disabled,
the ATF libraries are not necessary. Keeping the two just serves
to complicate the build.

Reviewed by: freebsd-testing
Approved by: rpaulo (mentor)


# 912ce912 03-Nov-2013 Peter Wemm <peter@FreeBSD.org>

Remove the WITH_LIBICONV_COMPAT hack that seems to do more harm than
good. This caused libc to spoof the ports libiconv namespace and
provide a colliding libiconv.so.3 to fool rtld. This should have
been removed some time ago.


# 31b1be9c 14-Oct-2013 Alan Somers <asomers@FreeBSD.org>

Extract devctl event processing support out of zfsd and into a new library:
libdevctl.

etc/mtree/BSD.include.dist:
Add the /usr/include/devctl directory to the base system.

lib/Makefile:
lib/libdevctl/Makefile:
Build support for the new library.

lib/libdevctl/consumer.cc:
lib/libdevctl/consumer.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
New class, DevCtl::Consumer, from functionality extracted
from ZfsDaemon, which can connect to devd, parse an event
stream, and invoke event handlers.

lib/libdevctl/event.cc:
lib/libdevctl/event.h:
cddl/sbin/zfsd/dev_ctl_event.cc:
cddl/sbin/zfsd/dev_ctl_event.h:
Strip Zfsd specific event handling from Zfsd's event classes
to create DevCtl::Event, DevCtl::DevfsEvent, and
DevCtl::ZfsEvent.

lib/libdevctl/event_buffer.cc:
lib/libdevctl/event_buffer.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
DevCtl::EventBuffer: buffer for incoming devctl stream used
to parse/extract individual event strings.

lib/libdevctl/event_factory.cc:
lib/libdevctl/event_factory.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
DevCtl::EventFactory: Method map for converting event
strings to Devctl::Event objects.

lib/libdevctl/exception.cc:
lib/libdevctl/exception.h:
cddl/sbin/zfsd/zfsd_exception.cc:
cddl/sbin/zfsd/zfsd_exception.h:
DevCtl::Exception and DevCtl::ParseException, the exceptions
which are thrown by this library.

lib/libdevctl/guid.cc:
lib/libdevctl/guid.h:
cddl/sbin/zfsd/guid.cc:
cddl/sbin/zfsd/guid.h:
DevCtl::Guid: Helper routines for dealing with 64bit GUIDs
such as found in Zfs pools and vdevs.

lib/libdevctl/reader.cc:
lib/libdevctl/reader.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
DevCtl::Reader class hierarchy. Used to direct a Consumer
to an event stream (e.g. from devd or a local/saved file).

cddl/sbin/zfsd/zfsd_event.cc:
cddl/sbin/zfsd/zfsd_event.h:
Zfsd specialization of DevCtl::Event types.

cddl/sbin/zfsd/zfsd_exception.cc:
cddl/sbin/zfsd/zfsd_exception.h:
Zfsd specific exception types, now derived from
DevCtl::Excpetion.

cddl/sbin/zfsd/Makefile:
cddl/sbin/zfsd/callout.cc:
cddl/sbin/zfsd/callout.h:
cddl/sbin/zfsd/case_file.cc:
cddl/sbin/zfsd/case_file.h:
cddl/sbin/zfsd/vdev.cc:
cddl/sbin/zfsd/vdev.h:
cddl/sbin/zfsd/vdev_iterator.cc:
cddl/sbin/zfsd/vdev_iterator.h:
cddl/sbin/zfsd/zfsd.cc:
cddl/sbin/zfsd/zfsd.h:
cddl/sbin/zfsd/zfsd_event.cc:
cddl/sbin/zfsd/zfsd_event.h:
cddl/sbin/zfsd/zfsd_exception.cc:
cddl/sbin/zfsd/zfsd_exception.h:
cddl/sbin/zfsd/zfsd_main.cc:
cddl/sbin/zfsd/zpool_list.cc:
cddl/sbin/zfsd/zpool_list.h:
Miscelaneuous refactoring to support using libdevctl instead
of local implementation.

cddl/sbin/zfsd/Makefile:
cddl/sbin/zfsd/Makefile.common:
tools/regression/zfsd/Makefile:
Export common build information for zfsd and its unit tests
to a "Makefile.common".

Submitted by: gibbs
Approved by: ken (mentor)
Sponsored by: Spectra Logic Corporation


# 56b72efe 30-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Remove BIND.

Approved by: re (gjb)


# 71b5e1bb 15-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Move libldns to the correct (ordered) library list.

Approved by: re (blanket)


# 8f8790cd 15-Sep-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Build and install the Unbound caching DNS resolver daemon.

Approved by: re (blanket)


# 4b1fb8ff 03-Sep-2013 Ed Maste <emaste@FreeBSD.org>

Connect libexecinfo to the build

Sponsored by: DARPA, AFRL


# 0ff204bb 13-Aug-2013 Peter Wemm <peter@FreeBSD.org>

The iconv in libc did two things - implement the standard APIs, the GNU
extensions and also tried to be link time compatible with ports libiconv.
This splits that functionality and enables the parts that shouldn't
interfere with the port by default.

WITH_ICONV (now on by default) - adds iconv.h, iconv_open(3) etc.
WITH_LIBICONV_COMPAT (off by default) adds the libiconv_open etc API, linker
symbols and even a stub libiconv.so.3 that are good enough to be able
to 'pkg delete -f libiconv' on a running system and reasonably expect it
to work.

I have tortured many machines over the last few days to try and reduce
the possibilities of foot-shooting as much as I can. I've successfully
recompiled to enable and disable the libiconv_compat modes, ports that use
libiconv alongside system iconv etc. If you don't enable the
WITH_LIBICONV_COMPAT switch, they don't share symbol space.

This is an extension of behavior on other system. iconv(3) is a standard
libc interface and libiconv port expects to be able to run alongside it on
systems that have it.

Bumped osreldate.


# 05ddbb8d 11-Aug-2013 Cy Schubert <cy@FreeBSD.org>

Import IP-Filter 5.1.2 into vendor branches using the existing license that
the current version of IP-Filter in FreeBSD is under as per email received
from Darren Reed on Mon, 08 Jul 2013 23:54:16 +1000.

Approved by: glebius (Mentor), Darren Reed <darrenr@reed.wattle.id.au>


# f27f4705 18-Jul-2013 Cy Schubert <cy@FreeBSD.org>

As per the developers handbook (5.3.1 step 1), prepare the vendor trees for
import of new ipfilter vendor sources by flattening them.

To keep the tags consistent with dist, the tags are also flattened.

Approved by: glebius (Mentor)


# 237abf0c 28-Jun-2013 Davide Italiano <davide@FreeBSD.org>

- Trim an unused and bogus Makefile for mount_smbfs.
- Reconnect with some minor modifications, in particular now selsocket()
internals are adapted to use sbintime units after recent'ish calloutng
switch.


# 7be23620 30-Apr-2013 Brooks Davis <brooks@FreeBSD.org>

Wrap the creation of the ../include link in /usr/lib in
!defined(LIBRARIES_ONLY) so it is only created once on architectures
with 32-bit compat support.

Replace ln -fhs with ${INSTALL_SYMLINK} to the link is logged in the
METALOG.


# eb012e1c 18-Apr-2013 Tim Kientzle <kientzle@FreeBSD.org>

An even more refined version of r249484, until we can come up with
a good fix for the -print-file-name=include breakage.

As suggested by Andrey Chernov.


# 463f397c 18-Apr-2013 Tim Kientzle <kientzle@FreeBSD.org>

Fix the symlink creation from r249484 so that repeated
installs work correctly.

Suggested by Tijl Coosemans.


# 7c83e443 14-Apr-2013 Tim Kientzle <kientzle@FreeBSD.org>

Install a symlink
/usr/lib/include ==> /usr/include

This fixes -print-file-name=include in clang (and is
arguably a better way to fix the same issue in GCC than
the change I made in r231336).

MFC after: 1 week


# 809500fc 08-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang trunk r178860:
http://llvm.org/svn/llvm-project/cfe/trunk@178860


# 4a16efa3 08-Apr-2013 Dimitry Andric <dim@FreeBSD.org>

Vendor import of llvm trunk r178860:
http://llvm.org/svn/llvm-project/llvm/trunk@178860


# 35e370a2 04-Feb-2013 Dag-Erling Smørgrav <des@FreeBSD.org>

Sort by MK_* knob like the comment says

MFC after: 1 week


# c857d06a 30-Dec-2012 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

With the old sade removed, libdisk is no longer used by anything in HEAD
and uses a number of problematic pre-gpart interfaces. Since it has been
entirely obsoleted by interfaces in geom, remove it.


# 6bea8766 21-Dec-2012 Brooks Davis <brooks@FreeBSD.org>

Add libnetbsd, a thin compatibility layer intended to allow a limited
set of NetBSD software to compile as part of the FreeBSD build with
little or no modifiction. It is built as a static library and not
installed for general use. Likewise, its header files are not
installed.

Sponsored by: DARPA, AFRL


# c7570492 07-Nov-2012 Justin Hibbits <jhibbits@FreeBSD.org>

Implement DTrace for PowerPC. This includes both 32-bit and 64-bit.

There is one known issue: Some probes will display an error message along the
lines of: "Invalid address (0)"

I tested this with both a simple dtrace probe and dtruss on a few different
binaries on 32-bit. I only compiled 64-bit, did not run it, but I don't expect
problems without the modules loaded. Volunteers are welcome.

MFC after: 1 month


# c175365c 21-Oct-2012 Marcel Moolenaar <marcel@FreeBSD.org>

Add ATF to the build. This is may be a bit rought around the egdes,
but committing it helps to get everyone on the same page and makes
sure we make progress.

Tinderbox breakages that are the result of this commit are entirely
the committer's fault -- in other words: buildworld testing on amd64
only.

Credits follow:

Submitted by: Garrett Cooper <yanegomi@gmail.com>
Sponsored by: Isilon Systems
Based on work by: keramida@
Thanks to: gnn@, mdf@, mlaier@, sjg@
Special thanks to: keramida@


# cc4842a1 20-Oct-2012 Ulrich Spörlein <uqs@FreeBSD.org>

Apply local patches to mandoc and connect it to the build.

- adds a couple more library strings used in the tree
- changes some more to the current groff spelling
- changes page footer to match groff style


# 2e564269 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

Disconnect non-MPSAFE SMBFS from the build in preparation for dropping
GIANT from VFS. In addition, disconnect also netsmb, which is a base
requirement for SMBFS.

In the while SMBFS regular users can use FUSE interface and smbnetfs
port to work with their SMBFS partitions.

Also, there are ongoing efforts by vendor to support in-kernel smbfs,
so there are good chances that it will get relinked once properly locked.

This is not targeted for MFC.


# e6116d5b 17-Oct-2012 Attilio Rao <attilio@FreeBSD.org>

Disconnect non-MPSAFE NWFS from the build in preparation for dropping
GIANT from VFS. In addition, disconnect also netncp, which is a base
requirement for NWFS.

In the possibility of a future maintenance of the code and later
readd to the FreeBSD base, maybe we should think about a better location
for netncp. I'm not entirely sure the / top location is actually right,
however I will let network people to comment on that more specifically.

This is not targeted for MFC.


# 56d91b49 15-Aug-2012 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang trunk r161861:
http://llvm.org/svn/llvm-project/cfe/trunk@161861


# 7f725bcd 17-May-2012 Grzegorz Bernacki <gber@FreeBSD.org>

Import work done under project/nand (@235533) into head.

The NAND Flash environment consists of several distinct components:
- NAND framework (drivers harness for NAND controllers and NAND chips)
- NAND simulator (NANDsim)
- NAND file system (NAND FS)
- Companion tools and utilities
- Documentation (manual pages)

This work is still experimental. Please use with caution.

Obtained from: Semihalf
Supported by: FreeBSD Foundation, Juniper Networks


# 6b9a6e39 03-May-2012 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang release_31 branch r155985:
http://llvm.org/svn/llvm-project/cfe/branches/release_31@155985


# 6486b015 28-Apr-2012 Jeremie Le Hen <jlh@FreeBSD.org>

Import stdbuf(1) and the shared library it relies on.
This tool changes the default buffering behaviour of standard
stdio streams.

It only works on dynamic binaries. To make it work for static
ones it would require cluttering stdio because there no single
entry point.

PR: 166660
Reviewed by: current@, jhb
Approved by: kib (mentor)
MFC after: 1 week


# dbe13110 14-Apr-2012 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang trunk r154661:
http://llvm.org/svn/llvm-project/cfe/trunk@r154661


# 07d39325 23-Mar-2012 Oleksandr Tymoshenko <gonzo@FreeBSD.org>

Build libproc and librtld_db for MIPS


# 0e46933c 22-Mar-2012 Stanislav Sedov <stas@FreeBSD.org>

- Do not build libcom_err and compile_et when kerberos is disabled. They
depends on several heimdal libraries and not used by anything but kerberos
tools.


# 719728bf 30-Dec-2011 Robert Watson <rwatson@FreeBSD.org>

Fix typo in Makefile comment.

MFC after: 3 days


# fc6f0665 26-Dec-2011 Ed Schouten <ed@FreeBSD.org>

Add libstdthreads.

This library implements the C11 threads interface on top of the pthreads
library. As discussed on the lists, the preferred way to implement
this, is as a separate library.

It is unlikely that these functions will be used a lot in the future. It
would have been easier if the C11 working group standardized (a subset
of) pthreads and clock_nanosleep(). Having it as a separate library
allows the embedded people to omit it from their system.

Discussed on: arch@, threads@


# 49c8e5e7 25-Nov-2011 Dimitry Andric <dim@FreeBSD.org>

Fix breakage after r227983; lib/libcxxrt still got built, because it was
not disabled in the usual way (by adding it to __DEFAULT_NO_OPTIONS in
share/mk/bsd.own.mk), and because the test for MK_LIBCPLUSPLUS in
Makefile.inc1 was incorrect.

Pointy hat to: dim


# 30815c53 20-Oct-2011 Dimitry Andric <dim@FreeBSD.org>

Vendor import of llvm release_30 branch r142614:
http://llvm.org/svn/llvm-project/llvm/branches/release_30@142614


# b2e855ac 03-Oct-2011 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Now that its only consumer is gone (sysinstall), remove libftpio as well.


# 987db71f 03-Oct-2011 Jung-uk Kim <jkim@FreeBSD.org>

Remove a redundant check for libncp.

Submitted by: Alexander Sack (asack at niksun dot com)


# 180abc3d 17-Jul-2011 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang trunk r135360:
http://llvm.org/svn/llvm-project/cfe/trunk@135360


# 29cafa66 12-Jun-2011 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang trunk r132879:
http://llvm.org/svn/llvm-project/cfe/trunk@132879


# 2eb4b00c 17-May-2011 Florent Thoumie <flz@FreeBSD.org>

Backout libinstall.a -> libpkg commit.

Discussed with: erwin, brooks, bapt


# 366f6083 12-May-2011 Peter Grehan <grehan@FreeBSD.org>

Import of bhyve hypervisor and utilities, part 1.
vmm.ko - kernel module for VT-x, VT-d and hypervisor control
bhyve - user-space sequencer and i/o emulation
vmmctl - dump of hypervisor register state
libvmm - front-end to vmm.ko chardev interface

bhyve was designed and implemented by Neel Natu.

Thanks to the following folk from NetApp who helped to make this available:
Joe CaraDonna
Peter Snyder
Jeff Heller
Sandeep Mann
Steve Miller
Brian Pawlowski


# 0daf62d9 12-May-2011 Stanislav Sedov <stas@FreeBSD.org>

- Commit work from libprocstat project. These patches add support for runtime
file and processes information retrieval from the running kernel via sysctl
in the form of new library, libprocstat. The library also supports KVM backend
for analyzing memory crash dumps. Both procstat(1) and fstat(1) utilities have
been modified to take advantage of the library (as the bonus point the fstat(1)
utility no longer need superuser privileges to operate), and the procstat(1)
utility is now able to display information from memory dumps as well.

The newly introduced fuser(1) utility also uses this library and able to operate
via sysctl and kvm backends.

The library is by no means complete (e.g. KVM backend is missing vnode name
resolution routines, and there're no manpages for the library itself) so I
plan to improve it further. I'm commiting it so it will get wider exposure
and review.

We won't be able to MFC this work as it relies on changes in HEAD, which
was introduced some time ago, that break kernel ABI. OTOH we may be able
to merge the library with KVM backend if we really need it there.

Discussed with: rwatson


# 01af97d3 02-May-2011 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang trunk r130700:
http://llvm.org/svn/llvm-project/cfe/trunk@130700


# ad30f8e7 24-Feb-2011 Gabor Kovesdan <gabor@FreeBSD.org>

Add the BSD-licensed Citrus iconv to the base system with default off
setting. It can be built by setting the WITH_ICONV knob. While this
knob is unset, the library part, the binaries, the header file and
the metadata files will not be built or installed so it makes no impact
on the system if left turned off.

This work is based on the iconv implementation in NetBSD but a great
number of improvements and feature additions have been included:

- Some utilities have been added. There is a conversion table generator,
which can compare conversion tables to reference data generated by
GNU libiconv. This helps ensuring conversion compatibility.
- UTF-16 surrogate support and some endianness issues have been fixed.
- The rather chaotic Makefiles to build metadata have been refactored
and cleaned up, now it is easy to read and it is also easier to add
support for new encodings.
- A bunch of new encodings and encoding aliases have been added.
- Support for 1->2, 1->3 and 1->4 mappings, which is needed for
transliterating with flying accents as GNU does, like "u.
- Lots of warnings have been fixed, the major part of the code is
now WARNS=6 clean.
- New section 1 and section 5 manual pages have been added.
- Some GNU-specific calls have been implemented:
iconvlist(), iconvctl(), iconv_canonicalize(), iconv_open_into()
- Support for GNU's //IGNORE suffix has been added.
- The "-" argument for stdin is now recognized in iconv(1) as per POSIX.
- The Big5 conversion module has been fixed.
- The iconv.h header files is supposed to be compatible with the
GNU version, i.e. sources should build with base iconv.h and
GNU libiconv. It also includes a macro magic to deal with the
char ** and const char ** incompatibility.
- GNU compatibility: "" or "char" means the current local
encoding in use
- Various cleanups and style(9) fixes.

Approved by: delphij (mentor)
Obtained from: The NetBSD Project
Sponsored by: Google Summer of Code 2009


# bca07a45 20-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang trunk r126079:
http://llvm.org/svn/llvm-project/cfe/trunk@126079


# cf099d11 19-Feb-2011 Dimitry Andric <dim@FreeBSD.org>

Vendor import of llvm trunk r126079:
http://llvm.org/svn/llvm-project/llvm/trunk@126079


# 39cd938c 11-Nov-2010 Ed Schouten <ed@FreeBSD.org>

Replace libgcc.a by libcompiler_rt.a.

libcompiler_rt.a is a BSD licensed C language runtime, which implements
many routines which are linked into binaries on architectures where
certain functionality is missing (e.g. 64 bits mul/div on i386).

Unfortunately, libcompiler_rt cannot replace libgcc entirely. Certain
features, such as an unwinder for exception handling, are missing.
That's why only libgcc.a is replaced for now, because this one does seem
to be complete.

Tested by: rene (amd64), nwhitehorn (powerpc), droso (i386 exprun)
and many others. Thanks!
Obtained from: user/ed/compiler-rt


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


# 3d1dcd9b 17-Sep-2010 Dimitry Andric <dim@FreeBSD.org>

Vendor import of clang r114020 (from the release_28 branch):
http://llvm.org/svn/llvm-project/cfe/branches/release_28@114020

Approved by: rpaulo (mentor)


# b12277d1 28-Aug-2010 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Repair some build breakage introduced in r211725 and garbage collect some
code made obsolete in the same commit.


# 2bef81cf 24-Aug-2010 Warner Losh <imp@FreeBSD.org>

Change the logic here to match Makefile.inc1. Having it in two places
suggests an opportunity for refactoring :)

Submitted by: nathanw@


# 25faff34 23-Aug-2010 Warner Losh <imp@FreeBSD.org>

MFtbemd:

Prefer MACHNE_CPUARCH to MACHINE_ARCH in most contexts where you want
to test of all the CPUs of a given family conform.


# fb05b666 31-Jul-2010 Rui Paulo <rpaulo@FreeBSD.org>

Build librtld_db.

Sponsored by: The FreeBSD Foundation


# a2d3d1e2 31-Jul-2010 Rui Paulo <rpaulo@FreeBSD.org>

Simplify the Makefile. The i386 and amd64 sections are equal.

Sponsored by: The FreeBSD Foundation


# 54bb94d7 31-Jul-2010 Rui Paulo <rpaulo@FreeBSD.org>

libproc is going to be i386/amd64 only with the next update.

Sponsored by: The FreeBSD Foundation


# 4ba67500 13-Jul-2010 Roman Divacky <rdivacky@FreeBSD.org>

Update clang to r108243.


# 7f503b57 11-Jul-2010 Nathan Whitehorn <nwhitehorn@FreeBSD.org>

Build libsmb should be on powerpc64 as well.


# bfc72ed5 21-Jun-2010 Ed Schouten <ed@FreeBSD.org>

Don't build Clang libs during lib32 build.

This should massively reduce the buildworld time on amd64.

Pointy hat to: me


# 6513cfc8 09-Jun-2010 Roman Divacky <rdivacky@FreeBSD.org>

Hook clang into the build on i386/amd64/powerpc.

Approved by: ed (mentor)


# 3829a734 18-May-2010 Martin Matuska <mm@FreeBSD.org>

MFC r207842, r207844, r208099:

MFC r207842:
Import of liblzma, xz, xzdec, lzmainfo from vendor branch
Add support for xz and lzma to lesspipe.sh (xzless, lzless)

MFC r207844:
Add two public headers missing in r207842
Adjust CFLAGS for lzmainfo, xz, xzdec

MFC r208099:
Add versioned symbols to liblzma
Use default SHLIB_MAJOR.

Approved by: delphij (mentor)


# 379e4771 17-May-2010 Martin Matuska <mm@FreeBSD.org>

MFC r204738, r205113 (imp):

MFC r204738:
Remove stale references to libkrb5.
Rejigger the SUBDIR setting a smidge: we now set all the libraries that depend
on something else, and then SUBDIR+= the rest.

MFC r205113:
Make this conform to the other top-level Makefile subdir listings with
one file per line.

Approved by: delphij (mentor)


# 762c7db2 23-Apr-2010 Florent Thoumie <flz@FreeBSD.org>

- Take libinstall.a out of pkg_install and make it a proper shared library.
- Rework the wrapper support to check libpkg version as well as pkg_install
version.
- Add libfetch to _prebuild_libs.
- There are no new features introduced.

Notes: the API is not stable, so basically, do not use libpkg in your
projects for now. Also there's no manpage for libpkg yet, because the API
will change drastically. I repeat, do not use libpkg for now.


# 9b3e440b 12-Mar-2010 Warner Losh <imp@FreeBSD.org>

Make this conform to the other top-level Makefile subdir listings with
one file per line.

Suggested by: bde


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


# eae951c9 04-Mar-2010 Warner Losh <imp@FreeBSD.org>

Remove stale references to libkrb5.
Rejigger the SUBDIR setting a smidge: we now set all the libraries that depend
on something else, and then SUBDIR+= the rest.

A separate commit will fix the SUBDIR style to be the same as the rest
of the tree.


# aa3d547d 01-Mar-2010 Xin LI <delphij@FreeBSD.org>

MFC x86emu/x86bios emulator and make previously i386 only dpms and vesa
framebuffer driver, etc. work on FreeBSD/amd64.

A significant amount of improvements were done by jkim@ during the recent
months to make vesa(4) work better, over the initial code import. This
work is based on OpenBSD's x86emu implementation and contributed by
paradox <ddkprog yahoo com> and swell.k at gmail com.

Hopefully I have stolen all their work to 8-STABLE :)

All bugs in this commit are mine, as usual.


# ecb7e5c8 16-Feb-2010 Roman Divacky <rdivacky@FreeBSD.org>

Update clang to r96341.


# eb0a7e41 29-Jan-2010 Marcel Moolenaar <marcel@FreeBSD.org>

Introduce libefi -- a library around EFI runtime services and protocols.
This first commit brings 3 functions for enumerating, retrieving,
adding, removing and modifying EFI variables. The immediate use of these
include the insertion of a new boot option as part of the installation
process.

This library uses ioctl(2) requests implemented by io(4) to pass the
requests down through the kernel to EFI. These ioctl requests are only
implemented on ia64, so libefi is currently only enabled on ia64. The
interface is generic and io(4) on mad64/i386 can easily be taught to
handle these once EFI support has been added to the kernel there.


# 69618fcf 25-Jan-2010 Pyun YongHyeon <yongari@FreeBSD.org>

Connect smbfs related libraries and tool on sparc64.

Reviewed by: marius


# 5044f5c8 23-Jan-2010 Roman Divacky <rdivacky@FreeBSD.org>

Update clang to r94309.


# 84bee0d7 21-Jan-2010 Ed Schouten <ed@FreeBSD.org>

Remove libulog from the bootstrap again.

libulog now only provides functions that are used by various packages
from the ports tree, namely the libutempter ones. There is no reason to
link it into the crunch/fixit binaries anymore.


# 17c79ad0 11-Dec-2009 Ed Schouten <ed@FreeBSD.org>

Convert pam_lastlog(8) to libulog.

The information used by the "Last login:"-line is obtained by using
ulog_setutxfile(3) to switch to the lastlog database. Login and logout
are performed using the utility functions ulog_login(3) and
ulog_logout(3).

This also means we must build libulog during bootstrap.

Approved by: des


# 2208eadf 03-Dec-2009 Ed Schouten <ed@FreeBSD.org>

Add a new library: libulog.

One of the things I really want to do, is to get rid of the limitations
of our current utmp(5) mechanism:

- It only allows 8 byte TTY device names.
- The hostname only allows 16 bytes of storage.

I'm not a big fan of <utmpx.h>, but I think we should at least try to
add parts of it. Unfortunately we cannot implement <utmpx.h>, because we
miss various fields, such as ut_id, ut_pid, etc. The API provided by
libulog shares some similarities with <utmpx.h>, so it shouldn't be too
hard to port these applications eventually. In most simple cases, it
should just be a matter of removing the ulog_ prefix everywhere.

As a bonus, it also implements a function called ulog_login_pseudo(),
which allows unprivileged applications to write log entries, provided
they have a valid file descriptor to a pseudo-terminal master device.

libulog will allow a smoother transition to a new file format by adding
a library interface to deal with utmp/wtmp/lastlog files. I initially
thought about adding the functionality to libutil, but because I'm not
planning on keeping this library around forever, we'd better keep it
separated.

Next items on the todo list:

1. Port applications in the base system (and ports) to libulog, instead
of letting them use <utmp.h>.
2. Remove <utmp.h>, implement <utmpx.h> and reimplement this library on
top.
3. Port as many applications as possible back to <utmpx.h>.


# 4c8b2481 14-Oct-2009 Roman Divacky <rdivacky@FreeBSD.org>

Update clang to r84119.


# 59850d08 14-Oct-2009 Roman Divacky <rdivacky@FreeBSD.org>

Update llvm to r84119.


# ee5e90da 09-Sep-2009 Xin LI <delphij@FreeBSD.org>

- Teach vesa(4) and dpms(4) about x86emu. [1]
- Add vesa kernel options for amd64.
- Connect libvgl library and splash kernel modules to amd64 build.
- Connect manual page dpms(4) to amd64 build.
- Remove old vesa/dpms files.

Submitted by: paradox <ddkprog yahoo com> [1], swell k at gmail.com
(with some minor tweaks)


# 18f153bd 04-Jul-2009 Ed Schouten <ed@FreeBSD.org>

Import LLVM 74788.


# f859468f 27-Jun-2009 Ed Schouten <ed@FreeBSD.org>

Import LLVM r74383.


# de6f3704 24-Jun-2009 Jamie Gritton <jamie@FreeBSD.org>

Add libjail, a (somewhat) simpler interface to the jail_set and jail_get
system calls and the security.jail.param sysctls.

Approved by: bz (mentor)


# ec2b103c 02-Jun-2009 Ed Schouten <ed@FreeBSD.org>

Import Clang, at r72732.


# 009b1c42 02-Jun-2009 Ed Schouten <ed@FreeBSD.org>

Import LLVM, at r72732.


# 6df55934 09-Mar-2009 Andrew Thompson <thompsa@FreeBSD.org>

Commit missed file in r189587, update directory name for libusb.

Spotted by: rdivacky


# 6f0e1ffd 19-Nov-2008 Alfred Perlstein <alfred@FreeBSD.org>

src/sys/dev/usb2/controller/uss820dci_pccard.c
src/sys/dev/usb2/core/usbdevs
src/sys/dev/usb2/include/urio2_ioctl.h
src/sys/dev/usb2/storage/ustorage2_fs.h

These files are not used any more.

src/usr.sbin/Makefile
src/etc/mtree/BSD.include.dist
src/include/Makefile
src/lib/Makefile
src/share/man/man7/hier.7
src/share/mk/bsd.libnames.mk
src/etc/mtree/BSD.include.dist

Make "usbconfig" and "libusb20" a part of the default build.

src/sys/dev/usb/rio500_usb.h
src/sys/dev/usb2/storage/urio2.c

Use common include file.

src/sys/dev/usb2/bluetooth/ng_ubt2.c

Make USB bluetooth depend on "ng_hci" module.

src/sys/dev/usb2/controller/ehci2.c
src/sys/dev/usb2/controller/ehci2.h

Patches for Marvell EHCI.

src/sys/dev/usb2/core/usb2_busdma.c

Bugfix for 64-bit platforms. Need to unload the previously loaded DMA
map and some cleanup regarding some corner cases.

src/sys/dev/usb2/core/usb2_core.h
src/sys/dev/usb2/core/usb2_dev.c
src/sys/dev/usb2/core/usb2_dev.h

Bugfix for libusb filesystem interface.

New feature: Add support for filtering device data at the expense of the
userland process.

Add some more comments.

Some minor code styling.

Remove unused function, usb2_fifo_get_data_next().

Fix an issue about "fifo_index" being used instead of "ep_index".

src/sys/dev/usb2/core/usb2_device.c
src/sys/dev/usb2/core/usb2_generic.c

Bugfix for Linux USB compat layer. Do not free non-generic FIFOs when
doing an alternate setting.

Cleanup USB IOCTL and USB reference handling.
Fix a corner case where USB-FS was left initialised after
setting a new configuration or alternate setting.

src/sys/dev/usb2/core/usb2_hub.c

Improvement: Check all USB HUB ports by default at least one time.

src/sys/dev/usb2/core/usb2_request.c

Bugfix: Make sure destination ASCII string is properly zero terminated
in all cases.

Improvement: Skip invalid characters instead of replacing with a dot.

src/sys/dev/usb2/core/usb2_util.c
src/sys/dev/usb2/image/uscanner2.c

Spelling.

src/sys/dev/usb2/include/Makefile

Share "usbdevs" with the old USB stack.

src/sys/dev/usb2/include/usb2_devid.h
src/sys/dev/usb2/include/usb2_devtable.h

Regenerate files.

Alfred: Please fix the RCS tag at the top.

src/sys/dev/usb2/include/usb2_ioctl.h

Fix compilation of "kdump".

src/sys/dev/usb2/serial/ubsa2.c
src/sys/dev/usb2/serial/ugensa2.c

Remove device ID's which will end up in a new 3G driver.

src/sys/dev/usb2/sound/uaudio2.c

Correct a debug printout.

src/sys/dev/usb2/storage/umass2.c

Sync with old USB stack.

src/lib/libusb20/libusb20.3

Add more documentation.

src/lib/libusb20/libusb20.c

Various bugfixes and improvements.

src/usr.sbin/usbconfig/dump.c
src/usr.sbin/usbconfig/usbconfig.c

New commands for dumping strings and doing custom USB requests from
the command line.

Remove keyword requirements from generated files:
"head/sys/dev/usb2/include/usb2_devid.h"
"head/sys/dev/usb2/include/usb2_devtable.h"


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

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


# 690f477d 21-Sep-2008 Sam Leffler <sam@FreeBSD.org>

add new build knobs and jigger some existing controls to improve
control over the result of buildworld and installworld; this especially
helps packaging systems such as nanobsd

Reviewed by: various (posted to arch)
MFC after: 1 month


# 7699430e 01-Sep-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

When I flattened the dist tree, some files that had been removed in prior
vendor imports were inadvertantly resurrected. Re-remove them.


# 8f55a568 06-Aug-2008 Doug Rabson <dfr@FreeBSD.org>

Add an implementation of the RPCSEC_GSS authentication protocol for RPC. This
is based on an old implementation from the University of Michigan with lots of
changes and fixes by me and the addition of a Solaris-compatible API.

Sponsored by: Isilon Systems
Reviewed by: alfred


# e3ae3b09 22-Jul-2008 Dag-Erling Smørgrav <des@FreeBSD.org>

Properly flatten openssh/dist.


# e4372ceb 25-May-2008 Robert Watson <rwatson@FreeBSD.org>

Remove netatm from HEAD as it is not MPSAFE and relies on the now removed
NET_NEEDS_GIANT. netatm has been disconnected from the build for ten
months in HEAD/RELENG_7. Specifics:

- netatm include files
- netatm command line management tools
- libatm
- ATM parts in rescue and sysinstall
- sample configuration files and documents
- kernel support as a module or in NOTES
- netgraph wrapper nodes for netatm
- ctags data for netatm.
- netatm-specific device drivers.

MFC after: 3 weeks
Reviewed by: bz
Discussed with: bms, bz, harti


# 0cb540ce 21-May-2008 John Birrell <jb@FreeBSD.org>

Hook libdwarf and libproc into the build.


# 34147e43 12-Mar-2008 Jeff Roberson <jeff@FreeBSD.org>

- Remove libkse and related support code in libpthread from the build.
Don't remove the files yet. Kernel support will be removed shortly.


# 6dc51eca 12-Dec-2007 Ruslan Ermilov <ru@FreeBSD.org>

- Fix setting of MK_GSSAPI option by bsd.own.mk; its value should
default to the value of MK_KERBEROS unless set explicitly by
WITH_GSSAPI/WITHOUT_GSSAPI. (This introduces another type of
MK_* variables which itself is questionable.)

- Teach tools/build/options/makeman script that generates the
src.conf(5) manpage about the new type of MK_* variables.

- Fix broken logic in lib/Makefile.


# 3fe21f77 10-Dec-2007 Doug Barton <dougb@FreeBSD.org>

Hide the building and installation of libgssapi behind the
WITHOUT_KERBEROS knob. While GSS can be used for other things
some third party software (most notably ports/x11/kdelibs3)
takes the presence of libgssapi as an indication that kerberos
is available, and attempts to link with the kerberos libs. If
they are not available, the build will fail.

Because you might want to use GSS but not kerberos, add a knob
to re-enable it if WITHOUT_KERBEROS is present.

Document the new knob, and the new behavior of WITHOUT_KERBEROS.

Not objected and/or generally agreed to by: freebsd-arch

Problem discussed/analyzed in:
PR: ports/116484


# f0aa4844 17-Nov-2007 Olivier Houchard <cognet@FreeBSD.org>

Build libthread_db for arm as well.

MFC after: 1 week


# 4064334f 26-Oct-2007 Ruslan Ermilov <ru@FreeBSD.org>

Add a period for yar@.


# 946367b8 09-Oct-2007 David E. O'Brien <obrien@FreeBSD.org>

Tweak the handling of "WITHOUT_LIBPTHREAD". Also remove the accidental
treatment of 'LIBKSE' as an "old style" knob.

Submitted by: ru
Approved by: re(kensmith)


# 65c045e9 09-Oct-2007 David E. O'Brien <obrien@FreeBSD.org>

Repo copy libpthreads to libkse.
This introduces the WITHOUT_LIBKSE nob,
and changes WITHOUT_LIBPTHREADS to mean with neither threading libs.
Approved by: re(kensmith)


# 2b851aeb 14-Jul-2007 Robert Watson <rwatson@FreeBSD.org>

Disconnect netatm from the build as it is not MPSAFE and relies on
NET_NEEDS_GIANT, which will shortly be removed. This is done in a
away that it may be easily reattached to the build before 7.1 if
appropriate locking is added. Specifics:

- Don't install netatm include files
- Disconnect netatm command line management tools
- Don't build libatm
- Don't include ATM parts in rescue or sysinstall
- Don't install sample configuration files and documents
- Don't build kernel support as a module or in NOTES
- Don't build netgraph wrapper nodes for netatm

This removes the last remaining consumer of NET_NEEDS_GIANT.

Reviewed by: harti
Discussed with: bz, bms
Approved by: re (kensmith)


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

Make sure libc is installed before all other shared libraries. Other
libraries might depend on versioned symbols from libc.


# af5b5a0f 20-Jan-2007 Rong-En Fan <rafan@FreeBSD.org>

Switch to new ncurses build glue

Approved by: delphij


# 3eb1a62e 11-Nov-2006 Joseph Koshy <jkoshy@FreeBSD.org>

MFP4: Add an implementation of the ELF(3) and GELF(3) API set.

Bump __FreeBSD_version.

Reviewed by: jb


# 2e975006 30-Sep-2006 Ruslan Ermilov <ru@FreeBSD.org>

Removed libc_r build support.


# 2b46c64c 22-Aug-2006 Ruslan Ermilov <ru@FreeBSD.org>

Remove alpha left-overs.


# e108ac65 21-Aug-2006 Marcel Moolenaar <marcel@FreeBSD.org>

Build libsmb and smbutil on ia64.


# fac8eae5 04-Aug-2006 Marcel Moolenaar <marcel@FreeBSD.org>

Build libthread_db on PowerPC.


# cea557ad 20-Mar-2006 Ruslan Ermilov <ru@FreeBSD.org>

Extend coverage of the MK_IPX build option to the following:

- <netipx> headers [1]
- IPX library (libipx)
- IPX support in ifconfig(8)
- IPXrouted(8)
- new MK_NCP option

New MK_NCP build option controls:

- <netncp> and <fs/nwfs> headers
- NCP library (libncp)
- ncplist(1) and ncplogin(1)
- mount_nwfs(8)
- ncp and nwfs kernel modules

User knobs: WITHOUT_IPX, WITHOUT_IPX_SUPPORT, WITHOUT_NCP.

[1] <netsmb/netbios.h> unconditionally uses <netipx> headers
so they are still installed. This needs to be dealt with.


# 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)


# 7ae5a033 08-Mar-2006 David Xu <davidxu@FreeBSD.org>

Connect librt to buildworld.


# 65eb7df0 02-Feb-2006 Robert Watson <rwatson@FreeBSD.org>

Add libbsm to the library build.

Obtained from: TrustedBSD Project


# ea7075eb 25-Jan-2006 Olivier Houchard <cognet@FreeBSD.org>

Add a dummy arm Write_Disk() function, and compile libdisk on arm.


# c0b9f4fe 29-Dec-2005 Doug Rabson <dfr@FreeBSD.org>

Add a new extensible GSS-API layer which can support GSS-API plugins,
similar the the Solaris implementation. Repackage the krb5 GSS mechanism
as a plugin library for the new implementation. This also includes a
comprehensive set of manpages for the GSS-API functions with text mostly
taken from the RFC.

Reviewed by: Love Hörnquist Åstrand <lha@it.su.se>, ru (build system), des (openssh parts)


# 38478fab 26-Oct-2005 David Xu <davidxu@FreeBSD.org>

Disconnect libc_r from buildworld, it is still kept in the tree to
provide some baseline references, but users are encouraged to use
libpthread or libthr in real world.

Discussed on: arch@


# 59fa7082 19-Sep-2005 R. Imura <imura@FreeBSD.org>

Connect smbfs build on powerpc.


# 1189affa 14-Jul-2005 Robert Watson <rwatson@FreeBSD.org>

Hook libmemstat(3) up to the build.


# ca8cf1ec 20-Apr-2005 Marcel Moolenaar <marcel@FreeBSD.org>

Build libpmc on all architectures (FWIW :-)

Ok'd by: jkoshy@


# ebccf1e3 18-Apr-2005 Joseph Koshy <jkoshy@FreeBSD.org>

Bring a working snapshot of hwpmc(4), its associated libraries, userland utilities
and documentation into -CURRENT.

Bump FreeBSD_version.

Reviewed by: alc, jhb (kernel changes)


# 10148423 01-Apr-2005 David Xu <davidxu@FreeBSD.org>

Connect libthr and libthread_db to make buildworld.


# f150fe13 01-Apr-2005 David Xu <davidxu@FreeBSD.org>

Prepare for importing my 1:1 threading work, disconnect libthr and
libthread_db from make buildworld.


# 7536a05b 06-Feb-2005 Poul-Henning Kamp <phk@FreeBSD.org>

Tie libgpib into the build (unless NO_GPIB)


# a2161735 21-Dec-2004 Ruslan Ermilov <ru@FreeBSD.org>

NOCRYPT -> NO_CRYPT


# 07736e20 21-Dec-2004 Ruslan Ermilov <ru@FreeBSD.org>

NOATM -> NO_ATM


# f1f6253f 21-Dec-2004 Ruslan Ermilov <ru@FreeBSD.org>

NOLIBC_R -> NO_LIBC_R
NOLIBPTHREAD -> NO_LIBPTHREAD
NOLIBTHR -> NO_LIBTHR


# 2868be0b 13-Nov-2004 Tim J. Robbins <tjr@FreeBSD.org>

Remove stub libxpg4. All functionality was merged into libc a long time ago.


# 6c58990d 13-Nov-2004 Bjoern A. Zeeb <bz@FreeBSD.org>

Add knob NO_NIS (fka NO_YP_LIBC) and make world compileable when set.
If turned on no NIS support and related programs will be built.

Lost parts rediscovered by: Danny Braniss <danny at cs.huji.ac.il>
PR: bin/68303
No objections: des, gshapiro, nectar
Reviewed by: ru
Approved by: rwatson (mentor)
MFC after: 2 weeks


# 34a787bb 10-Nov-2004 Mark Murray <markm@FreeBSD.org>

Help Tinderbox and remove libautofs


# 5f892a7f 24-Sep-2004 Tom Rhodes <trhodes@FreeBSD.org>

Fix build in the !NOATM case by using the begemot library in place of
using libisc which was a part of BIND8.

Discussed with: des, re, dougb
Submitted by: harti (one part)
Reviewed by: harti (previous version)


# cd3ee173 21-Sep-2004 Dag-Erling Smørgrav <des@FreeBSD.org>

Switch from BIND 8 to BIND 9.

Submitted by: (in part) dougb@, trhodes@
Reviewed by: dougb@, trhodes@, re@
MFC after: 5 days


# 345c5f4a 03-Sep-2004 Alfred Perlstein <alfred@FreeBSD.org>

Hook libautofs to the build.


# c6d8b958 29-Aug-2004 David E. O'Brien <obrien@FreeBSD.org>

Start the de-orbital burn of our previous FreeBSD version compat libs
living in usr/src. We need to use them from ports to record dependencies.

Discussed with: re(scottl)


# aea0abf3 19-Aug-2004 David Xu <davidxu@FreeBSD.org>

build libthr on amd64.


# 8f7ffe58 09-Aug-2004 David E. O'Brien <obrien@FreeBSD.org>

Turn on the magic.


# 98707ef5 18-Jul-2004 Peter Grehan <grehan@FreeBSD.org>

Enable libpthread build for powerpc


# 14d2874c 17-Jul-2004 Marcel Moolenaar <marcel@FreeBSD.org>

Hook libthread_db into the build, except for arm and powerpc.
Porting libthread_db to arm and/or powerpc is easy enough, but
we don't build gdb on those platforms yet.


# 23d1e148 07-Jul-2004 Maksim Yevmenkin <emax@FreeBSD.org>

Make bluetooth compile on all platforms

Reviewed by: imp, ru


# 3c23d036 14-May-2004 Bruce Evans <bde@FreeBSD.org>

Style fixes:
Main ones: mostly use conditional expressions in ifdefs instead of a
mixture of conditional expressions and nested ifdefs.
Nearby ones:
- don't do less than echo the code in the comment about libc_r
- fixed some internal insertion sort errors and indentation errors.


# f3e5ff40 14-May-2004 Bruce Evans <bde@FreeBSD.org>

Fixed some insertion sort errors (external ones only).


# cc5735a3 14-May-2004 Olivier Houchard <cognet@FreeBSD.org>

Do not attempt to build libdisk, libthr and libc_r for arm.


# 06d7c93d 21-Apr-2004 Peter Grehan <grehan@FreeBSD.org>

Enable libdisk for powerpc build.


# b36dfb02 10-Mar-2004 Poul-Henning Kamp <phk@FreeBSD.org>

Put libypclnt behind NO_YP_LIBC


# 9c307817 01-Mar-2004 Peter Grehan <grehan@FreeBSD.org>

Hook libthr to the build for PowerPC


# 6b582d54 19-Feb-2004 Marcel Moolenaar <marcel@FreeBSD.org>

Moving forward, there's no reason to exclude libpthread on sparc64.


# bcaf9acc 12-Feb-2004 Tim Kientzle <kientzle@FreeBSD.org>

Connect libarchive to the build.


# 18d948ad 27-Jan-2004 Maksim Yevmenkin <emax@FreeBSD.org>

Add NO_BLUETOOTH knob to the build process

Requested by: phk
Reviewed by: imp (mentor), ru


# 360b288f 12-Nov-2003 Hartmut Brandt <harti@FreeBSD.org>

The snmp_netgraph module depends on libnetgraph. So add a dependency and
add libnetgraph to the list of prebuilt libraries in the main Makefile.

Reviewed by: ru


# 897276fd 10-Nov-2003 Hartmut Brandt <harti@FreeBSD.org>

Link libbsnmp to the build.


# 9e9dbe04 22-Oct-2003 Hartmut Brandt <harti@FreeBSD.org>

Link libngatm to the build (unless NOATM is set).


# 0986ab12 12-Oct-2003 Maksim Yevmenkin <emax@FreeBSD.org>

Update Bluetooth code.

Reviewed by: M. Warner Losh <imp@bsdimp.com>; John Hay <jhay@freebsd.org>
Approved by: M. Warner Losh <imp@bsdimp.com> (mentor)


# c4f02a89 26-Sep-2003 Max Khon <fjoe@FreeBSD.org>

- Support for multibyte charsets in LIBICONV.
- CD9660_ICONV, NTFS_ICONV and MSDOSFS_ICONV kernel options
(with corresponding modules).
- kiconv(3) for loadable charset conversion tables support.

Submitted by: Ryuichiro Imura <imura@ryu16.org>


# 3bc2f9a8 29-Aug-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Introduce more knobs to slim down FreeBSD userland

NO_TOOLCHAIN skips Compilers and Binutils
NO_USB skips USB stuff
NO_VINUM skips Vinum stuff
NO_ACPI skips ACPI stuff


# 5e1847b4 27-Aug-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Make build of libatm depend on existing NOATM conditional.


# f29db4e7 16-Aug-2003 David E. O'Brien <obrien@FreeBSD.org>

Imply NOLIBC_R for PowerPC.


# 3d823985 09-Aug-2003 Daniel Eischen <deischen@FreeBSD.org>

Add libpthread to the alpha build.

Requested by ru: Since the majority of archs can now support the
build of libpthread, rearrange the Makefile to treat libpthread
as an exception.


# de1b32cd 08-Aug-2003 Daniel Eischen <deischen@FreeBSD.org>

Since it builds and seems to work OK, add libpthread to the amd64 build.


# ebb9f0ef 24-Jul-2003 Mark Murray <markm@FreeBSD.org>

Don't check for the existance of src/crypto/ for building items that
may contain crypto. The days of ITAR paranoia are over, and the simple
macro tests that remain are sufficient.


# 55434686 23-Jul-2003 Peter Wemm <peter@FreeBSD.org>

Connect libncp/libsmb to the build. They compile, but have a couple of
silly bugs that probably wont quite make a segfault. eg: passing a pointer
to an int to sysctl instead of a pointer to a size_t.


# e9043a12 19-Jul-2003 Mike Makonnen <mtm@FreeBSD.org>

Now that we have the stubs for alpha and we can build it
on that platform, invert the test for the platforms on
which libthr is built. Amd64 and powerpc are the only
platforms excluded.

Compile tested on: amd64, alpha


# 4afa3718 16-Jul-2003 Mark Murray <markm@FreeBSD.org>

Very big makeover in the way telnet, telnetd and libtelnet are built.

Previously, there were two copies of telnet; a non-crypto version
that lived in the usual places, and a crypto version that lived in
crypto/telnet/. The latter was built in a broken manner somewhat akin
to other "contribified" sources. This meant that there were 4 telnets
competing with each other at build time - KerberosIV, Kerberos5,
plain-old-secure and base. KerberosIV is no longer in the running, but
the other three took it in turns to jump all over each other during a
"make buildworld".

As the crypto issue has been clarified, and crypto _calls_ are not
a problem, crypto/telnet has been repo-copied to contrib/telnet,
and with this commit, all telnets are now "contribified". The contrib
path was chosen to not destroy history in the repository, and differs
from other contrib/ entries in that it may be worked on as "normal"
BSD code. There is no dangerous crypto in these sources, only a
very weak system less strong than enigma(1).

Kerberos5 telnet and Secure telnet are now selected by using the usual
macros in /etc/make.conf, and the build process is unsurprising and
less treacherous.


# c8cd8ab0 27-Jun-2003 Marcel Moolenaar <marcel@FreeBSD.org>

o disconnect libc_r from the build on ia64. The library is now
obsolete. The intend is to add glue to either libthr or
libpthread to create the necessary compat links.
o Hook libpthread to the build on ia64. This is slightly out of
order, because the kernel still doesn't have all the support,
but that's not a problem in this case.


# 764ca408 25-Jun-2003 Peter Wemm <peter@FreeBSD.org>

Re-enable libstand on all platforms including amd64.


# 3aefe094 02-Jun-2003 Peter Wemm <peter@FreeBSD.org>

Port libc_r to amd64, and turn it back on for amd64. It passes all of
the same src/lib/libc_r/test/* tests that the other platforms pass.


# abbb0b30 31-May-2003 Marcel Moolenaar <marcel@FreeBSD.org>

Build libthr by default on ia64.


# 31b86811 31-May-2003 Mike Makonnen <mtm@FreeBSD.org>

Hook libthr to the build. It's currently built only for i386 and
a NOLIBTHR knob will prevent it from being built.


# 7691f66a 19-May-2003 Dag-Erling Smørgrav <des@FreeBSD.org>

Retire the useless NOSECURE knob.

Approved by: re (scottl)


# dbf104e6 05-May-2003 Mark Murray <markm@FreeBSD.org>

Turn MAKE_KERBEROS5 into NO_KERBEROS by negating the logic. Some extra
cleanups were necessary in release/Makefile, and the tinderbox code
was syntax checked, not run checked.


# a52672e9 01-May-2003 Ruslan Ermilov <ru@FreeBSD.org>

Build non-crypto telnet(1) and telnetd(8) if NO_OPENSSL is defined.

Submitted by: Marius Strobl <marius@alchemy.franken.de>


# d95bef1c 30-Apr-2003 Peter Wemm <peter@FreeBSD.org>

Turn off libstand for amd64 for the time being. It is built in i386
mode, and we do not need the complications for now.


# 6b385310 30-Apr-2003 David E. O'Brien <obrien@FreeBSD.org>

No libc_r for AMD64.


# 2550f696 30-Apr-2003 Ruslan Ermilov <ru@FreeBSD.org>

Fixed alignment.


# c2026477 24-Apr-2003 Daniel Eischen <deischen@FreeBSD.org>

Connect libpthread to the (i386) world. It is currently installed
as libkse and will once again be renamed libpthread after more
testing.

Approved by: re


# 7678c8a4 08-Mar-2003 Mark Murray <markm@FreeBSD.org>

KerberosIV deorbit sequence continues: Look for K5 instead of KIV


# 0bc81187 20-Feb-2003 David E. O'Brien <obrien@FreeBSD.org>

Some things don't build for PowerPC yet.

List from: benno


# cfeccd19 08-Feb-2003 Poul-Henning Kamp <phk@FreeBSD.org>

Hook libgeom in.


# 4b1d654e 05-Jan-2003 Marcel Moolenaar <marcel@FreeBSD.org>

Port libc_r to ia64. We need to do things slightly different
because we have 2 stacks per thread: the regular downward
memory stack and the irregular upward register stack. This
implementation lets both stacks grow toward each other. An
alternative scheme is to have them grow away from each other.
The alternate scheme has the advantage that both stack grow
toward guard pages. Since libc_r is virtually dead and we
really want the *context stuff for thread switching, we don't
try to be perfect, just functional.


# f8a97081 05-Jan-2003 Thomas Moestl <tmm@FreeBSD.org>

Build libc_r on sparc64, it should work now.


# 2cf71369 04-Oct-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Connect libbsdxml (nee libexpat) to the build.


# 0f88f8b7 19-Sep-2002 Julian Elischer <julian@FreeBSD.org>

reconnect libc_r
Hint from: deischen@freebsd.org


# 8da4b356 17-Sep-2002 Peter Wemm <peter@FreeBSD.org>

Add i386 to the list of architectures that libc_r is broken on. This
effectively removes pppctl from the build for now. It only compiles on
alpha now (now ironic).


# 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


# ed574084 02-Aug-2002 Robert Watson <rwatson@FreeBSD.org>

Hook up libugidfw to the build.

Obtained from: TrustedBSD Project
Sponsored by: DARPA, NAI Labs


# 20938dbf 30-Jun-2002 Juli Mallett <jmallett@FreeBSD.org>

Add libufs, a library for dealing with UFS filesystems from userland to
the build. It is here to compartmentalise functionality currently duplicated
in many notable programs in the base system. It currently handles block
reads and writes, as well as reading and writing of the filesystem superblock,
and the reading/lookup of inode data. It supports both UFS and UFS2. I
will be maintaining it, and porting programs to use it, however for now, it
is simply being built as part of world.


# 086b2eb5 18-May-2002 Poul-Henning Kamp <phk@FreeBSD.org>

Don't try to build libc_r on sparc64, the _atomic_lock.S file isn't implemented.


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

Do not build libmp if NOSECURE is set (NO_OPENSSL is on a subset of NOSECURE)


# 07cf2196 13-May-2002 Ruslan Ermilov <ru@FreeBSD.org>

Removed the a.out compatibility cruft.

libgnumalloc.so.2 and libresolv.so.2 should be put under
lib/compat/compat2?/ but I don't have the 2.x releases.


# 89a75ff0 11-May-2002 David E. O'Brien <obrien@FreeBSD.org>

We don't need libgnumalloc or libresolv on ELF systems.


# 97b877c9 14-Apr-2002 Dag-Erling Smørgrav <des@FreeBSD.org>

Connect libypclnt to the build.


# a6402160 27-Mar-2002 Josef Karthauser <joe@FreeBSD.org>

Follow NetBSD and rename libusb to libusbhid.

MFC after: 7 days


# 850dab17 17-Feb-2002 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Add two new libraries which are part of sendmail 8.12. libsm is used only
for building sendmail and the associated utilities. libmilter is a new
mail filtering API for sendmail.


# 23eb26fa 14-Dec-2001 Sheldon Hearn <sheldonh@FreeBSD.org>

Kernel support for smbfs is only built on the i386 at the moment, so
limit the building and installation of the userland utilities to that
architecture for now.

Reported by: bmah


# 85519b00 14-Dec-2001 Sheldon Hearn <sheldonh@FreeBSD.org>

Add bmake glue for src/contrib/smbfs and connect userland smbfs
support to the build.

The MFC reminder below is subject to <re@FreeBSD.org> approval
prior to 4.5-RELEASE.

Reviewed by: bp, fjoe
MFC: 1 week


# 6dbfffa3 10-Nov-2001 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Fix NO_SENDMAIL knob. When FreeBSD's old BSD version of vacation was
replaced with the new version in sendmail's distribution, vacation and
the necessary libraries (libsmdb and libsmutil) were changed so they
were always compiled. This broke people who didn't checkout
src/contrib/sendmail/. I don't know if it's best to think of NO_SENDMAIL
as no sendmail sources available or no sendmail binary. It is now the former.

Also, remove the sendmail chapter from System Managers Manual (SMM) if
NO_SENDMAIL is defined (for similar reasons -- source not available).

PR: 31863, 31865
Submitted by: matusita, Joe Kelsey <joe@zircon.seattle.wa.us>
MFC after: 3 days


# b5c85483 02-Nov-2001 Peter Wemm <peter@FreeBSD.org>

Do not ``build'' (ie remove, and put in stub libraries) for libresolv
and/or libgnumalloc on anything but i386. The other platforms
post-date this mistake.

Do not build libc_r for ia64. There are some fundamental issues that
need to be resolved (ie: it cannot use setjmp/longjmp for thread
switching, which isn't likely to be fixed soon. libc_r has to be
reimplemented using something like makecontext()/swapcontext() etc
in order to work in ia64.)


# 76ed168a 26-Aug-2001 Mark Murray <markm@FreeBSD.org>

Adjust dependancies and build order. PAM needs RPC.


# 4870a3d3 19-Aug-2001 Kris Kennaway <kris@FreeBSD.org>

Say goodbye to libss, which somehow managed to crouch hidden in the tree
for long after it was used.


# c4a5ef6e 04-Aug-2001 Thomas Moestl <tmm@FreeBSD.org>

Add some features to libdevstat, and overhaul the interface a bit:

1.) prefix all functions in the library with devstat_ (compatability
functions are available for all functions that were chaned in an
incompatible way, but are deprecated).
2.) Add a pointer to a kvm_t as the first argument to functions that
used to get their information via sysctl; they behave the same
as before when NULL is passed as this argument, otherwise, the
information is obtained via libkvm using the supplied handle.
3.) Add a new function, devstat_compute_statistics(), that is intended
to replace the old compute_stats() function. It offers more
statistics data, and has a more flexible interface.

libdevstat does now require libkvm; a library depedency is added, so
that libkvm only needs to be explicitely specified for statically linked
programs.
The library major version number is bumped.

Submitted by: Sergey A. Osokin <osa@freebsd.org.ru>, ken (3)
Reviewed by: ken


# a8ec1b48 02-Aug-2001 Maxim Sobolev <sobomax@FreeBSD.org>

Fix a cryptoless world by disconnecting libmp from the build when there is no
crypto bits installed and/or NOCRYPTO/NO_OPENSSL is defined. This unfortunately
meants that usr.bin/chkey, usr.bin/newkey and usr.sbin/keyserv have also to
be disconnected.

IMO it is merely a workaround, the proper solution is to move libmp to
src/crypto where it belongs and use libgmp for the cryptoless builds instead.

Missed by: dd


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

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


# ccdee0d9 09-Jul-2001 Mark Murray <markm@FreeBSD.org>

Axe S/Key. OPIE is the legal successor.


# d2454086 21-Jun-2001 David E. O'Brien <obrien@FreeBSD.org>

Fix long lines.


# 4e78abc4 21-Jun-2001 David E. O'Brien <obrien@FreeBSD.org>

Add libbz2 to provide Bzip2 capabilities to the system.


# bd2bae03 20-Apr-2001 Mike Smith <msmith@FreeBSD.org>

Turn on libdevinfo


# 8b28ef95 04-Apr-2001 Thomas Moestl <tmm@FreeBSD.org>

Activate build of posix1e extensions in libc and libc_r that have been
moved in from libposix1e, and deactivate build of the soon-to-be-removed
libposix1e.

Approved by: rwatson
Obtained from: TrustedBSD Project


# 3393f8da 26-Mar-2001 Kenneth D. Merry <ken@FreeBSD.org>

Rewrite of the CAM error recovery code.

Some of the major changes include:

- The SCSI error handling portion of cam_periph_error() has
been broken out into a number of subfunctions to better
modularize the code that handles the hierarchy of SCSI errors.
As a result, the code is now much easier to read.

- String handling and error printing has been significantly
revamped. We now use sbufs to do string formatting instead
of using printfs (for the kernel) and snprintf/strncat (for
userland) as before.

There is a new catchall error printing routine,
cam_error_print() and its string-based counterpart,
cam_error_string() that allow the kernel and userland
applications to pass in a CCB and have errors printed out
properly, whether or not they're SCSI errors. Among other
things, this helped eliminate a fair amount of duplicate code
in camcontrol.

We now print out more information than before, including
the CAM status and SCSI status and the error recovery action
taken to remedy the problem.

- sbufs are now available in userland, via libsbuf. This
change was necessary since most of the error printing code
is shared between libcam and the kernel.

- A new transfer settings interface is included in this checkin.
This code is #ifdef'ed out, and is primarily intended to aid
discussion with HBA driver authors on the final form the
interface should take. There is example code in the ahc(4)
driver that implements the HBA driver side of the new
interface. The new transfer settings code won't be enabled
until we're ready to switch all HBA drivers over to the new
interface.

src/Makefile.inc1,
lib/Makefile: Add libsbuf. It must be built before libcam,
since libcam uses sbuf routines.

libcam/Makefile: libcam now depends on libsbuf.

libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the
sbuf sources from sys/kern.

bsd.libnames.mk: Add LIBSBUF.

camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically
linked, we can't depend on the dynamic linker
to pull in libsbuf.

camcontrol.c: Use cam_error_print() instead of checking for
CAM_SCSI_STATUS_ERROR on every failed CCB.

sbuf.9: Change the prototypes for sbuf_cat() and
sbuf_cpy() so that the source string is now a
const char *. This is more in line wth the
standard system string functions, and helps
eliminate warnings when dealing with a const
source buffer.

Fix a typo.

cam.c: Add description strings for the various CAM
error status values, as well as routines to
look up those strings.

Add new cam_error_string() and
cam_error_print() routines for userland and
the kernel.

cam.h: Add a new CAM flag, CAM_RETRY_SELTO.

Add enumerated types for the various options
available with cam_error_print() and
cam_error_string().

cam_ccb.h: Add new transfer negotiation structures/types.

Change inq_len in the ccb_getdev structure to
be "reserved". This field has never been
filled in, and will be removed when we next
bump the CAM version.

cam_debug.h: Fix typo.

cam_periph.c: Modularize cam_periph_error(). The SCSI error
handling part of cam_periph_error() is now
in camperiphscsistatuserror() and
camperiphscsisenseerror().

In cam_periph_lock(), increase the reference
count on the periph while we wait for our lock
attempt to succeed so that the periph won't go
away while we're sleeping.

cam_xpt.c: Add new transfer negotiation code. (ifdefed
out)

Add a new function, xpt_path_string(). This
is a string/sbuf analog to xpt_print_path().

scsi_all.c: Revamp string handing and error printing code.
We now use sbufs for much of the string
formatting code. More of that code is shared
between userland the kernel.

scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly
useful in the first place.

Add a new error action, SS_REQSENSE. (Send a
request sense and then retry the command.)
This is useful when the controller hasn't
performed autosense for some reason.

Change the default actions around a bit.

scsi_cd.c,
scsi_da.c,
scsi_pt.c,
scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection
timeouts shouldn't be covered by a sense flag.

scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO.

Get rid of the last vestiges of a read/write
interface.

libkern/bsearch.c,
sys/libkern.h,
conf/files: Add bsearch.c, which is needed for some of the
new table lookup routines.

aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if
CAM_NEW_TRAN_CODE is defined.

sbuf.h,
subr_sbuf.c: Add the appropriate #ifdefs so sbufs can
compile and run in userland.

Change sbuf_printf() to use vsnprintf()
instead of kvprintf(), which is only available
in the kernel.

Change the source string for sbuf_cpy() and
sbuf_cat() to be a const char *.

Add __BEGIN_DECLS and __END_DECLS around
function prototypes since they're now exported
to userland.

kdump/mkioctls: Include stdio.h before cam.h since cam.h now
includes a function with a FILE * argument.

Submitted by: gibbs (mostly)
Reviewed by: jdp, marcel (libsbuf makefile changes)
Reviewed by: des (sbuf changes)
Reviewed by: ken


# 0dc44b5a 25-Mar-2001 Ruslan Ermilov <ru@FreeBSD.org>

Do not build (and install) both secure/ and standard versions
of libtelnet, telnetd, and telnet. This only worked because
secure/ was listed late in SUBDIR in Makefile.inc1.

Reviewed by: markm


# 56a91a6f 10-Feb-2001 David E. O'Brien <obrien@FreeBSD.org>

There are now compat libs for the Alpha too.


# 9886bcdf 28-Dec-2000 Peter Wemm <peter@FreeBSD.org>

Merge into a single US-exportable libcrypt, which only provides
one-way hash functions for authentication purposes. There is no more
"set the libcrypt->libXXXcrypt" nightmare.
- Undo the libmd.so hack, use -D to hide the md5c.c internals.
- Remove the symlink hacks in release/Makefile
- the algorthm is set by set_crypt_format() as before. If this is
not called, it tries to heuristically figure out the hash format, and
if all else fails, it uses the optional auth.conf entry to chose the
overall default hash.
- Since source has non-hidden crypto in it there may be some issues with
having the source it in some countries, so preserve the "secure/*"
division. You can still build a des-free libcrypt library if you want
to badly enough. This should not be a problem in the US or exporting
from the US as freebsd.org had notified BXA some time ago. That makes
this stuff re-exportable by anyone.
- For consistancy, the default in absence of any other clues is md5. This
is to try and minimize POLA across buildworld where folk may suddenly
be activating des-crypt()-hash support. Since the des hash may not
always be present, it seemed sensible to make the stronger md5 algorithm
the default.
All things being equal, no functionality is lost.

Reviewed-by: jkh

(flame-proof suit on)


# c06992e5 24-Oct-2000 Archie Cobbs <archie@FreeBSD.org>

Build the ISC library as libisc. This library comes as part of the
bind distribution, but until now was not being built as a separate
entity. For documentation, see these man pages:

assertions(3), eventlib(3), heap(3), logging(3), memcluster(3), tree(3).

Reviewed by: jdp


# cb947c91 10-Oct-2000 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Fix alphabetical ordering for libsmutil


# 8108227d 10-Oct-2000 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

Use sendmail's version of vacation. It is command line and database
compatible with the old version but includes new functionality and bug fixes.

Since it is not part of the NO_SENDMAIL make.conf option, libsmdb and
libsmutil should always be built for vacation's sake.

PR: 15227


# 88c75941 12-Aug-2000 Gregory Neil Shapiro <gshapiro@FreeBSD.org>

The rest of the changes needed to support the new version of sendmail (8.11.0).
Beyond changes to the build system, this includes fixing up the sample
freebsd.mc configuration for changes in defaults and syntax, removing
outdated documentation, and updating the release notes.


# 1976c843 02-Jul-2000 Nick Hibma <n_hibma@FreeBSD.org>

Include libusb in the build


# a04f2acd 02-May-2000 Josef Karthauser <joe@FreeBSD.org>

Disconnect libm from the build tree. It's broken, not being
maintained, and has been replaced by msun. The libm sources
shouldn't be removed just yet as there are parts that should be
merged into msun first.

PR: misc/17848
Discussed with: phk & bde


# 14b42810 18-Apr-2000 Kris Kennaway <kris@FreeBSD.org>

Document the libpam dependency on libopie

Reminded by: bde


# bb49f794 08-Mar-2000 Kris Kennaway <kris@FreeBSD.org>

Buildworld fixes for NO_OPENSSH and NO_OPENSSL

Approved by: jkh


# a7c9f05a 20-Jan-2000 Bruce Evans <bde@FreeBSD.org>

Oops, The dependency of libcrypt on libmd went away before it was "fixed"
here.

Reported by: peter


# 5f34a652 16-Jan-2000 Bruce Evans <bde@FreeBSD.org>

Fixed bitrot in library build order. libmd was not built before
libcrypt and libutil was not built before libpam.

The order here is currently unimportant, but ../Makefile should
descend here to build everything (which currently doesn't work
right) or at least to get the order using `make -V SUBDIR'.


# c5da4b13 15-Jan-2000 Bruce Evans <bde@FreeBSD.org>

Fixed stray backslash in previous commit.

Fixed bitrot in comments about library dependencies. The list has been
maintained better in ../Makefile.inc1, except it has been uninverted
there so it is hard to use manually.


# cd7249ff 15-Jan-2000 Robert Watson <rwatson@FreeBSD.org>

Enable the building of libposix1e

Reviewed by: eivind


# 9a4365d0 05-Jan-2000 Yoshinobu Inoue <shin@FreeBSD.org>

libipsec and IPsec related apps. (and some KAME related man pages)

Reviewed by: freebsd-arch, cvs-committers
Obtained from: KAME project


# 83b8ab27 29-Nov-1999 Peter Wemm <peter@FreeBSD.org>

Turn libbind back on, it should be ok now.


# 072355e0 29-Nov-1999 Peter Wemm <peter@FreeBSD.org>

oops, forgot to disconnect libbind while it's broken.


# 4cf49a43 21-Oct-1999 Julian Elischer <julian@FreeBSD.org>

Whistle's Netgraph link-layer (sometimes more) networking infrastructure.
Been in production for 3 years now. Gives Instant Frame relay to if_sr
and if_ar drivers, and PPPOE support soon. See:
ftp://ftp.whistle.com/pub/archie/netgraph/index.html
for on-line manual pages.

Reviewed by: Doug Rabson (dfr@freebsd.org)
Obtained from: Whistle CVS tree


# f24bb3a4 14-Oct-1999 Boris Popov <bp@FreeBSD.org>

Make libncp actually compiled.

Reviewed by: mdodd


# f05d1ad2 07-Oct-1999 Mark Murray <markm@FreeBSD.org>

Allow for another telnet in secure (SRA telnet).

Submitted by: Nick Sayer


# 32d1ebac 05-Sep-1999 Peter Wemm <peter@FreeBSD.org>

Connect libform/libpanel/libmenu.


# fac91f24 04-Sep-1999 Bruce Evans <bde@FreeBSD.org>

Fixed disorder in comments.

Build libncurses early again (it had drifted into set of libraries that
have no ordering requirements, but it must be built before libedit here
and before some gnu libraries in ../Makefile.inc1).


# 7b2d810a 01-Sep-1999 Mark Murray <markm@FreeBSD.org>

Make the libcrypt's build in the correct order.


# 68db2328 01-Sep-1999 Peter Wemm <peter@FreeBSD.org>

Update a comment regarding dependencies on libtermcap and curses etc.


# 430299d4 30-Aug-1999 Peter Wemm <peter@FreeBSD.org>

Don't build libtermcap, libcurses, libmytinfo, just libncurses.


# 7f3dea24 27-Aug-1999 Peter Wemm <peter@FreeBSD.org>

$Id$ -> $FreeBSD$


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

Turn off libf2c. Superseeded by EGCS's libg2c.


# 09ee9e26 14-Apr-1999 David E. O'Brien <obrien@FreeBSD.org>

Remove references to libg++ and libf2c that aren't needed post-EGCS.


# f3fc2030 14-Mar-1999 Mark Murray <markm@FreeBSD.org>

Build libwrap - the core to tcp_wrappers.


# 12e25f33 17-Dec-1998 Doug Rabson <dfr@FreeBSD.org>

Enable building libio on the alpha.


# d14e80a4 28-Nov-1998 Bruce Evans <bde@FreeBSD.org>

Fixed SUBDIR order.


# 60da54ee 19-Nov-1998 John Polstra <jdp@FreeBSD.org>

Make sure libskey is built before libpam. It is required for one of
the PAM modules.

Fix the comments describing the PAM dependencies to be consistent
with other related comments.

Restructure the library-building loop slightly, per suggestion from
bde.


# 4820dc85 17-Nov-1998 John Polstra <jdp@FreeBSD.org>

Enable the building of libpam. Move libradius and libtacplus up in
the list, because they are prerequisites for libpam.


# 468662e8 12-Nov-1998 John Polstra <jdp@FreeBSD.org>

Enable libradius and libtacplus.


# 47acf556 13-Oct-1998 Bruce Evans <bde@FreeBSD.org>

Updated library order and comments about it. This fixes libm not
being built before libf2c and libmd not being built before libatm.


# e886e3bd 01-Oct-1998 Jordan K. Hubbard <jkh@FreeBSD.org>

Add libdisk back to alpha build.


# c3deaba9 16-Sep-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

libscsi is obsoleted by CAM.


# 3f8c4506 15-Sep-1998 Poul-Henning Kamp <phk@FreeBSD.org>

(this is an extract from src/share/examples/atm/README)

===================================
HARP | Host ATM Research Platform
===================================

HARP 3

What is this stuff?
-------------------
The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center,
Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed
the Host ATM Research Platform (HARP) software, which allows IP hosts to
communicate over ATM networks using standard protocols. It is intended to
be a high-quality platform for IP/ATM research.

HARP provides a way for IP hosts to connect to ATM networks. It supports
standard methods of communication using IP over ATM. A host's standard IP
software sends and receives datagrams via a HARP ATM interface. HARP provides
functionality similar to (and typically replaces) vendor-provided ATM device
driver software.

HARP includes full source code, making it possible for researchers to
experiment with different approaches to running IP over ATM. HARP is
self-contained; it requires no other licenses or commercial software packages.

HARP implements support for the IETF Classical IP model for using IP over ATM
networks, including:

o IETF ATMARP address resolution client
o IETF ATMARP address resolution server
o IETF SCSP/ATMARP server
o UNI 3.1 and 3.0 signalling protocols
o Fore Systems's SPANS signalling protocol

What's supported
----------------
The following are supported by HARP 3:

o ATM Host Interfaces
- FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters
- FORE Systems, Inc. PCA-200E ATM PCI Adapters
- Efficient Networks, Inc. ENI-155p ATM PCI Adapters

o ATM Signalling Protocols
- The ATM Forum UNI 3.1 signalling protocol
- The ATM Forum UNI 3.0 signalling protocol
- The ATM Forum ILMI address registration
- FORE Systems's proprietary SPANS signalling protocol
- Permanent Virtual Channels (PVCs)

o IETF "Classical IP and ARP over ATM" model
- RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5"
- RFC 1577, "Classical IP and ARP over ATM"
- RFC 1626, "Default IP MTU for use over ATM AAL5"
- RFC 1755, "ATM Signaling Support for IP over ATM"
- RFC 2225, "Classical IP and ARP over ATM"
- RFC 2334, "Server Cache Synchronization Protocol (SCSP)"
- Internet Draft draft-ietf-ion-scsp-atmarp-00.txt,
"A Distributed ATMARP Service Using SCSP"

o ATM Sockets interface
- The file atm-sockets.txt contains further information

What's not supported
--------------------
The following major features of the above list are not currently supported:

o UNI point-to-multipoint support
o Driver support for Traffic Control/Quality of Service
o SPANS multicast and MPP support
o SPANS signalling using Efficient adapters

This software was developed under the sponsorship of the Defense Advanced
Research Projects Agency (DARPA).

Reviewed (lightly) by: phk
Submitted by: Network Computing Services, Inc.


# 9bb26809 15-Sep-1998 Justin T. Gibbs <gibbs@FreeBSD.org>

Hook up libcam and libdevstat.


# 54020d8a 07-Sep-1998 Bruce Evans <bde@FreeBSD.org>

Fixed SUBDIR order (libm is no longer a prerequisite for libtcl).


# ff5fcc93 04-Sep-1998 Satoshi Asami <asami@FreeBSD.org>

Remove tcl from /usr/src, according to prior agreement. BTW, tcl-8.0 *is*
a port so there is nothing to be done on that side now.

Approved by: jkh
===
To: "Jordan K. Hubbard" <jkh@time.cdrom.com>
cc: Andreas Klemm <andreas@klemm.gtn.com>, current@freebsd.org
Subject: Re: Make this a relese coordinator decision (was Re: ports-current/packages-current discontinued)
From: David Greenman <dg@root.com>
Date: Sun, 03 Aug 1997 20:23:31 -0700

>decision is, I'll respect it.

Another chance to architect people's principles...I can hardly wait. Seems
quite appropriate for a Sunday - I just need to get one of those collection
plates (and money envelopes) so I can profit, too. :-)
Tcl stays in /usr/src for now, but it needs to be kept up to date; same
for perl. If Jordan doesn't have "setup" (written in tcl) ready for 3.0,
then tcl will be yanked prior to the 3.0 release (and made into a port).
As for the ports tree only supporting the last FreeBSD release, this seems
sensible to me. The "ports" have always been a moving target between releases
and the problem is only going to get worse when we expand to supporting other
processor architectures. In any case, Satoshi is and always has been in charge
of the ports tree and whatever he wants to do with it (within reason :-)) is
his decision.
Does this cover the issue completely? I admit to deleting messages in this
thread with unusual fervor (people have FAR too much time on their hands!).
There's a fair bit of reasoning behind the above, but since everyone is sick
of arguing about this, I'll spare you the analysis.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project


# 0f09aefa 02-Sep-1998 Bruce Evans <bde@FreeBSD.org>

csu must be built before all shared libaries for ELF, since ELF shared
libraries are linked to at least crti.o. Always build it first.


# 8deb7ff0 29-Aug-1998 John Birrell <jb@FreeBSD.org>

BINFORMAT -> OBJFORMAT ready for E-day.


# d78dcde2 22-Aug-1998 Gary Palmer <gpalmer@FreeBSD.org>

Building `compat' on alpha is meaningless (they are i386 libraries)


# a8d0d4d6 20-Aug-1998 Mike Smith <msmith@FreeBSD.org>

Add libstand.


# 163074e1 17-Aug-1998 Dag-Erling Smørgrav <des@FreeBSD.org>

Cross my fingers and enable libfetch.


# 18381dac 14-Aug-1998 John Birrell <jb@FreeBSD.org>

Build libkvm on alpha too.


# c932f886 27-May-1998 Peter Wemm <peter@FreeBSD.org>

If building and installing libdescrypt, do it first so that the symlinks
point to it rather than libscrypt.

This was how it was done prior to libscrypt being added in. This should
stop more people getting burnt with the /usr/lib -> /usr/lib/aout
transition, and the same when the ELF libs come online.


# d788c4fb 13-May-1998 John Birrell <jb@FreeBSD.org>

libtcl now builds (with lots of pointer to int cast warnings) on alpha.


# 8e3465ed 02-May-1998 Peter Wemm <peter@FreeBSD.org>

Add libbind


# efa3929e 21-Mar-1998 Mark Murray <markm@FreeBSD.org>

Build both libscrypt and libdescrypt. There is no point in letting
libscrypt stagnate, even if it is superceded by libdescrypt. It is
a tiny library anyway, and building it is inexpensive.


# c9811e98 19-Mar-1998 Bruce Evans <bde@FreeBSD.org>

Build the libraries in a correct order. Reorganized the ifdefs so
that the order is easy to see.


# 5f160d14 08-Mar-1998 John Birrell <jb@FreeBSD.org>

Can build libc and libc_r on alpha now.

Changed MACHINE to MACHINE_ARCH with the expectation that pc98 will
use elf the same as i386.

Nuked tahoe and vax 'cause the files they reference aren't in the
tree. If you want vax goto NetBSD. If you want tahoe... tough.


# f0a8e032 07-Mar-1998 John Polstra <jdp@FreeBSD.org>

Enable csu/i386-elf under the appropriate conditions.


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

We can now build libm on Alpha. There is very little MD alpha code.


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

Bruce says that ${.CURDIR}/csu/${MACHINE} will prevent finding a
stale obj directory and we wouldn't want to do that! I trust he knows
what he's talking about. 8-)

Also avoid building libm at all until the NetBSD asm code is imported.
I wrongly commented this out last time. Oops.


# b09f41a4 09-Jan-1998 John Birrell <jb@FreeBSD.org>

Don't build libc, libc_r or libm on Alpha yet. We'll do the other
libraries first and use NetBSD's libc/libm for now.


# 8d6fec39 08-Jan-1998 John Birrell <jb@FreeBSD.org>

Build lib/csu/${MACHINE} only if it exists so that when porting FreeBSD
to another architecture (in this case the Alpha) we can continue to use
the host csu objects (from NetBSD). This should be a non-function change
to FreeBSD/i386.


# 974c4211 04-Dec-1997 Wolfgang Helbig <helbig@FreeBSD.org>

Add libcalendar.


# 0e8089ef 28-Sep-1997 Mark Murray <markm@FreeBSD.org>

Changes for KTH KerberosIV


# 805af840 22-Aug-1997 Søren Schmidt <sos@FreeBSD.org>

Activate libvgl


# 3175d10a 22-May-1997 Brian Somers <brian@FreeBSD.org>

Hook in alias library.


# cb6e7ccb 02-May-1997 John Birrell <jb@FreeBSD.org>

Change default build to include libc_r, but allow disadvantaged souls
to turn off the build.


# ff2edf0c 12-Apr-1997 Peter Wemm <peter@FreeBSD.org>

Put on my flame proof suit and make libtcl build conditional on
the src/contrib/tcl directory existing, and also have an /etc/make.conf
override (NOTCL) to stop building libtcl. This is in similar other
things from src/Makefile, eg: NOGAMES, NOLKM, etc.

This is so that people can put in a refuse entry in their cvsup files and
not fetch the tcl code, and have it not built automatically. I'll do
something similar for perl.


# 00a825f7 06-Feb-1997 Paul Traina <pst@FreeBSD.org>

Activate libopie


# c4be7158 08-Jan-1997 Andrey A. Chernov <ache@FreeBSD.org>

Build ebones/libtelnet only if MAKE_EBONES defined


# 8ff10292 22-Dec-1996 Peter Wemm <peter@FreeBSD.org>

In the spirit of Christmas, I give ye a gift!
- A major 11th hour, last second, untested commit!

Build some infrastructure to clean up the compat lib distributions, and
also allow them to be installed from the source tree rather than having
to to and get the tarballs from freefall or a CD. Some tweaks to
/etc/make.conf are in the pipeline to enable it.

This came about because it became apparent that we'd have to change the
compat21.tgz tarball to fix the NIS problem with 2.1.x binaries. Since
it's tar..gz.uu, doing this would have caused a huge repository change
and we may as well try and fix it once and for all. Now, adding/removing
libraries should have MUCH less repository impact.

Peril sensative sunglasses: on!
Flame proof suit: on!
Concept reviewed by a stream of ascii representing the opinion of: jkh
Changes casually reviewed by: jkh (but not actually tested)


# d4c468e3 11-Dec-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Don't look for encumbered objects, but encumbered sources.


# 58dee85f 03-Nov-1996 Mark Murray <markm@FreeBSD.org>

Compile libtelnet from eBones, not secure.

2.2 candidate.


# 92f8a732 27-Sep-1996 Peter Wemm <peter@FreeBSD.org>

libfakegnumalloc -> libgnumalloc


# 583c43df 03-Sep-1996 Peter Wemm <peter@FreeBSD.org>

add back stub libresolv


# 0f10dec0 29-Aug-1996 Peter Wemm <peter@FreeBSD.org>

Knock libresolv out of the SUBDIR for the moment while it doesn't build.


# 0f7d6847 20-Aug-1996 Julian Elischer <julian@FreeBSD.org>

Submitted by: John Birrell <cimaxp1!jb@werple.net.au>

Here are the diffs for libc_r to get it one step closer to P1003.1c
These make most of the thread/mutex/condvar structures opaque to the
user. There are three functions which have been renamed with _np
suffixes because they are extensions to P1003.1c (I did them for JAVA,
which needs to suspend/resume threads and also start threads suspended).

I've created a new header (pthread_np.h) for the non-POSIX stuff.

The egrep tags stuff in /usr/src/lib/libc_r/Makefile that I uncommented
doesn't work. I think its best to delete it. I don't think libc_r needs
tags anyway, 'cause most of the source is in libc which does have tags.

also:

Here's the first batch of man pages for the thread functions.
The diff to /usr/src/lib/libc_r/Makefile removes some stuff that was
inherited from /usr/src/lib/libc/Makefile that should only be done with
libc.

also:

I should have sent this diff with the pthread(3) man page.
It allows people to type

make -DWANT_LIBC_R world

to get libc_r built with the rest of the world. I put this in the
pthread(3) man page. The default is still not to build libc_r.


also:
The diff attached adds a pthread(3) man page to /usr/src/share/man/man3.
The idea is that without libc_r installed, this man page will give people
enough info to know that they have to build libc_r.


# d3065f15 18-Aug-1996 Peter Wemm <peter@FreeBSD.org>

insert libipx and libdisk into correct order, add libz


# 450c4785 27-Jun-1996 Peter Wemm <peter@FreeBSD.org>

Add back missing backslash in SUBDIR list, it got lost when libtcl was
added. (also align the text block, it looked odd with variable indent)


# 3510f444 27-Jun-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Add libtcl to makefile


# cd9a2f5c 23-Jun-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Bring in my changes for removing the pestilent obj links (unless you
really want them) from /usr/src. This is the final version of the
patches, incorporating the feedback I've received from -current.


# eeb1bacc 19-Jun-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove libforms - it's unused.


# 9d762dce 18-Jun-1996 Poul-Henning Kamp <phk@FreeBSD.org>

Add tcl.


# 9dc1ac56 17-Jun-1996 Jordan K. Hubbard <jkh@FreeBSD.org>

Bring in libftpio.


# 85e04d81 18-Mar-1996 Joerg Wunsch <joerg@FreeBSD.org>

Add libdisk.


# eb5bc2e7 13-Feb-1996 Joerg Wunsch <joerg@FreeBSD.org>

Include both, the regular and the `secure' libtelnet, when building
a release.


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

Add libfakegnumalloc.


# 7c2f56cc 24-Jan-1996 Joerg Wunsch <joerg@FreeBSD.org>

Build libscrypt in addition to libdescrypt if RELEASEDIR is set.
Releases do need both libraries (they go into different distributions).


# 3fcee20f 12-Nov-1995 Mark Murray <markm@FreeBSD.org>

Removed reference to missing libmp in a comment. We have GNU MP now.


# cc6a66f2 26-Oct-1995 Julian Elischer <julian@FreeBSD.org>

Reviewed by: julian and jhay@mikom.csir.co.za
Submitted by: Mike Mitchell, supervisor@alb.asctmd.com

This is a bulk mport of Mike's IPX/SPX protocol stacks and all the
related gunf that goes with it..
it is not guaranteed to work 100% correctly at this time
but as we had several people trying to work on it
I figured it would be better to get it checked in so
they could all get teh same thing to work on..

Mikes been using it for a year or so
but on 2.0

more changes and stuff will be merged in from other developers now that this is in.

Mike Mitchell, Network Engineer
AMTECH Systems Corporation, Technology and Manufacturing
8600 Jefferson Street, Albuquerque, New Mexico 87113 (505) 856-8000
supervisor@alb.asctmd.com


# 0975d201 22-Oct-1995 Andrey A. Chernov <ache@FreeBSD.org>

libxpg4 added


# e6af2dc8 29-Sep-1995 Andrey A. Chernov <ache@FreeBSD.org>

Build secure libcrypt if available and allowed


# 153193f3 29-Sep-1995 Andrey A. Chernov <ache@FreeBSD.org>

Build secure libtelnet if available and allowed


# f547de18 06-Aug-1995 Mark Murray <markm@FreeBSD.org>

Only build libtelnet if the secure libtelnet is not going to be built.
Reviewed by: rgrimes


# 083cb36a 04-Aug-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Remove libftp from Makefile


# 25f15401 25-Apr-1995 Jordan K. Hubbard <jkh@FreeBSD.org>

Add libftp to list of targets.


# 72b799a9 20-Mar-1995 Poul-Henning Kamp <phk@FreeBSD.org>

msun becomes the default -lm the right way now.


# 9ee337da 08-Feb-1995 Bruce Evans <bde@FreeBSD.org>

Add libpcap. I don't know what it is doing in the tree, but it has
settled for too long. Compiling it gives 142 lines of compiler
warnings. Perhaps the dirt will be fixed if it is visible.


# 10ee7eaf 23-Jan-1995 Peter Dufault <dufault@FreeBSD.org>

added libscsi


# a6066145 21-Jan-1995 Garrett Wollman <wollman@FreeBSD.org>

*** empty log message ***


# 8a256cf7 19-Jan-1995 Garrett Wollman <wollman@FreeBSD.org>

Add libss.


# 0d18307a 12-Nov-1994 Paul Richards <paul@FreeBSD.org>

The start of a forms editor library. Currently implements text and
input fields. It reads a template file passed to init_forms(char *)
and creates a curses based form editor. See the examples directory
for a basic demo.


# f2b20942 27-Oct-1994 L Jonas Olsson <ljo@FreeBSD.org>

Added libf2c, the library for f2c.


# 6dabd3aa 08-Oct-1994 Andrey A. Chernov <ache@FreeBSD.org>

Restore leading tabs


# b25aa8a0 07-Oct-1994 Andrey A. Chernov <ache@FreeBSD.org>

libncurses added


# 626cdf0f 06-Oct-1994 Andrey A. Chernov <ache@FreeBSD.org>

libmytinfo added.
PS: don't forget 'make beforeinstall' if you want to play with it


# 601284ae 11-Sep-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

libterm is now libtermcap


# f06e7c2e 25-Aug-1994 Paul Richards <paul@FreeBSD.org>

Moved the csu directory to be first on the SUBDIR list. This is
because libmd builds a test program before installation and if
you've used CLOBBER there's no crt.0 to link with. This ensures
that in a make world the csu objects will get installed before
reaching the libmd directory.

Reviewed by:
Submitted by:


# 4714bb15 20-Aug-1994 Geoff Rehmet <csgr@FreeBSD.org>

LDADD= -lcrypt
Submitted by: Geoff


# 21f0f672 19-Aug-1994 Guido van Rooij <guido@FreeBSD.org>

Add entry for libskey
Reviewed by:
Submitted by: guido


# b6059979 19-Aug-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Make libmsun a switchable option, as before.
Submitted by: jkh


# ae6bbc9a 09-Aug-1994 Garrett Wollman <wollman@FreeBSD.org>

Add back librpcsvc. It builds fine on both my machine and thud, I don't
know what Jordan's problem was.


# 9b9185af 08-Aug-1994 Jordan K. Hubbard <jkh@FreeBSD.org>

Comment out librpcv. Not there.
Submitted by: jkh


# 0d096f62 07-Aug-1994 Garrett Wollman <wollman@FreeBSD.org>

Make librpcsvc.


# 12199686 07-Aug-1994 Garrett Wollman <wollman@FreeBSD.org>

Don't try to build librpc in a separate directory.


# 99fa41fb 23-Jul-1994 Poul-Henning Kamp <phk@FreeBSD.org>

Reviewed by: phk
Added libmd.


# 1ece12e5 28-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

Enable csu/${MACHINE} now that I have copied in our crt* files.


# f227112c 27-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

Make the comments about what is missing and not done consistent with
my other Makefile comments so they can easily be found with grep.


# 1cb16b68 27-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

Comment out missing libmp and libplot, disable csu until it is ported.


# 58f0484f 26-May-1994 Rodney W. Grimes <rgrimes@FreeBSD.org>

BSD 4.4 Lite Lib Sources