Gimp/plug-ins/script-fu/libscriptfu/meson.build
lloyd konneker d5a83429b4 ScriptFu: Add script-fu-interpreter akin to other interpreters
Why:
1) users can install .scm scripts to plug-ins dir
2) Crashing scripts do not crash extension-script-fu

Scripts (.scm files) have a shebang and are executable
and in a same-named subdir of plugin dir.

Interpreter/scripts create PDB procs of type PLUGIN unlike extension-script-fu
which creates PDB procs of type TEMPORARY, owned by extension-script-fu.

Unlike other interpreters, the interpreter is-a plugin outright,
not by virtue of the script subclassing GimpPlugin and using GI.

More details in /plug-ins/script-fu/interpreter/README
2022-06-30 13:39:45 +00:00

60 lines
1.6 KiB
Meson

libscriptfuInclude = include_directories('.')
subdir('tinyscheme')
subdir('ftx')
libscriptfu_sources = [
'scheme-wrapper.c',
'scheme-marshal.c',
'script-fu-interface.c',
'script-fu-regex.c',
'script-fu-script.c',
'script-fu-scripts.c',
'script-fu-utils.c',
'script-fu-errors.c',
'script-fu-compat.c',
'script-fu-lib.c',
'script-fu-proc-factory.c',
]
# !! just "library(...)" which means shared versus static depends on configuration of project.
# Meson defaults to shared, but you can reconfigure to static.
# This library is not generally useful except by core GIMP developers.
# Dependencies:
# libscriptfu uses Gtk (which libgimpui_dep references)
# FUTURE: libscriptfu should use libgimpui but not Gtk directly
# libscriptfu does not use sockets (unlike the outer script-fu or script-fu-server)
# link_whole means the entire ftx and tinyscheme static libraries are in
# this library, whether or not they are used (see meson docs.)
# FUTURE: install private to gimp, in 'lib' subdir parallel to 'modules' subdir
# Not doing this because it complicates packaging
# Instead, this library installs in same place as libgimp
# install_dir: gimpplugindir / 'lib',
libscriptfu = library('gimp-scriptfu-'+ gimp_api_version,
libscriptfu_sources,
include_directories: [
rootInclude,
appInclude,
],
c_args: [
'-DG_LOG_DOMAIN="scriptfu"',
'-DSTANDALONE=0',
'-DUSE_INTERFACE=1',
'-DUSE_STRLWR=0',
],
dependencies: [
libgimpui_dep,
math,
],
link_whole: [
scriptfu_tinyscheme,
scriptfu_ftx,
],
vs_module_defs: 'script-fu.def',
version: so_version,
install: true,
)