diff mbox

[6/6] libubox: enable static build

Message ID 1490359795-18362-6-git-send-email-Rahul.Jain@imgtec.com
State Changes Requested
Headers show

Commit Message

Rahul Jain March 24, 2017, 12:49 p.m. UTC
upstream has added the support to build the static libraries.
update comment for BR2_STATIC_LIBS for other packages having
dependency on libubox.

Signed-off-by: Rahul Jain <Rahul.Jain@imgtec.com>
---
 package/libubox/Config.in     | 4 ----
 package/ubus/Config.in        | 2 +-
 package/ustream-ssl/Config.in | 2 +-
 3 files changed, 2 insertions(+), 6 deletions(-)

Comments

Arnout Vandecappelle March 24, 2017, 1:07 p.m. UTC | #1
On 24-03-17 13:49, Rahul Jain wrote:
> upstream has added the support to build the static libraries.
> update comment for BR2_STATIC_LIBS for other packages having
> dependency on libubox.

 The reason why that comment is there, is so we remember that when libubox is
allowed to be built statically, we should check if ubus and ustream-ssl perhaps
now also can be built statically. So, did you check that? If yes, you should
update the comment as to why they can't be build statically (e.g. "dlopen()",
see other Config.in files).

 Regards,
 Arnout

> 
> Signed-off-by: Rahul Jain <Rahul.Jain@imgtec.com>
> ---
>  package/libubox/Config.in     | 4 ----
>  package/ubus/Config.in        | 2 +-
>  package/ustream-ssl/Config.in | 2 +-
>  3 files changed, 2 insertions(+), 6 deletions(-)
> 
> diff --git a/package/libubox/Config.in b/package/libubox/Config.in
> index 25ef4bb..ba10f8d 100644
> --- a/package/libubox/Config.in
> +++ b/package/libubox/Config.in
> @@ -1,6 +1,5 @@
>  config BR2_PACKAGE_LIBUBOX
>  	bool "libubox"
> -	depends on !BR2_STATIC_LIBS
>  	help
>  	  This library originates from the OpenWrt project to
>  	  handle the configuration file infrastructure, but can
> @@ -8,6 +7,3 @@ config BR2_PACKAGE_LIBUBOX
>  	  than OpenWrt.
>  
>  	  http://nbd.name/gitweb.cgi?p=luci2/libubox.git;a=summary
> -
> -comment "libubox needs a toolchain w/ dynamic library"
> -	depends on BR2_STATIC_LIBS
> diff --git a/package/ubus/Config.in b/package/ubus/Config.in
> index c14f6a8..84e13f8 100644
> --- a/package/ubus/Config.in
> +++ b/package/ubus/Config.in
> @@ -7,7 +7,7 @@ config BR2_PACKAGE_UBUS
>  	select BR2_PACKAGE_LIBUBOX
>  	select BR2_PACKAGE_JSON_C
>  	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
> -	depends on !BR2_STATIC_LIBS # libubox
> +	depends on !BR2_STATIC_LIBS
>  	help
>  	  IPC/RPC bus that allows communication between processes.
>  
> diff --git a/package/ustream-ssl/Config.in b/package/ustream-ssl/Config.in
> index 540e436..a12c37b 100644
> --- a/package/ustream-ssl/Config.in
> +++ b/package/ustream-ssl/Config.in
> @@ -1,6 +1,6 @@
>  config BR2_PACKAGE_USTREAM_SSL
>  	bool "ustream-ssl"
> -	depends on !BR2_STATIC_LIBS #libubox
> +	depends on !BR2_STATIC_LIBS
>  	select BR2_PACKAGE_LIBUBOX
>  	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
>  	help
>
Rahul Jain March 29, 2017, 10:38 a.m. UTC | #2
Hi Arnout,

Thanks for your comments.

On Friday 24 March 2017 06:37 PM, Arnout Vandecappelle wrote:
>
>
> On 24-03-17 13:49, Rahul Jain wrote:
>> upstream has added the support to build the static libraries.
>> update comment for BR2_STATIC_LIBS for other packages having
>> dependency on libubox.
>
>   The reason why that comment is there, is so we remember that when libubox is
> allowed to be built statically, we should check if ubus and ustream-ssl perhaps
> now also can be built statically. So, did you check that? If yes, you should
> update the comment as to why they can't be build statically (e.g. "dlopen()",
> see other Config.in files).

I have checked package cmake files and found out that there is no 
support for building static libraries in ubus and ustream-ssl packages.
I will add a comment '#no support to build static libraries in config file'.
Arnout Vandecappelle March 29, 2017, 12:38 p.m. UTC | #3
On 29-03-17 12:38, Rahul Jain wrote:
> Hi Arnout,
> 
> Thanks for your comments.
> 
> On Friday 24 March 2017 06:37 PM, Arnout Vandecappelle wrote:
>>
>>
>> On 24-03-17 13:49, Rahul Jain wrote:
>>> upstream has added the support to build the static libraries.
>>> update comment for BR2_STATIC_LIBS for other packages having
>>> dependency on libubox.
>>
>>   The reason why that comment is there, is so we remember that when libubox is
>> allowed to be built statically, we should check if ubus and ustream-ssl perhaps
>> now also can be built statically. So, did you check that? If yes, you should
>> update the comment as to why they can't be build statically (e.g. "dlopen()",
>> see other Config.in files).
> 
> I have checked package cmake files and found out that there is no support for
> building static libraries in ubus and ustream-ssl packages.

 If nothing specific is done in the CMakeLists.txt, it *will* support building
static libraries. Only if some custom commands are used instead of
TARGET_LINK_LIBRARIES it needs special treatment.

 The best way to be sure is just to test it: start from
http://autobuild.buildroot.net/toolchains/configs/br-arm-full-static.config
enable BR2_STATIC_LIBS, remove the dependency on !BR2_STATIC_LIBS, and build it.

 Regards,
 Arnout

> I will add a comment '#no support to build static libraries in config file'.
diff mbox

Patch

diff --git a/package/libubox/Config.in b/package/libubox/Config.in
index 25ef4bb..ba10f8d 100644
--- a/package/libubox/Config.in
+++ b/package/libubox/Config.in
@@ -1,6 +1,5 @@ 
 config BR2_PACKAGE_LIBUBOX
 	bool "libubox"
-	depends on !BR2_STATIC_LIBS
 	help
 	  This library originates from the OpenWrt project to
 	  handle the configuration file infrastructure, but can
@@ -8,6 +7,3 @@  config BR2_PACKAGE_LIBUBOX
 	  than OpenWrt.
 
 	  http://nbd.name/gitweb.cgi?p=luci2/libubox.git;a=summary
-
-comment "libubox needs a toolchain w/ dynamic library"
-	depends on BR2_STATIC_LIBS
diff --git a/package/ubus/Config.in b/package/ubus/Config.in
index c14f6a8..84e13f8 100644
--- a/package/ubus/Config.in
+++ b/package/ubus/Config.in
@@ -7,7 +7,7 @@  config BR2_PACKAGE_UBUS
 	select BR2_PACKAGE_LIBUBOX
 	select BR2_PACKAGE_JSON_C
 	depends on BR2_TOOLCHAIN_HAS_SYNC_4 # json-c
-	depends on !BR2_STATIC_LIBS # libubox
+	depends on !BR2_STATIC_LIBS
 	help
 	  IPC/RPC bus that allows communication between processes.
 
diff --git a/package/ustream-ssl/Config.in b/package/ustream-ssl/Config.in
index 540e436..a12c37b 100644
--- a/package/ustream-ssl/Config.in
+++ b/package/ustream-ssl/Config.in
@@ -1,6 +1,6 @@ 
 config BR2_PACKAGE_USTREAM_SSL
 	bool "ustream-ssl"
-	depends on !BR2_STATIC_LIBS #libubox
+	depends on !BR2_STATIC_LIBS
 	select BR2_PACKAGE_LIBUBOX
 	select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_MBEDTLS
 	help