[2/5] taglib: Update to 1.11.1

Message ID 20161116174748.26994-2-raj.khem@gmail.com
State New
Headers show

Commit Message

Khem Raj Nov. 16, 2016, 5:47 p.m.
Add depenedency on boost

Fixes

| CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
| Please set them or make sure they are set and tested correctly in the CMake files:
| Boost_INCLUDE_DIR (ADVANCED)

Enable c++11 in cmake as well as in CXXFLAGS

CXXFLAGS is required due to a cmake bug where
it does not honor CMAKE_CXX_FLAGS during configure
time checks

Signed-off-by: Khem Raj <raj.khem@gmail.com>

---
 .../taglib/{taglib_1.11.bb => taglib_1.11.1.bb}           | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)
 rename meta/recipes-support/taglib/{taglib_1.11.bb => taglib_1.11.1.bb} (71%)

-- 
2.10.2

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Comments

Ross Burton Nov. 21, 2016, 5:57 p.m. | #1
On 16 November 2016 at 17:47, Khem Raj <raj.khem@gmail.com> wrote:

> -DEPENDS = "zlib"

> +DEPENDS = "zlib boost"

>


This appears to be an optional dependency and pulls in all of boost for a
byte swapping macro, which whilst I appreciate is in the spirit of C++
isn't great considering GCC has its own macros that it also checks for.

Can we just fix the tests so they don't error if boost isn't present and
force it to off?

Ross
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Khem Raj Nov. 22, 2016, 3:46 a.m. | #2
On 11/21/16 9:57 AM, Burton, Ross wrote:
> On 16 November 2016 at 17:47, Khem Raj <raj.khem@gmail.com

> <mailto:raj.khem@gmail.com>> wrote:

> 

>     -DEPENDS = "zlib"

>     +DEPENDS = "zlib boost"

> 

> 

> This appears to be an optional dependency and pulls in all of boost for a byte

> swapping macro, which whilst I appreciate is in the spirit of C++ isn't great

> considering GCC has its own macros that it also checks for.

> 

> Can we just fix the tests so they don't error if boost isn't present and force

> it to off?


its a build time dependency. Do we have a usecase/images where taglib is used
and boost is just pulled into build because of taglib ?

> 

> Ross
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Ross Burton Nov. 22, 2016, 10:44 a.m. | #3
On 22 November 2016 at 03:46, Khem Raj <raj.khem@gmail.com> wrote:

> its a build time dependency. Do we have a usecase/images where taglib is

> used

> and boost is just pulled into build because of taglib ?

>


No but I've an example where boost doesnt build at all and this breaks
core-image-sato (IA x32)...

Building all of boost just for a macro seems rather unfortunate.

Ross
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Ross Burton Nov. 22, 2016, 11:20 a.m. | #4
On 22 November 2016 at 10:44, Burton, Ross <ross.burton@intel.com> wrote:

> No but I've an example where boost doesnt build at all and this breaks

> core-image-sato (IA x32)...

>

> Building all of boost just for a macro seems rather unfortunate.

>


Found the magic -D options to convince taglib that boost definitely isn't
present and verified that it does the same thing with and without boost in
the sysroot so I just sent a v2.

Ross
-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core
Khem Raj Nov. 22, 2016, 4:34 p.m. | #5
HAVE_BOOST_BYTESWAP is infact the right fix if we want to disable
boost byteswap. It will then fall back to finding them in compiler
which should be ok for OE since we have new enough compiler. Thanks
for helping out here.

On Tue, Nov 22, 2016 at 3:20 AM, Burton, Ross <ross.burton@intel.com> wrote:
>

> On 22 November 2016 at 10:44, Burton, Ross <ross.burton@intel.com> wrote:

>>

>> No but I've an example where boost doesnt build at all and this breaks

>> core-image-sato (IA x32)...

>>

>> Building all of boost just for a macro seems rather unfortunate.

>

>

> Found the magic -D options to convince taglib that boost definitely isn't

> present and verified that it does the same thing with and without boost in

> the sysroot so I just sent a v2.

>

> Ross

>

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Patch

diff --git a/meta/recipes-support/taglib/taglib_1.11.bb b/meta/recipes-support/taglib/taglib_1.11.1.bb
similarity index 71%
rename from meta/recipes-support/taglib/taglib_1.11.bb
rename to meta/recipes-support/taglib/taglib_1.11.1.bb
index c29bda9..408d084 100644
--- a/meta/recipes-support/taglib/taglib_1.11.bb
+++ b/meta/recipes-support/taglib/taglib_1.11.1.bb
@@ -6,11 +6,11 @@  LIC_FILES_CHKSUM = "file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c \
                     file://COPYING.MPL;md5=bfe1f75d606912a4111c90743d6c7325 \
                     file://taglib/audioproperties.h;beginline=1;endline=24;md5=9df2c7399519b7310568a7c55042ecee"
 
-DEPENDS = "zlib"
+DEPENDS = "zlib boost"
 
 SRC_URI = "http://taglib.github.io/releases/${BP}.tar.gz"
-SRC_URI[md5sum] = "be39fa2054df40664cb557126ad7cf7c"
-SRC_URI[sha256sum] = "ed4cabb3d970ff9a30b2620071c2b054c4347f44fc63546dbe06f97980ece288"
+SRC_URI[md5sum] = "cee7be0ccfc892fa433d6c837df9522a"
+SRC_URI[sha256sum] = "b6d1a5a610aae6ff39d93de5efd0fdc787aa9e9dc1e7026fa4c961b26563526b"
 
 UPSTREAM_CHECK_URI = "http://github.com/taglib/taglib/releases/"
 
@@ -21,13 +21,16 @@  inherit cmake pkgconfig binconfig-disabled
 PACKAGES =+ "${PN}-c"
 FILES_${PN}-c = "${libdir}/libtag_c.so.*"
 
-EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON -DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')}"
+EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
+                 -DCMAKE_CXX_STANDARD=11 \
+                 -DCMAKE_CXX_STANDARD_REQUIRED=OFF \
+                 -DLIB_SUFFIX=${@d.getVar('baselib', True).replace('lib', '')} \
+"
+CXXFLAGS += "-std=c++11"
 
 do_configure_prepend () {
 	rm -f ${S}/admin/ltmain.sh
 	rm -f ${S}/admin/libtool.m4.in
-	# Don't have a floating dependeny on boost
-	sed -i -e "s/atomic.hpp/atomic-not-exist.hpp/" ${S}/ConfigureChecks.cmake ${S}/taglib/toolkit/trefcounter.cpp
 }
 
 # without -fPIC depending packages failed with many error like: