#
e9ac4169 |
| 15-Jul-2024 |
Warner Losh <imp@FreeBSD.org> |
Remove residual blank line at start of Makefile
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
|
Revision tags: release/14.1.0, release/13.3.0, release/14.0.0 |
|
#
834f73d2 |
| 22-Aug-2023 |
John Baldwin <jhb@FreeBSD.org> |
build{libcompat}: Pass UNIVERSE_TOOLCHAIN_PATH to the _lc_build-tools submake
This fixes make UNIVERSE_TOOLCHAIN=yes with libcompats.
Reviewed by: jrtc27 Differential Revision: https://reviews.free
build{libcompat}: Pass UNIVERSE_TOOLCHAIN_PATH to the _lc_build-tools submake
This fixes make UNIVERSE_TOOLCHAIN=yes with libcompats.
Reviewed by: jrtc27 Differential Revision: https://reviews.freebsd.org/D41535
show more ...
|
#
d0b2dbfa |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line sh pattern
Remove /^\s*#[#!]?\s*\$FreeBSD\$.*$\n/
|
#
8aaa1230 |
| 11-Aug-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.libcompat: Fix DTRACE variable
Back when Makefile.lib32 was turned into Makefile.libcompat, a typo was introduced; it should have been LIBCOMPATDTRACE, but instead gained a dollar sign in i
Makefile.libcompat: Fix DTRACE variable
Back when Makefile.lib32 was turned into Makefile.libcompat, a typo was introduced; it should have been LIBCOMPATDTRACE, but instead gained a dollar sign in it as LIB$COMPATDTRACE (and with COMPATDTRACE not being defined, was equivalent to ${LIB:U${DTRACE}}). This then meant it was not converted to LIB${_LIBCOMPAT}DTRACE in 91d7edd549f5 ("Generalise libcompat to be a list rather than a single option") and instead left broken. Belatedly fix this long-standing seemingly-inconsequential bug.
Fixes: dba75e9fa5a9 ("Move Makefile.lib32 to Makefile.libcompat and generalize it.")
show more ...
|
#
1c024976 |
| 01-Aug-2023 |
John Baldwin <jhb@FreeBSD.org> |
Makefile.inc1: Enable requesting the universe toolchain.
make universe builds a cross toolchain under HOST_OBJTMP/tmp via the universe-toolchain target. However, doing a plain 'make buildworld' aft
Makefile.inc1: Enable requesting the universe toolchain.
make universe builds a cross toolchain under HOST_OBJTMP/tmp via the universe-toolchain target. However, doing a plain 'make buildworld' after a universe/tinderbox run (e.g. to reproduce a failure and test the fix for it), will try to build a new cross toolchain under OBJTMP/tmp which can be tedious. This commit adds a make variable (UNIVERSE_TOOLCHAIN) which can be used similar to CROSS_TOOLCHAIN to request an external toolchain. If this variable is set (value doesn't matter), the the universe toolchain is used as an external toolchain.
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D40777
show more ...
|
#
a1b67573 |
| 26-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 ...
|
#
5d4f8df4 |
| 14-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.libcompat: Make quoting for CC/CXX/CPP more future-proof
bmake's :Q is for quoting outside of double quotes, but here is inside double quotes, and as a result it ends up quoting characters
Makefile.libcompat: Make quoting for CC/CXX/CPP more future-proof
bmake's :Q is for quoting outside of double quotes, but here is inside double quotes, and as a result it ends up quoting characters that don't have a special meaning inside double quotes. On the surface this would seem harmless, but POSIX sh has a strange behaviour (differing from outside double quotes) that, inside double quotes, a backslash before a character that never has a special meaning inside double quotes is passed through. As a result, should LIB${_LIBCOMPAT}CFLAGS contain something like -DFOO\(x\)=x, we would form "... -DFOO\\\(x\\\)=x ...", which would be parsed as -DFOO\\(x\\)=x, since the parentheses are never special inside double quotes (but the backslash itself is), not the original -DFOO\(x\)=x as intended.
Instead, construct the whole string as a bmake expression and use :Q on that, without the manual double quotes around everything. Note that the :L modifier lets you treat an expression like a variable expansion and apply modifiers to it, i.e. ${expr:L:...} is the same as tmp=expr ${tmp:...} (in essence, ignoring possible differences due to deferred substitution).
Improves: 537f945fc89f ("Makefile.libcompat: Quote CFLAGS and CXXFLAGS for sub-make")
show more ...
|
#
0a5e35a7 |
| 14-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.libcompat: Be consistent about not installing includes
Currently we only pass MK_INCLUDES=no for distribute and install, since it's only in LIB${_LIBCOMPAT}IMAKE, which means that we enable
Makefile.libcompat: Be consistent about not installing includes
Currently we only pass MK_INCLUDES=no for distribute and install, since it's only in LIB${_LIBCOMPAT}IMAKE, which means that we enable includes during libraries and thus install includes into worldtmp, despite it being shared these days across native and libcompats. This also means we're at risk of having headers needed for building against a libcompat that don't get installed to the system, but do end up being installed to worldtmp. In particular, lib/msun has different fenv.h for aarch64 and arm, so aarch64 will need arm's copy when it grows lib32 support, and this would be installed to worldtmp, but not to the system, meaning any programs that use fenv.h wouldn't be able to be built.
Instead, be consistent, and don't install includes at all during any of the libcompat phases, so that we can detect these issues and ensure any needed headers are installed for both worldtmp and the system.
Reviewed by: brooks Differential Revision: https://reviews.freebsd.org/D41030
show more ...
|
#
537f945f |
| 09-Jul-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.libcompat: Quote CFLAGS and CXXFLAGS for sub-make
Currently none of the words in these require quoting, but a future commit will add words that do, thus we should make sure to quote each wo
Makefile.libcompat: Quote CFLAGS and CXXFLAGS for sub-make
Currently none of the words in these require quoting, but a future commit will add words that do, thus we should make sure to quote each word so the shell doesn't mangle them before calling the sub-make.
(Note that :@var@expr@ is the bmake syntax for map, replacing each word with expr's evaluation, with var containing the input word)
Reviewed by: emaste, brooks, jhb Differential Revision: https://reviews.freebsd.org/D40921
show more ...
|
#
91d7edd5 |
| 28-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 ...
|
#
10afc5ea |
| 28-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.libcompat: Handle MK_FOO varying for native and compat arches
Currently Makefile.libcompat queries a few MK_FOO variables to determine what is being built. However, it is plausible (and ind
Makefile.libcompat: Handle MK_FOO varying for native and compat arches
Currently Makefile.libcompat queries a few MK_FOO variables to determine what is being built. However, it is plausible (and indeed, downstream in CheriBSD, this is the case) that these may vary between the native and the compat architecture. In order to correctly determine their values for the compat architecture, we need to defer their evaluation until we are in the compat sub-make where src.opts.mk will give us the right value for the compat MACHINE_ARCH.
Reviewed by: brooks, jhb, imp Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D40570
show more ...
|
#
5ed85151 |
| 28-Jun-2023 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.libcompat: Remove unused _LC_INCDIRS
This is no longer referenced as of commit 724123b9f4d3 ("libcompat: Use WORLDTMP sysroot").
Reviewed by: brooks, jhb, imp Differential Revision: https:
Makefile.libcompat: Remove unused _LC_INCDIRS
This is no longer referenced as of commit 724123b9f4d3 ("libcompat: Use WORLDTMP sysroot").
Reviewed by: brooks, jhb, imp Differential Revision: https://reviews.freebsd.org/D40569
show more ...
|
Revision tags: release/13.2.0, release/12.4.0 |
|
#
227f47ce |
| 17-Nov-2022 |
Ed Maste <emaste@FreeBSD.org> |
libcompat: avoid installing include files twice
Previously some headers were getting installed twice, once as expected and then a second time as part of the compat32 library stage.
Makefile.libcomp
libcompat: avoid installing include files twice
Previously some headers were getting installed twice, once as expected and then a second time as part of the compat32 library stage.
Makefile.libcompat sets -DLIBRARIES_ONLY for the install make invocation which causes bsd.lib.mk to skip headers. However some headers are handled via bsd.prog.mk, which does not use LIBRARIES_ONLY. Explicitly set MK_INCLUDES=no.
Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D37413
show more ...
|
#
ac175bd3 |
| 12-Aug-2022 |
Alex Richardson <arichardson@FreeBSD.org> |
Install working pkgconfig .pc files for compat libraries
The default ones are install them to /usr/libdata/pkgconfig, and we can't use this path for compat libraries, so we use /usr/lib<suffix>/pkgc
Install working pkgconfig .pc files for compat libraries
The default ones are install them to /usr/libdata/pkgconfig, and we can't use this path for compat libraries, so we use /usr/lib<suffix>/pkgconfigi here.
Test Plan: grep -rn libdir= ./usr/lib32/pkgconfig/*.pc MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D34939
show more ...
|
#
724123b9 |
| 01-Jul-2022 |
Brooks Davis <brooks@FreeBSD.org> |
libcompat: Use WORLDTMP sysroot
Now that -m32 is fixed, just install libs in ${WORLDTMP}/lib/lib32 and use the installed headers.
Reviewed by: imp, jhb Obtained from: CheriBSD Differential Revision
libcompat: Use WORLDTMP sysroot
Now that -m32 is fixed, just install libs in ${WORLDTMP}/lib/lib32 and use the installed headers.
Reviewed by: imp, jhb Obtained from: CheriBSD Differential Revision: https://reviews.freebsd.org/D34697
show more ...
|
Revision tags: release/13.1.0 |
|
#
03f6e182 |
| 02-Feb-2022 |
Warner Losh <imp@FreeBSD.org> |
Makefile.libcompat: Sort
Sort MK_BOOT before MK_CTF and remove now-useless NO_LINT while I'm here.
Suggested by: brooks, emaste Sponsored by: Netflix
|
#
03475562 |
| 02-Feb-2022 |
Warner Losh <imp@FreeBSD.org> |
stand: Fix kboot issue on powerpc64 with MK_LIB32=yes
When MK_LIB32 is true, we descend into stand for make includes, make clean, etc. We shouldn't do this, so set MK_BOOT=no when we're building inc
stand: Fix kboot issue on powerpc64 with MK_LIB32=yes
When MK_LIB32 is true, we descend into stand for make includes, make clean, etc. We shouldn't do this, so set MK_BOOT=no when we're building includes.
Fixes: 6497250f6f7f PR: 261497 Sponsored by: Netflix Reviewed by: emaste, brooks (he suggested this) Differential Revision: https://reviews.freebsd.org/D34141
show more ...
|
#
aada8c47 |
| 09-Dec-2021 |
Warner Losh <imp@FreeBSD.org> |
libcompat: Remove MIPS from list of compat libraries
Sponsored by: Netflix
|
Revision tags: release/12.3.0 |
|
#
cc46927f |
| 04-Oct-2021 |
Baptiste Daroussin <bapt@FreeBSD.org> |
ncurses: fix libcompat (lib32 for example) building
|
#
61ed578e |
| 04-Aug-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
Prefer MK_SSP=no to SSP_CFLAGS=
It is more idiomatic. CFLAGS is only augmented with $SSP_CFLAGS when $MK_SSP != "no".
Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freeb
Prefer MK_SSP=no to SSP_CFLAGS=
It is more idiomatic. CFLAGS is only augmented with $SSP_CFLAGS when $MK_SSP != "no".
Reviewed by: imp MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31401
show more ...
|
#
bcd2f41f |
| 04-Aug-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
mk: format some option lists
Alphabetize and give each option its own line, ahead of making another change to these lists. This makes future diffs easier to read.
Reviewed by: imp, emaste MFC after
mk: format some option lists
Alphabetize and give each option its own line, ahead of making another change to these lists. This makes future diffs easier to read.
Reviewed by: imp, emaste MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D31399
show more ...
|
#
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 Undefine
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
show more ...
|
#
99feb137 |
| 01-Aug-2021 |
Wolfram Schneider <wosch@FreeBSD.org> |
`make buildworld' with time logging for each stage
PR: 257141 Reviewed by: sjg,emaste Approved by: emaste Differential Revision: https://reviews.freebsd.org/D31154
|
#
689c7e79 |
| 31-May-2021 |
Mitchell Horne <mhorne@FreeBSD.org> |
libpmc: always generate libpmc_events.c
The jevents build tool will create an empty table if it doesn't find any events, so we can remove the extra $MACHINE_CPUARCH checks.
Reviewed by: gnn, ray, e
libpmc: always generate libpmc_events.c
The jevents build tool will create an empty table if it doesn't find any events, so we can remove the extra $MACHINE_CPUARCH checks.
Reviewed by: gnn, ray, emaste MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D30531
show more ...
|
Revision tags: release/13.0.0 |
|
#
8537f162 |
| 07-Jan-2021 |
Baptiste Daroussin <bapt@FreeBSD.org> |
libcompat: remove redundant path for ncurses
Reported by: kevans
|