| #
91da7698
|
| 05-Apr-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Remove leftover _LDSCRIPTROOT missed in r297270.
Sponsored by: EMC / Isilon Storage Division
|
| #
d6084013
|
| 04-Apr-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
| #
ce6c8db5
|
| 31-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
LIB32+WITHOUT_TOOLCHAIN: Fix build by staging includes.
This is the same fix as r297281 for the normal build.
Sponsored by: EMC / Isilon Storage Division
|
| #
497e8091
|
| 30-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.
Reviewed by: emaste, hselasky (partial), brooks (brief) Discussed on: arch@ Sponsored by: EMC / Isilon Storage Division Diff
Remove the old depend (mkdep) code and make FAST_DEPEND the one true way.
Reviewed by: emaste, hselasky (partial), brooks (brief) Discussed on: arch@ Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5742
show more ...
|
| #
17e3ebb1
|
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Fix libcompat not handling some external toolchain flags.
- Use libc++ with GCC. - Use CROSS_BINUTILS_PREFIX with -B (r280980 addressed this mostly already)
Sponsored by: EMC / Isilon Storage Divis
Fix libcompat not handling some external toolchain flags.
- Use libc++ with GCC. - Use CROSS_BINUTILS_PREFIX with -B (r280980 addressed this mostly already)
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
1b337a34
|
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Build libcompat (lib32) with a --sysroot pointing into its stage directory.
This overrides the cross-compiler's default sysroot to use the WORLD32's sysroot for building the lib32 libraries. Previo
Build libcompat (lib32) with a --sysroot pointing into its stage directory.
This overrides the cross-compiler's default sysroot to use the WORLD32's sysroot for building the lib32 libraries. Previously the cross-compiler would default the sysroot to the 64bit WORLDTMP and -B/-L/-isystem flags were used to build using the lib32 files. This leads to multiple issues discussed later. Some extra headers are now needed to be staged since the 64bit WORLDTMP is not referenced at all for headers. The 64bit WORLDTMP is still used via PATH for build tools. Overriding the default target/arch is retained in the CC/CXX overrides.
This allows reverting the LDSCRIPT rewriting in installworld from r296921 and r235122, thus allowing read-only objdirs to work for installing again.
This removes the need for _LDSCRIPTROOT.
This allows progressing the change to always use --sysroot for the build rather than only relying on the cross-compiler's default sysroot. The work for that is in D3970 and needed to resolve WITHOUT_CROSS_COMPILER not using a --sysroot [1].
PR: 196193 [1] Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
429882e6
|
| 25-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
LIBRARIES_ONLY should only be defined during install32.
r245561 added it to prevent extra files from being installed during the install32 phase (to prevent duplicates in the meta log with -DNO_ROOT)
LIBRARIES_ONLY should only be defined during install32.
r245561 added it to prevent extra files from being installed during the install32 phase (to prevent duplicates in the meta log with -DNO_ROOT). The flag should not be passed during build32 though since it may prevent staging of includes during the 'make includes' phase on library directories.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
37a8c977
|
| 24-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Explicit 'make obj' for library dirs in build32 is not needed.
In r138291 some directories were explicitly made to run 'make obj', but each target in 'make libraries' already runs 'make obj' for eac
Explicit 'make obj' for library dirs in build32 is not needed.
In r138291 some directories were explicitly made to run 'make obj', but each target in 'make libraries' already runs 'make obj' for each library since r161580.
Sponsored by: EMC / Isilon Storage Division
show more ...
|
| #
53835448
|
| 14-Mar-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH
Sponsored by: The FreeBSD Foundation
|
| #
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
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.
show more ...
|
| #
048ce093
|
| 12-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Follow-up r296709: Fix build32 not properly building all libraries.
Pointyhat to: bdrewery Reported by: antoine
|
| #
dba75e9f
|
| 11-Mar-2016 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Move Makefile.lib32 to Makefile.libcompat and generalize it.
This is in preparation for LIBSOFT.
This file only supports *1* LIBCOMPAT value currently and must be capitalized. In Makefile.libcompat
Move Makefile.lib32 to Makefile.libcompat and generalize it.
This is in preparation for LIBSOFT.
This file only supports *1* LIBCOMPAT value currently and must be capitalized. In Makefile.libcompat given LIBCOMPAT=FOO there can be values set for LIBFOOCFLAGS, LIBFOOCPUFLAGS, LIBFOOWMAKEENV, LIBFOOWMAKEFLAGS, LIBFOOCPUFLAGS, and LIBFOODTRACE. These will have the standard cross-build values appended onto them.
This could be extended to support multiple libcompat libraries in the future once there is a need.
Reviewed by: imp Sponsored by: EMC / Isilon Storage Division Differential Revision: https://reviews.freebsd.org/D5612
show more ...
|
| #
e84374d3
|
| 22-Aug-2025 |
Jessica Clarke <jrtc27@FreeBSD.org> |
Makefile.libcompat: Use same PATH for _lc_build-tools as _build-tools
Without this, we end up with just the host's tools in PATH during _lc_build-tools. In particular, sed on GNU/Linux systems will
Makefile.libcompat: Use same PATH for _lc_build-tools as _build-tools
Without this, we end up with just the host's tools in PATH during _lc_build-tools. In particular, sed on GNU/Linux systems will be GNU sed, whose -i option has different semantics, and this causes the lib32 build of ncurses to fail trying to create curses.h with:
sed: can't read s|...|...|g: No such file or directory
This has always been a bug in Makefile.libcompat but previously it didn't end up mattering; this is the first known case.
Fixes: 1cc020eba69e ("ncurses: Provide reproducible paths") MFC after: 1 week
show more ...
|
| #
c6778f3a
|
| 17-Aug-2025 |
Lexi Winter <ivy@FreeBSD.org> |
Makefile.libcompat: Tweak krb5 compat dirs
krb5/util contains both programs and libraries; trying to build that for compat confuses bsd.prog.mk and results in unwanted files being created in the sou
Makefile.libcompat: Tweak krb5 compat dirs
krb5/util contains both programs and libraries; trying to build that for compat confuses bsd.prog.mk and results in unwanted files being created in the source tree. Remove krb5/util and instead list only the directories underneath krb5/util which contain libraries.
The libdata change from the diff isn't included; that will be fixed in a different way.
Fixes: fb13ae28b2e8 ("Makefile.libcompat: Add krb5/util") Reviewed by: ngie (previous version) Differential Revision: https://reviews.freebsd.org/D51937
show more ...
|
| #
fb13ae28
|
| 16-Aug-2025 |
Lexi Winter <ivy@FreeBSD.org> |
Makefile.libcompat: Add krb5/util
This fixes missing libraries (libcom_err, libkrb5profile, ...) for the 32-bit build, since these libraries live in krb5/util.
Reviewed by: ngie, des Differential R
Makefile.libcompat: Add krb5/util
This fixes missing libraries (libcom_err, libkrb5profile, ...) for the 32-bit build, since these libraries live in krb5/util.
Reviewed by: ngie, des Differential Revision: https://reviews.freebsd.org/D51926
show more ...
|
| #
7e35117e
|
| 11-Jun-2025 |
Cy Schubert <cy@FreeBSD.org> |
Makefile: Hook MIT KRB5 into the build
Add tests for MK_MITKRB5. If "yes" build MIT KRB5. If "no" build Heimdal. The default is MK_MITKRB5 = no, added by "krb5: Add build plumbing".
At some point w
Makefile: Hook MIT KRB5 into the build
Add tests for MK_MITKRB5. If "yes" build MIT KRB5. If "no" build Heimdal. The default is MK_MITKRB5 = no, added by "krb5: Add build plumbing".
At some point we will change the default to MK_MITKRB5 = yes. A ports exp-run will need to be successfully run first.
Sponsored by: The FreeBSD Foundation Differential revision: https://reviews.freebsd.org/D50815
show more ...
|
| #
8e358007
|
| 05-Jun-2025 |
Brooks Davis <brooks@FreeBSD.org> |
build: remove the last vestiges of lint support
Commit 1cbb58886a47 (shipped in 12.0.0) removed all lint infrastructure. A bunch of NO_LINT definitions remained (perhaps as a bootstrapping measture)
build: remove the last vestiges of lint support
Commit 1cbb58886a47 (shipped in 12.0.0) removed all lint infrastructure. A bunch of NO_LINT definitions remained (perhaps as a bootstrapping measture). Remove them.
Reviewed by: emaste Differential Revision: https://reviews.freebsd.org/D50704
show more ...
|
| #
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
|
| #
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
|
| 10-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
|
| 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 ...
|
| #
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 ...
|