mirror of https://github.com/GNOME/gimp.git
148 lines
2.5 KiB
Meson
148 lines
2.5 KiB
Meson
pdbgen_backup = false
|
|
pdbgen_groups = false
|
|
|
|
pdb_names = [
|
|
'brush_select',
|
|
'brush',
|
|
'brushes',
|
|
'buffer',
|
|
'channel',
|
|
'context',
|
|
'debug',
|
|
'display',
|
|
'drawable_color',
|
|
'drawable_edit',
|
|
'drawable',
|
|
'dynamics',
|
|
'edit',
|
|
'file',
|
|
'floating_sel',
|
|
'font_select',
|
|
'fonts',
|
|
'gimp',
|
|
'gimprc',
|
|
'gradient_select',
|
|
'gradient',
|
|
'gradients',
|
|
'help',
|
|
'image_color_profile',
|
|
'image_convert',
|
|
'image_grid',
|
|
'image_guides',
|
|
'image_sample_points',
|
|
'image_select',
|
|
'image_transform',
|
|
'image_undo',
|
|
'image',
|
|
'item_transform',
|
|
'item',
|
|
'layer',
|
|
'message',
|
|
'paint_tools',
|
|
'palette_select',
|
|
'palette',
|
|
'palettes',
|
|
'pattern_select',
|
|
'pattern',
|
|
'patterns',
|
|
'pdb',
|
|
'plug_in_compat',
|
|
'plug_in',
|
|
'progress',
|
|
'selection',
|
|
'text_layer',
|
|
'text_tool',
|
|
'unit',
|
|
'vectors',
|
|
]
|
|
|
|
pdb_sources = []
|
|
foreach name : pdb_names
|
|
pdb_sources += files('groups' / name + '.pdb')
|
|
endforeach
|
|
|
|
|
|
enum_headers = [
|
|
gimpbaseenums,
|
|
appconfigenums,
|
|
appoperationsenums,
|
|
appcoreenums,
|
|
apppaintenums,
|
|
]
|
|
|
|
# Perl environment
|
|
perlsrcdir = meson.current_source_dir()
|
|
perlbindir = meson.current_build_dir()
|
|
|
|
perl_env = [
|
|
'PDBGEN_BACKUP=' + (pdbgen_backup ? '1' : '0'),
|
|
'PDBGEN_GROUPS=' + (pdbgen_groups ? '1' : '0'),
|
|
'rootme=' + perlbindir,
|
|
'srcdir=' + perlsrcdir,
|
|
'destdir=' + meson.build_root(),
|
|
'builddir=' + meson.build_root(),
|
|
perl,
|
|
'-I', perlbindir,
|
|
'-I', perlsrcdir,
|
|
]
|
|
|
|
groups_pl_content = '# This file is autogenerated\n'
|
|
groups_pl_content += '@groups = qw(\n'
|
|
foreach source : pdb_names
|
|
groups_pl_content += ' '+ source +'\n'
|
|
endforeach
|
|
groups_pl_content += ');\n'
|
|
|
|
|
|
|
|
# All perl files
|
|
|
|
groups_pl = custom_target('groups.pl',
|
|
input : [ ],
|
|
output: [ 'groups.pl', ],
|
|
command: [ 'echo', groups_pl_content, ],
|
|
capture: true,
|
|
)
|
|
|
|
enums_pl = custom_target('enums.pl',
|
|
input : [ 'enumgen.pl', 'enums-external.pl', enum_headers, ],
|
|
output: [ 'enums.pl', ],
|
|
command: [
|
|
perl_env, '@INPUT0@',
|
|
enum_headers,
|
|
],
|
|
)
|
|
|
|
|
|
## TODO remove that ?
|
|
|
|
pdbgen = custom_target('stamp-pdbgen',
|
|
input : [
|
|
files(
|
|
'pdbgen.pl',
|
|
|
|
'app.pl',
|
|
'lib.pl',
|
|
'pdb.pl',
|
|
'stddefs.pdb',
|
|
'util.pl',
|
|
),
|
|
enums_pl,
|
|
groups_pl,
|
|
pdb_sources,
|
|
],
|
|
output: [ 'stamp-pdbgen', ],
|
|
command: [
|
|
perl_env, '@INPUT0@',
|
|
'app', 'lib',
|
|
],
|
|
)
|
|
|
|
stamp_enumcode = custom_target('stamp-enum-code',
|
|
input : [ 'enumcode.pl', ],
|
|
output: [ 'stamp-enum-code', ],
|
|
command: [
|
|
perl_env, '@INPUT0@',
|
|
],
|
|
)
|