Message ID | 20170122210021.9463-1-joerg.krause@embedded.rocks |
---|---|
State | Accepted |
Headers | show |
Hello, On Sun, 22 Jan 2017 22:00:20 +0100, Jörg Krause wrote: > diff --git a/package/bctoolbox/Config.in b/package/bctoolbox/Config.in > new file mode 100644 > index 000000000..ee0757856 > --- /dev/null > +++ b/package/bctoolbox/Config.in > @@ -0,0 +1,12 @@ > +config BR2_PACKAGE_BCTOOLBOX > + bool "bctoolbox" > + depends on BR2_TOOLCHAIN_HAS_THREADS BR2_INSTALL_LIBSTDCPP dependency was missing here: there is some C++ code in this library. So I've added that. > +ifeq ($(BR2_STATIC_LIBS),y) > +BCTOOLBOX_CONF_OPTS += \ > + -DENABLE_SHARED=OFF -DENABLE_STATIC=ON Those two lines could have been on the same line, it's about 60-62 characters long, it definitely fits in the 80 characters limit. So I've fixed the three occurrences of this. Applied with those fixes, as well as a follow-up commit that adds you to the DEVELOPERS file for this package. Thanks! Thomas
>>>>> "Jörg" == Jörg Krause <joerg.krause@embedded.rocks> writes: > bctoolbox is a utilities library used by Belledonne Communications > softwares like belle-sip, mediastreamer2 and linphone. > Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> This seems to break building ortp statically: http://autobuild.buildroot.org/?reason=ortp-0.27.0 Looking further, it comes from the bctoolbox pkg-config file libs.private: bctoolbox-0.4.0/bctoolbox.pc.in: Libs.private: @LIBS_PRIVATE@ Which gets populated from cmake: bctoolbox-0.4.0/CMakeLists.txt: if(MBEDTLS_FOUND) get_filename_component(mbedtls_library_path "${MBEDTLS_LIBRARIES}" PATH) set(LIBS_PRIVATE "${LIBS_PRIVATE} -L${mbedlts_library_path}") endif() mbedtls_library_path is apparently the empty string, so it ends up just with "-L". Samuel/Jörg, any idea how this should work?
On Tue, 2017-02-07 at 12:20 +0100, Peter Korsgaard wrote: > > > > > > "Jörg" == Jörg Krause <joerg.krause@embedded.rocks> writes: > > > bctoolbox is a utilities library used by Belledonne Communications > > softwares like belle-sip, mediastreamer2 and linphone. > > > Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> > > This seems to break building ortp statically: > > http://autobuild.buildroot.org/?reason=ortp-0.27.0 > > Looking further, it comes from the bctoolbox pkg-config file > libs.private: > > bctoolbox-0.4.0/bctoolbox.pc.in: > Libs.private: @LIBS_PRIVATE@ > > Which gets populated from cmake: > > bctoolbox-0.4.0/CMakeLists.txt: > > if(MBEDTLS_FOUND) > get_filename_component(mbedtls_library_path > "${MBEDTLS_LIBRARIES}" PATH) > set(LIBS_PRIVATE "${LIBS_PRIVATE} -L${mbedlts_library_path}") > endif() > > mbedtls_library_path is apparently the empty string, so it ends up > just > with "-L". > > Samuel/Jörg, any idea how this should work? I already had a look at this, but had no time to prepare a fix for it so far. The problem is that `-lmbedtls` is missing after `-L`. So it should be: set(LIBS_PRIVATE "${LIBS_PRIVATE} -L${mbedlts_library_path} -lmbedtls") However, there are some more issues with the bctoolbox package to get static linking working properly. Jörg
>>>>> "Jörg" == Jörg Krause <joerg.krause@embedded.rocks> writes: Hi, >> Samuel/Jörg, any idea how this should work? > I already had a look at this, but had no time to prepare a fix for it > so far. The problem is that `-lmbedtls` is missing after `-L`. So it > should be: > set(LIBS_PRIVATE "${LIBS_PRIVATE} -L${mbedlts_library_path} -lmbedtls") Yes, that and the fact that mbedtls_library_path is empty, so gcc errors out with a missing path.
diff --git a/package/Config.in b/package/Config.in index 1766089b0..17e53602e 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1290,6 +1290,7 @@ menu "Other" source "package/argp-standalone/Config.in" source "package/armadillo/Config.in" source "package/atf/Config.in" + source "package/bctoolbox/Config.in" source "package/bdwgc/Config.in" source "package/boost/Config.in" source "package/clapack/Config.in" diff --git a/package/bctoolbox/Config.in b/package/bctoolbox/Config.in new file mode 100644 index 000000000..ee0757856 --- /dev/null +++ b/package/bctoolbox/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_BCTOOLBOX + bool "bctoolbox" + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_MBEDTLS # mbedtls is preferred over polarssl + help + Utilities library used by Belledonne Communications + softwares like belle-sip, mediastreamer2 and linphone. + + https://github.com/BelledonneCommunications/bctoolbox + +comment "bctoolbox needs a toolchain w/ threads" + depends on !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/bctoolbox/bctoolbox.hash b/package/bctoolbox/bctoolbox.hash new file mode 100644 index 000000000..70be55c3d --- /dev/null +++ b/package/bctoolbox/bctoolbox.hash @@ -0,0 +1,2 @@ +# Locally calculated +sha256 da7df7ff359a9829e9e6ef98dfe9fead0cf735b8a4a5da1b1047f467dee1b2a9 bctoolbox-0.4.0.tar.gz diff --git a/package/bctoolbox/bctoolbox.mk b/package/bctoolbox/bctoolbox.mk new file mode 100644 index 000000000..ce30832b2 --- /dev/null +++ b/package/bctoolbox/bctoolbox.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# bctoolbox +# +################################################################################ + +BCTOOLBOX_VERSION = 0.4.0 +BCTOOLBOX_SITE = $(call github,BelledonneCommunications,bctoolbox,$(BCTOOLBOX_VERSION)) +BCTOOLBOX_LICENSE = GPLv2+ +BCTOOLBOX_LICENSE_FILES = COPYING +BCTOOLBOX_DEPENDENCIES = mbedtls +BCTOOLBOX_INSTALL_STAGING = YES + +BCTOOLBOX_CONF_OPTS = \ + -DENABLE_STRICT=OFF \ + -DENABLE_TESTS_COMPONENT=OFF \ + -DENABLE_TESTS=OFF \ + -DGIT_EXECUTABLE=OFF + +ifeq ($(BR2_STATIC_LIBS),y) +BCTOOLBOX_CONF_OPTS += \ + -DENABLE_SHARED=OFF -DENABLE_STATIC=ON +else ifeq ($(BR2_SHARED_STATIC_LIBS),y) +BCTOOLBOX_CONF_OPTS += \ + -DENABLE_SHARED=ON -DENABLE_STATIC=ON +else ifeq ($(BR2_SHARED_LIBS),y) +BCTOOLBOX_CONF_OPTS += \ + -DENABLE_SHARED=ON -DENABLE_STATIC=OFF +endif + +$(eval $(cmake-package))
bctoolbox is a utilities library used by Belledonne Communications softwares like belle-sip, mediastreamer2 and linphone. Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks> --- Changes v1 -> v2 (suggested by Romain Naour): * depend on threads support * properly wrap help text * add comment about mbedtls being preferred over polarssl * add -DGIT_EXECUTABLE=OFF to remove an ignored error message --- package/Config.in | 1 + package/bctoolbox/Config.in | 12 ++++++++++++ package/bctoolbox/bctoolbox.hash | 2 ++ package/bctoolbox/bctoolbox.mk | 31 +++++++++++++++++++++++++++++++ 4 files changed, 46 insertions(+) create mode 100644 package/bctoolbox/Config.in create mode 100644 package/bctoolbox/bctoolbox.hash create mode 100644 package/bctoolbox/bctoolbox.mk