All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2 01/15] package/pkg-autotools.mk: Factorize hooks.
Date: Mon, 10 Nov 2014 23:13:23 +0100	[thread overview]
Message-ID: <20141110221323.GF22119@free.fr> (raw)
In-Reply-To: <1415366931-6870-2-git-send-email-johan.oudinet@gmail.com>

Johan, All,

On 2014-11-07 14:28 +0100, Johan Oudinet spake thusly:
> Define common macros only once (instead of as many times as
> there are inner-autotools-package calls).
> Factorize LIBTOOL_PATCH_HOOK and AUTORECONF_HOOK to avoid duplicated
> code.

Sorry it takes so long to review this series. Touching the infra is not
for the faint of heart, and reviews are really complex and time-consuming.

> Signed-off-by: Johan Oudinet <johan.oudinet@gmail.com>
> ---
>  package/pkg-autotools.mk | 119 ++++++++++++++++++++++-------------------------
>  1 file changed, 56 insertions(+), 63 deletions(-)
> 
> diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
> index 09f9412..65af6f0 100644
> --- a/package/pkg-autotools.mk
> +++ b/package/pkg-autotools.mk
> @@ -46,6 +46,57 @@ endef
>  #	$(call AUTOCONF_AC_CHECK_FILE_VAL,/dev/random)=yes
>  AUTOCONF_AC_CHECK_FILE_VAL = ac_cv_file_$(subst -,_,$(subst /,_,$(subst .,_,$(1))))
>  
> +# Recipe that patches libtool so it works properly with
> +# cross-compilation.
> +define PATCH_LIBTOOL
> +	$(Q)if test "$($(PKG)_LIBTOOL_PATCH)" = "YES"; then \
> +		for i in `find $($(PKG)_SRCDIR) -name ltmain.sh`; do \
> +			ltmain_version=`sed -n '/^[ 	]*VERSION=/{s/^[ 	]*VERSION=//;p;q;}' $$$$i | \
> +			sed -e 's/\([0-9].[0-9]*\).*/\1/' -e 's/\"//'`; \
> +			if test $${ltmain_version} = 1.5; then \
> +				$(APPLY_PATCHES) $${i%/*} support/libtool buildroot-libtool-v1.5.patch; \
> +			elif test $${ltmain_version} = 2.2; then\
> +				$(APPLY_PATCHES) $${i%/*} support/libtool buildroot-libtool-v2.2.patch; \
> +			elif test $${ltmain_version} = 2.4; then\
> +				$(APPLY_PATCHES) $${i%/*} support/libtool buildroot-libtool-v2.4.patch; \
> +			fi \
> +		done \
> +	fi
> +endef
> +
> +#
> +# Hook to update config.sub and config.guess if needed
> +#
> +define UPDATE_CONFIG_HOOK
> +	@$(call MESSAGE,"Updating config.sub and config.guess")
> +	$(call CONFIG_UPDATE,$(@D))
> +endef
> +
> +#
> +# Hook to patch libtool to make it work properly for cross-compilation
> +#
> +define LIBTOOL_PATCH_HOOK
> +	@$(call MESSAGE,"Patching libtool")
> +	$(call PATCH_LIBTOOL)
> +endef

Hmm... This patch does nore than extract the definitions out of
inner-autotools-package; it also reworks the way they are called.

I'd rather we get this split in at least two patches:
  - one that does the move proper
  - one that reworks the calls

It will be easier to review.

[--SNIP--]
> @@ -265,6 +253,11 @@ $(2)_DEPENDENCIES += host-gettext
>  endif
>  $(2)_PRE_CONFIGURE_HOOKS += AUTORECONF_HOOK
>  $(2)_DEPENDENCIES += host-automake host-autoconf host-libtool
> +else
> +# default values are not evaluated yet, so don't rely on this defaulting to YES
> +ifneq ($$($(2)_LIBTOOL_PATCH),NO)
> +$(2)_POST_PATCH_HOOKS += LIBTOOL_PATCH_HOOK
> +endif
>  endif

I think you got the order wrong here: we want the libtool patch to be
applied _before_ we autoreconf.

So, this last if-block should be the very first thing to do right after:
    ifeq ($$($(2)_AUTORECONF),YES)

I'll do some more in-depth review later, presumably after you split the
patch. If you don;t have time for that, I can see to get it done
tomorrow.

Again, sorry for the delay, reviewing infra changes is really tricky...

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:[~2014-11-10 22:13 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-07 13:28 [Buildroot] [PATCH v2 00/15] ejabberd: XMPP server Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 01/15] package/pkg-autotools.mk: Factorize hooks Johan Oudinet
2014-11-10 22:13   ` Yann E. MORIN [this message]
2014-11-11 12:52     ` Yann E. MORIN
2014-11-11 13:03     ` Arnout Vandecappelle
2014-11-11 13:17       ` Yann E. MORIN
2014-11-11 13:33         ` Arnout Vandecappelle
2014-11-11 17:26           ` Yann E. MORIN
2014-11-07 13:28 ` [Buildroot] [PATCH v2 02/15] package/pkg-rebar.mk: new infrastructure Johan Oudinet
2014-11-10 23:31   ` Yann E. MORIN
2014-11-11 14:55     ` Arnout Vandecappelle
2014-11-11 15:35       ` Yann E. MORIN
2014-11-11 16:55         ` Johan Oudinet
2014-11-11 17:21           ` Yann E. MORIN
2014-11-07 13:28 ` [Buildroot] [PATCH v2 03/15] erlang-goldrush: new package Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 04/15] erlang-lager: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 05/15] erlang-p1-zlib: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 06/15] erlang-p1-yaml: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 07/15] erlang-p1-xml: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 08/15] erlang-p1-utils: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 09/15] erlang-p1-tls: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 10/15] erlang-p1-stun: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 11/15] erlang-p1-stringprep: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 12/15] erlang-p1-sip: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 13/15] erlang-p1-iconv: " Johan Oudinet
2014-11-10 16:37   ` Yann E. MORIN
2014-11-10 17:30     ` Yann E. MORIN
2014-11-11  3:30       ` Johan Oudinet
2014-11-11 10:04         ` Yann E. MORIN
2014-11-07 13:28 ` [Buildroot] [PATCH v2 14/15] erlang-p1-cache-tab: " Johan Oudinet
2014-11-07 13:28 ` [Buildroot] [PATCH v2 15/15] ejabberd: " Johan Oudinet
2014-11-10 16:02 ` [Buildroot] [PATCH v2 00/15] ejabberd: XMPP server Yann E. MORIN
2014-11-12  0:28 ` Yann E. MORIN

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=20141110221323.GF22119@free.fr \
    --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 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.