History log of /freebsd/Makefile.libcompat (Results 1 – 25 of 126)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 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


123456