Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/2] package: pkg-autotools: Add option to run autogen.sh
Date: Mon, 24 Dec 2018 12:22:23 +0100	[thread overview]
Message-ID: <20181224112223.GB2703@scaer> (raw)
In-Reply-To: <20181224105911.19475421@windsurf.home>

Thomas, All,

On 2018-12-24 10:59 +0100, Thomas Petazzoni spake thusly:
> On Mon, 24 Dec 2018 10:21:59 +0100, Yann E. MORIN wrote:
> > On 2018-12-24 00:37 +0200, Vadim Kochan spake thusly:
> > > Add $(PKG)_AUTOGEN variable which allows to execute autogen.sh script
> > > on pre-configure stage.  
[--SNIP--]
> > So, my opinion is that we should not have it in the infra.
> 
> Overall, I agree with you. If we wanted to make this more flexible than
> what we have today, I would suggest to allow customizing the command
> that it used for autoreconfiguring.
> 
> Something like this:
> 
> $(2)_AUTORECONF_CMD ?= $(AUTORECONF)
> 
> define AUTORECONF_HOOK
>         @$(call MESSAGE,"Autoreconfiguring")
>         $(Q)cd $($(PKG)_SRCDIR) && $($(PKG)_AUTORECONF_ENV) $($(PKG)_AUTORECONF_CMD) $($(PKG)_AUTORECONF_OPTS)
> endef
> 
> One drawback is that having a CMD variable doesn't really match our
> typical CMDS pattern.

Indeed no, and besides, there are so many different commands being run
before running configure. You can get a peek at it and see the various
sneaky things we do:

    $ grep -E '_PRE_CONFIGURE_HOOKS' $(git grep -l -E '\$\(eval \$\((host-)?autotools-package\)\)')

One of the funniest being libtool, for which we need to carefully touch
some files to make configure believe they are up-to-date.

There are a bunch of packages running just 'autoconf' because they are
not in fact real autotools packages; they are just using autoconf, not
automake, so they do not autoreconf nicely.

Then we have at least one package that needs to chmod +x configure.

And all the various 'mkdir m4' we have here and there...

So, in the end, I stand by my position: no need to make that part of the
infra, the variance is too large.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

  reply	other threads:[~2018-12-24 11:22 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-23 22:37 [Buildroot] [PATCH 0/2] package: pkg-autotools: New $(PKG)_AUTOGEN variable Vadim Kochan
2018-12-23 22:37 ` [Buildroot] [PATCH 1/2] package: pkg-autotools: Add option to run autogen.sh Vadim Kochan
2018-12-24  9:21   ` Yann E. MORIN
2018-12-24  9:59     ` Thomas Petazzoni
2018-12-24 11:22       ` Yann E. MORIN [this message]
2018-12-23 22:37 ` [Buildroot] [PATCH 2/2] package: Use $(PKG)_AUTOGEN instead of calling autogen.sh manually Vadim Kochan

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=20181224112223.GB2703@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@busybox.net \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox