diff options
Diffstat (limited to 'meta-openembedded/meta-multimedia/classes/juce.bbclass')
-rw-r--r-- | meta-openembedded/meta-multimedia/classes/juce.bbclass | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/meta-openembedded/meta-multimedia/classes/juce.bbclass b/meta-openembedded/meta-multimedia/classes/juce.bbclass new file mode 100644 index 0000000000..3927235ef1 --- /dev/null +++ b/meta-openembedded/meta-multimedia/classes/juce.bbclass @@ -0,0 +1,47 @@ +inherit pkgconfig + +# List of JUCE modules that requires external dependencies +JUCE_MODULES ??= " \ + juce_core \ + ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'juce_audio_devices', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'juce_graphics juce_gui_basics', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'juce_opengl', '', d)} \ +" +JUCE_X11_DEPS = "libx11 libxext libxinerama libxrandr libxcursor" + +PACKAGECONFIG_prepend= "${JUCE_MODULES} " +PACKAGECONFIG[juce_core] = ",,curl," +PACKAGECONFIG[juce_audio_devices] = ",,alsa-lib," +PACKAGECONFIG[juce_graphics] = ",,${JUCE_X11_DEPS} freetype," +PACKAGECONFIG[juce_gui_basics] = ",,${JUCE_X11_DEPS}," +PACKAGECONFIG[juce_opengl] = ",,virtual/libgl," + +DEPENDS_prepend = "projucer-native " + +export OE_JUCE_PROJUCER = "${STAGING_BINDIR_NATIVE}/Projucer" + +juce_do_configure() { + if [ -z "${JUCE_JUCERS}" ]; then + JUCERS=`find . -type f -iname "*.jucer"` && IFS=$'\n' + else + JUCERS="${JUCE_JUCERS}" + fi + + if [ -z "$JUCERS" ]; then + die "JUCE_JUCERS not set and no profiles found in $PWD" + fi + + # XXX: Hack for Projucer, since it requires a X Display even when running in + # console mode. This will be fixed in future. Most cases DISPLAY=:0 will just work, + # the only case why we have JUCE_DISPLAY variable, is in case of a build system, + # such as jenkins, that can have multiple virtual X server running for each build. + test -z "${JUCE_DISPLAY}" && export DISPLAY=:0 || export DISPLAY=${JUCE_DISPLAY} + + for i in $JUCERS; do + ${OE_JUCE_PROJUCER} --resave $i + done +} + +EXPORT_FUNCTIONS do_configure + +addtask configure after do_unpack do_patch before do_compile |