1*4882a593Smuzhiyuninherit pkgconfig 2*4882a593Smuzhiyun 3*4882a593Smuzhiyun# List of JUCE modules that requires external dependencies 4*4882a593SmuzhiyunJUCE_MODULES ??= " \ 5*4882a593Smuzhiyun juce_core \ 6*4882a593Smuzhiyun ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'juce_audio_devices', '', d)} \ 7*4882a593Smuzhiyun ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'juce_graphics juce_gui_basics', '', d)} \ 8*4882a593Smuzhiyun ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'juce_opengl', '', d)} \ 9*4882a593Smuzhiyun" 10*4882a593SmuzhiyunJUCE_X11_DEPS = "libx11 libxext libxinerama libxrandr libxcursor" 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunPACKAGECONFIG:prepend= "${JUCE_MODULES} " 13*4882a593SmuzhiyunPACKAGECONFIG[juce_core] = ",,curl," 14*4882a593SmuzhiyunPACKAGECONFIG[juce_audio_devices] = ",,alsa-lib," 15*4882a593SmuzhiyunPACKAGECONFIG[juce_graphics] = ",,${JUCE_X11_DEPS} freetype," 16*4882a593SmuzhiyunPACKAGECONFIG[juce_gui_basics] = ",,${JUCE_X11_DEPS}," 17*4882a593SmuzhiyunPACKAGECONFIG[juce_opengl] = ",,virtual/libgl," 18*4882a593Smuzhiyun 19*4882a593SmuzhiyunDEPENDS:prepend = "projucer-native " 20*4882a593Smuzhiyun 21*4882a593Smuzhiyunexport OE_JUCE_PROJUCER = "${STAGING_BINDIR_NATIVE}/Projucer" 22*4882a593Smuzhiyun 23*4882a593Smuzhiyunjuce_do_configure() { 24*4882a593Smuzhiyun if [ -z "${JUCE_JUCERS}" ]; then 25*4882a593Smuzhiyun JUCERS=`find . -type f -iname "*.jucer"` && IFS=$'\n' 26*4882a593Smuzhiyun else 27*4882a593Smuzhiyun JUCERS="${JUCE_JUCERS}" 28*4882a593Smuzhiyun fi 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun if [ -z "$JUCERS" ]; then 31*4882a593Smuzhiyun die "JUCE_JUCERS not set and no profiles found in $PWD" 32*4882a593Smuzhiyun fi 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun # XXX: Hack for Projucer, since it requires a X Display even when running in 35*4882a593Smuzhiyun # console mode. This will be fixed in future. Most cases DISPLAY=:0 will just work, 36*4882a593Smuzhiyun # the only case why we have JUCE_DISPLAY variable, is in case of a build system, 37*4882a593Smuzhiyun # such as jenkins, that can have multiple virtual X server running for each build. 38*4882a593Smuzhiyun test -z "${JUCE_DISPLAY}" && export DISPLAY=:0 || export DISPLAY=${JUCE_DISPLAY} 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun for i in $JUCERS; do 41*4882a593Smuzhiyun ${OE_JUCE_PROJUCER} --resave $i 42*4882a593Smuzhiyun done 43*4882a593Smuzhiyun} 44*4882a593Smuzhiyun 45*4882a593SmuzhiyunEXPORT_FUNCTIONS do_configure 46*4882a593Smuzhiyun 47*4882a593Smuzhiyunaddtask configure after do_unpack do_patch before do_compile 48