--- /dev/null
+config BR2_PACKAGE_FLUIDSYNTH
+ bool "fluidsynth"
+ depends on BR2_USE_WCHAR # libglib2
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2
+ depends on BR2_USE_MMU # libglib2
+ select BR2_PACKAGE_LIBGLIB2
+ help
+ FluidSynth is a real-time software synthesizer based on the
+ SoundFont 2 specifications and has reached widespread
+ distribution. FluidSynth itself does not have a graphical
+ user interface, but due to its powerful API several
+ applications utilize it and it has even found its way onto
+ embedded systems and is used in some mobile apps.
+
+ http://www.fluidsynth.org/
+
+if BR2_PACKAGE_FLUIDSYNTH
+
+comment "Output support"
+
+config BR2_PACKAGE_FLUIDSYNTH_ALSA_LIB
+ bool "alsa"
+ default y
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_ALSA_LIB
+ help
+ Enable alsa support.
+
+comment "alsa support needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_FLUIDSYNTH_JACK2
+ bool "jack2"
+ # See: https://sourceware.org/bugzilla/show_bug.cgi?id=19908
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
+ depends on BR2_TOOLCHAIN_HAS_THREADS # jack2
+ depends on BR2_USE_MMU # jack2
+ depends on BR2_INSTALL_LIBSTDCPP # jack2
+ depends on !BR2_STATIC_LIBS # jack2
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4 # jack2
+ select BR2_PACKAGE_JACK2
+ help
+ Enable jack support.
+
+comment "jack support needs a toolchain w/ dynamic library, threads, C++"
+ depends on BR2_TOOLCHAIN_HAS_SYNC_4
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
+ depends on BR2_STATIC_LIBS || !BR2_INSTALL_LIBSTDCPP || \
+ !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_FLUIDSYNTH_LIBSNDFILE
+ bool "libsndfile"
+ select BR2_PACKAGE_LIBSNDFILE
+ help
+ Enable libsndfile support, for writing output to WAV files.
+
+config BR2_PACKAGE_FLUIDSYNTH_PORTAUDIO
+ bool "portaudio"
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ select BR2_PACKAGE_PORTAUDIO
+ help
+ Enable portaudio support.
+
+comment "portaudio support needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO
+ bool "pulseaudio"
+ # See: https://sourceware.org/bugzilla/show_bug.cgi?id=19908
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
+ depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC # pulseaudio
+ depends on BR2_USE_WCHAR # pulseaudio
+ depends on BR2_TOOLCHAIN_HAS_THREADS # pulseaudio
+ depends on !BR2_STATIC_LIBS # pulseaudio
+ depends on BR2_USE_MMU # pulseaudio
+ select BR2_PACKAGE_PULSEAUDIO
+ help
+ Enable PulseAudio support.
+
+comment "pulseaudio support needs a toolchain w/ dynamic library, wchar, threads"
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS
+ depends on BR2_PACKAGE_PULSEAUDIO_HAS_ATOMIC
+ depends on BR2_STATIC_LIBS || !BR2_USE_MMU || !BR2_TOOLCHAIN_HAS_THREADS
+
+comment "Misc options"
+
+config BR2_PACKAGE_FLUIDSYNTH_DBUS
+ bool "dbus"
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on BR2_USE_MMU
+ select BR2_PACKAGE_DBUS
+ help
+ Enable dbus support.
+
+comment "dbus support needs a toolchain w/ threads"
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_FLUIDSYNTH_FLOATS
+ bool "32-bit single precision float"
+ help
+ Enable 32-bit single precision float support, instead of
+ 64-bit double precision floats for DSP samples.
+
+config BR2_PACKAGE_FLUIDSYNTH_READLINE
+ bool "readline"
+ select BR2_PACKAGE_READLINE
+ help
+ Enable readline support, for better line editing in FluidSynth
+ shell.
+
+endif # BR2_PACKAGE_FLUIDSYNTH
+
+comment "fluidsynth needs a toolchain w/ threads, wchar"
+ depends on BR2_USE_MMU
+ depends on !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
--- /dev/null
+################################################################################
+#
+# fluidsynth
+#
+################################################################################
+
+FLUIDSYNTH_VERSION = 2.1.0
+FLUIDSYNTH_SITE = $(call github,FluidSynth,fluidsynth,v$(FLUIDSYNTH_VERSION))
+FLUIDSYNTH_LICENSE = LGPL-2.1+
+FLUIDSYNTH_LICENSE_FILES = LICENSE
+FLUIDSYNTH_DEPENDENCIES = libglib2
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH_ALSA_LIB),y)
+FLUIDSYNTH_CONF_OPTS += -Denable-alsa=1
+FLUIDSYNTH_DEPENDENCIES += alsa-lib
+else
+FLUIDSYNTH_CONF_OPTS += -Denable-alsa=0
+endif
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH_DBUS),y)
+FLUIDSYNTH_CONF_OPTS += -Denable-dbus=1
+FLUIDSYNTH_DEPENDENCIES += dbus
+else
+FLUIDSYNTH_CONF_OPTS += -Denable-dbus=0
+endif
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH_FLOATS),y)
+FLUIDSYNTH_CONF_OPTS += -Denable-floats=1
+else
+FLUIDSYNTH_CONF_OPTS += -Denable-floats=0
+endif
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH_JACK2),y)
+FLUIDSYNTH_CONF_OPTS += -Denable-jack=1
+FLUIDSYNTH_DEPENDENCIES += jack2
+else
+FLUIDSYNTH_CONF_OPTS += -Denable-jack=0
+endif
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH_LIBSNDFILE),y)
+FLUIDSYNTH_CONF_OPTS += -Denable-libsndfile=1
+FLUIDSYNTH_DEPENDENCIES += libsndfile
+else
+FLUIDSYNTH_CONF_OPTS += -Denable-libsndfile=0
+endif
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH_PORTAUDIO),y)
+FLUIDSYNTH_CONF_OPTS += -Denable-portaudio=1
+FLUIDSYNTH_DEPENDENCIES += portaudio
+else
+FLUIDSYNTH_CONF_OPTS += -Denable-portaudio=0
+endif
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH_PULSEAUDIO),y)
+FLUIDSYNTH_CONF_OPTS += -Denable-pulseaudio=1
+FLUIDSYNTH_DEPENDENCIES += pulseaudio
+else
+FLUIDSYNTH_CONF_OPTS += -Denable-pulseaudio=0
+endif
+
+ifeq ($(BR2_PACKAGE_FLUIDSYNTH_READLINE),y)
+FLUIDSYNTH_CONF_OPTS += -Denable-readline=1
+FLUIDSYNTH_DEPENDENCIES += readline
+else
+FLUIDSYNTH_CONF_OPTS += -Denable-readline=0
+endif
+
+$(eval $(cmake-package))