From: Tim Orling <ticotimo@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [meta-multimedia][PATCH v2] libmusicbrainz: workaround for build-native/do_configure
Date: Thu, 27 Feb 2014 08:03:06 -0800 [thread overview]
Message-ID: <1393516986-25391-1-git-send-email-ticotimo@gmail.com> (raw)
From: Tim Orling <TicoTimo@gmail.com>
Changes in v2:
bump PR to r2 rather than drop (doh!)
Signed-off-by: Tim Orling <TicoTimo@gmail.com>
---
.../musicbrainz/libmusicbrainz_git.bb | 50 +++++++++++++++++++++-
1 file changed, 48 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..2928587 100644
--- a/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
+++ b/meta-multimedia/recipes-multimedia/musicbrainz/libmusicbrainz_git.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING.txt;md5=fbc093901857fcd118f065f900982c24"
DEPENDS = "expat neon"
PV = "5.0.1+git${SRCPV}"
-PR = "r1"
+PR = "r2"
SRCREV = "0749dd0a35b4a54316da064475863a4ac6e28e7e"
SRC_URI = "git://github.com/metabrainz/libmusicbrainz.git \
@@ -30,9 +30,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
next reply other threads:[~2014-02-27 16:01 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-27 16:03 Tim Orling [this message]
2014-03-11 14:26 ` [meta-multimedia][PATCH v2] libmusicbrainz: workaround for build-native/do_configure Martin Jansa
2014-03-11 15:11 ` Martin Jansa
2014-03-12 15:01 ` Tim Orling
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1393516986-25391-1-git-send-email-ticotimo@gmail.com \
--to=ticotimo@gmail.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.