
1 changed files with 118 additions and 0 deletions
@ -0,0 +1,118 @@
@@ -0,0 +1,118 @@
|
||||
project('lv2', ['c'], |
||||
version: '1.18.3', |
||||
license: 'ISC', |
||||
meson_version: '>= 0.49.2', |
||||
default_options: [ |
||||
'b_ndebug=if-release', |
||||
'buildtype=release', |
||||
'c_std=c99', |
||||
'default_library=both', |
||||
'warning_level=2', |
||||
]) |
||||
|
||||
# Load build tools |
||||
pkg = import('pkgconfig') |
||||
cc = meson.get_compiler('c') |
||||
|
||||
if host_machine.system() == 'darwin' |
||||
lv2dir = '/Library/Audio/Plug-Ins/LV2' |
||||
default_lv2_path = [ |
||||
'~/Library/Audio/Plug-Ins/LV2', |
||||
'~/.lv2', |
||||
'/usr/local/lib/lv2', |
||||
'/usr/lib/lv2', |
||||
'/Library/Audio/Plug-Ins/LV2', |
||||
] |
||||
elif host_machine.system() == 'haiku' |
||||
default_lv2_path = [ |
||||
'~/.lv2', |
||||
'/boot/common/add-ons/lv2', |
||||
] |
||||
elif host_machine.system() == 'win32' |
||||
lv2dir = env_path('COMMONPROGRAMFILES', 'LV2') |
||||
default_lv2_path = [ |
||||
'%APPDATA%\\\\LV2', |
||||
'%COMMONPROGRAMFILES%\\\\LV2', |
||||
] |
||||
else |
||||
libdirname = get_option('libdir') |
||||
lv2dir = get_option('prefix') / get_option('libdir') |
||||
default_lv2_path = [ |
||||
'~/.lv2', |
||||
'/usr/@0@/lv2'.format(libdirname), |
||||
'/usr/local/@0@/lv2'.format(libdirname), |
||||
] |
||||
endif |
||||
|
||||
# Map of specification base name to old URI-style include path |
||||
spec_map = { |
||||
'atom': 'lv2/lv2plug.in/ns/ext/atom', |
||||
'buf-size': 'lv2/lv2plug.in/ns/ext/buf-size', |
||||
'core': 'lv2/lv2plug.in/ns/lv2core', |
||||
'data-access': 'lv2/lv2plug.in/ns/ext/data-access', |
||||
'dynmanifest': 'lv2/lv2plug.in/ns/ext/dynmanifest', |
||||
'event': 'lv2/lv2plug.in/ns/ext/event', |
||||
'instance-access': 'lv2/lv2plug.in/ns/ext/instance-access', |
||||
'log': 'lv2/lv2plug.in/ns/ext/log', |
||||
'midi': 'lv2/lv2plug.in/ns/ext/midi', |
||||
'morph': 'lv2/lv2plug.in/ns/ext/morph', |
||||
'options': 'lv2/lv2plug.in/ns/ext/options', |
||||
'parameters': 'lv2/lv2plug.in/ns/ext/parameters', |
||||
'patch': 'lv2/lv2plug.in/ns/ext/patch', |
||||
'port-groups': 'lv2/lv2plug.in/ns/ext/port-groups', |
||||
'port-props': 'lv2/lv2plug.in/ns/ext/port-props', |
||||
'presets': 'lv2/lv2plug.in/ns/ext/presets', |
||||
'resize-port': 'lv2/lv2plug.in/ns/ext/resize-port', |
||||
'state': 'lv2/lv2plug.in/ns/ext/state', |
||||
'time': 'lv2/lv2plug.in/ns/ext/time', |
||||
'ui': 'lv2/lv2plug.in/ns/extensions/ui', |
||||
'units': 'lv2/lv2plug.in/ns/extensions/units', |
||||
'uri-map': 'lv2/lv2plug.in/ns/ext/uri-map', |
||||
'urid': 'lv2/lv2plug.in/ns/ext/urid', |
||||
'worker': 'lv2/lv2plug.in/ns/ext/worker', |
||||
} |
||||
|
||||
pkg.generate( |
||||
name: 'LV2', |
||||
filebase: 'lv2', |
||||
subdirs: ['lv2'], |
||||
version: meson.project_version(), |
||||
description: 'An extensible audio plugin interface') |
||||
|
||||
install_headers('lv2/atom/atom.h', 'lv2/atom/forge.h', 'lv2/atom/util.h', subdir: 'lv2/atom') |
||||
install_headers('lv2/buf-size/buf-size.h', subdir: 'lv2/buf-size') |
||||
install_headers('lv2/core/attributes.h', subdir: 'lv2/core') |
||||
install_headers('lv2/core/lv2.h', subdir: 'lv2/core') |
||||
install_headers('lv2/data-access/data-access.h', subdir: 'lv2/data-access') |
||||
install_headers('lv2/dynmanifest/dynmanifest.h', subdir: 'lv2/dynmanifest') |
||||
install_headers('lv2/event/event-helpers.h', subdir: 'lv2/event') |
||||
install_headers('lv2/event/event.h', subdir: 'lv2/event') |
||||
install_headers('lv2/instance-access/instance-access.h', subdir: 'lv2/instance-access') |
||||
install_headers('lv2/log/log.h', 'lv2/log/logger.h', subdir: 'lv2/log') |
||||
install_headers('lv2/midi/midi.h', subdir: 'lv2/midi') |
||||
install_headers('lv2/morph/morph.h', subdir: 'lv2/morph/morph') |
||||
install_headers('lv2/options/options.h', subdir: 'lv2/options') |
||||
install_headers('lv2/parameters/parameters.h', subdir: 'lv2/parameters') |
||||
install_headers('lv2/patch/patch.h', subdir: 'lv2/patch') |
||||
install_headers('lv2/port-groups/port-groups.h', subdir: 'lv2/port-groups') |
||||
install_headers('lv2/port-props/port-props.h', subdir: 'lv2/port-props') |
||||
install_headers('lv2/presets/presets.h', subdir: 'lv2/presets') |
||||
install_headers('lv2/resize-port/resize-port.h', subdir: 'lv2/resize-port') |
||||
install_headers('lv2/state/state.h', subdir: 'lv2/state') |
||||
install_headers('lv2/time/time.h', subdir: 'lv2/time') |
||||
install_headers('lv2/ui/ui.h', subdir: 'lv2/ui') |
||||
install_headers('lv2/units/units.h', subdir: 'lv2/units') |
||||
install_headers('lv2/uri-map/uri-map.h', subdir: 'lv2/uri-map') |
||||
install_headers('lv2/urid/urid.h', subdir: 'lv2/urid') |
||||
install_headers('lv2/worker/worker.h', subdir: 'lv2/worker') |
||||
|
||||
lv2_dep = declare_dependency( |
||||
include_directories: include_directories('.'), |
||||
version: meson.project_version()) |
||||
|
||||
# plugins/eg-fifths.lv2/uris.h |
||||
# plugins/eg-params.lv2/state_map.h |
||||
# plugins/eg-sampler.lv2/atom_sink.h |
||||
# plugins/eg-sampler.lv2/peaks.h |
||||
# plugins/eg-sampler.lv2/uris.h |
||||
# plugins/eg-scope.lv2/uris.h |
Loading…
Reference in new issue