All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 00/10] Misc shared only build fixes
@ 2014-12-27 21:58 Romain Naour
  2014-12-27 21:58 ` [Buildroot] [PATCH 01/10] package/lm-sensors: disable static library for shared-only build Romain Naour
                   ` (9 more replies)
  0 siblings, 10 replies; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

This series aims to disable static libraries and enable shared
libraries when it's possible for shared only build.

Romain Naour (10):
  package/lm-sensors: disable static library for shared-only build
  package/libnspr: disable static library for shared only build
  package/libsvgtiny: enable shared library build
  package/keyutils: disable static library for shared only build
  package/lockdev: handle static/shared only build
  package/libxmlrpc: fix shared libraries build for uClibc
  package/libxmlrpc: handle static/shared only install
  package/dvb-apps: rename patches to follow the new name convention
  package/dvb-app: handle static/shared only build
  package/dvb-app: remove tests

 package/dvb-apps/0001-Fix-generate-keynames.patch  | 30 +++++++++++++++++++
 .../dvb-apps/0002-Fix-compiler-warning-flags.patch | 25 ++++++++++++++++
 .../0003-handle-static-shared-only-build.patch     | 35 ++++++++++++++++++++++
 package/dvb-apps/0004-Makefile-remove-test.patch   | 27 +++++++++++++++++
 .../dvb-apps-0001-Fix-generate-keynames.patch      | 30 -------------------
 .../dvb-apps-0002-Fix-compiler-warning-flags.patch | 25 ----------------
 .../dvb-apps-0003-support-static-only-build.patch  | 20 -------------
 package/dvb-apps/dvb-apps.mk                       |  6 +++-
 package/keyutils/keyutils.mk                       |  4 +++
 package/libnspr/libnspr.mk                         |  6 ++++
 package/libsvgtiny/libsvgtiny.mk                   | 16 ++++++++--
 ....in-fix-shared-libraries-build-for-uClibc.patch | 27 +++++++++++++++++
 package/libxmlrpc/libxmlrpc.mk                     | 11 +++++++
 package/lm-sensors/lm-sensors.mk                   |  6 ++++
 package/lockdev/lockdev.mk                         | 35 ++++++++++++++--------
 15 files changed, 211 insertions(+), 92 deletions(-)
 create mode 100644 package/dvb-apps/0001-Fix-generate-keynames.patch
 create mode 100644 package/dvb-apps/0002-Fix-compiler-warning-flags.patch
 create mode 100644 package/dvb-apps/0003-handle-static-shared-only-build.patch
 create mode 100644 package/dvb-apps/0004-Makefile-remove-test.patch
 delete mode 100644 package/dvb-apps/dvb-apps-0001-Fix-generate-keynames.patch
 delete mode 100644 package/dvb-apps/dvb-apps-0002-Fix-compiler-warning-flags.patch
 delete mode 100644 package/dvb-apps/dvb-apps-0003-support-static-only-build.patch
 create mode 100644 package/libxmlrpc/0005-config.mk.in-fix-shared-libraries-build-for-uClibc.patch

-- 
1.9.3

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

* [Buildroot] [PATCH 01/10] package/lm-sensors: disable static library for shared-only build
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2014-12-27 21:58 ` [Buildroot] [PATCH 02/10] package/libnspr: disable static library for shared only build Romain Naour
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/lm-sensors/lm-sensors.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/lm-sensors/lm-sensors.mk b/package/lm-sensors/lm-sensors.mk
index a79977f..c26f919 100644
--- a/package/lm-sensors/lm-sensors.mk
+++ b/package/lm-sensors/lm-sensors.mk
@@ -31,6 +31,12 @@ else
 LM_SENSORS_MAKE_OPTS += BUILD_SHARED_LIB=1
 endif
 
+ifeq ($(BR2_SHARED_LIBS),y)
+LM_SENSORS_MAKE_OPTS += BUILD_STATIC_LIB=0
+else
+LM_SENSORS_MAKE_OPTS += BUILD_STATIC_LIB=1
+endif
+
 define LM_SENSORS_BUILD_CMDS
 	$(MAKE) $(TARGET_CONFIGURE_OPTS) $(LM_SENSORS_MAKE_OPTS) -C $(@D)
 endef
-- 
1.9.3

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

* [Buildroot] [PATCH 02/10] package/libnspr: disable static library for shared only build
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
  2014-12-27 21:58 ` [Buildroot] [PATCH 01/10] package/lm-sensors: disable static library for shared-only build Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2015-01-01 16:48   ` Thomas Petazzoni
  2014-12-27 21:58 ` [Buildroot] [PATCH 03/10] package/libsvgtiny: enable shared library build Romain Naour
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/libnspr/libnspr.mk | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/libnspr/libnspr.mk b/package/libnspr/libnspr.mk
index 4beff68..702978c 100644
--- a/package/libnspr/libnspr.mk
+++ b/package/libnspr/libnspr.mk
@@ -27,6 +27,12 @@ LIBNSPR_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) SHARED_LIBRARY= install
 LIBNSPR_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) SHARED_LIBRARY= install
 endif
 
+ifeq ($(BR2_SHARED_LIBS),y)
+LIBNSPR_MAKE_OPTS = LIBRARY=
+LIBNSPR_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) LIBRARY= install
+LIBNSPR_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) LIBRARY= install
+endif
+
 ifeq ($(BR2_arm),y)
 ifeq ($(BR2_ARM_CPU_HAS_THUMB2),y)
 LIBNSPR_CONF_OPTS += --enable-thumb2
-- 
1.9.3

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

* [Buildroot] [PATCH 03/10] package/libsvgtiny: enable shared library build
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
  2014-12-27 21:58 ` [Buildroot] [PATCH 01/10] package/lm-sensors: disable static library for shared-only build Romain Naour
  2014-12-27 21:58 ` [Buildroot] [PATCH 02/10] package/libnspr: disable static library for shared only build Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2015-01-02 11:38   ` Thomas Petazzoni
  2014-12-27 21:58 ` [Buildroot] [PATCH 04/10] package/keyutils: disable static library for shared only build Romain Naour
                   ` (6 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/libsvgtiny/libsvgtiny.mk | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/package/libsvgtiny/libsvgtiny.mk b/package/libsvgtiny/libsvgtiny.mk
index a2d494e..6cb666f 100644
--- a/package/libsvgtiny/libsvgtiny.mk
+++ b/package/libsvgtiny/libsvgtiny.mk
@@ -11,18 +11,28 @@ LIBSVGTINY_DEPENDENCIES = libxml2 host-gperf host-pkgconf
 LIBSVGTINY_LICENSE = MIT
 LIBSVGTINY_LICENSE_FILES = README
 
+# Prefer shared libraries if available
+ifeq ($(BR2_SHARED_LIBS)$(BR2_SHARED_STATIC_LIBS),y)
+LIBSVGTINY_COMPONENT_TYPE = lib-shared
+else
+LIBSVGTINY_COMPONENT_TYPE = lib-static
+endif
+
 define LIBSVGTINY_BUILD_CMDS
-	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=/usr
+	$(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) PREFIX=/usr \
+		COMPONENT_TYPE=$(LIBSVGTINY_COMPONENT_TYPE)
 endef
 
 define LIBSVGTINY_INSTALL_STAGING_CMDS
 	$(TARGET_CONFIGURE_OPTS) \
-		$(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) install
+		$(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(STAGING_DIR) \
+		COMPONENT_TYPE=$(LIBSVGTINY_COMPONENT_TYPE) install
 endef
 
 define LIBSVGTINY_INSTALL_TARGET_CMDS
 	$(TARGET_CONFIGURE_OPTS) \
-		$(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) install
+		$(MAKE) -C $(@D) PREFIX=/usr DESTDIR=$(TARGET_DIR) \
+		COMPONENT_TYPE=$(LIBSVGTINY_COMPONENT_TYPE) install
 endef
 
 $(eval $(generic-package))
-- 
1.9.3

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

* [Buildroot] [PATCH 04/10] package/keyutils: disable static library for shared only build
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
                   ` (2 preceding siblings ...)
  2014-12-27 21:58 ` [Buildroot] [PATCH 03/10] package/libsvgtiny: enable shared library build Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2015-01-02 11:39   ` Thomas Petazzoni
  2014-12-27 21:58 ` [Buildroot] [PATCH 05/10] package/lockdev: handle static/shared " Romain Naour
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/keyutils/keyutils.mk | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/package/keyutils/keyutils.mk b/package/keyutils/keyutils.mk
index 2038c0d..36588e6 100644
--- a/package/keyutils/keyutils.mk
+++ b/package/keyutils/keyutils.mk
@@ -23,6 +23,10 @@ ifeq ($(BR2_STATIC_LIBS),y)
 KEYUTILS_MAKE_PARAMS += NO_SOLIB=1
 endif
 
+ifeq ($(BR2_SHARED_LIBS),y)
+KEYUTILS_MAKE_PARAMS += NO_ARLIB=1
+endif
+
 define KEYUTILS_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS) $(MAKE) $(KEYUTILS_MAKE_PARAMS) -C $(@D)
 endef
-- 
1.9.3

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

* [Buildroot] [PATCH 05/10] package/lockdev: handle static/shared only build
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
                   ` (3 preceding siblings ...)
  2014-12-27 21:58 ` [Buildroot] [PATCH 04/10] package/keyutils: disable static library for shared only build Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2014-12-28  6:07   ` Baruch Siach
  2015-01-02 11:43   ` Thomas Petazzoni
  2014-12-27 21:58 ` [Buildroot] [PATCH 06/10] package/libxmlrpc: fix shared libraries build for uClibc Romain Naour
                   ` (4 subsequent siblings)
  9 siblings, 2 replies; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/lockdev/lockdev.mk | 35 ++++++++++++++++++++++-------------
 1 file changed, 22 insertions(+), 13 deletions(-)

diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk
index 59561ba..e789a79 100644
--- a/package/lockdev/lockdev.mk
+++ b/package/lockdev/lockdev.mk
@@ -13,30 +13,39 @@ LOCKDEV_LICENSE_FILES = LICENSE
 LOCKDEV_INSTALL_STAGING = YES
 
 ifeq ($(BR2_STATIC_LIBS),y)
-define LOCKDEV_BUILD_CMDS
-	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) static
+LOCKDEV_BUILD_ARGS = static
+LOCKDEV_INSTALL_ARGS = install_dev
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+LOCKDEV_BUILD_ARGS = static shared
+LOCKDEV_INSTALL_ARGS = install_dev install_run
+else # BR2_SHARED_LIBS
+LOCKDEV_BUILD_ARGS = shared
+LOCKDEV_INSTALL_ARGS = install_run
+endif
+
+ifeq ($(BR2_SHARED_STATIC_LIBS)$(BR2_SHARED_LIBS),y)
+define LOCKDEV_CREATE_LINKS_STAGING
+	ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so
+	ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1
 endef
 
-define LOCKDEV_INSTALL_STAGING_CMDS
-	$(MAKE1) basedir=$(STAGING_DIR)/usr -C $(@D) install_dev
+define LOCKDEV_CREATE_LINKS_TARGET
+	ln -sf liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1
 endef
-
-else # BR2_STATIC_LIBS
+endif
 
 define LOCKDEV_BUILD_CMDS
-	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) static shared
+	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) $(LOCKDEV_BUILD_ARGS)
 endef
 
 define LOCKDEV_INSTALL_STAGING_CMDS
-	$(MAKE1) basedir=$(STAGING_DIR)/usr -C $(@D) install_dev install_run
-	ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so
-	ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1
+	$(MAKE1) basedir=$(STAGING_DIR)/usr -C $(@D) $(LOCKDEV_INSTALL_ARGS)
+	$(LOCKDEV_CREATE_LINKS_STAGING)
 endef
 
 define LOCKDEV_INSTALL_TARGET_CMDS
-	$(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) install_run
-	ln -sf liblockdev.$(LOCKDEV_VERSION).so $(TARGET_DIR)/usr/lib/liblockdev.so.1
+	$(MAKE1) basedir=$(TARGET_DIR)/usr -C $(@D) $(LOCKDEV_INSTALL_ARGS)
+	$(LOCKDEV_CREATE_LINKS_TARGET)
 endef
-endif # BR2_STATIC_LIBS
 
 $(eval $(generic-package))
-- 
1.9.3

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

* [Buildroot] [PATCH 06/10] package/libxmlrpc: fix shared libraries build for uClibc
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
                   ` (4 preceding siblings ...)
  2014-12-27 21:58 ` [Buildroot] [PATCH 05/10] package/lockdev: handle static/shared " Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2015-01-02 11:48   ` Thomas Petazzoni
  2014-12-27 21:58 ` [Buildroot] [PATCH 07/10] package/libxmlrpc: handle static/shared only install Romain Naour
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

libxmlrpc is able to build shared libraries only for (e)glibc system
since the regexp in config.mk.in is based on "linux-gnu".

Change this regexp to match "linux-uclibc".

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 ....in-fix-shared-libraries-build-for-uClibc.patch | 27 ++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 package/libxmlrpc/0005-config.mk.in-fix-shared-libraries-build-for-uClibc.patch

diff --git a/package/libxmlrpc/0005-config.mk.in-fix-shared-libraries-build-for-uClibc.patch b/package/libxmlrpc/0005-config.mk.in-fix-shared-libraries-build-for-uClibc.patch
new file mode 100644
index 0000000..5970df5
--- /dev/null
+++ b/package/libxmlrpc/0005-config.mk.in-fix-shared-libraries-build-for-uClibc.patch
@@ -0,0 +1,27 @@
+From 5d68179a54b0a34d989722dcbe3b6eb962feb27d Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Tue, 23 Dec 2014 16:04:18 +0100
+Subject: [PATCH] config.mk.in: fix shared libraries build for uClibc
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ config.mk.in | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/config.mk.in b/config.mk.in
+index c5d4160..45461cf 100644
+--- a/config.mk.in
++++ b/config.mk.in
+@@ -166,7 +166,8 @@ shliblefn = $(1:%=%.shlibledummy)
+ # HOST_OS is usually has a version number suffix, e.g. "aix5.3.0.0", so
+ # we compare based on prefix.
+ 
+-ifeq ($(patsubst linux-gnu%,linux-gnu,$(HOST_OS)),linux-gnu)
++# linux-uclibc is also a linux
++ifeq ($(patsubst linux-%,linux-,$(HOST_OS)),linux-)
+   # Assume linker is GNU Compiler (gcc)
+   SHARED_LIB_TYPE = unix
+   MUST_BUILD_SHLIB = Y
+-- 
+1.9.3
+
-- 
1.9.3

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

* [Buildroot] [PATCH 07/10] package/libxmlrpc: handle static/shared only install
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
                   ` (5 preceding siblings ...)
  2014-12-27 21:58 ` [Buildroot] [PATCH 06/10] package/libxmlrpc: fix shared libraries build for uClibc Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2015-01-02 12:18   ` Thomas Petazzoni
  2014-12-27 21:58 ` [Buildroot] [PATCH 08/10] package/dvb-apps: rename patches to follow the new name convention Romain Naour
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

It's not possible to disable/enable static and shared libraries.

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
To be tested with static only build.
(probably brocken since shared libraries will be build)
---
 package/libxmlrpc/libxmlrpc.mk | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/package/libxmlrpc/libxmlrpc.mk b/package/libxmlrpc/libxmlrpc.mk
index c3788d6..5796ae6 100644
--- a/package/libxmlrpc/libxmlrpc.mk
+++ b/package/libxmlrpc/libxmlrpc.mk
@@ -35,4 +35,15 @@ LIBXMLRPC_MAKE_ENV = \
 	CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
 	LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
 
+
+ifeq ($(BR2_SHARED_LIBS),y)
+LIBXMLRPC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) \
+	install-shared-libraries install-headers install-bin
+endif
+
+ifeq ($(BR2_STATIC_LIBS),y)
+LIBXMLRPC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) \
+	install-static-libraries install-headers install-bin
+endif
+
 $(eval $(autotools-package))
-- 
1.9.3

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

* [Buildroot] [PATCH 08/10] package/dvb-apps: rename patches to follow the new name convention
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
                   ` (6 preceding siblings ...)
  2014-12-27 21:58 ` [Buildroot] [PATCH 07/10] package/libxmlrpc: handle static/shared only install Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2015-01-02 12:21   ` Thomas Petazzoni
  2014-12-27 21:58 ` [Buildroot] [PATCH 09/10] package/dvb-app: handle static/shared only build Romain Naour
  2014-12-27 21:58 ` [Buildroot] [PATCH 10/10] package/dvb-app: remove tests Romain Naour
  9 siblings, 1 reply; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/dvb-apps/0001-Fix-generate-keynames.patch  | 30 ++++++++++++++++++++++
 .../dvb-apps/0002-Fix-compiler-warning-flags.patch | 25 ++++++++++++++++++
 .../dvb-apps/0003-support-static-only-build.patch  | 20 +++++++++++++++
 .../dvb-apps-0001-Fix-generate-keynames.patch      | 30 ----------------------
 .../dvb-apps-0002-Fix-compiler-warning-flags.patch | 25 ------------------
 .../dvb-apps-0003-support-static-only-build.patch  | 20 ---------------
 6 files changed, 75 insertions(+), 75 deletions(-)
 create mode 100644 package/dvb-apps/0001-Fix-generate-keynames.patch
 create mode 100644 package/dvb-apps/0002-Fix-compiler-warning-flags.patch
 create mode 100644 package/dvb-apps/0003-support-static-only-build.patch
 delete mode 100644 package/dvb-apps/dvb-apps-0001-Fix-generate-keynames.patch
 delete mode 100644 package/dvb-apps/dvb-apps-0002-Fix-compiler-warning-flags.patch
 delete mode 100644 package/dvb-apps/dvb-apps-0003-support-static-only-build.patch

diff --git a/package/dvb-apps/0001-Fix-generate-keynames.patch b/package/dvb-apps/0001-Fix-generate-keynames.patch
new file mode 100644
index 0000000..498607d
--- /dev/null
+++ b/package/dvb-apps/0001-Fix-generate-keynames.patch
@@ -0,0 +1,30 @@
+Fix generate-keynames.sh script for cross-compilation
+
+generate-keynames.sh reads /usr/include/linux to find the keyname
+symbols. However, when cross-compiling, the include path points
+somewhere else. Allow the user to pass CROSS_ROOT to point to the
+root of the cross-compilation environment.
+
+Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
+---
+diff -rup dvb-apps-83c746462ccb.orig/util/av7110_loadkeys/generate-keynames.sh dvb-apps-83c746462ccb/util/av7110_loadkeys/generate-keynames.sh
+--- dvb-apps-83c746462ccb.orig/util/av7110_loadkeys/generate-keynames.sh	2012-12-06 10:38:07.000000000 +0100
++++ dvb-apps-83c746462ccb/util/av7110_loadkeys/generate-keynames.sh	2013-08-29 21:47:09.717991439 +0200
+@@ -18,7 +18,7 @@ echo "};" >> $1
+ echo >> $1
+ echo >> $1
+ echo "static struct input_key_name key_name [] = {" >> $1
+-for x in $(cat /usr/include/linux/input.h input_fake.h | \
++for x in $(cat ${CROSS_ROOT}/usr/include/linux/input.h input_fake.h | \
+            egrep "#define[ \t]+KEY_" | grep -v KEY_MAX | \
+            cut -f 1 | cut -f 2 -d " " | sort -u) ; do
+     echo "        { \"$(echo $x | cut -b 5-)\", $x }," >> $1
+@@ -26,7 +26,7 @@ done
+ echo "};" >> $1
+ echo >> $1
+ echo "static struct input_key_name btn_name [] = {" >> $1
+-for x in $(cat /usr/include/linux/input.h input_fake.h | \
++for x in $(cat ${CROSS_ROOT}/usr/include/linux/input.h input_fake.h | \
+            egrep "#define[ \t]+BTN_" | \
+            cut -f 1 | cut -f 2 -d " " | sort -u) ; do
+      echo "        { \"$(echo $x | cut -b 5-)\", $x }," >> $1
diff --git a/package/dvb-apps/0002-Fix-compiler-warning-flags.patch b/package/dvb-apps/0002-Fix-compiler-warning-flags.patch
new file mode 100644
index 0000000..9da0408
--- /dev/null
+++ b/package/dvb-apps/0002-Fix-compiler-warning-flags.patch
@@ -0,0 +1,25 @@
+When building for avr32, the build fails as follows.
+
+  cc1: error: unrecognized command line option "-Wno-packed-bitfield-compat"
+
+An example of an autobuild failure arising from this is the following.
+
+  http://autobuild.buildroot.net/results/92e/92e472004812a3616f62d766a9ea07a997a66e89/
+
+Clearly, not all toolchains provide a gcc that understands
+the -Wno-packed-bitfield-compat flag; remove usage of this flag.
+
+Signed-off-by: Simon Dawson <spdawson@gmail.com>
+
+diff -Nurp a/util/scan/Makefile b/util/scan/Makefile
+--- a/util/scan/Makefile	2013-11-24 17:04:10.000000000 +0000
++++ b/util/scan/Makefile	2013-12-13 09:37:11.967975173 +0000
+@@ -14,7 +14,7 @@ inst_bin = $(binaries)
+ 
+ removing = atsc_psip_section.c atsc_psip_section.h
+ 
+-CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES
++CPPFLAGS += -D__KERNEL_STRICT_NAMES
+ 
+ .PHONY: all
+ 
diff --git a/package/dvb-apps/0003-support-static-only-build.patch b/package/dvb-apps/0003-support-static-only-build.patch
new file mode 100644
index 0000000..236f1a3
--- /dev/null
+++ b/package/dvb-apps/0003-support-static-only-build.patch
@@ -0,0 +1,20 @@
+Make.rules: don't build .so libraries when static=1
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/Make.rules
+===================================================================
+--- a/Make.rules
++++ b/Make.rules
+@@ -9,7 +9,11 @@
+ CFLAGS_LIB ?= -fPIC
+ CFLAGS += $(CFLAGS_LIB)
+ 
++ifeq ($(static),1)
++libraries = $(lib_name).a
++else
+ libraries = $(lib_name).so $(lib_name).a
++endif
+ 
+ .PHONY: library
+ 
diff --git a/package/dvb-apps/dvb-apps-0001-Fix-generate-keynames.patch b/package/dvb-apps/dvb-apps-0001-Fix-generate-keynames.patch
deleted file mode 100644
index 498607d..0000000
--- a/package/dvb-apps/dvb-apps-0001-Fix-generate-keynames.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Fix generate-keynames.sh script for cross-compilation
-
-generate-keynames.sh reads /usr/include/linux to find the keyname
-symbols. However, when cross-compiling, the include path points
-somewhere else. Allow the user to pass CROSS_ROOT to point to the
-root of the cross-compilation environment.
-
-Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
----
-diff -rup dvb-apps-83c746462ccb.orig/util/av7110_loadkeys/generate-keynames.sh dvb-apps-83c746462ccb/util/av7110_loadkeys/generate-keynames.sh
---- dvb-apps-83c746462ccb.orig/util/av7110_loadkeys/generate-keynames.sh	2012-12-06 10:38:07.000000000 +0100
-+++ dvb-apps-83c746462ccb/util/av7110_loadkeys/generate-keynames.sh	2013-08-29 21:47:09.717991439 +0200
-@@ -18,7 +18,7 @@ echo "};" >> $1
- echo >> $1
- echo >> $1
- echo "static struct input_key_name key_name [] = {" >> $1
--for x in $(cat /usr/include/linux/input.h input_fake.h | \
-+for x in $(cat ${CROSS_ROOT}/usr/include/linux/input.h input_fake.h | \
-            egrep "#define[ \t]+KEY_" | grep -v KEY_MAX | \
-            cut -f 1 | cut -f 2 -d " " | sort -u) ; do
-     echo "        { \"$(echo $x | cut -b 5-)\", $x }," >> $1
-@@ -26,7 +26,7 @@ done
- echo "};" >> $1
- echo >> $1
- echo "static struct input_key_name btn_name [] = {" >> $1
--for x in $(cat /usr/include/linux/input.h input_fake.h | \
-+for x in $(cat ${CROSS_ROOT}/usr/include/linux/input.h input_fake.h | \
-            egrep "#define[ \t]+BTN_" | \
-            cut -f 1 | cut -f 2 -d " " | sort -u) ; do
-      echo "        { \"$(echo $x | cut -b 5-)\", $x }," >> $1
diff --git a/package/dvb-apps/dvb-apps-0002-Fix-compiler-warning-flags.patch b/package/dvb-apps/dvb-apps-0002-Fix-compiler-warning-flags.patch
deleted file mode 100644
index 9da0408..0000000
--- a/package/dvb-apps/dvb-apps-0002-Fix-compiler-warning-flags.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-When building for avr32, the build fails as follows.
-
-  cc1: error: unrecognized command line option "-Wno-packed-bitfield-compat"
-
-An example of an autobuild failure arising from this is the following.
-
-  http://autobuild.buildroot.net/results/92e/92e472004812a3616f62d766a9ea07a997a66e89/
-
-Clearly, not all toolchains provide a gcc that understands
-the -Wno-packed-bitfield-compat flag; remove usage of this flag.
-
-Signed-off-by: Simon Dawson <spdawson@gmail.com>
-
-diff -Nurp a/util/scan/Makefile b/util/scan/Makefile
---- a/util/scan/Makefile	2013-11-24 17:04:10.000000000 +0000
-+++ b/util/scan/Makefile	2013-12-13 09:37:11.967975173 +0000
-@@ -14,7 +14,7 @@ inst_bin = $(binaries)
- 
- removing = atsc_psip_section.c atsc_psip_section.h
- 
--CPPFLAGS += -Wno-packed-bitfield-compat -D__KERNEL_STRICT_NAMES
-+CPPFLAGS += -D__KERNEL_STRICT_NAMES
- 
- .PHONY: all
- 
diff --git a/package/dvb-apps/dvb-apps-0003-support-static-only-build.patch b/package/dvb-apps/dvb-apps-0003-support-static-only-build.patch
deleted file mode 100644
index 236f1a3..0000000
--- a/package/dvb-apps/dvb-apps-0003-support-static-only-build.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Make.rules: don't build .so libraries when static=1
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/Make.rules
-===================================================================
---- a/Make.rules
-+++ b/Make.rules
-@@ -9,7 +9,11 @@
- CFLAGS_LIB ?= -fPIC
- CFLAGS += $(CFLAGS_LIB)
- 
-+ifeq ($(static),1)
-+libraries = $(lib_name).a
-+else
- libraries = $(lib_name).so $(lib_name).a
-+endif
- 
- .PHONY: library
- 
-- 
1.9.3

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

* [Buildroot] [PATCH 09/10] package/dvb-app: handle static/shared only build
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
                   ` (7 preceding siblings ...)
  2014-12-27 21:58 ` [Buildroot] [PATCH 08/10] package/dvb-apps: rename patches to follow the new name convention Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2015-01-02 12:25   ` Thomas Petazzoni
  2014-12-27 21:58 ` [Buildroot] [PATCH 10/10] package/dvb-app: remove tests Romain Naour
  9 siblings, 1 reply; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 .../0003-handle-static-shared-only-build.patch     | 35 ++++++++++++++++++++++
 .../dvb-apps/0003-support-static-only-build.patch  | 20 -------------
 package/dvb-apps/dvb-apps.mk                       |  6 +++-
 3 files changed, 40 insertions(+), 21 deletions(-)
 create mode 100644 package/dvb-apps/0003-handle-static-shared-only-build.patch
 delete mode 100644 package/dvb-apps/0003-support-static-only-build.patch

diff --git a/package/dvb-apps/0003-handle-static-shared-only-build.patch b/package/dvb-apps/0003-handle-static-shared-only-build.patch
new file mode 100644
index 0000000..12a3f00
--- /dev/null
+++ b/package/dvb-apps/0003-handle-static-shared-only-build.patch
@@ -0,0 +1,35 @@
+From 2058cfd89b691fd05f37de6201fdb71b90889faa Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Thu, 25 Dec 2014 19:22:16 +0100
+Subject: [PATCH] Make.rules: Handle static/shared only build
+
+Only build .a library when static=1
+Only build .so library when shared=1
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ Make.rules | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/Make.rules b/Make.rules
+index 3410d7b..788397d 100644
+--- a/Make.rules
++++ b/Make.rules
+@@ -9,7 +9,13 @@ ifneq ($(lib_name),)
+ CFLAGS_LIB ?= -fPIC
+ CFLAGS += $(CFLAGS_LIB)
+ 
+-libraries = $(lib_name).so $(lib_name).a
++ifeq ($(static),1)
++libraries = $(lib_name).a
++endif
++
++ifeq ($(shared),1)
++libraries += $(lib_name).so
++endif
+ 
+ .PHONY: library
+ 
+-- 
+1.9.3
+
diff --git a/package/dvb-apps/0003-support-static-only-build.patch b/package/dvb-apps/0003-support-static-only-build.patch
deleted file mode 100644
index 236f1a3..0000000
--- a/package/dvb-apps/0003-support-static-only-build.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Make.rules: don't build .so libraries when static=1
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: b/Make.rules
-===================================================================
---- a/Make.rules
-+++ b/Make.rules
-@@ -9,7 +9,11 @@
- CFLAGS_LIB ?= -fPIC
- CFLAGS += $(CFLAGS_LIB)
- 
-+ifeq ($(static),1)
-+libraries = $(lib_name).a
-+else
- libraries = $(lib_name).so $(lib_name).a
-+endif
- 
- .PHONY: library
- 
diff --git a/package/dvb-apps/dvb-apps.mk b/package/dvb-apps/dvb-apps.mk
index 892af63..c29c7fb 100644
--- a/package/dvb-apps/dvb-apps.mk
+++ b/package/dvb-apps/dvb-apps.mk
@@ -16,7 +16,11 @@ DVB_APPS_LDLIBS += -liconv
 endif
 
 ifeq ($(BR2_STATIC_LIBS),y)
-DVB_APPS_MAKE_OPTS += static=1
+DVB_APPS_MAKE_OPTS += static=1 shared=0
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+DVB_APPS_MAKE_OPTS += static=1 shared=1
+else # BR2_SHARED_LIBS
+DVB_APPS_MAKE_OPTS += static=0 shared=1
 endif
 
 DVB_APPS_INSTALL_STAGING = YES
-- 
1.9.3

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

* [Buildroot] [PATCH 10/10] package/dvb-app: remove tests
  2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
                   ` (8 preceding siblings ...)
  2014-12-27 21:58 ` [Buildroot] [PATCH 09/10] package/dvb-app: handle static/shared only build Romain Naour
@ 2014-12-27 21:58 ` Romain Naour
  2015-01-02 12:26   ` Thomas Petazzoni
  9 siblings, 1 reply; 24+ messages in thread
From: Romain Naour @ 2014-12-27 21:58 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 package/dvb-apps/0004-Makefile-remove-test.patch | 27 ++++++++++++++++++++++++
 1 file changed, 27 insertions(+)
 create mode 100644 package/dvb-apps/0004-Makefile-remove-test.patch

diff --git a/package/dvb-apps/0004-Makefile-remove-test.patch b/package/dvb-apps/0004-Makefile-remove-test.patch
new file mode 100644
index 0000000..45bfad9
--- /dev/null
+++ b/package/dvb-apps/0004-Makefile-remove-test.patch
@@ -0,0 +1,27 @@
+From c578772d6abc5fdf3ec83f632c371373e5baf9f1 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Fri, 26 Dec 2014 01:04:58 +0100
+Subject: [PATCH] Makefile: remove test
+
+Tests needs static libraries, remove them for shared only build.
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+---
+ Makefile | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 65a2273..105c460 100644
+--- a/Makefile
++++ b/Makefile
+@@ -10,7 +10,6 @@ DVB_API_MINOR := $(word 3, $(shell grep -m1 "DVB_API_VERSION_MINOR" $(VERSION_FI
+ 
+ all clean install:
+ 	$(MAKE) -C lib $@
+-	$(MAKE) -C test $@
+ 	$(MAKE) -C util $@
+ 
+ update:
+-- 
+1.9.3
+
-- 
1.9.3

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

* [Buildroot] [PATCH 05/10] package/lockdev: handle static/shared only build
  2014-12-27 21:58 ` [Buildroot] [PATCH 05/10] package/lockdev: handle static/shared " Romain Naour
@ 2014-12-28  6:07   ` Baruch Siach
  2015-01-02 11:43   ` Thomas Petazzoni
  1 sibling, 0 replies; 24+ messages in thread
From: Baruch Siach @ 2014-12-28  6:07 UTC (permalink / raw)
  To: buildroot

Hi Romain,

On Sat, Dec 27, 2014 at 10:58:23PM +0100, Romain Naour wrote:
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/lockdev/lockdev.mk | 35 ++++++++++++++++++++++-------------
>  1 file changed, 22 insertions(+), 13 deletions(-)
> 
> diff --git a/package/lockdev/lockdev.mk b/package/lockdev/lockdev.mk
> index 59561ba..e789a79 100644
> --- a/package/lockdev/lockdev.mk
> +++ b/package/lockdev/lockdev.mk
> @@ -13,30 +13,39 @@ LOCKDEV_LICENSE_FILES = LICENSE
>  LOCKDEV_INSTALL_STAGING = YES
>  
>  ifeq ($(BR2_STATIC_LIBS),y)
> -define LOCKDEV_BUILD_CMDS
> -	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) static
> +LOCKDEV_BUILD_ARGS = static
> +LOCKDEV_INSTALL_ARGS = install_dev
> +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> +LOCKDEV_BUILD_ARGS = static shared
> +LOCKDEV_INSTALL_ARGS = install_dev install_run
> +else # BR2_SHARED_LIBS
> +LOCKDEV_BUILD_ARGS = shared
> +LOCKDEV_INSTALL_ARGS = install_run
> +endif
> +
> +ifeq ($(BR2_SHARED_STATIC_LIBS)$(BR2_SHARED_LIBS),y)
> +define LOCKDEV_CREATE_LINKS_STAGING
> +	ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so
> +	ln -sf liblockdev.$(LOCKDEV_VERSION).so $(STAGING_DIR)/usr/lib/liblockdev.so.1

I suggest to split LOCKDEV_VERSION and use LOCKDEV_MAJOR for the symlink 
suffix. This should be somewhat more future proof. Though since this 'ln' 
predates your patch maybe a separate patch is better.

baruch

-- 
     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 -

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

* [Buildroot] [PATCH 02/10] package/libnspr: disable static library for shared only build
  2014-12-27 21:58 ` [Buildroot] [PATCH 02/10] package/libnspr: disable static library for shared only build Romain Naour
@ 2015-01-01 16:48   ` Thomas Petazzoni
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-01 16:48 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:20 +0100, Romain Naour wrote:
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/libnspr/libnspr.mk | 6 ++++++
>  1 file changed, 6 insertions(+)

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 03/10] package/libsvgtiny: enable shared library build
  2014-12-27 21:58 ` [Buildroot] [PATCH 03/10] package/libsvgtiny: enable shared library build Romain Naour
@ 2015-01-02 11:38   ` Thomas Petazzoni
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-02 11:38 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:21 +0100, Romain Naour wrote:
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/libsvgtiny/libsvgtiny.mk | 16 +++++++++++++---
>  1 file changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/package/libsvgtiny/libsvgtiny.mk b/package/libsvgtiny/libsvgtiny.mk
> index a2d494e..6cb666f 100644
> --- a/package/libsvgtiny/libsvgtiny.mk
> +++ b/package/libsvgtiny/libsvgtiny.mk
> @@ -11,18 +11,28 @@ LIBSVGTINY_DEPENDENCIES = libxml2 host-gperf host-pkgconf
>  LIBSVGTINY_LICENSE = MIT
>  LIBSVGTINY_LICENSE_FILES = README
>  
> +# Prefer shared libraries if available

This comment was not really clear, so I reworded it a little bit and
applied your patch, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 04/10] package/keyutils: disable static library for shared only build
  2014-12-27 21:58 ` [Buildroot] [PATCH 04/10] package/keyutils: disable static library for shared only build Romain Naour
@ 2015-01-02 11:39   ` Thomas Petazzoni
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-02 11:39 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:22 +0100, Romain Naour wrote:
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/keyutils/keyutils.mk | 4 ++++
>  1 file changed, 4 insertions(+)

Applied, thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 05/10] package/lockdev: handle static/shared only build
  2014-12-27 21:58 ` [Buildroot] [PATCH 05/10] package/lockdev: handle static/shared " Romain Naour
  2014-12-28  6:07   ` Baruch Siach
@ 2015-01-02 11:43   ` Thomas Petazzoni
  1 sibling, 0 replies; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-02 11:43 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:23 +0100, Romain Naour wrote:

>  ifeq ($(BR2_STATIC_LIBS),y)
> -define LOCKDEV_BUILD_CMDS
> -	$(MAKE1) $(TARGET_CONFIGURE_OPTS) -C $(@D) static
> +LOCKDEV_BUILD_ARGS = static
> +LOCKDEV_INSTALL_ARGS = install_dev
> +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> +LOCKDEV_BUILD_ARGS = static shared
> +LOCKDEV_INSTALL_ARGS = install_dev install_run
> +else # BR2_SHARED_LIBS
> +LOCKDEV_BUILD_ARGS = shared
> +LOCKDEV_INSTALL_ARGS = install_run

This case doesn't work: if you don't use the install_dev target, the
header files of lockdev will not be installed to the staging directory.
So you have to use install_dev, or rework the makefile to have two
separate targets to install the static library and the header files.

I'll mark your patch as Changes Requested in patchwork.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 06/10] package/libxmlrpc: fix shared libraries build for uClibc
  2014-12-27 21:58 ` [Buildroot] [PATCH 06/10] package/libxmlrpc: fix shared libraries build for uClibc Romain Naour
@ 2015-01-02 11:48   ` Thomas Petazzoni
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-02 11:48 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:24 +0100, Romain Naour wrote:
> libxmlrpc is able to build shared libraries only for (e)glibc system
> since the regexp in config.mk.in is based on "linux-gnu".
> 
> Change this regexp to match "linux-uclibc".
> 
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  ....in-fix-shared-libraries-build-for-uClibc.patch | 27 ++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>  create mode 100644 package/libxmlrpc/0005-config.mk.in-fix-shared-libraries-build-for-uClibc.patch

Thanks, applied. Please submit the patch to the upstream libxmlrpc
project.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 07/10] package/libxmlrpc: handle static/shared only install
  2014-12-27 21:58 ` [Buildroot] [PATCH 07/10] package/libxmlrpc: handle static/shared only install Romain Naour
@ 2015-01-02 12:18   ` Thomas Petazzoni
  2015-01-04 14:23     ` Romain Naour
  0 siblings, 1 reply; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-02 12:18 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:25 +0100, Romain Naour wrote:

> diff --git a/package/libxmlrpc/libxmlrpc.mk b/package/libxmlrpc/libxmlrpc.mk
> index c3788d6..5796ae6 100644
> --- a/package/libxmlrpc/libxmlrpc.mk
> +++ b/package/libxmlrpc/libxmlrpc.mk
> @@ -35,4 +35,15 @@ LIBXMLRPC_MAKE_ENV = \
>  	CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
>  	LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
>  
> +
> +ifeq ($(BR2_SHARED_LIBS),y)
> +LIBXMLRPC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) \
> +	install-shared-libraries install-headers install-bin
> +endif
> +
> +ifeq ($(BR2_STATIC_LIBS),y)
> +LIBXMLRPC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) \
> +	install-static-libraries install-headers install-bin
> +endif

This does not work: in a BR2_SHARED_LIBS configuration, libraries are
no longer installed in the staging directory:

$ cat defconfig 
BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2014.11.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_INET_IPV6=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_LIBXMLRPC=y
# BR2_TARGET_ROOTFS_TAR is not set
$ make
[...]
$ LANG=C ls output/staging/usr/lib/libxmlrpc*
ls: cannot access output/staging/usr/lib/libxmlrpc*: No such file or directory

I'll mark the patch as Rejected in patchwork.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 08/10] package/dvb-apps: rename patches to follow the new name convention
  2014-12-27 21:58 ` [Buildroot] [PATCH 08/10] package/dvb-apps: rename patches to follow the new name convention Romain Naour
@ 2015-01-02 12:21   ` Thomas Petazzoni
  0 siblings, 0 replies; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-02 12:21 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:26 +0100, Romain Naour wrote:
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/dvb-apps/0001-Fix-generate-keynames.patch  | 30 ++++++++++++++++++++++
>  .../dvb-apps/0002-Fix-compiler-warning-flags.patch | 25 ++++++++++++++++++
>  .../dvb-apps/0003-support-static-only-build.patch  | 20 +++++++++++++++
>  .../dvb-apps-0001-Fix-generate-keynames.patch      | 30 ----------------------
>  .../dvb-apps-0002-Fix-compiler-warning-flags.patch | 25 ------------------
>  .../dvb-apps-0003-support-static-only-build.patch  | 20 ---------------
>  6 files changed, 75 insertions(+), 75 deletions(-)
>  create mode 100644 package/dvb-apps/0001-Fix-generate-keynames.patch
>  create mode 100644 package/dvb-apps/0002-Fix-compiler-warning-flags.patch
>  create mode 100644 package/dvb-apps/0003-support-static-only-build.patch
>  delete mode 100644 package/dvb-apps/dvb-apps-0001-Fix-generate-keynames.patch
>  delete mode 100644 package/dvb-apps/dvb-apps-0002-Fix-compiler-warning-flags.patch
>  delete mode 100644 package/dvb-apps/dvb-apps-0003-support-static-only-build.patch

Applied, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 09/10] package/dvb-app: handle static/shared only build
  2014-12-27 21:58 ` [Buildroot] [PATCH 09/10] package/dvb-app: handle static/shared only build Romain Naour
@ 2015-01-02 12:25   ` Thomas Petazzoni
  2015-01-04 11:56     ` Romain Naour
  0 siblings, 1 reply; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-02 12:25 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:27 +0100, Romain Naour wrote:
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  .../0003-handle-static-shared-only-build.patch     | 35 ++++++++++++++++++++++
>  .../dvb-apps/0003-support-static-only-build.patch  | 20 -------------
>  package/dvb-apps/dvb-apps.mk                       |  6 +++-
>  3 files changed, 40 insertions(+), 21 deletions(-)
>  create mode 100644 package/dvb-apps/0003-handle-static-shared-only-build.patch
>  delete mode 100644 package/dvb-apps/0003-support-static-only-build.patch

Does not build with the following configuration:

BR2_arm=y
BR2_TOOLCHAIN_EXTERNAL=y
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2014.11.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17=y
BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
BR2_TOOLCHAIN_EXTERNAL_INET_IPV6=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_DVB_APPS=y
# BR2_TARGET_ROOTFS_TAR is not set

It gives:

CC dvbcfg_test
arm-linux-gcc: error: ../../lib/libdvbcfg/libdvbcfg.a: Aucun fichier ou dossier de ce type
../../Make.rules:81: recipe for target 'dvbcfg_test' failed

Do you actually test your patches before sending them? I don't mind
seeing corner cases being broken, but here it's the canonical case: a
BR2_SHARED_LIBS=y build (which is the default) on a major architecture
(ARM).

Patch rejected.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 10/10] package/dvb-app: remove tests
  2014-12-27 21:58 ` [Buildroot] [PATCH 10/10] package/dvb-app: remove tests Romain Naour
@ 2015-01-02 12:26   ` Thomas Petazzoni
  2015-01-04 11:56     ` Romain Naour
  0 siblings, 1 reply; 24+ messages in thread
From: Thomas Petazzoni @ 2015-01-02 12:26 UTC (permalink / raw)
  To: buildroot

Dear Romain Naour,

On Sat, 27 Dec 2014 22:58:28 +0100, Romain Naour wrote:
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> ---
>  package/dvb-apps/0004-Makefile-remove-test.patch | 27 ++++++++++++++++++++++++
>  1 file changed, 27 insertions(+)
>  create mode 100644 package/dvb-apps/0004-Makefile-remove-test.patch

Ok, now I understand why patch 09/10 was not working.

If patch 09/10 needs patch 10/10 to work, then patch 10/10 needs to be
*before* patch 09/10 in the series, or be squashed into it.

Patch rejected, please resend an updated version.

Also, if you could send to upstream dvb-apps those patches (and the
other ones we have), it would be great.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH 09/10] package/dvb-app: handle static/shared only build
  2015-01-02 12:25   ` Thomas Petazzoni
@ 2015-01-04 11:56     ` Romain Naour
  0 siblings, 0 replies; 24+ messages in thread
From: Romain Naour @ 2015-01-04 11:56 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Le 02/01/2015 13:25, Thomas Petazzoni a ?crit :
> Dear Romain Naour,
> 
> On Sat, 27 Dec 2014 22:58:27 +0100, Romain Naour wrote:
>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>> ---
>>  .../0003-handle-static-shared-only-build.patch     | 35 ++++++++++++++++++++++
>>  .../dvb-apps/0003-support-static-only-build.patch  | 20 -------------
>>  package/dvb-apps/dvb-apps.mk                       |  6 +++-
>>  3 files changed, 40 insertions(+), 21 deletions(-)
>>  create mode 100644 package/dvb-apps/0003-handle-static-shared-only-build.patch
>>  delete mode 100644 package/dvb-apps/0003-support-static-only-build.patch
> 
> Does not build with the following configuration:
> 
> BR2_arm=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2014.11.tar.bz2"
> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17=y
> BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
> BR2_TOOLCHAIN_EXTERNAL_INET_IPV6=y
> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
> BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
> BR2_TOOLCHAIN_EXTERNAL_CXX=y
> BR2_INIT_NONE=y
> BR2_SYSTEM_BIN_SH_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> BR2_PACKAGE_DVB_APPS=y
> # BR2_TARGET_ROOTFS_TAR is not set
> 
> It gives:
> 
> CC dvbcfg_test
> arm-linux-gcc: error: ../../lib/libdvbcfg/libdvbcfg.a: Aucun fichier ou dossier de ce type
> ../../Make.rules:81: recipe for target 'dvbcfg_test' failed
> 
> Do you actually test your patches before sending them? I don't mind
> seeing corner cases being broken, but here it's the canonical case: a
> BR2_SHARED_LIBS=y build (which is the default) on a major architecture
> (ARM).

See patch 10/10

Usually, I test my patches before sending them, at least a build test.
But I can make mistakes, thanks for the review and testing.

In order to upstream the patch 0003-handle-static-shared-only-build.patch, I
reworked the logic.

Instead of enabling static/shared libraries with

ifeq ($(static),1)
libraries = $(lib_name).a
endif

ifeq ($(shared),1)
libraries += $(lib_name).so
endif

which require to set one of the two variables to build something, I renamed
these variable to disable static/shared libraries one by one:

ifeq ($(disable_static),)
libraries = $(lib_name).a
endif

ifeq ($(disable_shared),)
libraries += $(lib_name).so
endif

This preserves the original behavior.

Best regards,
Romain

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

* [Buildroot] [PATCH 10/10] package/dvb-app: remove tests
  2015-01-02 12:26   ` Thomas Petazzoni
@ 2015-01-04 11:56     ` Romain Naour
  0 siblings, 0 replies; 24+ messages in thread
From: Romain Naour @ 2015-01-04 11:56 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Le 02/01/2015 13:26, Thomas Petazzoni a ?crit :
> Dear Romain Naour,
> 
> On Sat, 27 Dec 2014 22:58:28 +0100, Romain Naour wrote:
>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>> ---
>>  package/dvb-apps/0004-Makefile-remove-test.patch | 27 ++++++++++++++++++++++++
>>  1 file changed, 27 insertions(+)
>>  create mode 100644 package/dvb-apps/0004-Makefile-remove-test.patch
> 
> Ok, now I understand why patch 09/10 was not working.
> 
> If patch 09/10 needs patch 10/10 to work, then patch 10/10 needs to be
> *before* patch 09/10 in the series, or be squashed into it.

My bad, I haven't reordered these patches.
I have sent them in the same order I commited locally...
Ok, I'll squash them.

> 
> Patch rejected, please resend an updated version.
> 
> Also, if you could send to upstream dvb-apps those patches (and the
> other ones we have), it would be great.
> 
Ok, I'll send patches upstream.

Best regards,
Romain

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

* [Buildroot] [PATCH 07/10] package/libxmlrpc: handle static/shared only install
  2015-01-02 12:18   ` Thomas Petazzoni
@ 2015-01-04 14:23     ` Romain Naour
  0 siblings, 0 replies; 24+ messages in thread
From: Romain Naour @ 2015-01-04 14:23 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

Le 02/01/2015 13:18, Thomas Petazzoni a ?crit :
> Dear Romain Naour,
> 
> On Sat, 27 Dec 2014 22:58:25 +0100, Romain Naour wrote:
> 
>> diff --git a/package/libxmlrpc/libxmlrpc.mk b/package/libxmlrpc/libxmlrpc.mk
>> index c3788d6..5796ae6 100644
>> --- a/package/libxmlrpc/libxmlrpc.mk
>> +++ b/package/libxmlrpc/libxmlrpc.mk
>> @@ -35,4 +35,15 @@ LIBXMLRPC_MAKE_ENV = \
>>  	CFLAGS_FOR_BUILD="$(HOST_CFLAGS)" \
>>  	LDFLAGS_FOR_BUILD="$(HOST_LDFLAGS)"
>>  
>> +
>> +ifeq ($(BR2_SHARED_LIBS),y)
>> +LIBXMLRPC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) \
>> +	install-shared-libraries install-headers install-bin
>> +endif
>> +
>> +ifeq ($(BR2_STATIC_LIBS),y)
>> +LIBXMLRPC_INSTALL_STAGING_OPTS = DESTDIR=$(STAGING_DIR) \
>> +	install-static-libraries install-headers install-bin
>> +endif
> 
> This does not work: in a BR2_SHARED_LIBS configuration, libraries are
> no longer installed in the staging directory:

Yes, indeed... sorry :-/

Let's use install target and trash this patch.

> 
> $ cat defconfig 
> BR2_arm=y
> BR2_TOOLCHAIN_EXTERNAL=y
> BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
> BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD=y
> BR2_TOOLCHAIN_EXTERNAL_URL="http://autobuild.buildroot.org/toolchains/tarballs/br-arm-full-2014.11.tar.bz2"
> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17=y
> BR2_TOOLCHAIN_EXTERNAL_LARGEFILE=y
> BR2_TOOLCHAIN_EXTERNAL_INET_IPV6=y
> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
> BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
> BR2_TOOLCHAIN_EXTERNAL_CXX=y
> BR2_INIT_NONE=y
> BR2_SYSTEM_BIN_SH_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> BR2_PACKAGE_LIBXMLRPC=y
> # BR2_TARGET_ROOTFS_TAR is not set
> $ make
> [...]
> $ LANG=C ls output/staging/usr/lib/libxmlrpc*
> ls: cannot access output/staging/usr/lib/libxmlrpc*: No such file or directory
> 
> I'll mark the patch as Rejected in patchwork.
> 

Thanks for testing.
(hopefully this patch hasn't been commited)

Best regards,
Romain

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

end of thread, other threads:[~2015-01-04 14:23 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-12-27 21:58 [Buildroot] [PATCH 00/10] Misc shared only build fixes Romain Naour
2014-12-27 21:58 ` [Buildroot] [PATCH 01/10] package/lm-sensors: disable static library for shared-only build Romain Naour
2014-12-27 21:58 ` [Buildroot] [PATCH 02/10] package/libnspr: disable static library for shared only build Romain Naour
2015-01-01 16:48   ` Thomas Petazzoni
2014-12-27 21:58 ` [Buildroot] [PATCH 03/10] package/libsvgtiny: enable shared library build Romain Naour
2015-01-02 11:38   ` Thomas Petazzoni
2014-12-27 21:58 ` [Buildroot] [PATCH 04/10] package/keyutils: disable static library for shared only build Romain Naour
2015-01-02 11:39   ` Thomas Petazzoni
2014-12-27 21:58 ` [Buildroot] [PATCH 05/10] package/lockdev: handle static/shared " Romain Naour
2014-12-28  6:07   ` Baruch Siach
2015-01-02 11:43   ` Thomas Petazzoni
2014-12-27 21:58 ` [Buildroot] [PATCH 06/10] package/libxmlrpc: fix shared libraries build for uClibc Romain Naour
2015-01-02 11:48   ` Thomas Petazzoni
2014-12-27 21:58 ` [Buildroot] [PATCH 07/10] package/libxmlrpc: handle static/shared only install Romain Naour
2015-01-02 12:18   ` Thomas Petazzoni
2015-01-04 14:23     ` Romain Naour
2014-12-27 21:58 ` [Buildroot] [PATCH 08/10] package/dvb-apps: rename patches to follow the new name convention Romain Naour
2015-01-02 12:21   ` Thomas Petazzoni
2014-12-27 21:58 ` [Buildroot] [PATCH 09/10] package/dvb-app: handle static/shared only build Romain Naour
2015-01-02 12:25   ` Thomas Petazzoni
2015-01-04 11:56     ` Romain Naour
2014-12-27 21:58 ` [Buildroot] [PATCH 10/10] package/dvb-app: remove tests Romain Naour
2015-01-02 12:26   ` Thomas Petazzoni
2015-01-04 11:56     ` Romain Naour

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.