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 10:21:59 +0100	[thread overview]
Message-ID: <20181224092159.GA2703@scaer> (raw)
In-Reply-To: <20181223223742.23710-2-vadim4j@gmail.com>

Vadim., All

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.

I'm not sure we want to have this in the infra. IIRC, we already spoke
about it in the past, more than once, and the conclusion had always been
that this was not demed useful.

First, we only have three autotools packages that need that. This is a
bit on the short lead to turn it into the infra.

Second, we don't want to make it easy to use autogen.sh. We prefer
developpers to use AUTORECONF=YES instead. Using autogen.sh should be
a last-resort option.

Thirdly, and lastly, not all packages have autogen.sh, some have it as
bootstrap.sh, for example Asterisk:
    http://git.asterisk.org/gitweb/?p=asterisk/asterisk.git;a=blob;f=bootstrap.sh

(Note that we don't need to call Asterisk's bootstrap.sh in Buildroot,
but that is just an example that such scripts are not always named
autogen.sh.)

So, my opinion is that we should not have it in the infra.

Regards,
Yann E. MORIN.

> Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
> ---
>  docs/manual/adding-packages-autotools.txt |  4 ++++
>  package/pkg-autotools.mk                  | 20 ++++++++++++++++++++
>  2 files changed, 24 insertions(+)
> 
> diff --git a/docs/manual/adding-packages-autotools.txt b/docs/manual/adding-packages-autotools.txt
> index a041d91eb6..105c038961 100644
> --- a/docs/manual/adding-packages-autotools.txt
> +++ b/docs/manual/adding-packages-autotools.txt
> @@ -159,6 +159,10 @@ cases, typical packages will therefore only use a few of them.
>    value is correct for most autotools packages, but it is still possible
>    to override it if needed.
>  
> +* +LIBFOO_AUTOGEN+, tells whether the autogen.sh script should be
> +  executed to generate 'configure' script. Valid values are +YES+ and +NO+.
> +  By default, the value is +NO+
> +
>  With the autotools infrastructure, all the steps required to build
>  and install the packages are already defined, and they generally work
>  well for most autotools-based packages. However, when required, it is
> diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
> index 45de99356f..4f0f93d71c 100644
> --- a/package/pkg-autotools.mk
> +++ b/package/pkg-autotools.mk
> @@ -103,6 +103,14 @@ define AUTORECONF_HOOK
>  	$(Q)cd $($(PKG)_SRCDIR) && $($(PKG)_AUTORECONF_ENV) $(AUTORECONF) $($(PKG)_AUTORECONF_OPTS)
>  endef
>  
> +#
> +# Hook to call autogen.sh if needed
> +#
> +define AUTOGEN_HOOK
> +	@$(call MESSAGE,"Running autogen.sh")
> +	$(Q)cd $($(PKG)_SRCDIR) && PATH=$(BR_PATH) ./autogen.sh
> +endef
> +
>  ################################################################################
>  # inner-autotools-package -- defines how the configuration, compilation and
>  # installation of an autotools package should be done, implements a
> @@ -144,6 +152,14 @@ ifndef $(2)_AUTORECONF
>   endif
>  endif
>  
> +ifndef $(2)_AUTOGEN
> + ifdef $(3)_AUTOGEN
> +  $(2)_AUTOGEN = $$($(3)_AUTOGEN)
> + else
> +  $(2)_AUTOGEN ?= NO
> + endif
> +endif
> +
>  ifndef $(2)_GETTEXTIZE
>   ifdef $(3)_GETTEXTIZE
>    $(2)_GETTEXTIZE = $$($(3)_GETTEXTIZE)
> @@ -241,6 +257,10 @@ endif
>  
>  $(2)_POST_PATCH_HOOKS += UPDATE_CONFIG_HOOK
>  
> +ifeq ($$($(2)_AUTOGEN),YES)
> +$(2)_PRE_CONFIGURE_HOOKS += AUTOGEN_HOOK
> +endif
> +
>  ifeq ($$($(2)_AUTORECONF),YES)
>  
>  # This has to come before autoreconf
> -- 
> 2.14.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  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  9:21 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 [this message]
2018-12-24  9:59     ` Thomas Petazzoni
2018-12-24 11:22       ` Yann E. MORIN
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=20181224092159.GA2703@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