[oe] [meta-multimedia][PATCH] libmusicbrainz: workaround for build-native/do_configure
Tim Orling
ticotimo at gmail.com
Thu Feb 27 07:14:31 UTC 2014
From: Tim Orling <TicoTimo at gmail.com>
* drop PR
* default cmake_do_configure deletes build/ which wipes out build-native
* workaround to stash build-native first
* <ugly>hack</ugly>
Signed-off-by: Tim Orling <TicoTimo at gmail.com>
---
.../musicbrainz/libmusicbrainz_git.bb | 49 +++++++++++++++++++++-
1 file changed, 47 insertions(+), 2 deletions(-)
diff --git a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
index f6a8f53..b4d1ad3 100644
--- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
+++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -6,7 +6,6 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
DEPENDS = "expat neon"
PV = "5.0.1+git${SRCPV}"
-PR = "r1"
SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e"
SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \
@@ -30,9 +29,55 @@ do_configure_prepend() {
-DCMAKE_C_COMPILER=${BUILD_CC} \
-DCMAKE_CXX_FLAGS=${BUILD_CXXFLAGS} \
-DCMAKE_CXX_COMPILER=${BUILD_CXX} \
- ..
+ ${S}
make make-c-interface
cd ..
+
+ # the first thing cmake_do_configure does is delete ${B}
+ # stash it first
+ cp -r build-native ..
+}
+
+# recreate default here, with work around for build-native
+cmake_do_configure() {
+ if [ "${OECMAKE_BUILDPATH}" -o "${OECMAKE_SOURCEPATH}" ]; then
+ bbnote "cmake.bbclass no longer uses OECMAKE_SOURCEPATH and OECMAKE_BUILDPATH. The default behaviour is now out-of-tree builds with B=WORKDIR/build."
+ fi
+
+ if [ "${S}" != "${B}" ]; then
+ rm -rf ${B}
+ mkdir -p ${B}
+ cd ${B}
+ fi
+
+ # bring build-native back into build/
+ mv ../build-native .
+
+ # Just like autotools cmake can use a site file to cache result that need generated binaries to run
+ if [ -e ${WORKDIR}/site-file.cmake ] ; then
+ OECMAKE_SITEFILE=" -C ${WORKDIR}/site-file.cmake"
+ else
+ OECMAKE_SITEFILE=""
+ fi
+
+ cmake \
+ ${OECMAKE_SITEFILE} \
+ ${S} \
+ -DCMAKE_INSTALL_PREFIX:PATH=${prefix} \
+ -DCMAKE_INSTALL_BINDIR:PATH=${bindir} \
+ -DCMAKE_INSTALL_SBINDIR:PATH=${sbindir} \
+ -DCMAKE_INSTALL_LIBEXECDIR:PATH=${libexecdir} \
+ -DCMAKE_INSTALL_SYSCONFDIR:PATH=${sysconfdir} \
+ -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=${sharedstatedir} \
+ -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=${localstatedir} \
+ -DCMAKE_INSTALL_LIBDIR:PATH=${libdir} \
+ -DCMAKE_INSTALL_INCLUDEDIR:PATH=${includedir} \
+ -DCMAKE_INSTALL_DATAROOTDIR:PATH=${datadir} \
+ -DCMAKE_INSTALL_SO_NO_EXE=0 \
+ -DCMAKE_TOOLCHAIN_FILE=${WORKDIR}/toolchain.cmake \
+ -DCMAKE_VERBOSE_MAKEFILE=1 \
+ ${EXTRA_OECMAKE} \
+ -Wno-dev
}
EXTRA_OECMAKE = "-DLIB_INSTALL_DIR:PATH=${libdir} \
--
1.8.3.2
More information about the Openembedded-devel
mailing list