buildroot/package/taglib/0001-fix-taglib-config-file-for-cross-compiling-906.patch
Jörg Krause ad29cd6224 package/taglib: add upstream patch to fix taglib-config
The current taglib-config program does not work when cross-compiling as it only
returns paths to the host, which breaks building programs which link against
taglib.

For example gerbera uses `taglib-config` and it fails with:

```
[..]
-- Found TagLib: -L/usr/lib -ltag
[..]
arm-linux-gnueabihf-g++: ERROR: unsafe header/library path used in cross-compilation: '-L/usr/lib'
```

Before the patch the output of `taglib-config` is:
```
$ ./output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/bin/taglib-config --libs
-L/usr/lib -ltag
```

Add a patch from upstream which fixes taglib-config.

After applying the fix, the pkg-config file is correct:
```
$ ./output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/bin/taglib-config --libs
-L/home/joerg/Development/git/buildroot/output/host/arm-buildroot-linux-gnueabihf/sysroot/usr/lib -ltag
```

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2019-06-10 23:57:58 +02:00

67 lines
2.1 KiB
Diff

From 7470f92a67375d00e53b3785a88fa7b26ad6f1da Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?J=C3=B6rg=20Krause?= <joerg.krause@embedded.rocks>
Date: Fri, 17 May 2019 13:13:35 +0200
Subject: [PATCH] fix taglib-config file for cross compiling (#906)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The current taglib-config program does not work for cross-compiling as it only
returns the paths to the host, which breaks building programs which uses
`taglib-config` to link against taglib.
Fix this by passing sysroot to the `prefix` and `exec_prefix` fields.
Backported from: 7470f92a67375d00e53b3785a88fa7b26ad6f1da
Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
---
CMakeLists.txt | 2 +-
taglib-config.cmake | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2de06324..1a0302c4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -105,7 +105,7 @@ math(EXPR TAGLIB_SOVERSION_PATCH "${TAGLIB_SOVERSION_REVISION}")
include(ConfigureChecks.cmake)
if(NOT WIN32)
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib-config")
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/taglib-config.cmake" "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" @ONLY)
install(PROGRAMS "${CMAKE_CURRENT_BINARY_DIR}/taglib-config" DESTINATION "${BIN_INSTALL_DIR}")
endif()
diff --git a/taglib-config.cmake b/taglib-config.cmake
index 2bc2811a..96ef6883 100644
--- a/taglib-config.cmake
+++ b/taglib-config.cmake
@@ -14,10 +14,10 @@ EOH
exit 1;
}
-prefix=${CMAKE_INSTALL_PREFIX}
-exec_prefix=${CMAKE_INSTALL_PREFIX}
-libdir=${LIB_INSTALL_DIR}
-includedir=${INCLUDE_INSTALL_DIR}
+prefix=@CMAKE_SYSROOT@@CMAKE_INSTALL_PREFIX@
+exec_prefix=@CMAKE_SYSROOT@@CMAKE_INSTALL_PREFIX@
+libdir=${exec_prefix}/lib
+includedir=${prefix}/include
flags=""
@@ -35,7 +35,7 @@ do
flags="$flags -I$includedir/taglib"
;;
--version)
- echo ${TAGLIB_LIB_VERSION_STRING}
+ echo @TAGLIB_LIB_VERSION_STRING@
;;
--prefix)
echo $prefix
--
2.22.0