Skip to contentSkip to conversation

dvb-apps: fix static only build

PATCH New Thomas Petazzoni 3 participants 3 messages Jul 8, 2014

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 dvb-apps: fix static only build

This commit makes dvb-apps behave properly in a static-only build. It passes the static=1 variable to the Makefile, and adds a patch that fixes the Makefile to not build .so libraries when static=1.

Fixes:

http://autobuild.buildroot.org/results/3db/3dbfa7b692d4b123b3ba6b55c84df12818273554/

---
 .../dvb-apps-0003-support-static-only-build.patch    | 20 ++++++++++++++++++++
 package/dvb-apps/dvb-apps.mk                         | 13 ++++++++++---
 2 files changed, 30 insertions(+), 3 deletions(-)
 create mode 100644 package/dvb-apps/dvb-apps-0003-support-static-only-build.patch
package/dvb-apps/dvb-apps-0003-support-static-only-build.patch new file +20 -0
new file mode 100644
index 0000000..236f1a3
@@ -0,0 +1,20 @@
+Make.rules: don't build .so libraries when static=1
+
+Signed-off-by: Thomas Petazzoni <[email protected]>
+
+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
+ 
package/dvb-apps/dvb-apps.mk +10 -3
index 98ff7eb..edf88f3 100644
@@ -15,19 +15,26 @@ DVB_APPS_DEPENDENCIES = libiconv
 DVB_APPS_LDLIBS += -liconv
 endif
 
+DVB_APPS_MAKE_OPTS = V=1
+
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+DVB_APPS_MAKE_OPTS += static=1
+endif
+
 DVB_APPS_INSTALL_STAGING = YES
 
 define DVB_APPS_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS) LDLIBS="$(DVB_APPS_LDLIBS)" \
-		$(MAKE) -C $(@D) CROSS_ROOT=$(STAGING_DIR) V=1
+		$(MAKE) -C $(@D) CROSS_ROOT=$(STAGING_DIR) \
+		$(DVB_APPS_MAKE_OPTS)
 endef
 
 define DVB_APPS_INSTALL_STAGING_CMDS
-	$(MAKE) -C $(@D) V=1 DESTDIR=$(STAGING_DIR) install
+	$(MAKE) -C $(@D) $(DVB_APPS_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
 endef
 
 define DVB_APPS_INSTALL_TARGET_CMDS
-	$(MAKE) -C $(@D) V=1 DESTDIR=$(TARGET_DIR) install
+	$(MAKE) -C $(@D) $(DVB_APPS_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
 endef
 
 $(eval $(generic-package))
Signature · 1 line
2.0.0
#1 lore raw

PATCH 1/1 dvb-apps: fix static only build

Thomas, All,

On 2014-07-08 21:41 +0200, Thomas Petazzoni spake thusly:

Quoted 9 lines

This commit makes dvb-apps behave properly in a static-only build. It passes the static=1 variable to the Makefile, and adds a patch that fixes the Makefile to not build .so libraries when static=1.

Fixes:

http://autobuild.buildroot.org/results/3db/3dbfa7b692d4b123b3ba6b55c84df12818273554/

[--SNIP--]

package/dvb-apps/dvb-apps.mk DVB_APPS_DEPENDENCIES = libiconv · line 18

Quoted 9 lines
package/dvb-apps/dvb-apps.mk +1 -0
index 98ff7eb..edf88f3 100644
@@ -15,19 +15,26 @@ DVB_APPS_DEPENDENCIES = libiconv
 DVB_APPS_LDLIBS += -liconv
 endif
 
+DVB_APPS_MAKE_OPTS = V=1

I think we should just get rid of that, no? It's my fault it is present; we should not use it.

Otherwise:

Regards,
Yann E. MORIN.

Quoted 31 lines
package/dvb-apps/dvb-apps.mk +8 -3
+ifeq ($(BR2_PREFER_STATIC_LIB),y)
+DVB_APPS_MAKE_OPTS += static=1
+endif
+
 DVB_APPS_INSTALL_STAGING = YES
 
 define DVB_APPS_BUILD_CMDS
 	$(TARGET_CONFIGURE_OPTS) LDLIBS="$(DVB_APPS_LDLIBS)" \
-		$(MAKE) -C $(@D) CROSS_ROOT=$(STAGING_DIR) V=1
+		$(MAKE) -C $(@D) CROSS_ROOT=$(STAGING_DIR) \
+		$(DVB_APPS_MAKE_OPTS)
 endef
 
 define DVB_APPS_INSTALL_STAGING_CMDS
-	$(MAKE) -C $(@D) V=1 DESTDIR=$(STAGING_DIR) install
+	$(MAKE) -C $(@D) $(DVB_APPS_MAKE_OPTS) DESTDIR=$(STAGING_DIR) install
 endef
 
 define DVB_APPS_INSTALL_TARGET_CMDS
-	$(MAKE) -C $(@D) V=1 DESTDIR=$(TARGET_DIR) install
+	$(MAKE) -C $(@D) $(DVB_APPS_MAKE_OPTS) DESTDIR=$(TARGET_DIR) install
 endef
 
 $(eval $(generic-package))
Signature · 6 lines
2.0.0

_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#2 lore raw

PATCH 1/1 dvb-apps: fix static only build

In reply to Thomas Petazzoni
Quoted 14 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

This commit makes dvb-apps behave properly in a static-only build. It passes the static=1 variable to the Makefile, and adds a patch that fixes the Makefile to not build .so libraries when static=1.

Fixes:

http://autobuild.buildroot.org/results/3db/3dbfa7b692d4b123b3ba6b55c84df12818273554/

+++ b/package/dvb-apps/dvb-apps.mk

package/dvb-apps/dvb-apps.mk DVB_APPS_DEPENDENCIES = libiconv · line 19

Quoted 5 lines
package/dvb-apps/dvb-apps.mk +2 -0
@@ -15,19 +15,26 @@ DVB_APPS_DEPENDENCIES = libiconv
 DVB_APPS_LDLIBS += -liconv
 endif
 
+DVB_APPS_MAKE_OPTS = V=1
+

Committed with this removed as pointed out by Yann, thanks.

Signature · 1 line
Bye, Peter Korsgaard