All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] gnutls: use included unistring unless libunistring is selected
@ 2018-06-15  8:48 Sven Neumann
  2018-06-15  8:57 ` Baruch Siach
  2018-06-17 12:17 ` Thomas Petazzoni
  0 siblings, 2 replies; 4+ messages in thread
From: Sven Neumann @ 2018-06-15  8:48 UTC (permalink / raw)
  To: buildroot

Use the included copy of libunistring unless BR2_PACKAGE_LIBUNISTRING
is already selected.

The resulting gnutls library with libunistring included is about 1.2 MB
smaller than the sum of libgnutls and libunistring.

Signed-off-by: Sven Neumann <neumann@teufel.de>
---
 package/gnutls/Config.in |  1 -
 package/gnutls/gnutls.mk | 10 ++++++++--
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in
index cfb7cb3f3b..998e213c7d 100644
--- a/package/gnutls/Config.in
+++ b/package/gnutls/Config.in
@@ -1,7 +1,6 @@
 config BR2_PACKAGE_GNUTLS
 	bool "gnutls"
 	select BR2_PACKAGE_LIBTASN1
-	select BR2_PACKAGE_LIBUNISTRING
 	select BR2_PACKAGE_NETTLE
 	select BR2_PACKAGE_PCRE
 	depends on BR2_USE_WCHAR
diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk
index be1cf00e06..7d8071c824 100644
--- a/package/gnutls/gnutls.mk
+++ b/package/gnutls/gnutls.mk
@@ -10,7 +10,7 @@ GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz
 GNUTLS_SITE = ftp://ftp.gnutls.org/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR)
 GNUTLS_LICENSE = LGPLv2.1+ (core library), GPLv3+ (gnutls-openssl library)
 GNUTLS_LICENSE_FILES = doc/COPYING doc/COPYING.LESSER
-GNUTLS_DEPENDENCIES = host-pkgconf libunistring libtasn1 nettle pcre
+GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 nettle pcre
 GNUTLS_CONF_OPTS = \
 	--disable-doc \
 	--disable-guile \
@@ -19,7 +19,6 @@ GNUTLS_CONF_OPTS = \
 	--enable-local-libopts \
 	--enable-openssl-compatibility \
 	--with-libnettle-prefix=$(STAGING_DIR)/usr \
-	--with-libunistring-prefix=$(STAGING_DIR)/usr \
 	--with-librt-prefix=$(STAGING_DIR) \
 	--without-tpm \
 	$(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools)
@@ -75,6 +74,13 @@ else
 GNUTLS_CONF_OPTS += --without-p11-kit
 endif
 
+ifeq ($(BR2_PACKAGE_LIBUNISTRING),y)
+GNUTLS_CONF_OPTS += --with-libunistring-prefix=$(STAGING_DIR)/usr
+GNUTLS_DEPENDENCIES += libunistring
+else
+GNUTLS_CONF_OPTS += --with-included-unistring
+endif
+
 ifeq ($(BR2_PACKAGE_ZLIB),y)
 GNUTLS_CONF_OPTS += --with-zlib
 GNUTLS_DEPENDENCIES += zlib
-- 
2.14.4

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] gnutls: use included unistring unless libunistring is selected
  2018-06-15  8:48 [Buildroot] [PATCH] gnutls: use included unistring unless libunistring is selected Sven Neumann
@ 2018-06-15  8:57 ` Baruch Siach
  2018-06-17 12:24   ` Thomas Petazzoni
  2018-06-17 12:17 ` Thomas Petazzoni
  1 sibling, 1 reply; 4+ messages in thread
From: Baruch Siach @ 2018-06-15  8:57 UTC (permalink / raw)
  To: buildroot

Hi Sven,

On Fri, Jun 15, 2018 at 10:48:38AM +0200, Sven Neumann wrote:
> Use the included copy of libunistring unless BR2_PACKAGE_LIBUNISTRING
> is already selected.
> 
> The resulting gnutls library with libunistring included is about 1.2 MB
> smaller than the sum of libgnutls and libunistring.
> 
> Signed-off-by: Sven Neumann <neumann@teufel.de>
> ---
>  package/gnutls/Config.in |  1 -
>  package/gnutls/gnutls.mk | 10 ++++++++--
>  2 files changed, 8 insertions(+), 3 deletions(-)
> 
> diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in
> index cfb7cb3f3b..998e213c7d 100644
> --- a/package/gnutls/Config.in
> +++ b/package/gnutls/Config.in
> @@ -1,7 +1,6 @@
>  config BR2_PACKAGE_GNUTLS
>  	bool "gnutls"
>  	select BR2_PACKAGE_LIBTASN1
> -	select BR2_PACKAGE_LIBUNISTRING
>  	select BR2_PACKAGE_NETTLE
>  	select BR2_PACKAGE_PCRE
>  	depends on BR2_USE_WCHAR

Is it possible now to remove the BR2_USE_WCHAR dependency of gnutls?

baruch

> diff --git a/package/gnutls/gnutls.mk b/package/gnutls/gnutls.mk
> index be1cf00e06..7d8071c824 100644
> --- a/package/gnutls/gnutls.mk
> +++ b/package/gnutls/gnutls.mk
> @@ -10,7 +10,7 @@ GNUTLS_SOURCE = gnutls-$(GNUTLS_VERSION).tar.xz
>  GNUTLS_SITE = ftp://ftp.gnutls.org/gcrypt/gnutls/v$(GNUTLS_VERSION_MAJOR)
>  GNUTLS_LICENSE = LGPLv2.1+ (core library), GPLv3+ (gnutls-openssl library)
>  GNUTLS_LICENSE_FILES = doc/COPYING doc/COPYING.LESSER
> -GNUTLS_DEPENDENCIES = host-pkgconf libunistring libtasn1 nettle pcre
> +GNUTLS_DEPENDENCIES = host-pkgconf libtasn1 nettle pcre
>  GNUTLS_CONF_OPTS = \
>  	--disable-doc \
>  	--disable-guile \
> @@ -19,7 +19,6 @@ GNUTLS_CONF_OPTS = \
>  	--enable-local-libopts \
>  	--enable-openssl-compatibility \
>  	--with-libnettle-prefix=$(STAGING_DIR)/usr \
> -	--with-libunistring-prefix=$(STAGING_DIR)/usr \
>  	--with-librt-prefix=$(STAGING_DIR) \
>  	--without-tpm \
>  	$(if $(BR2_PACKAGE_GNUTLS_TOOLS),--enable-tools,--disable-tools)
> @@ -75,6 +74,13 @@ else
>  GNUTLS_CONF_OPTS += --without-p11-kit
>  endif
>  
> +ifeq ($(BR2_PACKAGE_LIBUNISTRING),y)
> +GNUTLS_CONF_OPTS += --with-libunistring-prefix=$(STAGING_DIR)/usr
> +GNUTLS_DEPENDENCIES += libunistring
> +else
> +GNUTLS_CONF_OPTS += --with-included-unistring
> +endif
> +
>  ifeq ($(BR2_PACKAGE_ZLIB),y)
>  GNUTLS_CONF_OPTS += --with-zlib
>  GNUTLS_DEPENDENCIES += zlib

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] gnutls: use included unistring unless libunistring is selected
  2018-06-15  8:48 [Buildroot] [PATCH] gnutls: use included unistring unless libunistring is selected Sven Neumann
  2018-06-15  8:57 ` Baruch Siach
@ 2018-06-17 12:17 ` Thomas Petazzoni
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2018-06-17 12:17 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 15 Jun 2018 10:48:38 +0200, Sven Neumann wrote:
> Use the included copy of libunistring unless BR2_PACKAGE_LIBUNISTRING
> is already selected.
> 
> The resulting gnutls library with libunistring included is about 1.2 MB
> smaller than the sum of libgnutls and libunistring.
> 
> Signed-off-by: Sven Neumann <neumann@teufel.de>
> ---
>  package/gnutls/Config.in |  1 -
>  package/gnutls/gnutls.mk | 10 ++++++++--
>  2 files changed, 8 insertions(+), 3 deletions(-)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH] gnutls: use included unistring unless libunistring is selected
  2018-06-15  8:57 ` Baruch Siach
@ 2018-06-17 12:24   ` Thomas Petazzoni
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2018-06-17 12:24 UTC (permalink / raw)
  To: buildroot

Hello,

On Fri, 15 Jun 2018 11:57:04 +0300, Baruch Siach wrote:

> > diff --git a/package/gnutls/Config.in b/package/gnutls/Config.in
> > index cfb7cb3f3b..998e213c7d 100644
> > --- a/package/gnutls/Config.in
> > +++ b/package/gnutls/Config.in
> > @@ -1,7 +1,6 @@
> >  config BR2_PACKAGE_GNUTLS
> >  	bool "gnutls"
> >  	select BR2_PACKAGE_LIBTASN1
> > -	select BR2_PACKAGE_LIBUNISTRING
> >  	select BR2_PACKAGE_NETTLE
> >  	select BR2_PACKAGE_PCRE
> >  	depends on BR2_USE_WCHAR  
> 
> Is it possible now to remove the BR2_USE_WCHAR dependency of gnutls?

gnutls indeed builds fine with wchar support now. However, looking at
the commit that introduced the wchar dependency back in 2013, it
doesn't seem it was due to the libunistring dependency (see
669de89be785f83ae4840b0ba3983d044e374172).

So it would probably be good to drop the wchar dependency in gnutls.
This requires also checking all the reverse dependencies of gnutls:

package/connman/Config.in:      select BR2_PACKAGE_GNUTLS

 -> Anyway needs wchar because of libglib2

package/libmicrohttpd/Config.in:        select BR2_PACKAGE_GNUTLS

 -> In this one, the wchar dependency can probably be dropped

package/libnice/Config.in:      select BR2_PACKAGE_GNUTLS

 -> Also uses libglib2, so wchar needed

package/libsoup/Config.in:      select BR2_PACKAGE_GNUTLS

 -> Ditto

package/network-manager/Config.in:      select BR2_PACKAGE_GNUTLS

 -> Interestingly... this one does *NOT* have the wchar dependency
    expressed directly. It works because this package depends on
    BR2_PACKAGE_HAS_UDEV, and both eudev and systemd need wchar support.

package/ntfs-3g/Config.in:      select BR2_PACKAGE_GNUTLS

 -> Will probably still need the wchar dependency.

package/samba4/Config.in:       select BR2_PACKAGE_GNUTLS

 -> Will still need the wchar dependency.

package/taskd/Config.in:        select BR2_PACKAGE_GNUTLS

 -> Might be possible to drop the wchar dependency.

package/vpnc/Config.in: select BR2_PACKAGE_GNUTLS

 -> Might be possible to drop the wchar dependency.

and these are only the first-level reverse dependencies.

Anybody interested in looking into this ?

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-06-17 12:24 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-15  8:48 [Buildroot] [PATCH] gnutls: use included unistring unless libunistring is selected Sven Neumann
2018-06-15  8:57 ` Baruch Siach
2018-06-17 12:24   ` Thomas Petazzoni
2018-06-17 12:17 ` Thomas Petazzoni

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.