| #
9f811192
|
| 27-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Fix list-old-libs by deleting stray pipe
Reported by: Yuri <yuri@aetern.org> Fixes: 264594efbe69 ("Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats")
|
| #
2a4d73f3
|
| 27-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Reinstate kbdcontrol bootstrap for BUILD_WITH_STRICT_TMPPATH
During BUILD_WITH_STRICT_TMPPATH builds we need to symlink the host's kbdcontrol into WORLDTMP/legacy/bin so that it can b
Makefile.inc1: Reinstate kbdcontrol bootstrap for BUILD_WITH_STRICT_TMPPATH
During BUILD_WITH_STRICT_TMPPATH builds we need to symlink the host's kbdcontrol into WORLDTMP/legacy/bin so that it can be used. For completeness, also check if the host has it, since technically the host could have been built with WITHOUT_LEGACY_CONSOLE (though given nobody's screamed since this code was removed that's likely not something that gets hit in practice), and handle BOOTSTRAP_ALL_TOOLS (especially since that case will cover cross-building if and when kbdcontrol can be built on non-FreeBSD).
This allows a BUILD_WITH_STRICT_TMPPATH tinderbox to pass.
This partially reverts commit 33550b47391330362ea58984aa3fd691f6219ee0.
Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D41202
show more ...
|
| #
d81da4c9
|
| 27-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Add new buildetc and installetc targets
These implement the steps that etcupdate (and mergemaster) need in order to build their pristine trees, avoiding the need to use internal targe
Makefile.inc1: Add new buildetc and installetc targets
These implement the steps that etcupdate (and mergemaster) need in order to build their pristine trees, avoiding the need to use internal targets and variables. Additionally, buildetc includes the steps needed to build with BUILD_WITH_STRICT_TMPPATH enabled, since we need some host tools to be available during the various build and install steps.
Reviewed by: jhb, imp Differential Revision: https://reviews.freebsd.org/D41205
show more ...
|
| #
8fc3059b
|
| 27-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Split _cleanworldtmp out from _worldtmp
This mirrors _cleanobj vs _obj, and will be used by etcupdate to ensure its build tree has host tools available when BUILD_WITH_STRICT_TMPPATH
Makefile.inc1: Split _cleanworldtmp out from _worldtmp
This mirrors _cleanobj vs _obj, and will be used by etcupdate to ensure its build tree has host tools available when BUILD_WITH_STRICT_TMPPATH is enabled by default (whether in the source tree, like CheriBSD, or in a system config file).
Note that due to line length the .MAKE .PHONY dependency line is split into two, one for the filtered WMAKE_TGTS and one for the filtered .ALLTARGETS.
Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41190
show more ...
|
| #
65f28f63
|
| 27-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
tools/build: Create toolchain symlinks for non-absolute compiler/linker
If any of the toolchain variables are not absolute then we need to create a symlink in WORLDTMP/legacy/bin in order to make th
tools/build: Create toolchain symlinks for non-absolute compiler/linker
If any of the toolchain variables are not absolute then we need to create a symlink in WORLDTMP/legacy/bin in order to make them available during a BUILD_WITH_STRICT_TMPPATH build.
Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41188
show more ...
|
| #
81805ec3
|
| 27-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
depend-cleanup.sh: Generalise lib32 code and avoid duplication
By passing through _ALL_libcompats we can avoid hard-coding the list of libcompats in depend-cleanup.sh. This cleanup also makes clean_
depend-cleanup.sh: Generalise lib32 code and avoid duplication
By passing through _ALL_libcompats we can avoid hard-coding the list of libcompats in depend-cleanup.sh. This cleanup also makes clean_dep shorter by using a loop instead of handling each case explicitly (at the expense of slightly tweaked logging).
Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41187
show more ...
|
| #
264594ef
|
| 27-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Automatically generate _LIBCOMPATS and list-old-* libcompats
Reviewed by: brooks, jhb Differential Revision: https://reviews.freebsd.org/D41180
|
| #
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/inc
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
show more ...
|
| #
81250b9c
|
| 25-Jul-2023 |
Mike Karels <karels@FreeBSD.org> |
Makefile.inc1: add LIBCOMPAT_INCLUDE_DIRS to reduce arch ifdefs
In preparation for adding support for building lib32 on arm64, add a list of architecture-specific include directories, LIBCOMPAT_INCL
Makefile.inc1: add LIBCOMPAT_INCLUDE_DIRS to reduce arch ifdefs
In preparation for adding support for building lib32 on arm64, add a list of architecture-specific include directories, LIBCOMPAT_INCLUDE_DIRS, then replace the architecture-specific ifdefs throughout the file with simple loops. Another commit will add a definition of LIBCOMPAT_INCLUDE_DIRS for aarch64.
Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D40977
show more ...
|
| #
c70dd03a
|
| 11-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Make sure MACHINE(_ARCH) are exported for depend-cleanup.sh
We run depend-cleanup.sh twice during the build. The second time is the normal run, where we run it under WMAKEENV and thus have CROSSENV'
Make sure MACHINE(_ARCH) are exported for depend-cleanup.sh
We run depend-cleanup.sh twice during the build. The second time is the normal run, where we run it under WMAKEENV and thus have CROSSENV's MACHINE(_ARCH)=${TARGET(_ARCH)} in the environment. However, the first time is for bootstrap-tools, where it's run under BMAKEENV and we don't have any assignments to MACHINE(_ARCH) in the environment, meaning the script sees them as unset. In practice this doesn't matter since the only use doesn't apply to bootstrap-tools, but it could be a future issue. Thus, explicitly export them for depend-cleanup.sh and have the script verify they're set.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D40968
show more ...
|
| #
91d7edd5
|
| 27-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Generalise libcompat to be a list rather than a single option
Whilst the kernel can support any number of COMPAT_FOO, world can only build a single libfoo. Upstream this isn't such an issue, since t
Generalise libcompat to be a list rather than a single option
Whilst the kernel can support any number of COMPAT_FOO, world can only build a single libfoo. Upstream this isn't such an issue, since the only option is lib32 anyway, but downstreams, such as CheriBSD, may wish to support multiple at the same time. Thus, adjust the top-level Makefiles to turn _LIBCOMPAT into a _LIBCOMPATS list that gets iterated over, and adjust bsd.compat.mk to support this use-case.
For the normal NEED_COMPAT/WANT_COMPAT case, LIBCOMPATFOO remain set and refer to the requested compat's, preserving the current interface. For the top-level Makefiles those variables are no longer set (since there is no longer "the" compat) and only the per-compat ones are available.
Reviewed by: brooks, jhb, imp Differential Revision: https://reviews.freebsd.org/D40571
show more ...
|
| #
bd9049ee
|
| 21-Jun-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
Fix prebuild race between libpam and libtacplus.
Fixes: 21850106fdda MFC after: 1 week Sponsored by: Klara, Inc. Reviewed by: kevans, emaste Differential Revision: https://reviews.freebsd.org/D40702
|
| #
2e0d99a9
|
| 08-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Fix distributeworld mtree mangling for dist root dir
The trailing slash means that ./base itself doesn't get mangled and remains as-is in the output, leading to a stray /base in base.
Makefile.inc1: Fix distributeworld mtree mangling for dist root dir
The trailing slash means that ./base itself doesn't get mangled and remains as-is in the output, leading to a stray /base in base.txz for NO_ROOT builds and thus in the installed system. Since this action is running on a line whose file matches one listed by find (and we're printing all of these as part of that distribution), we don't need to care about the possibility of a path like ./basefoo/bar where the path prefix isn't ./base, and can thus just drop the slash rather than needing something more complicated like "slash or whitespace or EOL" as one might first think.
show more ...
|
| #
469727c9
|
| 08-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Use INSTALL_DDIR for distributeworld's distrib-dirs
INSTALL_DDIR is the canonicalised version of DESTDIR/DISTDIR. Whilst most of what distrib-dirs does doesn't need the canonicalised
Makefile.inc1: Use INSTALL_DDIR for distributeworld's distrib-dirs
INSTALL_DDIR is the canonicalised version of DESTDIR/DISTDIR. Whilst most of what distrib-dirs does doesn't need the canonicalised form, it is responsible for installing the POSIX and en_US.US_ASCII NLS symlinks to C, and therefore needs the canonicalised version for those two uses of install for NO_ROOT builds, since our install does a naive text-based prefix strip when creating the METALOG entry rather than a smarter path semantics-aware one (which itself is really a bug, and has bitten us many times). As a result, using plain DESTDIR/DISTDIR instead can result in the METALOG having ./path/to/destdir/base/usr/share/nls/$LOCALE rather than ./base/usr/share/nls/$LOCALE and then being filtered out when creating base.meta (or, if you're unlucky and the absolute path begins with base or tests, weird things will probably happen).
Given this footgun an audit of DESTDIR uses is probably in order, especially those using DESTDIR/DISTDIR, but this is sufficient for now.
show more ...
|
| #
f7057652
|
| 10-Apr-2022 |
Ed Maste <emaste@FreeBSD.org> |
Makefile.inc1: use make builtin :ts instead of sed
Commit 3eb1b4da3cf7 replaced "xargs -n1" with a sed expression to convert from space to newline as a list separator for *-old-* targets. Dan Nelson
Makefile.inc1: use make builtin :ts instead of sed
Commit 3eb1b4da3cf7 replaced "xargs -n1" with a sed expression to convert from space to newline as a list separator for *-old-* targets. Dan Nelson followed up with a suggestion to use make's built-in :ts instead, which should be slightly more efficient.
Reviewed by: sjg Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D39972
show more ...
|
| #
a1bf1a1a
|
| 23-Apr-2023 |
Simon J. Gerraty <sjg@FreeBSD.org> |
showconfig - ignore options that do not start with A-Z
When building on various hosts it can be handy to create pseudo options like MK_host_egacy - building on a host that needs libegacy.
Such opti
showconfig - ignore options that do not start with A-Z
When building on various hosts it can be handy to create pseudo options like MK_host_egacy - building on a host that needs libegacy.
Such options should be ignored by showconfig
Reviewed by: emaste
show more ...
|
| #
10172ce3
|
| 12-Apr-2023 |
John Baldwin <jhb@FreeBSD.org> |
Stop stripping 'sf' suffixes from architecture names.
riscv64sf was the only architecture with an 'sf' suffix.
Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D39497
|
| #
1ca12bd9
|
| 12-Apr-2023 |
John Baldwin <jhb@FreeBSD.org> |
Remove the riscv64sf architecture.
Reviewed by: jrtc27, arichardson, br, kp, imp, emaste Differential Revision: https://reviews.freebsd.org/D39496
|
| #
7d8e1e8d
|
| 29-Mar-2023 |
John Baldwin <jhb@FreeBSD.org> |
libcasper: Move helper libraries from /lib/casper to /lib.
These libraries are linked to directly by applications rather than opened at runtime via dlopen().
Discussed with: oshogbo Reviewed by: ma
libcasper: Move helper libraries from /lib/casper to /lib.
These libraries are linked to directly by applications rather than opened at runtime via dlopen().
Discussed with: oshogbo Reviewed by: markj, emaste Differential Revision: https://reviews.freebsd.org/D39245
show more ...
|
| #
9e914c7a
|
| 15-Mar-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Add new DISK_IMAGE_TOOLS_BOOTSTRAP option
This will build etdump, makefs and mkimg as bootstrap tools to allow easily creating disk images. Note that etdump is bootstrapped due to its use in the rel
Add new DISK_IMAGE_TOOLS_BOOTSTRAP option
This will build etdump, makefs and mkimg as bootstrap tools to allow easily creating disk images. Note that etdump is bootstrapped due to its use in the release scripts for building ISO images.
Reviewed by: emaste, arichardson Differential Revision: https://reviews.freebsd.org/D39072
show more ...
|
| #
d7a491dd
|
| 06-Mar-2023 |
Ed Maste <emaste@FreeBSD.org> |
make showconfig: set MACHINE and MACHINE_ARCH
Previously these were not set for the showconfig target, so took the host's value rather than the target. As a result some machine-dependent kernel opt
make showconfig: set MACHINE and MACHINE_ARCH
Previously these were not set for the showconfig target, so took the host's value rather than the target. As a result some machine-dependent kernel options were not reported with correct defaults in the src.conf manpage.
PR: 269994 Reviewed by: imp Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D38926
show more ...
|
| #
dda4d972
|
| 03-Mar-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.inc1: Support building with macOS Ventura's AMFI Launch Constraints
As of macOS Ventura, Apple-signed binaries cannot be run if copied away from their system location. This security feature
Makefile.inc1: Support building with macOS Ventura's AMFI Launch Constraints
As of macOS Ventura, Apple-signed binaries cannot be run if copied away from their system location. This security feature doesn't really make sense for boring things like sh(1), more so for applications with special entitlements, but it's universally present, and results in the following error:
>>> Install check world bmake[2]: "/Users/Jess/cheri/freebsd/Makefile.inc1" line 572: warning: "MAKEFLAGS= CPUTYPE=dummy /Users/Jess/cheri/build/freebsd-riscv64-build/bmake-install/bin/bmake -f /dev/null -m /Users/Jess/cheri/freebsd/share/mk MK_AUTO_OBJ=no -V CPUTYPE" exited on a signal bmake[2]: "/Users/Jess/cheri/freebsd/Makefile.inc1" line 575: CPUTYPE global should be set with ?=.
As with host-symlinks, we don't actually need to copy the files on macOS, since we're not updating the current machine, so copy its approach and just symlink them instead.
MFC after: 1 week
show more ...
|
| #
3dfd18a7
|
| 13-Feb-2023 |
John Baldwin <jhb@FreeBSD.org> |
Remove support for the base/* toolchain ports.
These ports have been removed so these knobs are no longer meaningful.
This reverts commit 608289394f655d0635c71233248b734010fb4d2f. This reverts comm
Remove support for the base/* toolchain ports.
These ports have been removed so these knobs are no longer meaningful.
This reverts commit 608289394f655d0635c71233248b734010fb4d2f. This reverts commit 39eb07f172921a581ee9b33ca2765905f4235202.
Reviewed by: imp, bapt, emaste Differential Revision: https://reviews.freebsd.org/D38562
show more ...
|
| #
b4f7a31f
|
| 09-Feb-2023 |
Kyle Evans <kevans@FreeBSD.org> |
buildworld: drop config(8) dependencies from bootstrap
We may still need them for other parts, so just remove the dependency relationship for now and simplify config's place in bootstrap-tools.
Rev
buildworld: drop config(8) dependencies from bootstrap
We may still need them for other parts, so just remove the dependency relationship for now and simplify config's place in bootstrap-tools.
Reviewed by: imp Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D38277
show more ...
|
| #
0dfaefa9
|
| 08-Feb-2023 |
Dag-Erling Smørgrav <des@FreeBSD.org> |
depend-cleanup.sh: Simplify the logic, and clean bootstrap tools.
* There's no need to check if the file exists before grepping it; if it does not exist, grep will fail, which is what we want. Just
depend-cleanup.sh: Simplify the logic, and clean bootstrap tools.
* There's no need to check if the file exists before grepping it; if it does not exist, grep will fail, which is what we want. Just redirect the error message to /dev/null. * There's no need to split the .o and .pico cases; the bodies are identical, so combine the conditions. Use a glob to avoid a false negative if one exists but not the other. * Also run depend-cleanup.sh on the bootstrap build tree. This unbreaks the build after 29c5f8bf9a01.
Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: imp, emaste Differential Revision: https://reviews.freebsd.org/D38447
show more ...
|