All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chun-Tse Shao <ctshao@google.com>
To: Nick Desaulniers <ndesaulniers@google.com>,
	Masahiro Yamada <masahiroy@kernel.org>
Cc: Masahiro Yamada <masahiroy@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Nicolas Schier <nicolas@fjasle.eu>,
	Rob Herring <robh+dt@kernel.org>,
	Michal Marek <michal.lkml@markovi.net>,
	David Howells <dhowells@redhat.com>,
	David Woodhouse <dwmw2@infradead.org>,
	Frank Rowand <frowand.list@gmail.com>,
	Josh Poimboeuf <jpoimboe@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Linux Kbuild mailing list <linux-kbuild@vger.kernel.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	keyrings@vger.kernel.org, DTML <devicetree@vger.kernel.org>
Subject: Re: [PATCH v4] config: Allow kernel installation packaging to override pkg-config
Date: Tue, 22 Mar 2022 20:21:14 +0000	[thread overview]
Message-ID: <YjovutS5McV8A8z4@google.com> (raw)
In-Reply-To: <CAKwvOd=D22k53yXFC=E=VkJotn6q-AYCu5QsaFPmH_v+fWGVwA@mail.gmail.com>

On Tue, Mar 22, 2022 at 10:19:14AM -0700, Nick Desaulniers wrote:
> On Tue, Mar 22, 2022 at 12:44 AM Masahiro Yamada <masahiroy@kernel.org> wrote:
> >
> > On Wed, Mar 16, 2022 at 11:51 AM Chun-Tse Shao <ctshao@google.com> wrote:
> > >
> > > Tue, Mar 08, 2022 at 01:01:45PM +0900, Masahiro Yamada wrote:
> > > > On Tue, Mar 8, 2022 at 7:50 AM Chun-Tse Shao <ctshao@google.com> wrote:
> > > > >
> > > > > On Mon, Mar 07, 2022 at 10:17:17AM -0800, Nick Desaulniers wrote:
> > > > > > On Sun, Mar 6, 2022 at 2:39 PM Chun-Tse Shao <ctshao@google.com> wrote:
> > > > > > >
> > > > > > > Add HOSTPKG_CONFIG to allow tooling that builds the kernel to override
> > > > > > > what pkg-config and parameters are used.
> > > > > >
> > > > > > Sorry, kind a late thought here for v4, but we don't seem to prefix
> > > > > > many other host side tools with HOST_, i.e. LEX, YACC, AWK, PERL,
> > > > > > PYTHON3, etc.  Maybe just having the variable identifier be simply
> > > > > > PKGCONFIG rather than HOSTPKG_CONFIG then put it at the end of the
> > > > > > list in the top level Makefile after ZSTD (i.e. the list of host
> > > > > > tools)?  There's HOST_ prefixes when there's more than one tool
> > > > > > involved (i.e. host compiler vs target compiler), but I suspect
> > > > > > there's no such distinction for the existing uses of pkg-config?
> > > > > >
> > > > > Thanks for your suggestion, Nick! Yes I think it makes sense with PKGCONFIG
> > > > > instead of HOSTPKG_CONFIG since there is only one tool involved. I will
> > > > > work on it and submit a new patch.
> > > > >
> > > >
> > > > Please hold on.
> > > >
> > > > I was also wondering what to do with the "HOST" prefix.
> > > >
> > > > Libraries are usually arch-dependent.
> > > > (in other words, pkg-config should return different library paths
> > > > for $(CC) and $(HOSTCC) )
> > > >
> > > > You already understood this, so you added "HOST" prefix.
> > > >
> > > >
> > > > Please let me take time for further discussion.
> > > > I will come back to this when I get some time.
> > > >
> > > >
> > >
> > > Hi Mashiro,
> > >
> > > I was wondering if you were able to look more into this.
> > >
> > > Thank you!
> > >
> > > -CT
> > >
> > > > In the meantime,
> > > >   a8a5cd8b472ca20e5b8fa649c43b3756867322f8
> > > > as reference info if you have not seen it.
> > > >
> > > >
> > > > How many distros support something like
> > > > "aarch64-linux-gnu-pkg-config"  ?
> > > >
> > > > Ubuntu 18.04 and 20.04 seem to support it.
> > > > I do not know for others.
> > > >
> > > >
> > > >
> > > >
> >
> >
> >
> > Sorry for the delay.
> > I am OK with the idea of allowing users to override the pkg-config command,
> > but I tend to take time before making a decision.
> >
> >
> >
> >
> > Does anybody have any insight / thoughts about the following points?
> >
> >
> >
> >
> >
> >
> > [Q1]   with/without "HOST" prefix
> >
> >
> > Apparently, "pkg-config" should return different libs/cflags
> > for $(CC) and $(HOSTCC).
> >
> > I think the non-prefixed macro name "PKG_CONFIG" should be
> > reserved for $(CC)  (building for the target system).
>
> Ok. I retract my comment on v4 about removing the HOST prefix then.
>
> >
> > "HOSTPKG_CONFIG" looks unbalanced
> > due to the underscore.
> >
> > Perhaps, "HOST_PKG_CONFIG" might be better?
>
> I'm fine with HOSTPKG_CONFIG (what's in v4); follows the style of
> HOSTCC and HOSTCXX.
>

Agree, it should follow the style of HOSTCC/HOSTCXX.

> >
> >
> >
> >
> > [Q2]    "pkg-config" vs "pkgconf"
> >
> > The traditional pkg-config implementation [1] is not actively
> > maintained these days.
> > The last commit was more than one year ago.
> >
> > The alternative one 'pkgconf' [2] is more active.
> >
> > In fact, Fedora already switched to 'pkgconf' [3].
> > Now 'pkg-config' is just a wrapper of 'pkgconf'.
> > Many distributions already support pkgconf.
> >
> >
> > I considered the shorter macro name "HOSTPKGCONF" and
> >
> >    HOSTPKGCONF  = pkgconf
> >
> > but I am not sure if this is the right decision.
> > Maybe we should stick to "PKG_CONFIG" / "HOST_PKG_CONFIG"
> > for the macro names.
> >
> >
> >   [1]  https://gitlab.freedesktop.org/pkg-config/pkg-config.git
> >   [2]  https://github.com/pkgconf/pkgconf.git
> >   [3]  https://fedoraproject.org/wiki/Changes/pkgconf_as_system_pkg-config_implementation
>
> If the folks sending this are working on CrOS, better find what's in
> their build system. Chun-Tse?
>
> (I feel like I'm behind the times again, like when `apt-get install`
> became old news in favor of `apt install`...)
>

In Cros we only support pkg-config, and that is the reason we would like
to make this change in upstream.

> >
> >
> >
> >
> >
> > [Q3] What is the trend of handling cross-compile by pkg-config (or pkgconf).
> >
> >
> > By default, pkg-config returns the libs/cflags for native builds.
> >
> > For cross builds, the search paths for the *.pc files must be changed
> > via the "PKG_CONFIG_LIBDIR" environment variable.
> >
> > To ease this, some distributions provide  <triplet>-pkg-config
> > (for example,   aarch64-linux-gnu-pkg-config).
> > This became the nationale for tools/build/feature/Makefile defining:
> >
> >    PKG_CONFIG ?= $(CROSS_COMPILE)pkg-config
> >
> > But, this wrapper shell script is not always available.
> > I do not know how to do it with the LLVM tool suite.
> > I am not quite sure if this is the global solution.
> >
> >
> > These days, pkgconf supports another way, .personality file [4]
> > to specify the .pc search paths for cross builds.
> >
> > Is it reasonable to use an option to distinguish native / cross builds
> > and use the same macro   "PKG_CONFIG = pkg-config" everywhere ?
> >
> >
> > [4] http://manpages.ubuntu.com/manpages/focal/en/man5/pkgconf-personality.5.html
>
> I'm not sure, but do we need to cross that bridge for this patch if
> it's just adding support for the HOST? No cross pkg-config necessary,
> yet. (Famous last words).

Agree with Nick.

Thanks,
CT
> --
> Thanks,
> ~Nick Desaulniers

  reply	other threads:[~2022-03-22 20:21 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-06 22:30 [PATCH v4] config: Allow kernel installation packaging to override pkg-config Chun-Tse Shao
2022-03-07 18:17 ` Nick Desaulniers
2022-03-07 22:50   ` Chun-Tse Shao
2022-03-08  4:01     ` Masahiro Yamada
2022-03-08  5:26       ` Chun-Tse Shao
2022-03-16  2:51       ` Chun-Tse Shao
2022-03-22  7:42         ` Masahiro Yamada
2022-03-22 17:19           ` Nick Desaulniers
2022-03-22 20:21             ` Chun-Tse Shao [this message]
2022-03-31 21:58               ` Chun-Tse Shao
2022-04-01 14:42                 ` Masahiro Yamada
2022-04-01 23:42                   ` Chun-Tse Shao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YjovutS5McV8A8z4@google.com \
    --to=ctshao@google.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dhowells@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=frowand.list@gmail.com \
    --cc=jpoimboe@redhat.com \
    --cc=keyrings@vger.kernel.org \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=masahiroy@kernel.org \
    --cc=michal.lkml@markovi.net \
    --cc=ndesaulniers@google.com \
    --cc=nicolas@fjasle.eu \
    --cc=peterz@infradead.org \
    --cc=robh+dt@kernel.org \
    --cc=rostedt@goodmis.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.