Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] Opentracing-cpp package
@ 2017-12-21  9:41 heyleke at gmail.com
  2017-12-21  9:41 ` [Buildroot] [PATCH] Opentracing: add opentracing-cpp v1.2.0 package heyleke at gmail.com
  0 siblings, 1 reply; 25+ messages in thread
From: heyleke at gmail.com @ 2017-12-21  9:41 UTC (permalink / raw)
  To: buildroot

Hi,

this patch add opentracing-cpp as a logging library, only dep I know about is C++11

[PATCH] Opentracing: add opentracing-cpp v1.2.0 package

br,

Jan

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

* [Buildroot] [PATCH] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-21  9:41 [Buildroot] Opentracing-cpp package heyleke at gmail.com
@ 2017-12-21  9:41 ` heyleke at gmail.com
  2017-12-22 15:00   ` Samuel Martin
  2017-12-23  7:40   ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Jan Heylen
  0 siblings, 2 replies; 25+ messages in thread
From: heyleke at gmail.com @ 2017-12-21  9:41 UTC (permalink / raw)
  To: buildroot

From: Jan Heylen <jan.heylen@nokia.com>

---
 package/Config.in                            |  1 +
 package/opentracing-cpp/Config.in            | 11 +++++++++++
 package/opentracing-cpp/opentracing-cpp.hash |  2 ++
 package/opentracing-cpp/opentracing-cpp.mk   | 15 +++++++++++++++
 4 files changed, 29 insertions(+)
 create mode 100644 package/opentracing-cpp/Config.in
 create mode 100644 package/opentracing-cpp/opentracing-cpp.hash
 create mode 100644 package/opentracing-cpp/opentracing-cpp.mk

diff --git a/package/Config.in b/package/Config.in
index bd39a37..044a7e8 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1288,6 +1288,7 @@ menu "Logging"
 	source "package/log4cplus/Config.in"
 	source "package/log4cpp/Config.in"
 	source "package/log4cxx/Config.in"
+    source "package/opentracing-cpp/Config.in"
 	source "package/zlog/Config.in"
 endmenu
 
diff --git a/package/opentracing-cpp/Config.in b/package/opentracing-cpp/Config.in
new file mode 100644
index 0000000..3f6f1ad
--- /dev/null
+++ b/package/opentracing-cpp/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_OPENTRACING_CPP
+	bool "opentracing-cpp"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+	help
+	  OpenTracing API for C++
+
+	  http://opentracing.io
+
+comment "opentracing-cpp needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/opentracing-cpp/opentracing-cpp.hash b/package/opentracing-cpp/opentracing-cpp.hash
new file mode 100644
index 0000000..a710d62
--- /dev/null
+++ b/package/opentracing-cpp/opentracing-cpp.hash
@@ -0,0 +1,2 @@
+# Locally calculated
+sha256 c77041cb2f147ac81b2b0702abfced5565a9cebc318d045c060a4c3e074009ee opentracing-cpp-v1.2.0.tar.gz
diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk
new file mode 100644
index 0000000..e090be5
--- /dev/null
+++ b/package/opentracing-cpp/opentracing-cpp.mk
@@ -0,0 +1,15 @@
+################################################################################
+#
+# opentracing-cpp
+#
+################################################################################
+
+OPENTRACING_CPP_VERSION = v1.2.0
+OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION))
+OPENTRACING_CPP_LICENSE = MIT
+OPENTRACING_CPP_LICENSE_FILES = COPYING
+
+OPENTRACING_CPP_INSTALL_STAGING = YES
+OPENTRACING_CPP_INSTALL_TARGET = YES
+
+$(eval $(cmake-package))
-- 
2.7.4

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

* [Buildroot] [PATCH] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-21  9:41 ` [Buildroot] [PATCH] Opentracing: add opentracing-cpp v1.2.0 package heyleke at gmail.com
@ 2017-12-22 15:00   ` Samuel Martin
  2017-12-22 15:20     ` Jan Heylen
  2017-12-23  7:40   ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Jan Heylen
  1 sibling, 1 reply; 25+ messages in thread
From: Samuel Martin @ 2017-12-22 15:00 UTC (permalink / raw)
  To: buildroot

 Hi Jan,

Thanks for this contribution.

On Thu, Dec 21, 2017 at 10:41 AM,  <heyleke@gmail.com> wrote:
> From: Jan Heylen <jan.heylen@nokia.com>
>
> ---
>  package/Config.in                            |  1 +
>  package/opentracing-cpp/Config.in            | 11 +++++++++++
>  package/opentracing-cpp/opentracing-cpp.hash |  2 ++
>  package/opentracing-cpp/opentracing-cpp.mk   | 15 +++++++++++++++
>  4 files changed, 29 insertions(+)
>  create mode 100644 package/opentracing-cpp/Config.in
>  create mode 100644 package/opentracing-cpp/opentracing-cpp.hash
>  create mode 100644 package/opentracing-cpp/opentracing-cpp.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index bd39a37..044a7e8 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1288,6 +1288,7 @@ menu "Logging"
>         source "package/log4cplus/Config.in"
>         source "package/log4cpp/Config.in"
>         source "package/log4cxx/Config.in"
> +    source "package/opentracing-cpp/Config.in"

Here it should be indented with 1 tab instead of 4 spaces.

>         source "package/zlog/Config.in"
>  endmenu
>
> diff --git a/package/opentracing-cpp/Config.in b/package/opentracing-cpp/Config.in
> new file mode 100644
> index 0000000..3f6f1ad
> --- /dev/null
> +++ b/package/opentracing-cpp/Config.in
> @@ -0,0 +1,11 @@
> +config BR2_PACKAGE_OPENTRACING_CPP
> +       bool "opentracing-cpp"
> +       depends on BR2_INSTALL_LIBSTDCPP
> +       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
> +       help
> +         OpenTracing API for C++
> +
> +         http://opentracing.io
> +
> +comment "opentracing-cpp needs a toolchain w/ C++"
> +       depends on !BR2_INSTALL_LIBSTDCPP
> diff --git a/package/opentracing-cpp/opentracing-cpp.hash b/package/opentracing-cpp/opentracing-cpp.hash
> new file mode 100644
> index 0000000..a710d62
> --- /dev/null
> +++ b/package/opentracing-cpp/opentracing-cpp.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated
> +sha256 c77041cb2f147ac81b2b0702abfced5565a9cebc318d045c060a4c3e074009ee opentracing-cpp-v1.2.0.tar.gz

Could you add the hash of the license files as well, please?

> diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk
> new file mode 100644
> index 0000000..e090be5
> --- /dev/null
> +++ b/package/opentracing-cpp/opentracing-cpp.mk
> @@ -0,0 +1,15 @@
> +################################################################################
> +#
> +# opentracing-cpp
> +#
> +################################################################################
> +
> +OPENTRACING_CPP_VERSION = v1.2.0
> +OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION))
> +OPENTRACING_CPP_LICENSE = MIT
> +OPENTRACING_CPP_LICENSE_FILES = COPYING
> +
> +OPENTRACING_CPP_INSTALL_STAGING = YES
> +OPENTRACING_CPP_INSTALL_TARGET = YES

*_INSTALL_TARGET default is YES, so this line is unnecessary.

Looking at the opentracing-cpp CMakeLists.txt, it seems both shared
and static libraries are built and installed.
Maybe, this should be cleaned up for proper static-only (or shared
only) support.

> +
> +$(eval $(cmake-package))
> --
> 2.7.4
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

Regards,

-- 
Samuel

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

* [Buildroot] [PATCH] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-22 15:00   ` Samuel Martin
@ 2017-12-22 15:20     ` Jan Heylen
  0 siblings, 0 replies; 25+ messages in thread
From: Jan Heylen @ 2017-12-22 15:20 UTC (permalink / raw)
  To: buildroot

HI Samuel,

thx for the quick feedback, I'll have a look and come back with a V2,

br,

Jan

On Fri, Dec 22, 2017 at 4:00 PM, Samuel Martin <s.martin49@gmail.com> wrote:
>  Hi Jan,
>
> Thanks for this contribution.
>
> On Thu, Dec 21, 2017 at 10:41 AM,  <heyleke@gmail.com> wrote:
>> From: Jan Heylen <jan.heylen@nokia.com>
>>
>> ---
>>  package/Config.in                            |  1 +
>>  package/opentracing-cpp/Config.in            | 11 +++++++++++
>>  package/opentracing-cpp/opentracing-cpp.hash |  2 ++
>>  package/opentracing-cpp/opentracing-cpp.mk   | 15 +++++++++++++++
>>  4 files changed, 29 insertions(+)
>>  create mode 100644 package/opentracing-cpp/Config.in
>>  create mode 100644 package/opentracing-cpp/opentracing-cpp.hash
>>  create mode 100644 package/opentracing-cpp/opentracing-cpp.mk
>>
>> diff --git a/package/Config.in b/package/Config.in
>> index bd39a37..044a7e8 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -1288,6 +1288,7 @@ menu "Logging"
>>         source "package/log4cplus/Config.in"
>>         source "package/log4cpp/Config.in"
>>         source "package/log4cxx/Config.in"
>> +    source "package/opentracing-cpp/Config.in"
>
> Here it should be indented with 1 tab instead of 4 spaces.
>
>>         source "package/zlog/Config.in"
>>  endmenu
>>
>> diff --git a/package/opentracing-cpp/Config.in b/package/opentracing-cpp/Config.in
>> new file mode 100644
>> index 0000000..3f6f1ad
>> --- /dev/null
>> +++ b/package/opentracing-cpp/Config.in
>> @@ -0,0 +1,11 @@
>> +config BR2_PACKAGE_OPENTRACING_CPP
>> +       bool "opentracing-cpp"
>> +       depends on BR2_INSTALL_LIBSTDCPP
>> +       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
>> +       help
>> +         OpenTracing API for C++
>> +
>> +         http://opentracing.io
>> +
>> +comment "opentracing-cpp needs a toolchain w/ C++"
>> +       depends on !BR2_INSTALL_LIBSTDCPP
>> diff --git a/package/opentracing-cpp/opentracing-cpp.hash b/package/opentracing-cpp/opentracing-cpp.hash
>> new file mode 100644
>> index 0000000..a710d62
>> --- /dev/null
>> +++ b/package/opentracing-cpp/opentracing-cpp.hash
>> @@ -0,0 +1,2 @@
>> +# Locally calculated
>> +sha256 c77041cb2f147ac81b2b0702abfced5565a9cebc318d045c060a4c3e074009ee opentracing-cpp-v1.2.0.tar.gz
>
> Could you add the hash of the license files as well, please?
>
>> diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk
>> new file mode 100644
>> index 0000000..e090be5
>> --- /dev/null
>> +++ b/package/opentracing-cpp/opentracing-cpp.mk
>> @@ -0,0 +1,15 @@
>> +################################################################################
>> +#
>> +# opentracing-cpp
>> +#
>> +################################################################################
>> +
>> +OPENTRACING_CPP_VERSION = v1.2.0
>> +OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION))
>> +OPENTRACING_CPP_LICENSE = MIT
>> +OPENTRACING_CPP_LICENSE_FILES = COPYING
>> +
>> +OPENTRACING_CPP_INSTALL_STAGING = YES
>> +OPENTRACING_CPP_INSTALL_TARGET = YES
>
> *_INSTALL_TARGET default is YES, so this line is unnecessary.
>
> Looking at the opentracing-cpp CMakeLists.txt, it seems both shared
> and static libraries are built and installed.
> Maybe, this should be cleaned up for proper static-only (or shared
> only) support.
>
>> +
>> +$(eval $(cmake-package))
>> --
>> 2.7.4
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
>
> Regards,
>
> --
> Samuel

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

* [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package
  2017-12-21  9:41 ` [Buildroot] [PATCH] Opentracing: add opentracing-cpp v1.2.0 package heyleke at gmail.com
  2017-12-22 15:00   ` Samuel Martin
@ 2017-12-23  7:40   ` Jan Heylen
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package Jan Heylen
                       ` (2 more replies)
  1 sibling, 3 replies; 25+ messages in thread
From: Jan Heylen @ 2017-12-23  7:40 UTC (permalink / raw)
  To: buildroot

From: Jan Heylen <jan.heylen@nokia.com>

Hi,

this adds opentracing-cpp package as a logging library package.

Extra patch included to make shared/static target configurable.

Upstream of that patch is ongoing:
https://github.com/opentracing/opentracing-cpp/pull/46

br,

Jan

Jan Heylen (2):
  Opentracing: add opentracing-cpp v1.2.0 package
  opentracing-cpp: make shared/static target a configurable option

 package/Config.in                                  |  1 +
 ...shared-static-target-a-configurable-optio.patch | 73 ++++++++++++++++++++++
 package/opentracing-cpp/Config.in                  | 11 ++++
 package/opentracing-cpp/opentracing-cpp.hash       |  3 +
 package/opentracing-cpp/opentracing-cpp.mk         | 22 +++++++
 5 files changed, 110 insertions(+)
 create mode 100644 package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
 create mode 100644 package/opentracing-cpp/Config.in
 create mode 100644 package/opentracing-cpp/opentracing-cpp.hash
 create mode 100644 package/opentracing-cpp/opentracing-cpp.mk

-- 
2.7.4

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

* [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-23  7:40   ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Jan Heylen
@ 2017-12-23  7:40     ` Jan Heylen
  2017-12-30 21:46       ` Thomas Petazzoni
  2018-01-03  8:52       ` [Buildroot] [PATCH v3 0/1] Opentracing-cpp: new package Jan Heylen
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 2/2] opentracing-cpp: make shared/static target a configurable option Jan Heylen
  2017-12-30 21:44     ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Thomas Petazzoni
  2 siblings, 2 replies; 25+ messages in thread
From: Jan Heylen @ 2017-12-23  7:40 UTC (permalink / raw)
  To: buildroot

From: Jan Heylen <jan.heylen@nokia.com>

Signed-off-by: Jan Heylen <jan.heylen@nokia.com>

---
Changes v1 -> v2:
  - Fix indendation typo
  - Add licence hash
  - remove INTALL_TARGET=yes as that is default

---
 package/Config.in                            |  1 +
 package/opentracing-cpp/Config.in            | 11 +++++++++++
 package/opentracing-cpp/opentracing-cpp.hash |  3 +++
 package/opentracing-cpp/opentracing-cpp.mk   | 14 ++++++++++++++
 4 files changed, 29 insertions(+)
 create mode 100644 package/opentracing-cpp/Config.in
 create mode 100644 package/opentracing-cpp/opentracing-cpp.hash
 create mode 100644 package/opentracing-cpp/opentracing-cpp.mk

diff --git a/package/Config.in b/package/Config.in
index bd39a37..1150a3f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1288,6 +1288,7 @@ menu "Logging"
 	source "package/log4cplus/Config.in"
 	source "package/log4cpp/Config.in"
 	source "package/log4cxx/Config.in"
+	source "package/opentracing-cpp/Config.in"
 	source "package/zlog/Config.in"
 endmenu
 
diff --git a/package/opentracing-cpp/Config.in b/package/opentracing-cpp/Config.in
new file mode 100644
index 0000000..3f6f1ad
--- /dev/null
+++ b/package/opentracing-cpp/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_OPENTRACING_CPP
+	bool "opentracing-cpp"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+	help
+	  OpenTracing API for C++
+
+	  http://opentracing.io
+
+comment "opentracing-cpp needs a toolchain w/ C++"
+	depends on !BR2_INSTALL_LIBSTDCPP
diff --git a/package/opentracing-cpp/opentracing-cpp.hash b/package/opentracing-cpp/opentracing-cpp.hash
new file mode 100644
index 0000000..d25dbaf
--- /dev/null
+++ b/package/opentracing-cpp/opentracing-cpp.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 c77041cb2f147ac81b2b0702abfced5565a9cebc318d045c060a4c3e074009ee opentracing-cpp-v1.2.0.tar.gz
+sha256 b80bffcfee825a69645f7ca97ddba48714031ea5c845198d184714d5490798b6 COPYING
diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk
new file mode 100644
index 0000000..f1748ef
--- /dev/null
+++ b/package/opentracing-cpp/opentracing-cpp.mk
@@ -0,0 +1,14 @@
+################################################################################
+#
+# opentracing-cpp
+#
+################################################################################
+
+OPENTRACING_CPP_VERSION = v1.2.0
+OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION))
+OPENTRACING_CPP_LICENSE = MIT
+OPENTRACING_CPP_LICENSE_FILES = COPYING
+
+OPENTRACING_CPP_INSTALL_STAGING = YES
+
+$(eval $(cmake-package))
-- 
2.7.4

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

* [Buildroot] [PATCH v2 2/2] opentracing-cpp: make shared/static target a configurable option
  2017-12-23  7:40   ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Jan Heylen
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package Jan Heylen
@ 2017-12-23  7:40     ` Jan Heylen
  2017-12-29 17:23       ` Jan Heylen
  2017-12-30 21:47       ` Thomas Petazzoni
  2017-12-30 21:44     ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Thomas Petazzoni
  2 siblings, 2 replies; 25+ messages in thread
From: Jan Heylen @ 2017-12-23  7:40 UTC (permalink / raw)
  To: buildroot

From: Jan Heylen <jan.heylen@nokia.com>

Signed-off-by: Jan Heylen <jan.heylen@nokia.com>

---
Changes v1 -> v2:
  - v1: no patch include, v2: include extra patch to make shared/static configurable

---
 ...shared-static-target-a-configurable-optio.patch | 73 ++++++++++++++++++++++
 package/opentracing-cpp/opentracing-cpp.mk         |  8 +++
 2 files changed, 81 insertions(+)
 create mode 100644 package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch

diff --git a/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
new file mode 100644
index 0000000..1323f3f
--- /dev/null
+++ b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
@@ -0,0 +1,73 @@
+From 9462847f23a25524fdc2112cbc8de3f2c02a1669 Mon Sep 17 00:00:00 2001
+From: Jan Heylen <jan.heylen@nokia.com>
+Date: Fri, 22 Dec 2017 22:04:29 +0100
+Subject: [PATCH] CMake: make shared/static target a configurable option
+
+---
+ CMakeLists.txt | 40 ++++++++++++++++++++++++++++------------
+ 1 file changed, 28 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index aadf2f9..d03bd00 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -70,18 +70,36 @@ endif()
+ include_directories(include)
+ include_directories(SYSTEM 3rd_party/include)
+ 
++option(BUILD_SHARED_LIBS "Build as a shared library" ON)
++option(BUILD_STATIC_LIBS "Build as a static library" ON)
++
++if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS)
++    message(FATAL_ERROR "One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON to build")
++endif()
++
+ set(SRCS src/propagation.cpp src/noop.cpp src/tracer.cpp)
+-add_library(opentracing SHARED ${SRCS})
+-target_include_directories(opentracing INTERFACE "$<INSTALL_INTERFACE:include/>")
+-set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING}
++
++if (BUILD_SHARED_LIBS)
++  add_library(opentracing SHARED ${SRCS})
++  target_include_directories(opentracing INTERFACE "$<INSTALL_INTERFACE:include/>")
++  set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING}
+                                              SOVERSION ${OPENTRACING_VERSION_MAJOR})
+-add_library(opentracing-static STATIC ${SRCS})
+-set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing)
+-target_include_directories(opentracing-static INTERFACE "$<INSTALL_INTERFACE:include/>")
+-if (CLANG_TIDY_EXE)
+-  set_target_properties(opentracing PROPERTIES
++  install(TARGETS opentracing EXPORT OpenTracingTargets
++          LIBRARY DESTINATION lib
++          ARCHIVE DESTINATION lib)
++  if (CLANG_TIDY_EXE)
++    set_target_properties(opentracing PROPERTIES
+                                     CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
+-endif()
++  endif()
++endif(BUILD_SHARED_LIBS)
++
++if (BUILD_STATIC_LIBS)
++  add_library(opentracing-static STATIC ${SRCS})
++  set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing)
++  target_include_directories(opentracing-static INTERFACE "$<INSTALL_INTERFACE:include/>")
++  install(TARGETS opentracing-static EXPORT OpenTracingTargets
++          ARCHIVE DESTINATION lib)
++endif(BUILD_STATIC_LIBS)
+ 
+ 
+ install(DIRECTORY 3rd_party/include/opentracing DESTINATION include
+@@ -89,9 +107,7 @@ install(DIRECTORY 3rd_party/include/opentracing DESTINATION include
+                            PATTERN "*.h")
+ install(DIRECTORY include/opentracing DESTINATION include
+             FILES_MATCHING PATTERN "*.h")
+-install(TARGETS opentracing opentracing-static EXPORT OpenTracingTargets
+-        LIBRARY DESTINATION lib
+-        ARCHIVE DESTINATION lib)
++
+ 
+ # ==============================================================================
+ # Package configuration setup
+-- 
+2.7.4
+
diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk
index f1748ef..9043966 100644
--- a/package/opentracing-cpp/opentracing-cpp.mk
+++ b/package/opentracing-cpp/opentracing-cpp.mk
@@ -11,4 +11,12 @@ OPENTRACING_CPP_LICENSE_FILES = COPYING
 
 OPENTRACING_CPP_INSTALL_STAGING = YES
 
+ifeq ($(BR2_STATIC_LIBS),y)
+	OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+	OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON
+else ifeq ($(BR2_SHARED_LIBS),y)
+	OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
+endif
+
 $(eval $(cmake-package))
-- 
2.7.4

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

* [Buildroot] [PATCH v2 2/2] opentracing-cpp: make shared/static target a configurable option
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 2/2] opentracing-cpp: make shared/static target a configurable option Jan Heylen
@ 2017-12-29 17:23       ` Jan Heylen
  2017-12-30 21:47       ` Thomas Petazzoni
  1 sibling, 0 replies; 25+ messages in thread
From: Jan Heylen @ 2017-12-29 17:23 UTC (permalink / raw)
  To: buildroot

fyi, patch got merged into opentracing-cpp upstream, no
opentracing-cpp release yet that includes it

On Sat, Dec 23, 2017 at 8:40 AM, Jan Heylen <heyleke@gmail.com> wrote:
> From: Jan Heylen <jan.heylen@nokia.com>
>
> Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
>
> ---
> Changes v1 -> v2:
>   - v1: no patch include, v2: include extra patch to make shared/static configurable
>
> ---
>  ...shared-static-target-a-configurable-optio.patch | 73 ++++++++++++++++++++++
>  package/opentracing-cpp/opentracing-cpp.mk         |  8 +++
>  2 files changed, 81 insertions(+)
>  create mode 100644 package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
>
> diff --git a/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
> new file mode 100644
> index 0000000..1323f3f
> --- /dev/null
> +++ b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
> @@ -0,0 +1,73 @@
> +From 9462847f23a25524fdc2112cbc8de3f2c02a1669 Mon Sep 17 00:00:00 2001
> +From: Jan Heylen <jan.heylen@nokia.com>
> +Date: Fri, 22 Dec 2017 22:04:29 +0100
> +Subject: [PATCH] CMake: make shared/static target a configurable option
> +
> +---
> + CMakeLists.txt | 40 ++++++++++++++++++++++++++++------------
> + 1 file changed, 28 insertions(+), 12 deletions(-)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index aadf2f9..d03bd00 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -70,18 +70,36 @@ endif()
> + include_directories(include)
> + include_directories(SYSTEM 3rd_party/include)
> +
> ++option(BUILD_SHARED_LIBS "Build as a shared library" ON)
> ++option(BUILD_STATIC_LIBS "Build as a static library" ON)
> ++
> ++if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS)
> ++    message(FATAL_ERROR "One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON to build")
> ++endif()
> ++
> + set(SRCS src/propagation.cpp src/noop.cpp src/tracer.cpp)
> +-add_library(opentracing SHARED ${SRCS})
> +-target_include_directories(opentracing INTERFACE "$<INSTALL_INTERFACE:include/>")
> +-set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING}
> ++
> ++if (BUILD_SHARED_LIBS)
> ++  add_library(opentracing SHARED ${SRCS})
> ++  target_include_directories(opentracing INTERFACE "$<INSTALL_INTERFACE:include/>")
> ++  set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING}
> +                                              SOVERSION ${OPENTRACING_VERSION_MAJOR})
> +-add_library(opentracing-static STATIC ${SRCS})
> +-set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing)
> +-target_include_directories(opentracing-static INTERFACE "$<INSTALL_INTERFACE:include/>")
> +-if (CLANG_TIDY_EXE)
> +-  set_target_properties(opentracing PROPERTIES
> ++  install(TARGETS opentracing EXPORT OpenTracingTargets
> ++          LIBRARY DESTINATION lib
> ++          ARCHIVE DESTINATION lib)
> ++  if (CLANG_TIDY_EXE)
> ++    set_target_properties(opentracing PROPERTIES
> +                                     CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
> +-endif()
> ++  endif()
> ++endif(BUILD_SHARED_LIBS)
> ++
> ++if (BUILD_STATIC_LIBS)
> ++  add_library(opentracing-static STATIC ${SRCS})
> ++  set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing)
> ++  target_include_directories(opentracing-static INTERFACE "$<INSTALL_INTERFACE:include/>")
> ++  install(TARGETS opentracing-static EXPORT OpenTracingTargets
> ++          ARCHIVE DESTINATION lib)
> ++endif(BUILD_STATIC_LIBS)
> +
> +
> + install(DIRECTORY 3rd_party/include/opentracing DESTINATION include
> +@@ -89,9 +107,7 @@ install(DIRECTORY 3rd_party/include/opentracing DESTINATION include
> +                            PATTERN "*.h")
> + install(DIRECTORY include/opentracing DESTINATION include
> +             FILES_MATCHING PATTERN "*.h")
> +-install(TARGETS opentracing opentracing-static EXPORT OpenTracingTargets
> +-        LIBRARY DESTINATION lib
> +-        ARCHIVE DESTINATION lib)
> ++
> +
> + # ==============================================================================
> + # Package configuration setup
> +--
> +2.7.4
> +
> diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk
> index f1748ef..9043966 100644
> --- a/package/opentracing-cpp/opentracing-cpp.mk
> +++ b/package/opentracing-cpp/opentracing-cpp.mk
> @@ -11,4 +11,12 @@ OPENTRACING_CPP_LICENSE_FILES = COPYING
>
>  OPENTRACING_CPP_INSTALL_STAGING = YES
>
> +ifeq ($(BR2_STATIC_LIBS),y)
> +       OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
> +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> +       OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON
> +else ifeq ($(BR2_SHARED_LIBS),y)
> +       OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
> +endif
> +
>  $(eval $(cmake-package))
> --
> 2.7.4
>

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

* [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package
  2017-12-23  7:40   ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Jan Heylen
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package Jan Heylen
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 2/2] opentracing-cpp: make shared/static target a configurable option Jan Heylen
@ 2017-12-30 21:44     ` Thomas Petazzoni
  2 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2017-12-30 21:44 UTC (permalink / raw)
  To: buildroot

Hello,

Thanks for this contribution!

On Sat, 23 Dec 2017 08:40:00 +0100, Jan Heylen wrote:

> Jan Heylen (2):
>   Opentracing: add opentracing-cpp v1.2.0 package
>   opentracing-cpp: make shared/static target a configurable option

Those two patches should be merged into a single patch, since they are
both needed to add a working package.

I'll review the patches themselves with additional comments.

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

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

* [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package Jan Heylen
@ 2017-12-30 21:46       ` Thomas Petazzoni
  2017-12-30 21:49         ` Jan Heylen
  2018-01-03  8:52       ` [Buildroot] [PATCH v3 0/1] Opentracing-cpp: new package Jan Heylen
  1 sibling, 1 reply; 25+ messages in thread
From: Thomas Petazzoni @ 2017-12-30 21:46 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 23 Dec 2017 08:40:01 +0100, Jan Heylen wrote:
> From: Jan Heylen <jan.heylen@nokia.com>
> 
> Signed-off-by: Jan Heylen <jan.heylen@nokia.com>

The commit title should be:

	opentracing-cpp: new package


>  package/Config.in                            |  1 +
>  package/opentracing-cpp/Config.in            | 11 +++++++++++
>  package/opentracing-cpp/opentracing-cpp.hash |  3 +++
>  package/opentracing-cpp/opentracing-cpp.mk   | 14 ++++++++++++++

Please add an entry in the DEVELOPERS file for this package.

> diff --git a/package/opentracing-cpp/Config.in b/package/opentracing-cpp/Config.in
> new file mode 100644
> index 0000000..3f6f1ad
> --- /dev/null
> +++ b/package/opentracing-cpp/Config.in
> @@ -0,0 +1,11 @@
> +config BR2_PACKAGE_OPENTRACING_CPP
> +	bool "opentracing-cpp"
> +	depends on BR2_INSTALL_LIBSTDCPP
> +	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
> +	help
> +	  OpenTracing API for C++
> +
> +	  http://opentracing.io
> +
> +comment "opentracing-cpp needs a toolchain w/ C++"
> +	depends on !BR2_INSTALL_LIBSTDCPP

You forgot to include in the comment the gcc >= 4.8 dependency.

Also, this package doesn't build with the following 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-2017.11-rc1.tar.bz2"
BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
# BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_INIT_NONE=y
BR2_SYSTEM_BIN_SH_NONE=y
# BR2_PACKAGE_BUSYBOX is not set
BR2_PACKAGE_OPENTRACING_CPP=y
# BR2_TARGET_ROOTFS_TAR is not set

It fails with:

>>> opentracing-cpp v1.2.0 Building
PATH="/home/thomas/projets/buildroot/output/host/bin:/home/thomas/projets/buildroot/output/host/sbin:/usr/local/bin:/usr/bin:/bin:/home/thomas/.rvm/bin:/usr/local/sbin:/usr/sbin:/home/thomas/.rvm/bin:/home/thomas/sys/bin:/home/thomas/.gem/ruby/2.1.0/bin:/home/thomas/.rvm/bin"  /usr/bin/make -j5  -C /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/
Scanning dependencies of target opentracing
[ 25%] Building CXX object CMakeFiles/opentracing.dir/src/tracer.cpp.o
[ 75%] Building CXX object CMakeFiles/opentracing.dir/src/propagation.cpp.o
[ 75%] Building CXX object CMakeFiles/opentracing.dir/src/noop.cpp.o
In file included from /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/util.h:13:0,
                 from /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/propagation.h:5,
                 from /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/tracer.h:4,
                 from /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/noop.h:4,
                 from /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/src/noop.cpp:1:
/home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:24: error: ?exception_ptr? is not a member of ?std?
 class unexpected_type< std::exception_ptr >
                        ^
/home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:24: error: ?exception_ptr? is not a member of ?std?
/home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:43: error: template argument 1 is invalid
 class unexpected_type< std::exception_ptr >
                                           ^
and many more of such errors.

Could you verify with ./utils/test-pkg that your package builds
properly?

Thanks a lot!

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

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

* [Buildroot] [PATCH v2 2/2] opentracing-cpp: make shared/static target a configurable option
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 2/2] opentracing-cpp: make shared/static target a configurable option Jan Heylen
  2017-12-29 17:23       ` Jan Heylen
@ 2017-12-30 21:47       ` Thomas Petazzoni
  1 sibling, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2017-12-30 21:47 UTC (permalink / raw)
  To: buildroot

Hello,

On Sat, 23 Dec 2017 08:40:02 +0100, Jan Heylen wrote:
> From: Jan Heylen <jan.heylen@nokia.com>
> 
> Signed-off-by: Jan Heylen <jan.heylen@nokia.com>

As I said, please merge this into the previous patch.

> diff --git a/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
> new file mode 100644
> index 0000000..1323f3f
> --- /dev/null
> +++ b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
> @@ -0,0 +1,73 @@
> +From 9462847f23a25524fdc2112cbc8de3f2c02a1669 Mon Sep 17 00:00:00 2001
> +From: Jan Heylen <jan.heylen@nokia.com>
> +Date: Fri, 22 Dec 2017 22:04:29 +0100
> +Subject: [PATCH] CMake: make shared/static target a configurable option
> +

Please add your Signed-off-by line here.


> +ifeq ($(BR2_STATIC_LIBS),y)
> +	OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
> +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> +	OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON
> +else ifeq ($(BR2_SHARED_LIBS),y)
> +	OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
> +endif

Don't indent the OPENTRACING_CPP_CONF_OPTS lines.

The CMake package infrastructure is already passing
-DBUILD_SHARED_LIBS=OFF/ON, but not -DBUILD_STATIC_LIBS=ON/OFF. And a
number of packages are anyway passing -DBUILD_SHARED_LIBS=ON/OFF. Until
we clarify this, it's OK to have your package pass both options.

Thanks!

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

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

* [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-30 21:46       ` Thomas Petazzoni
@ 2017-12-30 21:49         ` Jan Heylen
  2017-12-31  9:23           ` Jan Heylen
  0 siblings, 1 reply; 25+ messages in thread
From: Jan Heylen @ 2017-12-30 21:49 UTC (permalink / raw)
  To: buildroot

Thanks, I'll check it out.

On 30 Dec 2017 22:46, "Thomas Petazzoni" <
thomas.petazzoni@free-electrons.com> wrote:

> Hello,
>
> On Sat, 23 Dec 2017 08:40:01 +0100, Jan Heylen wrote:
> > From: Jan Heylen <jan.heylen@nokia.com>
> >
> > Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
>
> The commit title should be:
>
>         opentracing-cpp: new package
>
>
> >  package/Config.in                            |  1 +
> >  package/opentracing-cpp/Config.in            | 11 +++++++++++
> >  package/opentracing-cpp/opentracing-cpp.hash |  3 +++
> >  package/opentracing-cpp/opentracing-cpp.mk   | 14 ++++++++++++++
>
> Please add an entry in the DEVELOPERS file for this package.
>
> > diff --git a/package/opentracing-cpp/Config.in
> b/package/opentracing-cpp/Config.in
> > new file mode 100644
> > index 0000000..3f6f1ad
> > --- /dev/null
> > +++ b/package/opentracing-cpp/Config.in
> > @@ -0,0 +1,11 @@
> > +config BR2_PACKAGE_OPENTRACING_CPP
> > +     bool "opentracing-cpp"
> > +     depends on BR2_INSTALL_LIBSTDCPP
> > +     depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
> > +     help
> > +       OpenTracing API for C++
> > +
> > +       http://opentracing.io
> > +
> > +comment "opentracing-cpp needs a toolchain w/ C++"
> > +     depends on !BR2_INSTALL_LIBSTDCPP
>
> You forgot to include in the comment the gcc >= 4.8 dependency.
>
> Also, this package doesn't build with the following 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-2017.11-rc1.tar.bz2"
> BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
> BR2_TOOLCHAIN_EXTERNAL_CXX=y
> BR2_INIT_NONE=y
> BR2_SYSTEM_BIN_SH_NONE=y
> # BR2_PACKAGE_BUSYBOX is not set
> BR2_PACKAGE_OPENTRACING_CPP=y
> # BR2_TARGET_ROOTFS_TAR is not set
>
> It fails with:
>
> >>> opentracing-cpp v1.2.0 Building
> PATH="/home/thomas/projets/buildroot/output/host/bin:/
> home/thomas/projets/buildroot/output/host/sbin:/usr/local/
> bin:/usr/bin:/bin:/home/thomas/.rvm/bin:/usr/local/
> sbin:/usr/sbin:/home/thomas/.rvm/bin:/home/thomas/sys/bin:/
> home/thomas/.gem/ruby/2.1.0/bin:/home/thomas/.rvm/bin"  /usr/bin/make
> -j5  -C /home/thomas/projets/buildroot/output/build/
> opentracing-cpp-v1.2.0/
> Scanning dependencies of target opentracing
> [ 25%] Building CXX object CMakeFiles/opentracing.dir/src/tracer.cpp.o
> [ 75%] Building CXX object CMakeFiles/opentracing.dir/
> src/propagation.cpp.o
> [ 75%] Building CXX object CMakeFiles/opentracing.dir/src/noop.cpp.o
> In file included from /home/thomas/projets/buildroot/output/build/
> opentracing-cpp-v1.2.0/include/opentracing/util.h:13:0,
>                  from /home/thomas/projets/buildroot/output/build/
> opentracing-cpp-v1.2.0/include/opentracing/propagation.h:5,
>                  from /home/thomas/projets/buildroot/output/build/
> opentracing-cpp-v1.2.0/include/opentracing/tracer.h:4,
>                  from /home/thomas/projets/buildroot/output/build/
> opentracing-cpp-v1.2.0/include/opentracing/noop.h:4,
>                  from /home/thomas/projets/buildroot/output/build/
> opentracing-cpp-v1.2.0/src/noop.cpp:1:
> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_
> party/include/opentracing/expected/expected.hpp:230:24: error:
> ?exception_ptr? is not a member of ?std?
>  class unexpected_type< std::exception_ptr >
>                         ^
> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_
> party/include/opentracing/expected/expected.hpp:230:24: error:
> ?exception_ptr? is not a member of ?std?
> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_
> party/include/opentracing/expected/expected.hpp:230:43: error: template
> argument 1 is invalid
>  class unexpected_type< std::exception_ptr >
>                                            ^
> and many more of such errors.
>
> Could you verify with ./utils/test-pkg that your package builds
> properly?
>
> Thanks a lot!
>
> Thomas
> --
> Thomas Petazzoni, CTO, Free Electrons
> Embedded Linux and Kernel engineering
> http://free-electrons.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20171230/3b2b0ed3/attachment.html>

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

* [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-30 21:49         ` Jan Heylen
@ 2017-12-31  9:23           ` Jan Heylen
  2017-12-31 10:46             ` Jan Heylen
  0 siblings, 1 reply; 25+ messages in thread
From: Jan Heylen @ 2017-12-31  9:23 UTC (permalink / raw)
  To: buildroot

Thomas, all,

The issue it a bit more complex than I anticipated,

it looks like for armv5 architecture(s), opentracing-cpp hits the
following issue:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938

"std::exception_ptr is missing on architectures with incomplete atomic
int support"

which comes down to:

#if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
#include <bits/exception_ptr.h>
#include <bits/nested_exception.h>
#endif

Also related to ATOMIC_INT_LOCK_FREE ==1 for armv5, is the following:
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727621

"
According the debian bug report [1], it is not possible to use std::future
on armv5 targetting toolchains. This is because libstdc++ will only enable
std::future if ATOMIC_INT_LOCK_FREE > 1.  There is no LDREX for armv5 and
older, so this definition is set to ATOMIC_INT_LOCK_FREE when compiling for
ARMv4t or ARMv5.
"

Now, for std::exception_ptr, it got fixed to work withouth atomic
support in libstdc++ begin of 2017, so I currently assume only gcc 6.4
(and maybe 5.5) includes that fix.

So now: I wonder what the best options are:
* remembering the libatomic story from a while ago: is there a chance
I can get it fixed by some dependency on libatomic or so? I don't
think so, but I could be wrong.
* Do I need to remove support for armv5 architectures
* or a construction that armv5 requires a very recent gcc version
(seems fixed in gcc 6.4).

any comment?

br,

Jan

On Sat, Dec 30, 2017 at 10:49 PM, Jan Heylen <heyleke@gmail.com> wrote:
> Thanks, I'll check it out.
>
> On 30 Dec 2017 22:46, "Thomas Petazzoni"
> <thomas.petazzoni@free-electrons.com> wrote:
>>
>> Hello,
>>
>> On Sat, 23 Dec 2017 08:40:01 +0100, Jan Heylen wrote:
>> > From: Jan Heylen <jan.heylen@nokia.com>
>> >
>> > Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
>>
>> The commit title should be:
>>
>>         opentracing-cpp: new package
>>
>>
>> >  package/Config.in                            |  1 +
>> >  package/opentracing-cpp/Config.in            | 11 +++++++++++
>> >  package/opentracing-cpp/opentracing-cpp.hash |  3 +++
>> >  package/opentracing-cpp/opentracing-cpp.mk   | 14 ++++++++++++++
>>
>> Please add an entry in the DEVELOPERS file for this package.
>>
>> > diff --git a/package/opentracing-cpp/Config.in
>> > b/package/opentracing-cpp/Config.in
>> > new file mode 100644
>> > index 0000000..3f6f1ad
>> > --- /dev/null
>> > +++ b/package/opentracing-cpp/Config.in
>> > @@ -0,0 +1,11 @@
>> > +config BR2_PACKAGE_OPENTRACING_CPP
>> > +     bool "opentracing-cpp"
>> > +     depends on BR2_INSTALL_LIBSTDCPP
>> > +     depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
>> > +     help
>> > +       OpenTracing API for C++
>> > +
>> > +       http://opentracing.io
>> > +
>> > +comment "opentracing-cpp needs a toolchain w/ C++"
>> > +     depends on !BR2_INSTALL_LIBSTDCPP
>>
>> You forgot to include in the comment the gcc >= 4.8 dependency.
>>
>> Also, this package doesn't build with the following 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-2017.11-rc1.tar.bz2"
>> BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
>> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
>> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
>> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
>> BR2_TOOLCHAIN_EXTERNAL_CXX=y
>> BR2_INIT_NONE=y
>> BR2_SYSTEM_BIN_SH_NONE=y
>> # BR2_PACKAGE_BUSYBOX is not set
>> BR2_PACKAGE_OPENTRACING_CPP=y
>> # BR2_TARGET_ROOTFS_TAR is not set
>>
>> It fails with:
>>
>> >>> opentracing-cpp v1.2.0 Building
>>
>> PATH="/home/thomas/projets/buildroot/output/host/bin:/home/thomas/projets/buildroot/output/host/sbin:/usr/local/bin:/usr/bin:/bin:/home/thomas/.rvm/bin:/usr/local/sbin:/usr/sbin:/home/thomas/.rvm/bin:/home/thomas/sys/bin:/home/thomas/.gem/ruby/2.1.0/bin:/home/thomas/.rvm/bin"
>> /usr/bin/make -j5  -C
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/
>> Scanning dependencies of target opentracing
>> [ 25%] Building CXX object CMakeFiles/opentracing.dir/src/tracer.cpp.o
>> [ 75%] Building CXX object
>> CMakeFiles/opentracing.dir/src/propagation.cpp.o
>> [ 75%] Building CXX object CMakeFiles/opentracing.dir/src/noop.cpp.o
>> In file included from
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/util.h:13:0,
>>                  from
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/propagation.h:5,
>>                  from
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/tracer.h:4,
>>                  from
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/noop.h:4,
>>                  from
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/src/noop.cpp:1:
>>
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:24:
>> error: ?exception_ptr? is not a member of ?std?
>>  class unexpected_type< std::exception_ptr >
>>                         ^
>>
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:24:
>> error: ?exception_ptr? is not a member of ?std?
>>
>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:43:
>> error: template argument 1 is invalid
>>  class unexpected_type< std::exception_ptr >
>>                                            ^
>> and many more of such errors.
>>
>> Could you verify with ./utils/test-pkg that your package builds
>> properly?
>>
>> Thanks a lot!
>>
>> Thomas
>> --
>> Thomas Petazzoni, CTO, Free Electrons
>> Embedded Linux and Kernel engineering
>> http://free-electrons.com

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

* [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-31  9:23           ` Jan Heylen
@ 2017-12-31 10:46             ` Jan Heylen
  2017-12-31 13:23               ` Jan Heylen
  0 siblings, 1 reply; 25+ messages in thread
From: Jan Heylen @ 2017-12-31 10:46 UTC (permalink / raw)
  To: buildroot

I assume it is this one: (package/mongodb/Config.in)

config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
bool
# ARM needs LDREX/STREX, so ARMv6+
default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5

# ARM needs LDREX/STREX:
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0008a/ch01s02s01.html

only question remains if we need to add an OR for gcc 6.4 in case of
std::execption_ptr usage.

br,

Jan

On Sun, Dec 31, 2017 at 10:23 AM, Jan Heylen <heyleke@gmail.com> wrote:
> Thomas, all,
>
> The issue it a bit more complex than I anticipated,
>
> it looks like for armv5 architecture(s), opentracing-cpp hits the
> following issue:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938
>
> "std::exception_ptr is missing on architectures with incomplete atomic
> int support"
>
> which comes down to:
>
> #if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
> #include <bits/exception_ptr.h>
> #include <bits/nested_exception.h>
> #endif
>
> Also related to ATOMIC_INT_LOCK_FREE ==1 for armv5, is the following:
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727621
>
> "
> According the debian bug report [1], it is not possible to use std::future
> on armv5 targetting toolchains. This is because libstdc++ will only enable
> std::future if ATOMIC_INT_LOCK_FREE > 1.  There is no LDREX for armv5 and
> older, so this definition is set to ATOMIC_INT_LOCK_FREE when compiling for
> ARMv4t or ARMv5.
> "
>
> Now, for std::exception_ptr, it got fixed to work withouth atomic
> support in libstdc++ begin of 2017, so I currently assume only gcc 6.4
> (and maybe 5.5) includes that fix.
>
> So now: I wonder what the best options are:
> * remembering the libatomic story from a while ago: is there a chance
> I can get it fixed by some dependency on libatomic or so? I don't
> think so, but I could be wrong.
> * Do I need to remove support for armv5 architectures
> * or a construction that armv5 requires a very recent gcc version
> (seems fixed in gcc 6.4).
>
> any comment?
>
> br,
>
> Jan
>
> On Sat, Dec 30, 2017 at 10:49 PM, Jan Heylen <heyleke@gmail.com> wrote:
>> Thanks, I'll check it out.
>>
>> On 30 Dec 2017 22:46, "Thomas Petazzoni"
>> <thomas.petazzoni@free-electrons.com> wrote:
>>>
>>> Hello,
>>>
>>> On Sat, 23 Dec 2017 08:40:01 +0100, Jan Heylen wrote:
>>> > From: Jan Heylen <jan.heylen@nokia.com>
>>> >
>>> > Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
>>>
>>> The commit title should be:
>>>
>>>         opentracing-cpp: new package
>>>
>>>
>>> >  package/Config.in                            |  1 +
>>> >  package/opentracing-cpp/Config.in            | 11 +++++++++++
>>> >  package/opentracing-cpp/opentracing-cpp.hash |  3 +++
>>> >  package/opentracing-cpp/opentracing-cpp.mk   | 14 ++++++++++++++
>>>
>>> Please add an entry in the DEVELOPERS file for this package.
>>>
>>> > diff --git a/package/opentracing-cpp/Config.in
>>> > b/package/opentracing-cpp/Config.in
>>> > new file mode 100644
>>> > index 0000000..3f6f1ad
>>> > --- /dev/null
>>> > +++ b/package/opentracing-cpp/Config.in
>>> > @@ -0,0 +1,11 @@
>>> > +config BR2_PACKAGE_OPENTRACING_CPP
>>> > +     bool "opentracing-cpp"
>>> > +     depends on BR2_INSTALL_LIBSTDCPP
>>> > +     depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
>>> > +     help
>>> > +       OpenTracing API for C++
>>> > +
>>> > +       http://opentracing.io
>>> > +
>>> > +comment "opentracing-cpp needs a toolchain w/ C++"
>>> > +     depends on !BR2_INSTALL_LIBSTDCPP
>>>
>>> You forgot to include in the comment the gcc >= 4.8 dependency.
>>>
>>> Also, this package doesn't build with the following 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-2017.11-rc1.tar.bz2"
>>> BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
>>> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
>>> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
>>> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
>>> BR2_TOOLCHAIN_EXTERNAL_CXX=y
>>> BR2_INIT_NONE=y
>>> BR2_SYSTEM_BIN_SH_NONE=y
>>> # BR2_PACKAGE_BUSYBOX is not set
>>> BR2_PACKAGE_OPENTRACING_CPP=y
>>> # BR2_TARGET_ROOTFS_TAR is not set
>>>
>>> It fails with:
>>>
>>> >>> opentracing-cpp v1.2.0 Building
>>>
>>> PATH="/home/thomas/projets/buildroot/output/host/bin:/home/thomas/projets/buildroot/output/host/sbin:/usr/local/bin:/usr/bin:/bin:/home/thomas/.rvm/bin:/usr/local/sbin:/usr/sbin:/home/thomas/.rvm/bin:/home/thomas/sys/bin:/home/thomas/.gem/ruby/2.1.0/bin:/home/thomas/.rvm/bin"
>>> /usr/bin/make -j5  -C
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/
>>> Scanning dependencies of target opentracing
>>> [ 25%] Building CXX object CMakeFiles/opentracing.dir/src/tracer.cpp.o
>>> [ 75%] Building CXX object
>>> CMakeFiles/opentracing.dir/src/propagation.cpp.o
>>> [ 75%] Building CXX object CMakeFiles/opentracing.dir/src/noop.cpp.o
>>> In file included from
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/util.h:13:0,
>>>                  from
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/propagation.h:5,
>>>                  from
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/tracer.h:4,
>>>                  from
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/noop.h:4,
>>>                  from
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/src/noop.cpp:1:
>>>
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:24:
>>> error: ?exception_ptr? is not a member of ?std?
>>>  class unexpected_type< std::exception_ptr >
>>>                         ^
>>>
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:24:
>>> error: ?exception_ptr? is not a member of ?std?
>>>
>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:43:
>>> error: template argument 1 is invalid
>>>  class unexpected_type< std::exception_ptr >
>>>                                            ^
>>> and many more of such errors.
>>>
>>> Could you verify with ./utils/test-pkg that your package builds
>>> properly?
>>>
>>> Thanks a lot!
>>>
>>> Thomas
>>> --
>>> Thomas Petazzoni, CTO, Free Electrons
>>> Embedded Linux and Kernel engineering
>>> http://free-electrons.com

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

* [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-31 10:46             ` Jan Heylen
@ 2017-12-31 13:23               ` Jan Heylen
  2017-12-31 16:10                 ` Thomas Petazzoni
  0 siblings, 1 reply; 25+ messages in thread
From: Jan Heylen @ 2017-12-31 13:23 UTC (permalink / raw)
  To: buildroot

I found that this issue has actually a feature in buildroot:

BR2_TOOLCHAIN_HAS_GCC_BUG_64735

I'll dig some deeper into that and propose a new version of the patch.

br,

Jan

On Sun, Dec 31, 2017 at 11:46 AM, Jan Heylen <heyleke@gmail.com> wrote:
> I assume it is this one: (package/mongodb/Config.in)
>
> config BR2_PACKAGE_MONGODB_ARCH_SUPPORTS
> bool
> # ARM needs LDREX/STREX, so ARMv6+
> default y if BR2_arm && !BR2_ARM_CPU_ARMV4 && !BR2_ARM_CPU_ARMV5
>
> # ARM needs LDREX/STREX:
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dht0008a/ch01s02s01.html
>
> only question remains if we need to add an OR for gcc 6.4 in case of
> std::execption_ptr usage.
>
> br,
>
> Jan
>
> On Sun, Dec 31, 2017 at 10:23 AM, Jan Heylen <heyleke@gmail.com> wrote:
>> Thomas, all,
>>
>> The issue it a bit more complex than I anticipated,
>>
>> it looks like for armv5 architecture(s), opentracing-cpp hits the
>> following issue:
>> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58938
>>
>> "std::exception_ptr is missing on architectures with incomplete atomic
>> int support"
>>
>> which comes down to:
>>
>> #if (__cplusplus >= 201103L) && (ATOMIC_INT_LOCK_FREE > 1)
>> #include <bits/exception_ptr.h>
>> #include <bits/nested_exception.h>
>> #endif
>>
>> Also related to ATOMIC_INT_LOCK_FREE ==1 for armv5, is the following:
>> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=727621
>>
>> "
>> According the debian bug report [1], it is not possible to use std::future
>> on armv5 targetting toolchains. This is because libstdc++ will only enable
>> std::future if ATOMIC_INT_LOCK_FREE > 1.  There is no LDREX for armv5 and
>> older, so this definition is set to ATOMIC_INT_LOCK_FREE when compiling for
>> ARMv4t or ARMv5.
>> "
>>
>> Now, for std::exception_ptr, it got fixed to work withouth atomic
>> support in libstdc++ begin of 2017, so I currently assume only gcc 6.4
>> (and maybe 5.5) includes that fix.
>>
>> So now: I wonder what the best options are:
>> * remembering the libatomic story from a while ago: is there a chance
>> I can get it fixed by some dependency on libatomic or so? I don't
>> think so, but I could be wrong.
>> * Do I need to remove support for armv5 architectures
>> * or a construction that armv5 requires a very recent gcc version
>> (seems fixed in gcc 6.4).
>>
>> any comment?
>>
>> br,
>>
>> Jan
>>
>> On Sat, Dec 30, 2017 at 10:49 PM, Jan Heylen <heyleke@gmail.com> wrote:
>>> Thanks, I'll check it out.
>>>
>>> On 30 Dec 2017 22:46, "Thomas Petazzoni"
>>> <thomas.petazzoni@free-electrons.com> wrote:
>>>>
>>>> Hello,
>>>>
>>>> On Sat, 23 Dec 2017 08:40:01 +0100, Jan Heylen wrote:
>>>> > From: Jan Heylen <jan.heylen@nokia.com>
>>>> >
>>>> > Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
>>>>
>>>> The commit title should be:
>>>>
>>>>         opentracing-cpp: new package
>>>>
>>>>
>>>> >  package/Config.in                            |  1 +
>>>> >  package/opentracing-cpp/Config.in            | 11 +++++++++++
>>>> >  package/opentracing-cpp/opentracing-cpp.hash |  3 +++
>>>> >  package/opentracing-cpp/opentracing-cpp.mk   | 14 ++++++++++++++
>>>>
>>>> Please add an entry in the DEVELOPERS file for this package.
>>>>
>>>> > diff --git a/package/opentracing-cpp/Config.in
>>>> > b/package/opentracing-cpp/Config.in
>>>> > new file mode 100644
>>>> > index 0000000..3f6f1ad
>>>> > --- /dev/null
>>>> > +++ b/package/opentracing-cpp/Config.in
>>>> > @@ -0,0 +1,11 @@
>>>> > +config BR2_PACKAGE_OPENTRACING_CPP
>>>> > +     bool "opentracing-cpp"
>>>> > +     depends on BR2_INSTALL_LIBSTDCPP
>>>> > +     depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
>>>> > +     help
>>>> > +       OpenTracing API for C++
>>>> > +
>>>> > +       http://opentracing.io
>>>> > +
>>>> > +comment "opentracing-cpp needs a toolchain w/ C++"
>>>> > +     depends on !BR2_INSTALL_LIBSTDCPP
>>>>
>>>> You forgot to include in the comment the gcc >= 4.8 dependency.
>>>>
>>>> Also, this package doesn't build with the following 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-2017.11-rc1.tar.bz2"
>>>> BR2_TOOLCHAIN_EXTERNAL_GCC_4_9=y
>>>> BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10=y
>>>> BR2_TOOLCHAIN_EXTERNAL_LOCALE=y
>>>> # BR2_TOOLCHAIN_EXTERNAL_HAS_THREADS_DEBUG is not set
>>>> BR2_TOOLCHAIN_EXTERNAL_CXX=y
>>>> BR2_INIT_NONE=y
>>>> BR2_SYSTEM_BIN_SH_NONE=y
>>>> # BR2_PACKAGE_BUSYBOX is not set
>>>> BR2_PACKAGE_OPENTRACING_CPP=y
>>>> # BR2_TARGET_ROOTFS_TAR is not set
>>>>
>>>> It fails with:
>>>>
>>>> >>> opentracing-cpp v1.2.0 Building
>>>>
>>>> PATH="/home/thomas/projets/buildroot/output/host/bin:/home/thomas/projets/buildroot/output/host/sbin:/usr/local/bin:/usr/bin:/bin:/home/thomas/.rvm/bin:/usr/local/sbin:/usr/sbin:/home/thomas/.rvm/bin:/home/thomas/sys/bin:/home/thomas/.gem/ruby/2.1.0/bin:/home/thomas/.rvm/bin"
>>>> /usr/bin/make -j5  -C
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/
>>>> Scanning dependencies of target opentracing
>>>> [ 25%] Building CXX object CMakeFiles/opentracing.dir/src/tracer.cpp.o
>>>> [ 75%] Building CXX object
>>>> CMakeFiles/opentracing.dir/src/propagation.cpp.o
>>>> [ 75%] Building CXX object CMakeFiles/opentracing.dir/src/noop.cpp.o
>>>> In file included from
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/util.h:13:0,
>>>>                  from
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/propagation.h:5,
>>>>                  from
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/tracer.h:4,
>>>>                  from
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/include/opentracing/noop.h:4,
>>>>                  from
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/src/noop.cpp:1:
>>>>
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:24:
>>>> error: ?exception_ptr? is not a member of ?std?
>>>>  class unexpected_type< std::exception_ptr >
>>>>                         ^
>>>>
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:24:
>>>> error: ?exception_ptr? is not a member of ?std?
>>>>
>>>> /home/thomas/projets/buildroot/output/build/opentracing-cpp-v1.2.0/3rd_party/include/opentracing/expected/expected.hpp:230:43:
>>>> error: template argument 1 is invalid
>>>>  class unexpected_type< std::exception_ptr >
>>>>                                            ^
>>>> and many more of such errors.
>>>>
>>>> Could you verify with ./utils/test-pkg that your package builds
>>>> properly?
>>>>
>>>> Thanks a lot!
>>>>
>>>> Thomas
>>>> --
>>>> Thomas Petazzoni, CTO, Free Electrons
>>>> Embedded Linux and Kernel engineering
>>>> http://free-electrons.com

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

* [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-31 13:23               ` Jan Heylen
@ 2017-12-31 16:10                 ` Thomas Petazzoni
  2017-12-31 17:57                   ` Jan Heylen
  0 siblings, 1 reply; 25+ messages in thread
From: Thomas Petazzoni @ 2017-12-31 16:10 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 31 Dec 2017 14:23:06 +0100, Jan Heylen wrote:
> I found that this issue has actually a feature in buildroot:
> 
> BR2_TOOLCHAIN_HAS_GCC_BUG_64735
> 
> I'll dig some deeper into that and propose a new version of the patch.

Indeed! I forgot about this one. So just make your package depends
on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735.

Could you resubmit, taking into account this issue, and the few other
comments that I made ?

Thanks a lot!

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

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

* [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package
  2017-12-31 16:10                 ` Thomas Petazzoni
@ 2017-12-31 17:57                   ` Jan Heylen
  0 siblings, 0 replies; 25+ messages in thread
From: Jan Heylen @ 2017-12-31 17:57 UTC (permalink / raw)
  To: buildroot

Will do, thanks!  I tested it already. Need to squash the commits and
resubmit. But first some festivities to handle. So my best wishes and
you'll see the patch in 2018 ;-)

Also m68k coldfire doesn't seem to handle it correctly. So I'll depend on
that one too.

Br,

Jan

On 31 Dec 2017 5:10 pm, "Thomas Petazzoni" <
thomas.petazzoni@free-electrons.com> wrote:

Hello,

On Sun, 31 Dec 2017 14:23:06 +0100, Jan Heylen wrote:
> I found that this issue has actually a feature in buildroot:
>
> BR2_TOOLCHAIN_HAS_GCC_BUG_64735
>
> I'll dig some deeper into that and propose a new version of the patch.

Indeed! I forgot about this one. So just make your package depends
on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735.

Could you resubmit, taking into account this issue, and the few other
comments that I made ?

Thanks a lot!

Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20171231/ab830141/attachment.html>

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

* [Buildroot] [PATCH v3 0/1] Opentracing-cpp: new package
  2017-12-23  7:40     ` [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package Jan Heylen
  2017-12-30 21:46       ` Thomas Petazzoni
@ 2018-01-03  8:52       ` Jan Heylen
  2018-01-03  8:52         ` [Buildroot] [PATCH v3 1/1] opentracing-cpp: " Jan Heylen
  1 sibling, 1 reply; 25+ messages in thread
From: Jan Heylen @ 2018-01-03  8:52 UTC (permalink / raw)
  To: buildroot

From: Jan Heylen <jan.heylen@nokia.com>

Hi,

V3 of "this adds opentracing-cpp package as a logging library package."

The included patch is already upstreamed and merged, but no new opentracing-cpp release was created yet.

br,

Jan

Jan Heylen (1):
  opentracing-cpp: new package

 DEVELOPERS                                         |  3 +
 package/Config.in                                  |  1 +
 ...shared-static-target-a-configurable-optio.patch | 74 ++++++++++++++++++++++
 package/opentracing-cpp/Config.in                  | 16 +++++
 package/opentracing-cpp/opentracing-cpp.hash       |  3 +
 package/opentracing-cpp/opentracing-cpp.mk         | 22 +++++++
 6 files changed, 119 insertions(+)
 create mode 100644 package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
 create mode 100644 package/opentracing-cpp/Config.in
 create mode 100644 package/opentracing-cpp/opentracing-cpp.hash
 create mode 100644 package/opentracing-cpp/opentracing-cpp.mk

-- 
2.7.4

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

* [Buildroot] [PATCH v3 1/1] opentracing-cpp: new package
  2018-01-03  8:52       ` [Buildroot] [PATCH v3 0/1] Opentracing-cpp: new package Jan Heylen
@ 2018-01-03  8:52         ` Jan Heylen
  2018-01-03  9:03           ` Baruch Siach
  0 siblings, 1 reply; 25+ messages in thread
From: Jan Heylen @ 2018-01-03  8:52 UTC (permalink / raw)
  To: buildroot

From: Jan Heylen <jan.heylen@nokia.com>

Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
---
test-pkg passes

Changes v2 -> v3:
  - Fix another indendation typo
  - Add DEVELOPERS file change
  - Signoff opetracing-cpp patch
  - run test-pkg and include various dependencies (toolchain bug & m68k cf) 
  - add comments in Config.in on the dependencies

Changes v1 -> v2:
  - Fix indendation typo
  - Add licence hash
  - remove INTALL_TARGET=yes as that is default

---

 DEVELOPERS                                         |  3 +
 package/Config.in                                  |  1 +
 ...shared-static-target-a-configurable-optio.patch | 74 ++++++++++++++++++++++
 package/opentracing-cpp/Config.in                  | 16 +++++
 package/opentracing-cpp/opentracing-cpp.hash       |  3 +
 package/opentracing-cpp/opentracing-cpp.mk         | 22 +++++++
 6 files changed, 119 insertions(+)
 create mode 100644 package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
 create mode 100644 package/opentracing-cpp/Config.in
 create mode 100644 package/opentracing-cpp/opentracing-cpp.hash
 create mode 100644 package/opentracing-cpp/opentracing-cpp.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index fe989c0..f17fcdd 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -790,6 +790,9 @@ F:	package/pangomm/
 F:	package/rpm/
 F:	package/yad/
 
+N:	Jan Heylen <jan.heylen@nokia.com>
+F:	package/opentracing-cpp/
+
 N:	Jan Kraval <jan.kraval@gmail.com>
 F:	board/orangepi/orangepi-lite
 F:	configs/orangepi_lite_defconfig
diff --git a/package/Config.in b/package/Config.in
index bd39a37..1150a3f 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1288,6 +1288,7 @@ menu "Logging"
 	source "package/log4cplus/Config.in"
 	source "package/log4cpp/Config.in"
 	source "package/log4cxx/Config.in"
+	source "package/opentracing-cpp/Config.in"
 	source "package/zlog/Config.in"
 endmenu
 
diff --git a/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
new file mode 100644
index 0000000..90a945b
--- /dev/null
+++ b/package/opentracing-cpp/0001-CMake-make-shared-static-target-a-configurable-optio.patch
@@ -0,0 +1,74 @@
+From 9462847f23a25524fdc2112cbc8de3f2c02a1669 Mon Sep 17 00:00:00 2001
+From: Jan Heylen <jan.heylen@nokia.com>
+Date: Fri, 22 Dec 2017 22:04:29 +0100
+Subject: [PATCH] CMake: make shared/static target a configurable option
+
+Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
+---
+ CMakeLists.txt | 40 ++++++++++++++++++++++++++++------------
+ 1 file changed, 28 insertions(+), 12 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index aadf2f9..d03bd00 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -70,18 +70,36 @@ endif()
+ include_directories(include)
+ include_directories(SYSTEM 3rd_party/include)
+ 
++option(BUILD_SHARED_LIBS "Build as a shared library" ON)
++option(BUILD_STATIC_LIBS "Build as a static library" ON)
++
++if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS)
++    message(FATAL_ERROR "One or both of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be set to ON to build")
++endif()
++
+ set(SRCS src/propagation.cpp src/noop.cpp src/tracer.cpp)
+-add_library(opentracing SHARED ${SRCS})
+-target_include_directories(opentracing INTERFACE "$<INSTALL_INTERFACE:include/>")
+-set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING}
++
++if (BUILD_SHARED_LIBS)
++  add_library(opentracing SHARED ${SRCS})
++  target_include_directories(opentracing INTERFACE "$<INSTALL_INTERFACE:include/>")
++  set_target_properties(opentracing PROPERTIES VERSION ${OPENTRACING_VERSION_STRING}
+                                              SOVERSION ${OPENTRACING_VERSION_MAJOR})
+-add_library(opentracing-static STATIC ${SRCS})
+-set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing)
+-target_include_directories(opentracing-static INTERFACE "$<INSTALL_INTERFACE:include/>")
+-if (CLANG_TIDY_EXE)
+-  set_target_properties(opentracing PROPERTIES
++  install(TARGETS opentracing EXPORT OpenTracingTargets
++          LIBRARY DESTINATION lib
++          ARCHIVE DESTINATION lib)
++  if (CLANG_TIDY_EXE)
++    set_target_properties(opentracing PROPERTIES
+                                     CXX_CLANG_TIDY "${DO_CLANG_TIDY}")
+-endif()
++  endif()
++endif(BUILD_SHARED_LIBS)
++
++if (BUILD_STATIC_LIBS)
++  add_library(opentracing-static STATIC ${SRCS})
++  set_target_properties(opentracing-static PROPERTIES OUTPUT_NAME opentracing)
++  target_include_directories(opentracing-static INTERFACE "$<INSTALL_INTERFACE:include/>")
++  install(TARGETS opentracing-static EXPORT OpenTracingTargets
++          ARCHIVE DESTINATION lib)
++endif(BUILD_STATIC_LIBS)
+ 
+ 
+ install(DIRECTORY 3rd_party/include/opentracing DESTINATION include
+@@ -89,9 +107,7 @@ install(DIRECTORY 3rd_party/include/opentracing DESTINATION include
+                            PATTERN "*.h")
+ install(DIRECTORY include/opentracing DESTINATION include
+             FILES_MATCHING PATTERN "*.h")
+-install(TARGETS opentracing opentracing-static EXPORT OpenTracingTargets
+-        LIBRARY DESTINATION lib
+-        ARCHIVE DESTINATION lib)
++
+ 
+ # ==============================================================================
+ # Package configuration setup
+-- 
+2.7.4
+
diff --git a/package/opentracing-cpp/Config.in b/package/opentracing-cpp/Config.in
new file mode 100644
index 0000000..f13d21b
--- /dev/null
+++ b/package/opentracing-cpp/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_OPENTRACING_CPP
+	bool "opentracing-cpp"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+	depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # exception_ptr
+	depends on !BR2_m68k_cf # exception_ptr
+	help
+	  OpenTracing API for C++
+
+	  http://opentracing.io
+
+comment "opentracing-cpp needs a toolchain w/ C++11"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
+
+comment "opentracing-cpp needs exception_ptr"
+	depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735 || BR2_m68k_cf
diff --git a/package/opentracing-cpp/opentracing-cpp.hash b/package/opentracing-cpp/opentracing-cpp.hash
new file mode 100644
index 0000000..d25dbaf
--- /dev/null
+++ b/package/opentracing-cpp/opentracing-cpp.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 c77041cb2f147ac81b2b0702abfced5565a9cebc318d045c060a4c3e074009ee opentracing-cpp-v1.2.0.tar.gz
+sha256 b80bffcfee825a69645f7ca97ddba48714031ea5c845198d184714d5490798b6 COPYING
diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk
new file mode 100644
index 0000000..9b2d473
--- /dev/null
+++ b/package/opentracing-cpp/opentracing-cpp.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# opentracing-cpp
+#
+################################################################################
+
+OPENTRACING_CPP_VERSION = v1.2.0
+OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION))
+OPENTRACING_CPP_LICENSE = MIT
+OPENTRACING_CPP_LICENSE_FILES = COPYING
+
+OPENTRACING_CPP_INSTALL_STAGING = YES
+
+ifeq ($(BR2_STATIC_LIBS),y)
+OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
+else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
+OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON
+else ifeq ($(BR2_SHARED_LIBS),y)
+OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
+endif
+
+$(eval $(cmake-package))
-- 
2.7.4

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

* [Buildroot] [PATCH v3 1/1] opentracing-cpp: new package
  2018-01-03  8:52         ` [Buildroot] [PATCH v3 1/1] opentracing-cpp: " Jan Heylen
@ 2018-01-03  9:03           ` Baruch Siach
  2018-01-03  9:07             ` Jan Heylen
  0 siblings, 1 reply; 25+ messages in thread
From: Baruch Siach @ 2018-01-03  9:03 UTC (permalink / raw)
  To: buildroot

Hi Jan,

On Wed, Jan 03, 2018 at 09:52:23AM +0100, Jan Heylen wrote:
> From: Jan Heylen <jan.heylen@nokia.com>
> 
> Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
> ---

[...]

> diff --git a/package/opentracing-cpp/opentracing-cpp.mk b/package/opentracing-cpp/opentracing-cpp.mk
> new file mode 100644
> index 0000000..9b2d473
> --- /dev/null
> +++ b/package/opentracing-cpp/opentracing-cpp.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# opentracing-cpp
> +#
> +################################################################################
> +
> +OPENTRACING_CPP_VERSION = v1.2.0
> +OPENTRACING_CPP_SITE = $(call github,opentracing,opentracing-cpp,$(OPENTRACING_CPP_VERSION))
> +OPENTRACING_CPP_LICENSE = MIT
> +OPENTRACING_CPP_LICENSE_FILES = COPYING
> +
> +OPENTRACING_CPP_INSTALL_STAGING = YES
> +
> +ifeq ($(BR2_STATIC_LIBS),y)
> +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON
> +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=ON
> +else ifeq ($(BR2_SHARED_LIBS),y)
> +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
> +endif

The -DBUILD_SHARED_LIBS setting should be handled correctly by the Buildroot 
cmake infrastructure at package/pkg-cmake.mk. Doesn't that work for you?

baruch

> +
> +$(eval $(cmake-package))

-- 
     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] 25+ messages in thread

* [Buildroot] [PATCH v3 1/1] opentracing-cpp: new package
  2018-01-03  9:03           ` Baruch Siach
@ 2018-01-03  9:07             ` Jan Heylen
  2018-01-03  9:50               ` Baruch Siach
  0 siblings, 1 reply; 25+ messages in thread
From: Jan Heylen @ 2018-01-03  9:07 UTC (permalink / raw)
  To: buildroot

I copied that infra from another package. Thomas also indicated already
that there is something already generalised but not fully yet. So he
adviced to keep it like this for the time being. If this is not nok, please
advice differently.

Br,

Jan

On 3 Jan 2018 10:04, "Baruch Siach" <baruch@tkos.co.il> wrote:

> Hi Jan,
>
> On Wed, Jan 03, 2018 at 09:52:23AM +0100, Jan Heylen wrote:
> > From: Jan Heylen <jan.heylen@nokia.com>
> >
> > Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
> > ---
>
> [...]
>
> > diff --git a/package/opentracing-cpp/opentracing-cpp.mk
> b/package/opentracing-cpp/opentracing-cpp.mk
> > new file mode 100644
> > index 0000000..9b2d473
> > --- /dev/null
> > +++ b/package/opentracing-cpp/opentracing-cpp.mk
> > @@ -0,0 +1,22 @@
> > +###########################################################
> #####################
> > +#
> > +# opentracing-cpp
> > +#
> > +###########################################################
> #####################
> > +
> > +OPENTRACING_CPP_VERSION = v1.2.0
> > +OPENTRACING_CPP_SITE = $(call github,opentracing,
> opentracing-cpp,$(OPENTRACING_CPP_VERSION))
> > +OPENTRACING_CPP_LICENSE = MIT
> > +OPENTRACING_CPP_LICENSE_FILES = COPYING
> > +
> > +OPENTRACING_CPP_INSTALL_STAGING = YES
> > +
> > +ifeq ($(BR2_STATIC_LIBS),y)
> > +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF
> -DBUILD_STATIC_LIBS=ON
> > +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> > +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON
> -DBUILD_STATIC_LIBS=ON
> > +else ifeq ($(BR2_SHARED_LIBS),y)
> > +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON
> -DBUILD_STATIC_LIBS=OFF
> > +endif
>
> The -DBUILD_SHARED_LIBS setting should be handled correctly by the
> Buildroot
> cmake infrastructure at package/pkg-cmake.mk. Doesn't that work for you?
>
> baruch
>
> > +
> > +$(eval $(cmake-package))
>
> --
>      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 -
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20180103/56d2169c/attachment.html>

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

* [Buildroot] [PATCH v3 1/1] opentracing-cpp: new package
  2018-01-03  9:07             ` Jan Heylen
@ 2018-01-03  9:50               ` Baruch Siach
  2018-01-03 10:10                 ` Thomas Petazzoni
  0 siblings, 1 reply; 25+ messages in thread
From: Baruch Siach @ 2018-01-03  9:50 UTC (permalink / raw)
  To: buildroot

Hi Jan,

On Wed, Jan 03, 2018 at 10:07:51AM +0100, Jan Heylen wrote:
> I copied that infra from another package. Thomas also indicated already
> that there is something already generalised but not fully yet. So he
> adviced to keep it like this for the time being. If this is not nok, please
> advice differently.

I see that rabbitmq-c is also doing that. I think that the -DBUILD_SHARED_LIBS 
part is redundant. But the -DBUILD_STATIC_LIBS part might be needed, since the 
generic code does not handle that.

baruch

> On 3 Jan 2018 10:04, "Baruch Siach" <baruch@tkos.co.il> wrote:
> > On Wed, Jan 03, 2018 at 09:52:23AM +0100, Jan Heylen wrote:
> > > From: Jan Heylen <jan.heylen@nokia.com>
> > >
> > > Signed-off-by: Jan Heylen <jan.heylen@nokia.com>
> > > ---
> >
> > [...]
> >
> > > diff --git a/package/opentracing-cpp/opentracing-cpp.mk
> > b/package/opentracing-cpp/opentracing-cpp.mk
> > > new file mode 100644
> > > index 0000000..9b2d473
> > > --- /dev/null
> > > +++ b/package/opentracing-cpp/opentracing-cpp.mk
> > > @@ -0,0 +1,22 @@
> > > +###########################################################
> > #####################
> > > +#
> > > +# opentracing-cpp
> > > +#
> > > +###########################################################
> > #####################
> > > +
> > > +OPENTRACING_CPP_VERSION = v1.2.0
> > > +OPENTRACING_CPP_SITE = $(call github,opentracing,
> > opentracing-cpp,$(OPENTRACING_CPP_VERSION))
> > > +OPENTRACING_CPP_LICENSE = MIT
> > > +OPENTRACING_CPP_LICENSE_FILES = COPYING
> > > +
> > > +OPENTRACING_CPP_INSTALL_STAGING = YES
> > > +
> > > +ifeq ($(BR2_STATIC_LIBS),y)
> > > +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF
> > -DBUILD_STATIC_LIBS=ON
> > > +else ifeq ($(BR2_SHARED_STATIC_LIBS),y)
> > > +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON
> > -DBUILD_STATIC_LIBS=ON
> > > +else ifeq ($(BR2_SHARED_LIBS),y)
> > > +OPENTRACING_CPP_CONF_OPTS += -DBUILD_SHARED_LIBS=ON
> > -DBUILD_STATIC_LIBS=OFF
> > > +endif
> >
> > The -DBUILD_SHARED_LIBS setting should be handled correctly by the
> > Buildroot
> > cmake infrastructure at package/pkg-cmake.mk. Doesn't that work for you?
> >
> > baruch
> >
> > > +
> > > +$(eval $(cmake-package))

-- 
     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] 25+ messages in thread

* [Buildroot] [PATCH v3 1/1] opentracing-cpp: new package
  2018-01-03  9:50               ` Baruch Siach
@ 2018-01-03 10:10                 ` Thomas Petazzoni
  2018-01-03 20:37                   ` Samuel Martin
  0 siblings, 1 reply; 25+ messages in thread
From: Thomas Petazzoni @ 2018-01-03 10:10 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 3 Jan 2018 11:50:32 +0200, Baruch Siach wrote:
> Hi Jan,
> 
> On Wed, Jan 03, 2018 at 10:07:51AM +0100, Jan Heylen wrote:
> > I copied that infra from another package. Thomas also indicated already
> > that there is something already generalised but not fully yet. So he
> > adviced to keep it like this for the time being. If this is not nok, please
> > advice differently.  
> 
> I see that rabbitmq-c is also doing that. I think that the -DBUILD_SHARED_LIBS 
> part is redundant. But the -DBUILD_STATIC_LIBS part might be needed, since the 
> generic code does not handle that.

The generic code in pkg-cmake.mk is indeed not very consistent. It is
strange to pass BUILD_SHARED_LIBS, but not BUILD_STATIC_LIBS.

On the other hand, there doesn't seem to be a real standardization of
such options in the CMake world. I.e it's really up to each individual
package to obey to BUILD_SHARED_LIBS/BUILD_STATIC_LIBS, and many CMake
packages have their own custom options to enable/disable shared/static
library build.

But I guess for the sake of consistency pkg-cmake.mk should also pass
BUILD_STATIC_LIBS, and we should accordingly cleanup the CMake packages
that rely on BUILD_SHARED_LIBS/BUILD_STATIC_LIBS to not pass them
explicitly, and rely on what the pkg-cmake infra is doing.

Best regards,

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

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

* [Buildroot] [PATCH v3 1/1] opentracing-cpp: new package
  2018-01-03 10:10                 ` Thomas Petazzoni
@ 2018-01-03 20:37                   ` Samuel Martin
  2018-01-03 20:44                     ` Thomas Petazzoni
  0 siblings, 1 reply; 25+ messages in thread
From: Samuel Martin @ 2018-01-03 20:37 UTC (permalink / raw)
  To: buildroot

Hi all,

Apologies for being late back in this thread :-/

On Wed, Jan 3, 2018 at 11:10 AM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Wed, 3 Jan 2018 11:50:32 +0200, Baruch Siach wrote:
>> Hi Jan,
>>
>> On Wed, Jan 03, 2018 at 10:07:51AM +0100, Jan Heylen wrote:
>> > I copied that infra from another package. Thomas also indicated already
>> > that there is something already generalised but not fully yet. So he
>> > adviced to keep it like this for the time being. If this is not nok, please
>> > advice differently.
>>
>> I see that rabbitmq-c is also doing that. I think that the -DBUILD_SHARED_LIBS
>> part is redundant. But the -DBUILD_STATIC_LIBS part might be needed, since the
>> generic code does not handle that.
>
> The generic code in pkg-cmake.mk is indeed not very consistent. It is
> strange to pass BUILD_SHARED_LIBS, but not BUILD_STATIC_LIBS.

Well, I think the code in pkg-cmake.mk has been done to stick as close
as possible to what is the default behavior of CMake.
But, it is true its default behavior is not really consistent since
CMake only offers a boolean variable driving the way the libraries are
built (see [1])

>
> On the other hand, there doesn't seem to be a real standardization of
> such options in the CMake world. I.e it's really up to each individual
> package to obey to BUILD_SHARED_LIBS/BUILD_STATIC_LIBS, and many CMake
> packages have their own custom options to enable/disable shared/static
> library build.
>
> But I guess for the sake of consistency pkg-cmake.mk should also pass
> BUILD_STATIC_LIBS, and we should accordingly cleanup the CMake packages
> that rely on BUILD_SHARED_LIBS/BUILD_STATIC_LIBS to not pass them
> explicitly, and rely on what the pkg-cmake infra is doing.

Adding BUILD_STATIC_LIBS will make thing a bit nicer (at least
symetric), though it is not standard in any way, which means some
projects may choose another name for a similar option and there is not
much we can do about this.

BTW, some projects still seems ignoring the existence of the
BUILD_SHARED_LIBS variable since they add a similar option with a
different name.


[1] https://cmake.org/cmake/help/v3.8/manual/cmake-variables.7.html#variables-that-change-behavior

Regards,

-- 
Samuel

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

* [Buildroot] [PATCH v3 1/1] opentracing-cpp: new package
  2018-01-03 20:37                   ` Samuel Martin
@ 2018-01-03 20:44                     ` Thomas Petazzoni
  0 siblings, 0 replies; 25+ messages in thread
From: Thomas Petazzoni @ 2018-01-03 20:44 UTC (permalink / raw)
  To: buildroot

Hello,

On Wed, 3 Jan 2018 21:37:03 +0100, Samuel Martin wrote:

> > On the other hand, there doesn't seem to be a real standardization of
> > such options in the CMake world. I.e it's really up to each individual
> > package to obey to BUILD_SHARED_LIBS/BUILD_STATIC_LIBS, and many CMake
> > packages have their own custom options to enable/disable shared/static
> > library build.
> >
> > But I guess for the sake of consistency pkg-cmake.mk should also pass
> > BUILD_STATIC_LIBS, and we should accordingly cleanup the CMake packages
> > that rely on BUILD_SHARED_LIBS/BUILD_STATIC_LIBS to not pass them
> > explicitly, and rely on what the pkg-cmake infra is doing.  
> 
> Adding BUILD_STATIC_LIBS will make thing a bit nicer (at least
> symetric), though it is not standard in any way, which means some
> projects may choose another name for a similar option and there is not
> much we can do about this.
> 
> BTW, some projects still seems ignoring the existence of the
> BUILD_SHARED_LIBS variable since they add a similar option with a
> different name.
> 
> 
> [1] https://cmake.org/cmake/help/v3.8/manual/cmake-variables.7.html#variables-that-change-behavior

So BUILD_SHARED_LIBS is somewhat standardized by CMake, but not
BUILD_STATIC_LIBS.

If that's the case, then we should not handle BUILD_STATIC_LIBS in
pkg-cmake.mk, contrary to what I said previously. And we should add a
comment explaining this in pkg-cmake.mk.

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

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

end of thread, other threads:[~2018-01-03 20:44 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-12-21  9:41 [Buildroot] Opentracing-cpp package heyleke at gmail.com
2017-12-21  9:41 ` [Buildroot] [PATCH] Opentracing: add opentracing-cpp v1.2.0 package heyleke at gmail.com
2017-12-22 15:00   ` Samuel Martin
2017-12-22 15:20     ` Jan Heylen
2017-12-23  7:40   ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Jan Heylen
2017-12-23  7:40     ` [Buildroot] [PATCH v2 1/2] Opentracing: add opentracing-cpp v1.2.0 package Jan Heylen
2017-12-30 21:46       ` Thomas Petazzoni
2017-12-30 21:49         ` Jan Heylen
2017-12-31  9:23           ` Jan Heylen
2017-12-31 10:46             ` Jan Heylen
2017-12-31 13:23               ` Jan Heylen
2017-12-31 16:10                 ` Thomas Petazzoni
2017-12-31 17:57                   ` Jan Heylen
2018-01-03  8:52       ` [Buildroot] [PATCH v3 0/1] Opentracing-cpp: new package Jan Heylen
2018-01-03  8:52         ` [Buildroot] [PATCH v3 1/1] opentracing-cpp: " Jan Heylen
2018-01-03  9:03           ` Baruch Siach
2018-01-03  9:07             ` Jan Heylen
2018-01-03  9:50               ` Baruch Siach
2018-01-03 10:10                 ` Thomas Petazzoni
2018-01-03 20:37                   ` Samuel Martin
2018-01-03 20:44                     ` Thomas Petazzoni
2017-12-23  7:40     ` [Buildroot] [PATCH v2 2/2] opentracing-cpp: make shared/static target a configurable option Jan Heylen
2017-12-29 17:23       ` Jan Heylen
2017-12-30 21:47       ` Thomas Petazzoni
2017-12-30 21:44     ` [Buildroot] [PATCH v2 0/2] Opentracing-cpp: new package Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox