All of lore.kernel.org
 help / color / mirror / Atom feed
From: Baruch Siach <baruch@tkos.co.il>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v2] mtd: fix static build with uuid
Date: Sun, 13 Sep 2015 07:45:37 +0300	[thread overview]
Message-ID: <20150913044537.GB2630@tarshish> (raw)
In-Reply-To: <55F29C08.7040403@imgtec.com>

Hi Vincent,

On Fri, Sep 11, 2015 at 10:16:56AM +0100, Vicente Olivert Riera wrote:
> On 09/11/2015 05:08 AM, Baruch Siach wrote:
> > The uuid library might depend on gettext. Use pkg-config to discover uuid
> > dependencies at build time, and edit Makefile accordingly to avoid missing
> > symbols when linking statically.
> > 
> > Based on a patch from Vicente Olivert Riera.
> > 
> > Fixes:
> > http://autobuild.buildroot.net/results/2dd/2ddd714446d9eb75701bd48c117dc5bbbd291a76/
> > http://autobuild.buildroot.net/results/3af/3af4ef252c8cb2b22134d91ce48e5930c60ec437/
> > http://autobuild.buildroot.net/results/648/648341fce974e8f016eee57c95d7511a886eef49/
> > 
> > Cc: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> > Signed-off-by: Baruch Siach <baruch@tkos.co.il>
> > ---
> > v2:
> >    * Use backticks instead of $(shell ...) make function (Arnout)
> > ---
> >  package/mtd/mtd.mk | 8 +++++++-
> >  1 file changed, 7 insertions(+), 1 deletion(-)
> > 
> > diff --git a/package/mtd/mtd.mk b/package/mtd/mtd.mk
> > index 0fb9fc2c1acc..89cfac15756a 100644
> > --- a/package/mtd/mtd.mk
> > +++ b/package/mtd/mtd.mk
> > @@ -16,8 +16,14 @@ ifeq ($(BR2_PACKAGE_MTD_MKFSJFFS2),y)
> >  MTD_DEPENDENCIES = zlib lzo
> >  endif
> >  
> > +MTD_MKFSUBIFS_LIBS = `$(PKG_CONFIG_HOST_BINARY) --libs uuid`
> > +
> >  ifeq ($(BR2_PACKAGE_MTD_MKFSUBIFS),y)
> > -MTD_DEPENDENCIES += util-linux zlib lzo
> > +MTD_DEPENDENCIES += util-linux zlib lzo host-pkgconf
> > +define MTD_ADD_MISSING_LINTL
> > +	$(SED) "/^LDLIBS_mkfs\.ubifs/ s%$$% $(MTD_MKFSUBIFS_LIBS)%" $(@D)/Makefile
> > +endef
> > +MTD_POST_PATCH_HOOKS += MTD_ADD_MISSING_LINTL
> >  endif
> >  
> >  ifeq ($(BR2_PACKAGE_BUSYBOX),y)
> 
> I have tested it and it works. My mistake was using / instead of % in
> the sed command.

Also the use of single quotes instead of double quotes as Arnout has noted.

> Since this fails only for static, why don't you put your changes
> enclosed into an "ifeq ($(BR2_STATIC_LIBS),y)" clause?

$(PKG_CONFIG_HOST_BINARY) should output the correct list of libraries for both
static and dynamic builds. I think that the mtd.mk simplification and wider 
test coverage outweighs the added overhead. Are there any other drawbacks to 
running $(PKG_CONFIG_HOST_BINARY) unconditionally?

Thanks for reviewing and testing.

baruch

>  ifeq ($(BR2_PACKAGE_MTD_MKFSUBIFS),y)
>  MTD_DEPENDENCIES += util-linux zlib lzo
> +ifeq ($(BR2_STATIC_LIBS),y)
> +MTD_DEPENDENCIES += host-pkgconf
> +MTD_MKFSUBIFS_LIBS = `$(PKG_CONFIG_HOST_BINARY) --libs uuid`
> +define MTD_ADD_MISSING_LINTL
> +       $(SED) "/^LDLIBS_mkfs\.ubifs/ s%$$% $(MTD_MKFSUBIFS_LIBS)%"
> $(@D)/Makefile
> +endef
> +MTD_POST_PATCH_HOOKS += MTD_ADD_MISSING_LINTL
> +endif
>  endif
> 
>  ifeq ($(BR2_PACKAGE_BUSYBOX),y)

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

  reply	other threads:[~2015-09-13  4:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-11  4:08 [Buildroot] [PATCH v2] mtd: fix static build with uuid Baruch Siach
2015-09-11  5:30 ` Gergely Imreh
2015-09-11  9:16 ` Vicente Olivert Riera
2015-09-13  4:45   ` Baruch Siach [this message]
2015-09-13 10:50 ` Thomas Petazzoni
2015-09-13 20:46 ` Peter Korsgaard

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=20150913044537.GB2630@tarshish \
    --to=baruch@tkos.co.il \
    --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.