meson: add eolian custom dependencies support

This uses the meson/ninja depfile functionality + eolian to make
sure proper dependencies between generated files and .eo files
are managed, to ensure consistent re-generation of all generated
files that are affected upon .eo file modification.

For custom rules with multiple outputs, Ninja currently does not
support depfiles. Therefore, split those into two custom rules
so that the depfiles functionality can be enabled. While this
is ugly and slows down the process a little by having to invoke
Eolian twice instead of once, it has to be done and it's still
better than what we had in Autotools anyway.

Differential revision: D7187

Fixes T6700.
This commit is contained in:
Daniel Kolesa 2018-10-21 15:55:51 +02:00
parent d82deea833
commit 5a3d79d383
23 changed files with 215 additions and 60 deletions

View File

@ -12,15 +12,25 @@ pub_eo_file_target = []
foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
pub_eo_files = [
@ -72,12 +82,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
# special handling, because this is already eo API and legacy API

View File

@ -16,12 +16,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
pub_eo_types_files = []

View File

@ -27,15 +27,25 @@ pub_eo_file_target = []
foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
pub_eo_files = [
@ -85,14 +95,15 @@ endif
foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
@ -106,11 +117,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]

View File

@ -21,12 +21,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : false,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
install_data(pub_eo_files,

View File

@ -24,12 +24,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : false,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
install_data(pub_eo_files,

View File

@ -34,12 +34,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : false,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]
@ -60,11 +62,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : false,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
ector_lib = library('ector',

View File

@ -23,12 +23,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : false,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
install_data(pub_eo_files,

View File

@ -42,15 +42,25 @@ pub_eo_file_target = []
foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
pub_eo_types_files = [
@ -61,11 +71,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
priv_eo_files = [
@ -77,9 +89,11 @@ foreach eo_file : priv_eo_files
priv_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach

View File

@ -18,15 +18,25 @@ pub_eo_file_target = []
foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : join_paths(dir_package_include, 'interfaces'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : true,
install_dir : join_paths(dir_package_include, 'interfaces'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
pub_eo_files = [
@ -99,12 +109,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : join_paths(dir_package_include, 'interfaces'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
pub_eo_types_files = [
@ -119,11 +131,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : join_paths(dir_package_include, 'interfaces'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
pub_eo_files = files(pub_eo_files + pub_legacy_eo_files + pub_eo_types_files)

View File

@ -10,13 +10,15 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(
meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
pub_eo_types_files = []

View File

@ -15,12 +15,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
@ -32,11 +34,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]

View File

@ -117,13 +117,15 @@ foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h',],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchld', '@INPUT@'])
endforeach
@ -277,14 +279,15 @@ pub_eo_files = [
foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h'],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
@ -300,11 +303,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
priv_eo_files = [
@ -323,10 +328,12 @@ foreach eo_file : priv_eo_files
priv_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]

View File

@ -8,15 +8,25 @@ priv_eo_file_target = []
foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]

View File

@ -32,12 +32,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]

View File

@ -14,13 +14,15 @@ foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h',],
depfile : eo_file + '.d',
install : true,
install_dir : join_paths(dir_package_include, 'canvas'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchld', '@INPUT@'])
endforeach
@ -82,14 +84,25 @@ pub_evas_eo_files += files(pub_eo_files)
foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : join_paths(dir_package_include, 'canvas'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : true,
install_dir : join_paths(dir_package_include, 'canvas'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
@ -102,11 +115,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : join_paths(dir_package_include, 'canvas'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
pub_evas_eot_files += files(pub_eo_types_files)

View File

@ -10,14 +10,25 @@ pub_eo_files = [
foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : join_paths(dir_package_include, 'gesture'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : true,
install_dir : join_paths(dir_package_include, 'gesture'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
pub_evas_eo_files += files(pub_eo_files)
@ -30,14 +41,25 @@ pub_eo_files = [
foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : false,
install_dir : join_paths(dir_package_include, 'gesture'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : false,
install_dir : join_paths(dir_package_include, 'gesture'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
pub_eo_types_files = [
@ -50,11 +72,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : join_paths(dir_package_include, 'gesture'),
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
evas_src += files([

View File

@ -9,10 +9,12 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]

View File

@ -26,15 +26,25 @@ pub_legacy_eo_files = [
foreach eo_file : pub_legacy_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h', eo_file + '.legacy.h',],
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
pub_eo_file_target += custom_target('eolian_gen_legacy_' + eo_file,
input : eo_file,
output : [eo_file + '.legacy.h'],
depfile : eo_file + '.legacy.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'),
'-gchl', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.d'),
'-gld', '@INPUT@'])
endforeach
pub_eo_files = [
@ -45,12 +55,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
@ -62,11 +74,13 @@ foreach eo_file : pub_eo_types_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-gh', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-ghd', '@INPUT@'])
endforeach
eolian_include_directories += ['-I', meson.current_source_dir()]

View File

@ -7,12 +7,14 @@ foreach eo_file : pub_eo_files
pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
install : true,
install_dir : dir_package_include,
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach

View File

@ -24,10 +24,12 @@ foreach eo_file : pub_eo_files
engine_src += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
engine_deps = [gl_common]

View File

@ -20,10 +20,12 @@ foreach eo_file : pub_eo_files
engine_src += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
engine_deps = [draw, dl]

View File

@ -8,10 +8,12 @@ foreach eo_file : priv_eo_files
priv_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach

View File

@ -16,10 +16,12 @@ foreach eo_file : priv_eo_files
priv_eo_file_target += custom_target('eolian_gen_' + eo_file,
input : eo_file,
output : [eo_file + '.h'],
depfile : eo_file + '.d',
command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories,
'-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'),
'-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'),
'-gch', '@INPUT@'])
'-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'),
'-gchd', '@INPUT@'])
endforeach
eolian_suite = executable('eolian_suite',