aboutsummaryrefslogtreecommitdiff
path: root/lib/Makefile
Commit message (Collapse)AuthorAgeFilesLines
* virtual_oss: Take MK_CUSE into accountChristos Margiolis2026-01-151-1/+1
| | | | | | | | | Reported by: brooks Fixes: f74f891581bc ("src.opts: Introduce MK_SOUND") Sponsored by: The FreeBSD Foundation MFC after: 4 days Reviewed by: brooks, emaste Differential Revision: https://reviews.freebsd.org/D54708
* build: Remove duplicate SUBDIR entriesMark Johnston2026-01-121-1/+0
| | | | Fixes: f74f891581bc ("src.opts: Introduce MK_SOUND")
* src.opts: Introduce MK_SOUNDChristos Margiolis2026-01-121-1/+2
| | | | | | | | PR: 291853 Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: zarychtam_plan-b.pwste.edu.pl, markj Differential Revision: https://reviews.freebsd.org/D54456
* libuvmem: usermode port of vmem(9)Konstantin Belousov2025-12-021-0/+1
| | | | | | | | | | | | The quantum cache is disabled, there is no uma. Intent is to use this for resource allocation in bhyve(8), for start. Addition of -luvmem to bhyve linking was done to test changes to share/mk. Reviewed by: bnovkov, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D27220
* blocklist: Rename blacklist to blocklistJose Luis Duran2025-10-121-0/+1
| | | | | | | | | | | | | | | | | | Follow up upstream rename from blacklist to blocklist. - Old names and rc scripts are still valid, but emitting an ugly warning - Old firewall rules and anchor names should work, but emitting an ugly warning - Old MK_BLACKLIST* knobs are wired to the new ones Although care has been taken not to break current configurations, this is a large patch containing mostly duplicated code. If issues arise, it will be swiftly reverted. Reviewed by: ivy (pkgbase) Approved by: emaste (mentor) MFC after: 2 days Relnotes: yes
* virtual_oss: Do not build if WITHOUT_CUSE is setChristos Margiolis2025-09-301-2/+2
| | | | | | | | | PR: 289920 Fixes: 9cab9fde5eda ("virtual_oss: Port to base") Sponsored by: The FreeBSD Foundation MFC after: 1 day Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D52807
* virtual_oss: Port to baseChristos Margiolis2025-09-281-1/+3
| | | | | | | | | | | | | | | | | | | | | | This patch diverges quite a bit from the current upstream [1] in a few ways: 1. virtual_oss(8), virtual_bt_speaker(8) and virtual_oss_cmd(8) are actually separate programs. 2. Backends (lib/virtual_oss) are built as separate shared libraries and we dlopen() them in virtual_oss(8) and virtual_bt_speaker(8) on demand. 3. virtual_equalizer(8) and the sndio and bluetooth backends are built as ports, because they depend on third-party libraries. 4. Use newer libav API in bluetooth backend (see HAVE_LIBAV ifdefs) to address compiler errors. [1] https://github.com/freebsd/virtual_oss Sponsored by: The FreeBSD Foundation MFC after: 1 week Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D52308
* Remove MK_GSSAPILexi Winter2025-08-201-3/+3
| | | | | | | | | | | | | | | For MIT Kerberos, MK_GSSAPI has no meaning: GSSAPI is a required part of Kerberos and is always built if MK_KERBEROS is enabled. Backport this behaviour to Heimdal so it works the same way. While here, change Heimdal's libcom_err and compile_et to be selected by MK_KERBEROS, not MK_KERBEROS_SUPPORT, since these are part of Kerberos and third-party users might need it even if Kerberos support is disabled in the base system. This means MK_KERBEROS_SUPPORT installs the same files with both MIT and Heimdal. Reviewed by: cy Differential Revision: https://reviews.freebsd.org/D51859
* gssapi,krb5: Replace libgssapi with the MIT versionCy Schubert2025-08-071-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | lib/libgssapi is based on Heimdal. As on Linux systems, the MIT libgssapi_krb5 replaces it. With both gssapi libraries and header files installed results in broken buildworld (gssd) and ports that will not build without modifications to support the MIT gssapi in an alternate location. 73ed0c7992fd removed the MIT GSSAPI headers from /usr/include. Apps using MIT KRB5 gssapi functions and structures will fail to build without this patch. This patch includes a temporary patch to usr.sbin/gssd to allow it to build with this patch. rmacklem@ has a patch for this and for kgssapi that uses this patch to resolve kgssapi issues for NFS with Kerberos. This patch is an updated version of D51661 to allow it to build following additional patchs to the tree. This should have been implmented with 7e35117eb07f. Fixes: 7e35117eb07f, 73ed0c7992fd Differential Revision: https://reviews.freebsd.org/D51661
* libutil++: New library containing C++ utility classes for use in baseJohn Baldwin2025-08-041-0/+1
| | | | | | | | | | | | | | | | | | - freebsd::FILE_up is a wrapper class for std::unique_ptr<> for FILE objects which uses a custom deleter that calls fclose(). - freebsd::malloc_up<T> is a wrapper class for std::unique_ptr<> which uses a custom deleter that calls free(). It is useful for pointers allocated by malloc() such as strdup(). - The freebsd::stringf() functions return a std::string constructed using a printf format string. The current implementation of freebsd::stringf() uses fwopen() where the write function appends to a std::string. Sponsored by: Chelsio Communications Pull Request: https://github.com/freebsd/freebsd-src/pull/1794
* libsamplerate: Build as internal libraryChristos Margiolis2025-08-011-0/+1
| | | | | Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D51666
* libyaml: import libyaml vendor version 0.2.5Baptiste Daroussin2025-06-261-0/+1
| | | | | The yaml parser used in nuageinit is too incomplete, import libyaml in order to be able to use as a complete parser for nuageinit.
* lib: Only build libcom_err with HeimdalCy Schubert2025-06-161-0/+2
| | | | | | | | MIT KRB5 provides its own libcom_err. Sponsored by: The FreeBSD Foundation Reviewed by: markj, emaste Differential revision: https://reviews.freebsd.org/D50809
* libclang_rt: Descend into libclang_rt to cleanMark Johnston2025-06-101-1/+2
| | | | | | | | | | | Otherwise, during a clean buildworld we don't descend into libclang_rt to remove object files. Reviewed by: brooks, dim, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D50766
* edk2: Update to not build libefivar for lib32 on amd64Warner Losh2025-04-231-0/+3
| | | | | | | | | | | | | This dropped from the last commit because I had to redo it so many times... edk2 headers just aren't setup for the weird, hybrid enviornment we're compiling in when building i386 libraries for amd64 lib32. Since we can't use it there anyway (there's no 32-bit efibootmgr or efivar), and native i386 doesn't have them (we don't support EFI Runtime Services on i386 because we don't support EFI booting there). Sponsored by: Netflix
* lib: hook libder up to the buildKyle Evans2025-01-011-0/+1
| | | | | | | libder will be used in upcoming ECC support in the pkg(7) bootstrap to read DER-encoded keys and signatures. Differential Revision: https://reviews.freebsd.org/D48116
* bhyve/riscv: Initial import.Ruslan Bukin2024-10-311-1/+2
| | | | | | | | | Add machine-dependent parts for bhyve hypervisor to support virtualization on RISC-V ISA. No objection: markj Sponsored by: UK Research and Innovation Differential Revision: https://reviews.freebsd.org/D45512
* lib/libcrypt: unbundle hash functionsRobert Clausecker2024-10-251-0/+1
| | | | | | | | | | | libcrypt bundles the various hash functions it needs, duplicating code that is also found in libmd. Unbundle the hash functions and apply the same hack used for libncursesw so static consumers link -lmd in addition to -lcrypt. Reviewed by: kevans Differential Revision: https://reviews.freebsd.org/D47062
* libkldelf: add a private library for kernel/kld-related ELF parsingKa Ho Ng2024-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | | | The libkldelf library was originally a part of kldxref(8). It exposed ELF parsing helpers specialized in parsing KLDs and the kernel executable. The library can be used to read metadata such as linker_set, mod_depend, mod_version and PNP match info, and raw data from the ELF. To promote the reuse of the facilities the ELF parsing code is separated from kldxref(8) into a new private library. For now, libkldelf's source files will be compiled into kldxref(8) directly if kldxref is built during bootstrapping phase. The reason is linking kldxref(8) against the libkldelf static library has an unwanted side effect which renders the linker sets inside the libkldelf implementation empty if the static library is not build by ld -r all the .o files into a single .o before producing the static library. Sponsored by: Juniper Networks, Inc. Reviewed by: markj Suggested by: jrtc27, markj Differential Revision: https://reviews.freebsd.org/D46719
* Revert "libkldelf: add a private library for kernel/kld-related ELF parsing"Ka Ho Ng2024-10-081-1/+0
| | | | This reverts commit 0a2cfd653e86ac41c4e6e32a449d133c0ee6d677.
* libkldelf: add a private library for kernel/kld-related ELF parsingKa Ho Ng2024-10-081-0/+1
| | | | | | | | | | | | | | | | The libkldelf library was originally a part of kldxref(8). It exposed ELF parsing helpers specialized in parsing KLDs and the kernel executable. The library can be used to read metadata such as linker_set, mod_depend, mod_version and PNP match info, and raw data from the ELF. To promote the reuse of the facilities the ELF parsing code is separated from kldxref(8) into a new private library. kldxref(8) is modified to link against the libkldelf library. Sponsored by: Juniper Networks, Inc. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D46719
* flua: move modules source into the main source directoryBaptiste Daroussin2024-09-121-5/+0
| | | | | | | | | | | | | Follow the path of what is done with bsnmp, build the modules along with the main binary, this allows to build the modules at a moment where all needed libraries are already built and available in the linker path instead of having to declare all the libraries which a flua module will be linked to in _prebuild_libs. Discused with: markj Reviewed by: markj, jrtc27, kevans, imp Accepted by: kevans, imp Differential Revision: https://reviews.freebsd.org/D46610
* lua_ucl: make sure flua gets build after libuclBaptiste Daroussin2024-09-061-1/+1
|
* Remove residual blank line at start of MakefileWarner Losh2024-07-151-1/+0
| | | | | | | This is a residual of the $FreeBSD$ removal. MFC After: 3 days (though I'll just run the command on the branches) Sponsored by: Netflix
* libnvmf: Add internal library to support NVMe over FabricsJohn Baldwin2024-05-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Skip building libclang_rt when WITHOUT_CLANG is usedDimitry Andric2024-04-251-1/+1
| | | | | | | | | | | | | | | | | | | 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
* arm64: Connect bhyve and libvmmapi to the buildMark Johnston2024-04-101-0/+3
| | | | | | | Reviewed by: corvink, andrew, jhb, emaste MFC after: 2 weeks Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41742
* diff: Integrate libdiff from OpenBSD GoT.Dag-Erling Smørgrav2024-03-271-0/+1
| | | | | | | | | | | | | | | | | | | | | | | 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
* libfdt: Make an internal FDT library availableMark Johnston2024-03-211-0/+1
| | | | | | | | | | 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
* libc: link libsys as a auxiliary filter libraryBrooks Davis2024-02-051-1/+1
| | | | | | | | | | 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
* libsys: plumb in to buildBrooks Davis2024-02-051-0/+3
| | | | | | | | | | 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
* lib: Remove ancient SCCS tags.Warner Losh2023-11-271-1/+0
| | | | | | | | 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
* Remove $FreeBSD$: one-line sh patternWarner Losh2023-08-161-1/+0
| | | | Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
* arm64 lib32: enable building of lib32 on arm64Mike Karels2023-07-251-1/+1
| | | | | | | | | | | 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
* lib: Migrate from COMPAT_32BIT to generic COMPAT_LIBCOMPATJessica Clarke2023-07-091-2/+2
| | | | | | | | | | | 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
* lib: Enable libcbor and libfido2 for COMPAT_32BITJessica Clarke2023-07-091-1/+1
| | | | | | | | | 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
* Add nss_tacplus, a TACACS+ NSS module.Dag-Erling Smørgrav2023-05-221-1/+3
| | | | | | | MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D40133
* NgATM: Remove netgraph ATM supportBrooks Davis2023-03-091-1/+0
| | | | | | | | | | 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
* Retire WITHOUT_CXX optionEd Maste2023-01-271-13/+7
| | | | | | | | | | | | 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
* Put OPIE to rest.Dag-Erling Smørgrav2022-10-021-3/+1
| | | | Differential Revision: https://reviews.freebsd.org/D36592
* lib: Gate libfigpar under MK_DIALOGEmmanuel Vadot2022-08-161-2/+1
| | | | | libfigpar is only used by dpv and dpv isn't built if WITHOUT_DIALOG is set.
* Simplify conditional guards for libclang_rt.John Baldwin2022-07-071-5/+2
| | | | | | | | All supported architectures can build libclang_rt now. Reviewed by: dim Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D35740
* riscv: actually enable sanitizersPiotr Kubaj2022-03-131-1/+1
| | | | | | | | | | | 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
* Remove quotes around Makefile .error/.warn/.info stringsEd Maste2022-01-221-1/+1
| | | | | | | | The text after .error et al is emitted verbatim. Reviewed by: sjg Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D33904
* Add an internal libiscsiutil library.John Baldwin2021-12-221-0/+1
| | | | | | | | | | | | | 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
* Apply ASAN/UBSAN Makefile check only for build targetEd Maste2021-12-081-1/+1
| | | | | | | | | | | 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
* bsddialog, mark the lib as dependent on ncursesBaptiste Daroussin2021-11-241-0/+1
|
* bsddialog: import new TUI widget and utilityBaptiste Daroussin2021-11-241-0/+1
| | | | | | | | | 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
* Don't build sanitizer runtimes under WITHOUT_CXXEd Maste2021-10-291-4/+3
| | | | | | | | | | | | | | | | 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
* Avoid building libfido2 if WITHOUT_USBEd Maste2021-10-261-1/+1
| | | | | | | | libfido2 requires USB, so disable it if not available. Reported by: peterj Fixes: 7b1e19ad78c6 ("Add libfido2 to the build") Sponsored by: The FreeBSD Foundation