[PATCH v2 4/8] arm64: nvhe: add bee-headers support
Daniel Gomez (Samsung)
d+samsung at kruces.com
Sat Sep 7 09:27:49 UTC 2024
On Fri, Sep 6, 2024 at 4:03 PM Masahiro Yamada <masahiroy at kernel.org> wrote:
>
> On Fri, Sep 6, 2024 at 8:01 PM Daniel Gomez via B4 Relay
> <devnull+da.gomez.samsung.com at kernel.org> wrote:
> >
> > From: Daniel Gomez <da.gomez at samsung.com>
> >
> > endian.h header is not provided by default in macOS. Use pkg-config with
> > the new development package 'bee-headers' [1] to find the path where the
> > headers are installed.
> >
> > [1] Bee Headers Project links:
> > https://github.com/bee-headers/headers
> > https://github.com/bee-headers/homebrew-bee-headers
> >
> > It requires to install bee-headers Homebrew Tap:
> >
> > brew tap bee-headers/bee-headers
> > brew install bee-headers/bee-headers/bee-headers
> >
> > Signed-off-by: Daniel Gomez <da.gomez at samsung.com>
> > ---
> > arch/arm64/kernel/pi/Makefile | 1 +
> > arch/arm64/kernel/vdso32/Makefile | 1 +
> > arch/arm64/kvm/hyp/nvhe/Makefile | 3 ++-
> > 3 files changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/kernel/pi/Makefile b/arch/arm64/kernel/pi/Makefile
> > index 4d11a8c29181..259c9a45fba0 100644
> > --- a/arch/arm64/kernel/pi/Makefile
> > +++ b/arch/arm64/kernel/pi/Makefile
> > @@ -20,6 +20,7 @@ KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_SCS), $(KBUILD_CFLAGS))
> > KBUILD_CFLAGS := $(filter-out $(CC_FLAGS_LTO), $(KBUILD_CFLAGS))
> >
> > hostprogs := relacheck
> > +HOSTCFLAGS_relacheck.o = $(shell $(HOSTPKG_CONFIG) --cflags bee-headers 2> /dev/null)
> >
> > quiet_cmd_piobjcopy = $(quiet_cmd_objcopy)
> > cmd_piobjcopy = $(cmd_objcopy) && $(obj)/relacheck $(@) $(<)
> > diff --git a/arch/arm64/kernel/vdso32/Makefile b/arch/arm64/kernel/vdso32/Makefile
> > index 25a2cb6317f3..6cb8a04bd829 100644
> > --- a/arch/arm64/kernel/vdso32/Makefile
> > +++ b/arch/arm64/kernel/vdso32/Makefile
> > @@ -107,6 +107,7 @@ VDSO_LDFLAGS += --orphan-handling=$(CONFIG_LD_ORPHAN_WARN_LEVEL)
> > # $(hostprogs) with $(obj)
> > munge := ../../../arm/vdso/vdsomunge
> > hostprogs := $(munge)
> > +HOSTCFLAGS_$(munge).o = $(shell $(HOSTPKG_CONFIG) --cflags bee-headers 2> /dev/null)
> >
> > c-obj-vdso := note.o
> > c-obj-vdso-gettimeofday := vgettimeofday.o
> > diff --git a/arch/arm64/kvm/hyp/nvhe/Makefile b/arch/arm64/kvm/hyp/nvhe/Makefile
> > index b43426a493df..d20a440b6964 100644
> > --- a/arch/arm64/kvm/hyp/nvhe/Makefile
> > +++ b/arch/arm64/kvm/hyp/nvhe/Makefile
> > @@ -15,7 +15,8 @@ ccflags-y += -fno-stack-protector \
> > $(DISABLE_STACKLEAK_PLUGIN)
> >
> > hostprogs := gen-hyprel
> > -HOST_EXTRACFLAGS += -I$(objtree)/include
> > +HOST_EXTRACFLAGS += -I$(objtree)/include \
> > + $(shell $(HOSTPKG_CONFIG) --cflags bee-headers 2> /dev/null)
> >
> > lib-objs := clear_page.o copy_page.o memcpy.o memset.o
> > lib-objs := $(addprefix ../../../lib/, $(lib-objs))
> >
> > --
> > 2.46.0
> >
> >
>
> NACK.
>
> Developers working on Linux distributions have no interest
> in your homebrew setup.
>
> For 99% of users, pkg-config does not do anything good.
> It is a waste of process forks.
I didn't think of this, and I agree with you.
>
>
>
> You need to do it outside.
>
>
> $ HOSTCFLAGS=$(pkg-config --cflags bee-headers) make
>
> or
>
> $ export HOSTCFLAGS=$(pkg-config --cflags bee-headers)
> $ make
Would a Makefile variable be suitable for this use case to make it
easier in the command-line?
We can detect we are in a non-linux based environment and enable a
Makefile <VAR> (e.g., NOLINUX=1) and handle the NOLINUX build case
(with pkg-config/bee-headers) inside the Makefiles for these non-linux
cases.
>
>
>
>
>
> --
> Best Regards
> Masahiro Yamada
More information about the dri-devel
mailing list