You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/media-libs/rubberband/files/rubberband-3.1.0-build.patch

170 lines
6.4 KiB

diff --git a/meson.build b/meson.build
index c3de854..3dd5637 100644
--- a/meson.build
+++ b/meson.build
@@ -117,25 +117,31 @@ sleef_dep = dependency('sleef', version: '>= 3.3.0', required: false)
sleefdft_dep = dependency('sleefdft', version: '>= 3.3.0', required: false)
samplerate_dep = dependency('samplerate', version: '>= 0.1.8', required: false)
speexdsp_dep = dependency('speexdsp', version: '>= 1.0.0', required: false)
-sndfile_dep = dependency('sndfile', version: '>= 1.0.16', required: false)
-vamp_dep = dependency('vamp-sdk', version: '>= 2.9', required: false)
+if get_option('programs')
+ sndfile_dep = dependency('sndfile', version: '>= 1.0.16', required: true)
+endif
+if get_option('vamp')
+ vamp_dep = dependency('vamp-sdk', version: '>= 2.9', required: true)
+endif
boost_unit_test_dep = dependency('boost', modules: ['unit_test_framework'], version: '>= 1.73', required: false)
thread_dep = dependency('threads')
-have_ladspa = cpp.has_header('ladspa.h', args: extra_include_args)
+if get_option('ladspa')
+ have_ladspa = cpp.has_header('ladspa.h', args: extra_include_args)
+endif
have_lv2 = cpp.has_header('lv2.h', args: extra_include_args)
have_sincos = cpp.has_function('sincos',
prefix: '#define _GNU_SOURCE\n#include <math.h>',
args: '-lm')
-javac = find_program('javac', required: false)
-jar = find_program('jar', required: false)
-
# Look for JNI only if javac and jar are found. This is because the
# auto-JNI-dependency module in Meson 0.62 and 0.63 appears to bail
# out of the build completely if it can't find javac, even when
# required is false
-if javac.found() and jar.found()
+if get_option('jni')
+ javac = find_program('javac', required: true)
+ jar = find_program('jar', required: true)
+
jni_dep = dependency('jni', version: '>= 7.0.0', required: false)
if not jni_dep.found()
if cpp.has_header('jni.h', args: extra_include_args)
@@ -362,37 +368,41 @@ if ipp_needed
endif
endif # ipp_needed
-if not vamp_dep.found()
- vamp_dep = cpp.find_library('VampPluginSDK',
- dirs: get_option('extra_lib_dirs'),
- has_headers: ['vamp-sdk.h'],
- header_args: extra_include_args,
- required: false)
+if get_option('vamp')
if not vamp_dep.found()
- vamp_dep = cpp.find_library('vamp-sdk',
+ vamp_dep = cpp.find_library('VampPluginSDK',
dirs: get_option('extra_lib_dirs'),
has_headers: ['vamp-sdk.h'],
header_args: extra_include_args,
required: false)
+ if not vamp_dep.found()
+ vamp_dep = cpp.find_library('vamp-sdk',
+ dirs: get_option('extra_lib_dirs'),
+ has_headers: ['vamp-sdk.h'],
+ header_args: extra_include_args,
+ required: false)
+ endif
endif
+ have_vamp = true
endif
-have_vamp = vamp_dep.found()
-if not sndfile_dep.found()
- sndfile_dep = cpp.find_library('sndfile',
- dirs: get_option('extra_lib_dirs'),
- has_headers: ['sndfile.h'],
- header_args: extra_include_args,
- required: false)
+if get_option('programs')
if not sndfile_dep.found()
- sndfile_dep = cpp.find_library('sndfile-1',
+ sndfile_dep = cpp.find_library('sndfile',
dirs: get_option('extra_lib_dirs'),
has_headers: ['sndfile.h'],
header_args: extra_include_args,
required: false)
+ if not sndfile_dep.found()
+ sndfile_dep = cpp.find_library('sndfile-1',
+ dirs: get_option('extra_lib_dirs'),
+ has_headers: ['sndfile.h'],
+ header_args: extra_include_args,
+ required: false)
+ endif
endif
+ have_sndfile = true
endif
-have_sndfile = sndfile_dep.found()
have_boost_unit_test = boost_unit_test_dep.found()
@@ -601,7 +611,7 @@ if get_option('default_library') != 'shared' and rubberband_additional_static_li
)
endif
-if jni_dep.found() and javac.found() and jar.found()
+if get_option('jni')
target_summary += { 'JNI library': [ true, 'Name: ' + rubberband_jni_name ] }
message('Will build Java Native Interface')
rubberband_jni = shared_library(
@@ -637,7 +647,7 @@ if jni_dep.found() and javac.found() and jar.found()
)
else
target_summary += { 'JNI library': false }
- if not (javac.found() and jar.found())
+ if not get_option('jni')
message('Not building Java Native Interface: Java compiler or archiver missing')
else
message('Not building Java Native Interface: JNI header not found')
@@ -651,7 +661,7 @@ install_headers(
subdir: 'rubberband'
)
-if have_ladspa
+if get_option('ladspa')
target_summary += { 'LADSPA plugin': [ true, 'Name: ' + rubberband_ladspa_name ] }
message('Will build LADSPA plugin')
rubberband_ladspa = shared_library(
@@ -718,7 +728,7 @@ else
message('Not building LV2 plugin: lv2.h header not found')
endif
-if have_vamp
+if get_option('vamp')
target_summary += { 'Vamp plugin': [ true, 'Name: ' + rubberband_vamp_name ] }
message('Will build Vamp plugin')
rubberband_vamp = shared_library(
@@ -750,7 +760,7 @@ else
message('Not building Vamp plugin: Vamp dependency not found')
endif
-if have_sndfile
+if get_option('programs')
message('Will build command-line utilities')
target_summary += { 'Command-line utility (R2)': [ true, 'Name: ' + rubberband_program_name ] }
rubberband_program = executable(
diff --git a/meson_options.txt b/meson_options.txt
index e44837c..4e4ca29 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -26,3 +26,18 @@ option('extra_lib_dirs',
value: [],
description: 'Additional local library directories to search for dependencies.')
+option('jni',
+ type: 'boolean',
+ value: 'false')
+
+option('ladspa',
+ type: 'boolean',
+ value: 'false')
+
+option('programs',
+ type: 'boolean',
+ value: 'false')
+
+option('vamp',
+ type: 'boolean',
+ value: 'false')