Re: [PATCH v2 0/3] kbuild: fix host progs build with libs in non standard locations
From: Josh Poimboeuf
Date: Tue Feb 27 2018 - 12:45:24 EST
On Mon, Feb 26, 2018 at 07:41:45PM +0100, Robin Jarry wrote:
> This patchset allows to build host programs that depend on external libs
> installed in non standard locations (i.e. not in /usr/include, /usr/lib,
> etc.). For now, the only way is to force HOSTCC to include both the
> path to the host compiler and the build flags.
>
> I have encountered this issue when building linux into the buildroot
> framework. host-* versions of libs may be compiled and installed in a
> host staging dir removing the need to install them on the build system.
>
> I'm not really satisfied with the new HOST_{C,LD}FLAGS variables. They
> are too similar to HOST{C,LD}FLAGS and I find them confusing. However,
> HOST_EXTRA*FLAGS are already reserved for local use in makefiles (see
> Documentation/kbuild/makefiles.txt). And I didn't want to have even
> longer USER_HOST_*FLAGS. If someone has a better proposition, I'll
> happily make a v3.
In Documentation/kbuild/kbuild.txt, we have the following environment
variables:
KCFLAGS
--------------------------------------------------
Additional options to the C compiler (for built-in and modules).
CFLAGS_KERNEL
--------------------------------------------------
Additional options for $(CC) when used to compile
code that is compiled as built-in.
CFLAGS_MODULE
--------------------------------------------------
Additional module specific options to use for $(CC).
LDFLAGS_MODULE
--------------------------------------------------
Additional options used for $(LD) when linking modules.
LDFLAGS_vmlinux
--------------------------------------------------
Additional options passed to final link of vmlinux.
So instead of
HOST_CFLAGS
HOST_LDFLAGS
maybe it would be more consistent to call them
CFLAGS_HOST
LDFLAGS_HOST
?
Also, the new environment variables should be documented in the above
file.
--
Josh