q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5a3d79d3833a85675a26875594b5b07a99d79365
commit 5a3d79d3833a85675a26875594b5b07a99d79365 Author: Daniel Kolesa <[email protected]> Date: Sun Oct 21 15:55:51 2018 +0200 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. --- src/lib/ecore/meson.build | 20 ++++++++++--- src/lib/ecore_audio/meson.build | 4 ++- src/lib/ecore_con/meson.build | 27 ++++++++++++----- src/lib/ector/cairo/meson.build | 4 ++- src/lib/ector/gl/meson.build | 4 ++- src/lib/ector/meson.build | 8 +++-- src/lib/ector/software/meson.build | 4 ++- src/lib/edje/meson.build | 24 +++++++++++---- src/lib/efl/interfaces/meson.build | 24 +++++++++++---- src/lib/eio/meson.build | 4 ++- src/lib/eldbus/meson.build | 8 +++-- src/lib/elementary/meson.build | 19 ++++++++---- src/lib/emotion/meson.build | 16 ++++++++-- src/lib/eo/meson.build | 4 ++- src/lib/evas/canvas/meson.build | 23 ++++++++++++--- src/lib/evas/gesture/meson.build | 34 ++++++++++++++++++---- src/lib/evas/include/meson.build | 4 ++- src/lib/evas/meson.build | 24 +++++++++++---- src/modules/elementary/web/none/meson.build | 4 ++- src/modules/evas/engines/gl_generic/meson.build | 4 ++- .../evas/engines/software_generic/meson.build | 4 ++- src/tests/elementary/meson.build | 4 ++- src/tests/eolian/meson.build | 4 ++- 23 files changed, 215 insertions(+), 60 deletions(-) diff --git a/src/lib/ecore/meson.build b/src/lib/ecore/meson.build index 732856dd23..dbb511e2bf 100644 --- a/src/lib/ecore/meson.build +++ b/src/lib/ecore/meson.build @@ -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 diff --git a/src/lib/ecore_audio/meson.build b/src/lib/ecore_audio/meson.build index 099f8454db..6fdd5a30b4 100644 --- a/src/lib/ecore_audio/meson.build +++ b/src/lib/ecore_audio/meson.build @@ -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 = [] diff --git a/src/lib/ecore_con/meson.build b/src/lib/ecore_con/meson.build index b8b5a36b2a..f945ccd0d4 100644 --- a/src/lib/ecore_con/meson.build +++ b/src/lib/ecore_con/meson.build @@ -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()] diff --git a/src/lib/ector/cairo/meson.build b/src/lib/ector/cairo/meson.build index 2b45ce2b87..e9ebc60708 100644 --- a/src/lib/ector/cairo/meson.build +++ b/src/lib/ector/cairo/meson.build @@ -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, diff --git a/src/lib/ector/gl/meson.build b/src/lib/ector/gl/meson.build index dad958c0fc..11bb8cfc6a 100644 --- a/src/lib/ector/gl/meson.build +++ b/src/lib/ector/gl/meson.build @@ -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, diff --git a/src/lib/ector/meson.build b/src/lib/ector/meson.build index be3c6a5f62..58e4f96d53 100644 --- a/src/lib/ector/meson.build +++ b/src/lib/ector/meson.build @@ -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', diff --git a/src/lib/ector/software/meson.build b/src/lib/ector/software/meson.build index ceb08ef3f2..5e5dc599d7 100644 --- a/src/lib/ector/software/meson.build +++ b/src/lib/ector/software/meson.build @@ -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, diff --git a/src/lib/edje/meson.build b/src/lib/edje/meson.build index bcfcd9b569..bd2374637b 100644 --- a/src/lib/edje/meson.build +++ b/src/lib/edje/meson.build @@ -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 diff --git a/src/lib/efl/interfaces/meson.build b/src/lib/efl/interfaces/meson.build index 8d29c404a8..cb39cff2e5 100644 --- a/src/lib/efl/interfaces/meson.build +++ b/src/lib/efl/interfaces/meson.build @@ -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) diff --git a/src/lib/eio/meson.build b/src/lib/eio/meson.build index fd6902f38b..c3410d752e 100644 --- a/src/lib/eio/meson.build +++ b/src/lib/eio/meson.build @@ -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 = [] diff --git a/src/lib/eldbus/meson.build b/src/lib/eldbus/meson.build index 57f2981c4a..fcb452c8a3 100644 --- a/src/lib/eldbus/meson.build +++ b/src/lib/eldbus/meson.build @@ -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()] diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build index 16ea518792..31bc4fede2 100644 --- a/src/lib/elementary/meson.build +++ b/src/lib/elementary/meson.build @@ -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()] diff --git a/src/lib/emotion/meson.build b/src/lib/emotion/meson.build index 56fda43cb9..1caea9dcee 100644 --- a/src/lib/emotion/meson.build +++ b/src/lib/emotion/meson.build @@ -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()] diff --git a/src/lib/eo/meson.build b/src/lib/eo/meson.build index 5789c95f4c..34f60aac76 100644 --- a/src/lib/eo/meson.build +++ b/src/lib/eo/meson.build @@ -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()] diff --git a/src/lib/evas/canvas/meson.build b/src/lib/evas/canvas/meson.build index 47db33de4b..982d8f3af1 100644 --- a/src/lib/evas/canvas/meson.build +++ b/src/lib/evas/canvas/meson.build @@ -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) diff --git a/src/lib/evas/gesture/meson.build b/src/lib/evas/gesture/meson.build index 62d9b27599..a6289264eb 100644 --- a/src/lib/evas/gesture/meson.build +++ b/src/lib/evas/gesture/meson.build @@ -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([ diff --git a/src/lib/evas/include/meson.build b/src/lib/evas/include/meson.build index aaeeb9ba66..a833f67b40 100644 --- a/src/lib/evas/include/meson.build +++ b/src/lib/evas/include/meson.build @@ -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()] diff --git a/src/lib/evas/meson.build b/src/lib/evas/meson.build index 8498016763..9c118030fe 100644 --- a/src/lib/evas/meson.build +++ b/src/lib/evas/meson.build @@ -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()] diff --git a/src/modules/elementary/web/none/meson.build b/src/modules/elementary/web/none/meson.build index ddbd9c2f2e..18a5aa4187 100644 --- a/src/modules/elementary/web/none/meson.build +++ b/src/modules/elementary/web/none/meson.build @@ -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 diff --git a/src/modules/evas/engines/gl_generic/meson.build b/src/modules/evas/engines/gl_generic/meson.build index bfa7e82a6d..5d29b4e020 100644 --- a/src/modules/evas/engines/gl_generic/meson.build +++ b/src/modules/evas/engines/gl_generic/meson.build @@ -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] diff --git a/src/modules/evas/engines/software_generic/meson.build b/src/modules/evas/engines/software_generic/meson.build index 7571ca3bc1..fe3ef78ee8 100644 --- a/src/modules/evas/engines/software_generic/meson.build +++ b/src/modules/evas/engines/software_generic/meson.build @@ -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] diff --git a/src/tests/elementary/meson.build b/src/tests/elementary/meson.build index 0f083672cd..b6073af73d 100644 --- a/src/tests/elementary/meson.build +++ b/src/tests/elementary/meson.build @@ -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 diff --git a/src/tests/eolian/meson.build b/src/tests/eolian/meson.build index 01fd6d3c10..4c6102a78d 100644 --- a/src/tests/eolian/meson.build +++ b/src/tests/eolian/meson.build @@ -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', --
