aboutsummaryrefslogtreecommitdiff
path: root/tools/build
Commit message (Collapse)AuthorAgeFilesLines
* Revert "tools/build: Unbreak bmake bootstrap on Linux"Jessica Clarke7 days1-8/+0
| | | | | | | Now that make.py no longer has the described hack on Linux we can drop this ugly workaround. This reverts commit fba998a3d897e6297baca74068e4ec1db7adaeec.
* tools/build/make.py: Drop problematic Linux hack for bmake bootstrapJessica Clarke7 days1-6/+0
| | | | | | | | | | | | | | | | | Since e2eeea75eb8b ("Merge bmake-20201117") missing/sys/cdefs.h has been present in bmake, and _GNU_SOURCE seems to have been defined by config.h for much longer than that, possibly for the entire time OS cross-build support has been in-tree, so these are obsolete. Moreover, since 79e02149fcb4 ("Fix dtrace tools bootstrap on non-FreeBSD after OpenZFS import"), HAVE_STRLCAT and HAVE_STRLCPY have been defined by our cross-build headers in order to placate DTrace tools (which is not the right way to solve that problem, but motivates fixing this one). Commit 4fde40d9b540 ("Merge/update to bmake-20230126") changed the strlcpy.c in bmake from including config.h directly to including make.h, which means it includes string.h and thus sees these bogus definitions, causing it to not define the strlcpy compat function on Linux even though it needs to and thus failing to link. Thus, fix this whole mess by removing the hack we no longer need.
* Retire WITHOUT_CXX optionEd Maste10 days2-558/+0
| | | | | | | | | | | | 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
* depend-cleanup.sh: handle zic moving one level up.Dag-Erling Smørgrav2023-01-141-0/+6
| | | | | | MFC after: 1 week Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D38044
* tools/build: Always bootstrap (sys/)bitstring.hBrooks Davis2023-01-091-5/+5
| | | | | | | | | | | | Older, supported FreeBSD versions lack bit_ntest() so hoist the boostrap installation out of the OS!=FreeBSD case and always install it. A more precise criteria is possible, but would add little value. This fixes bootstrapping makefs as a build tool on 13.1. Reviewed by: jrtc27, emaste Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D37951
* beinstall.sh: Check correct exit statusJoseph Mingrone2023-01-031-1/+1
| | | | | | | | | | When retrieving the timestamp of the last commit using git-show(1), do not pipe the output to head(1), otherwise the return value in $? will be for head(1) and not git-show(1). Approved by: bapt Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37742
* Always install llvm-objdump as objdumpEd Maste2022-12-121-5/+2
| | | | | | | | | | Instead of providing no /usr/bin/objdump when LLVM_BINUTILS is false. PR: 267854 [exp-run] Reviewed by: dim MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37445
* OptionalObsoleteFiles.inc: add zoneinfo/America/Ciudad_JuarezPhilip Paeps2022-11-301-0/+1
| | | | | | | tzdata 2022g and later split America/Ciudad_Juarez from America/Ojinaga. Ensure this file is removed in builds WITHOUT_ZONEINFO. MFC after: 1 day
* Retire CLANG_IS_CC optionEd Maste2022-11-212-12/+0
| | | | | | | | | | | | A small reduction in build infrastructure complexity; when we had both Clang and GCC in the tree it was useful to have both built, and choose one or the other to install as /usr/bin/cc. Now only Clang is in the tree, and there is no point in building and installing base Clang but not providing it as cc (and c++, cpp). Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37075
* stand: Remove i386-only support fire firewireWarner Losh2022-11-181-3/+0
| | | | | | | | | | | | Remove support for booting off of firewire, and for having dcons via firewire in the loader. Kernel support for these things is unchanged. Discussed on arch@ and the current state is not working (and the build was wrong to boot). Sponsored by: Netflix Discussed: https://lists.freebsd.org/archives/freebsd-arch/2022-November/000267.html Reviewed by: kevans, melifaro, emaste Differential Revision: https://reviews.freebsd.org/D37334
* depend-cleanup.sh: Handle rs(1) moving to C++.John Baldwin2022-11-161-0/+12
| | | | | | To support changes in filenames for programs (and not just libraries), update clean_dep() to check .depend.foo.o files as well as .depend.foo.pico files.
* othermta: remove leftover from 20 years agoBaptiste Daroussin2022-11-141-1/+0
| | | | | | | | othermta (along with mta_start_script configuration entry in rc.conf) was a mechanism used to be able to run another mta than sendmail(8) before "rcng" time 20 years ago. othermta has not been used since.
* rc.sendmail: remove unused scriptBaptiste Daroussin2022-11-091-1/+0
| | | | | | | | 20 years ago the use of rc.sendmail script was dropped in favor of /etc/rc.d/sendmail, it is time to retire the script entirely now. MFC after: 1 week
* tools/build/make.py: fix cross build on Fedora LinuxAlfredo Dal'Ava Junior2022-11-021-0/+8
| | | | | | | | | | | | | | | | | | | | | | | Fedora defines shell functions for some commands used by FreeBSD build scripts. Unortunatelly it makes them behave incorrectly for our purposes. For instance 'which which' returns something like: which () { ( alias; eval ${which_declare} ) | /usr/bin/which --tty-only --read-alias ... } instead of /usr/bin/which This patch unsets those functions to restore original/expected behavior Reviewed by: emaste, imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D36900
* OptionalObsoleteFiles: grep nls files have been removed 4 years agoBaptiste Daroussin2022-10-121-10/+0
|
* sort: remove NLS supportBaptiste Daroussin2022-10-121-1/+0
| | | | | | NLS support for sort(1) is: 1/ incomplete: many error string are not using nls 2/ only covers hu_HU.ISO8859-2
* bsdinstall release: Move code to a new startbsdinstall wrapperJessica Clarke2022-10-031-0/+1
| | | | | | | | | | This separates out the install media-specific environment (creating bsdinstall_etc) from actually running the installer on a given console. This will be used by a future change to start the installer on multiple consoles. Reviewed by: brooks, gjb Differential Revision: https://reviews.freebsd.org/D36803
* bsdinstall: Add a new runconsoles helper binaryJessica Clarke2022-10-031-0/+1
| | | | | | | | | | | This helper binary will run a given command on every on console, as defined by /etc/ttys (except for ttyv*, where only ttyv0 will be used). If one of the command processes exits, the rest will be killed. This will be used by a future change to start the installer on multiple consoles. Reviewed by: brooks, imp, gjb Differential Revision: https://reviews.freebsd.org/D36804
* manpages: Remove telnetd referencesBrooks Davis2022-09-291-2/+1
| | | | | | | | | | Mostly remove from the SEE ALSO section, adding a mention of the port where not removed. Elsewhere, remove as appropriate and change from .Xr to .Nm where a mention of telnetd continues to make sense (or removing it would require significant reworking of the surrounding text). Reviewed by: imp, delphij, emaste Differential Revision: https://reviews.freebsd.org/D36785
* Remove telnetdBrooks Davis2022-09-281-3/+0
| | | | | | | | | | | | | | The telnetd codebase is unmaintained and has a number of quality issues. Telnet has been largely supplanted by ssh. If needed, a port is available (net/freebsd-telnetd), but a more maintained implementation should be prefered. While the telnet client suffers from the same issues, it is deemed to be of lower risk and is required to connect to legacy devices, so it remains. Reviewed by: emaste, imp Differential Revision: https://reviews.freebsd.org/D36620
* Do not delete objdump when WITH_LLVM_BINUTILS is trueEd Maste2022-09-251-0/+5
| | | | | | | | WITH_LLVM_BINUTILS links /usr/bin/objdump to llvm-objdump, and similarly for the man page. Do not delete them in `make delete-old`. PR: 266603 Sponsored by: The FreeBSD Foundation
* OptionalObsoleteFiles.inc: add bearssl, secureboot, veriexec.Dag-Erling Smørgrav2022-09-091-0/+17
| | | | | Sponsored by: Klara, Inc. MFC after: 1 week
* src.conf: Introduce WITHOUT_MACHDEP knob.Gleb Popov2022-09-091-0/+1
| | | | | | | | | | | | | | Summary: This knob can be used to make buildsystem prefer generic C implentations of various functions, instead of machine-specific assembler ones. Test Plan: `make buildworld` on amd64 Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D36076 MFC after: 3 days
* OptionalObsoleteFiles.inc: Add missing sendmail feature macro files.Peter Wemm2022-08-311-0/+3
| | | | MFC after: 3 days
* tools/build: Unbreak bmake bootstrap on LinuxJessica Clarke2022-08-221-0/+8
| | | | | | | | | | | | Currently make.py has a hack to add the cross-build headers to the include search path when bootstrapping bmake on Linux (but not macOS). This is a bit of an abuse of these headers, and e9ba1fd5eda2 was not prepared for this, since sys/bitcount.h won't exist in that instance (it gets copied into WORLDTMP during the legacy build). Work around this until we can wean the bmake bootstrap off using these headers by not including sys/bitcount.h when it doesn't exist. Fixes: e9ba1fd5eda2 ("tools/build: Provide FreeBSD's bitstring API when cross-building")
* tools/build: Provide fls* when cross-building on LinuxJessica Clarke2022-08-182-0/+42
| | | | | | | | | flsll is needed for makefs's new ZFS support, and the others are added for completeness. Reviewed by: emaste, arichardson Fixes: 240afd8c1fcc ("makefs: Add ZFS support") Differential Revision: https://reviews.freebsd.org/D36134
* tools/build: Provide FreeBSD's bitstring API when cross-buildingJessica Clarke2022-08-182-0/+13
| | | | | | | | | This is needed for building makefs as a cross-tool since the ZFS code uses these APIs. Reviewed by: emaste Fixes: 240afd8c1fcc ("makefs: Add ZFS support") Differential Revision: https://reviews.freebsd.org/D36133
* libc: iconv: add mb_cur_min for encoder traitsKyle Evans2022-08-111-0/+47
| | | | | | | | | | | | | | | | | | | | | A future commit will actually implement //IGNORE so that applications using base iconv can, e.g., sanitize UTF-8 strings. To do this, the iconv_std module needs to be able to determine the minimum width for any given encoding so that it can skip that many bytes in the input buffer. This is mainly an issue for UTF-16 and UTF-32. This commit bumps shlib versions to 5 for libiconv modules to reflect the ABI change. It also fixes OptionalObsoleteFiles to remove the libiconv modules if WITHOUT_ICONV is in use. re: _ENCODING_MB_CUR_MIN, note that this file (citrus_stdenc_template.h) is included at the bottom of an encoding *implementation*, so the implementation is free to #define it prior. UTF1632 is a good example, as it redefines the minimum to be a property on the encodinginfo, and the minimum is set to 2 or 4 bytes for UTF-16 and UTF-32 respectively. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D34344
* check/delete-old: Fix /bin/rmail removal conditionDmitry Chagin2022-07-211-0/+2
| | | | | | | | | | When WITHOUT_SENDMAIL is enabled and WITHOUT_MAILWRAPPER is disabled we install /bin/rmail as a link to the /usr/sbin/mailwrapper. Ensure make delete-old does not unlink /bin/rmail in that case. Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D35874 MFC after: 2 weeks
* namespace nv names, version libnv and libnvpair library symbolsReid Linnemann2022-07-211-1/+1
| | | | | | | | | | | | | | | libnv and libnvpair have aliased symbols, and as a result a single process which dlopens a shared object that is dynamically linked to libnv and another to libnvpair will wind up with a single set of resolved symbols for those in conflict. A source file also cannot include both libnv and libnvpair headers because of aliased identifiers. To resolve the situation, libnv types and functions are namespaced via nv_namespace.h, and libnv symbols are versioned. The msgio functions are not namespaced or exported as they are not part of the external API. Reviewed by: kevans Sponsored by: Rubicon Communications, LLC ("Netgate") Differential Revision: https://reviews.freebsd.org/D35261
* depend-cleanup.sh: Handle kqtest being renamed to kqueue_test.John Baldwin2022-07-141-0/+8
| | | | | | | | | | | bmake will not think that object files such as read.o are out of date due to common.h changing since the dependency is only recorded in .depend.kqtest.read.o in an old object directory. Reviewed by: markj Fixes: 68fe988a40ca kqueue tests: Simplify the test runner Sponsored by: DARPA Differential Revision: https://reviews.freebsd.org/D35820
* cddl/*: add a WITH(OUT)_DTRACE optionBrooks Davis2022-07-062-17/+19
| | | | | | | | | | | | | | | | | | Add an option to enable/disable DTrace without disabling ZFS. New architectures such as CHERI may support ZFS before they support DTrace and the old model of WITHOUT_CDDL disabling both wasn't helpful. For compatiblity, the CDDL option remains and WITHOUT_CDDL implies WITHOUT_DTRACE. WITHOUT_DTRACE also implies WITHOUT_CTF. As part of this change, largely convert cddl/*/Makefile to using the more compact SUBDIR.${MK_<FOO>}+= form rather than using intermediate variables. Reviewed by: markj Obtained from: CheriBSD Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D35718
* Add RELRO build knob, default to enabledEd Maste2022-06-223-0/+16
| | | | | | | | | | | | | | Note that lld enables relro by default, so that we already had either partial or full RELRO, depending on the state of the BIND_NOW knob. Add a RELRO knob so that the option can be disabled if desired, and so that builds using the GNU toolchain are equivalent to those using the standard Clang/LLVM toolchain. Reviewed by: markj MFC after: 3 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35545
* Merge llvm-project release/14.x llvmorg-14.0.5-0-gc12386ae247cDimitry Andric2022-06-121-309/+309
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14.0.5-0-gc12386ae247c, aka 14.0.5 release. PR: 261742 MFC after: 3 days
* Add SPLIT_KERNEL_DEBUG knobEd Maste2022-06-082-3/+5
| | | | | | | | | | | | | | | | | | | Prior to 9b6edf364eb0 WITHOUT_KERNEL_SYMBOLS split kernel debug data into standalone debug files at build time, but did not install those files. As of 9b6edf364eb0 it stopped splitting the debug data, leaving it in the kernel and modules (the default kernel configs include DEBUG=-g). Revert 9b6edf364eb0 and introduce a new build-time SPLIT_KERNEL_DEBUG knob, as some people rely on the pre-9b6edf364eb0 WITHOUT_KERNEL_SYMBOLS behaviour and that was imp's original intent. PR: 264433 Reviewed by: eugen, imp MFC after: 3 weeks Relnotes: yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35437
* Clarify WITHOUT_KERNEL_SYMBOLS descriptionEd Maste2022-06-071-1/+3
| | | | | | | | | | | | | Debug data is enabled via `makeoptions DEBUG=-g` in the kernel config file (e.g. GENERIC). If debug data is enabled and WITHOUT_KERNEL_SYMBOLS is set then debug data is included in the kernel and module files. PR: 264433 Discussed with: markj MFC after: 1 week Sponsored by: The FreeBSD Foundation
* Add more old clang files to (Optional)ObsoleteFiles.incDimitry Andric2022-06-051-0/+3
| | | | | | | There were a few more libclang_rt libraries added recently, but not yet listed in the ObsoleteFiles.inc lists. MFC after: 3 days
* Update rest of llvm-project build glue for 14.0.4Dimitry Andric2022-06-051-306/+306
| | | | | | | | | I completely forgot about updating the generated llvm-project config files, which also contain version numbers, etc. Sorry for the churn. PR: 261742 Fixes: ab9d54731f43 MFC after: 3 days
* src.conf.5: Update the WITHOUT_ZFS descriptionMark Johnston2022-05-301-1/+8
| | | | | | | | | | ... to take into account programs and libraries which might implement some ZFS-specific features without being exclusive to ZFS. Reviewed by: emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D35337
* Add several sanitizer ignore lists under /usr/lib/clangDimitry Andric2022-05-281-0/+4
| | | | | | | | | | | Some of the sanitizers from compiler-rt can use ignore lists, which are loosely modeled on valgrind's example. Upstream provides default lists for AddressSanitizer, CFI, and MemorySanitizer, so install these in the expected location, /usr/lib/clang/14.0.3/share. Reviewed by: emaste MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35338
* Merge llvm-project release/14.x llvmorg-14.0.3-0-g1f9140064dfbDimitry Andric2022-05-141-300/+302
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14.0.3-0-g1f9140064dfb. PR: 261742 MFC after: 2 weeks
* Merge llvm-project main llvmorg-14-init-18294-gdb01b123d012Dimitry Andric2022-05-141-0/+4
| | | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-18294-gdb01b123d012, the last commit before the upstream release/14.x branch was created. PR: 261742 MFC after: 2 weeks
* Merge llvm-project main llvmorg-14-init-17616-g024a1fab5c35Dimitry Andric2022-05-141-2/+41
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-17616-g024a1fab5c35. PR: 261742 MFC after: 2 weeks
* Merge llvm-project main llvmorg-14-init-11187-g222442ec2d71Dimitry Andric2022-05-141-4/+57
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-11187-g222442ec2d71. PR: 261742 MFC after: 2 weeks
* Merge llvm-project main llvmorg-14-init-10223-g401b76fdf2b3Dimitry Andric2022-05-141-297/+369
| | | | | | | | This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and openmp to llvmorg-14-init-10223-g401b76fdf2b3. PR: 261742 MFC after: 2 weeks
* Remove stray .Pp from WITH_LOADER_EFI_SECUREBOOT descriptionEd Maste2022-05-021-1/+0
| | | | | | MFC after: 3 days Fixes: 13ea0450a9c8 ("Extend libsecureboot(old libve) to...") Sponsored by: The FreeBSD Foundation
* Update UNIFIED_OBJDIR descriptionsEd Maste2022-05-022-2/+4
| | | | | | | | | | | src.conf(5) previously stated they would be removed before FreeBSD 12.0, but that did not happen. Change it to "a future version of FreeBSD." Also pick up LOADER_KBOOT change (enabled on x86) in src.conf regen. Reported by: jhb MFC after: 3 days Sponsored by: The FreeBSD Foundation
* Correct markup in WITH_/WITHOUT_UNIFIED_OBJDIR descriptionsEd Maste2022-04-302-2/+2
| | | | | MFC after: 3 days Sponsored by: The FreeBSD Foundation
* Update WITH_PROFILE description as it is yet removedEd Maste2022-04-301-2/+2
| | | | | | | | | | | GCC still wants to link against (for example) libc_p.a when -pg is in use, and it's unclear when and how this will be addressed. Change the WITH_PROFILE option description to claim that it may be removed from an unspecified future version of FreeBSD, rather than FreeBSD 14. Reported by: Steve Kargl MFC after: 1 week Sponsored by: The FreeBSD Foundation
* depend-cleanup.sh: Handle libc bcmp.c moving back to bcmp.S on amd64Mateusz Guzik2022-03-261-2/+2
|