bu5hm4n pushed a commit to branch feature/meson. http://git.enlightenment.org/core/efl.git/commit/?id=4eee3412ecc05c6e89b914bf2766bfff8c64f770
commit 4eee3412ecc05c6e89b914bf2766bfff8c64f770 Author: Marcel Hollerbach <[email protected]> Date: Wed Dec 27 14:17:38 2017 +0000 meson: here comes eldbus --- meson.build | 2 + src/bin/eldbus/meson.build | 13 ++++ src/examples/eldbus/meson.build | 17 +++++ src/examples/meson.build | 4 +- src/lib/eldbus/meson.build | 137 ++++++++++++++++++++++++++++++++++++++++ src/tests/eldbus/meson.build | 28 ++++++++ src/tests/meson.build | 1 + 7 files changed, 201 insertions(+), 1 deletion(-) diff --git a/meson.build b/meson.build index 66fd88a4bd..5076a77b4a 100644 --- a/meson.build +++ b/meson.build @@ -87,6 +87,8 @@ subprojects = [ ['emile' , false, true, false, false, ['lz4', 'rg_etc']], ['eet' , false, true, true, false, []], ['ecore' , false, true, false, false, []], +['eldbus', false, true, true, false, []], +['ecore_audio' , false, true, false, false, []], ] diff --git a/src/bin/eldbus/meson.build b/src/bin/eldbus/meson.build new file mode 100644 index 0000000000..b9c7356c46 --- /dev/null +++ b/src/bin/eldbus/meson.build @@ -0,0 +1,13 @@ +eldbus_codegen_src = [ + 'codegen.h', + 'utils.c', + 'parser.c', + 'dbus.c', + 'source_client.c', + 'client.c' +] +executable('eldbus-codegen', + eldbus_codegen_src, + dependencies: [eldbus, ecore], + install: true, +) diff --git a/src/examples/eldbus/meson.build b/src/examples/eldbus/meson.build new file mode 100644 index 0000000000..db4dadafcb --- /dev/null +++ b/src/examples/eldbus/meson.build @@ -0,0 +1,17 @@ +examples = [ + 'connman-list-services', + 'ofono-dial', + 'banshee', + 'complex-types', + 'complex-types-server', + 'server', + 'client', + 'simple-signal-emit', + 'complex-types-client-eina-value', + 'connect-address', + 'dbusmodel', +] + +foreach example : examples + executable(example, example + '.c', dependencies: [eldbus, ecore]) +endforeach diff --git a/src/examples/meson.build b/src/examples/meson.build index b322542d45..3a7c5de6b0 100644 --- a/src/examples/meson.build +++ b/src/examples/meson.build @@ -1,3 +1,5 @@ subdir('eina') subdir('emile') -subdir('eet') \ No newline at end of file +subdir('eet') +subdir('eldbus') +subdir('ecore_avahi') diff --git a/src/lib/eldbus/meson.build b/src/lib/eldbus/meson.build new file mode 100644 index 0000000000..c469d48963 --- /dev/null +++ b/src/lib/eldbus/meson.build @@ -0,0 +1,137 @@ +eldbus_deps = [] + +pub_eo_files = [ + 'eldbus_model_connection.eo', + 'eldbus_model_object.eo', + 'eldbus_model_proxy.eo', + 'eldbus_model_method.eo', + 'eldbus_model_arguments.eo', + 'eldbus_model_signal.eo' +] + +foreach eo_file : pub_eo_files + pub_eo_file_target += custom_target('eolian_gen_' + eo_file, + input : eo_file, + output : [eo_file + '.h'], + 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@']) +endforeach + + +pub_eo_types_files = [ + 'eldbus_types.eot' +] + +foreach eo_file : pub_eo_types_files + pub_eo_file_target += custom_target('eolian_gen_' + eo_file, + input : eo_file, + output : [eo_file + '.h'], + 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@']) +endforeach + +eolian_include_directories += ['-I', meson.current_source_dir()] + +eldbus_header_src = [ + 'Eldbus.h', + 'eldbus_connection.h', + 'eldbus_freedesktop.h', + 'eldbus_message.h', + 'eldbus_object.h', + 'eldbus_pending.h', + 'eldbus_proxy.h', + 'eldbus_service.h', + 'eldbus_signal_handler.h', + 'eldbus_message_helper.h', + 'eldbus_introspection.h', + 'Eldbus_Model.h', + 'eldbus_message_eina_value.h', + 'eldbus_private.h', + 'eldbus_private_types.h', + 'eldbus_model_private.h', + 'eldbus_model_proxy_private.h', + 'eldbus_model_object_private.h', + 'eldbus_model_arguments_private.h', + 'eldbus_model_connection_private.h', + 'eldbus_model_signal_private.h', + 'eldbus_model_method_private.h', + 'eldbus_proxy.c', + 'eldbus_core.c', + 'eldbus_message.c', + 'eldbus_object.c', + 'eldbus_pending.c', + 'eldbus_freedesktop.c', + 'eldbus_service.c', + 'eldbus_signal_handler.c', + 'eldbus_message_helper.c', + 'eldbus_message_to_eina_value.c', + 'eldbus_message_from_eina_value.c', + 'eldbus_model_connection.c', + 'eldbus_model_object.c', + 'eldbus_model_proxy.c', + 'eldbus_model_method.c', + 'eldbus_model_arguments.c', + 'eldbus_model_signal.c', + 'eldbus_introspection.c' +] + +eldbus_src = [ + 'eldbus_private.h', + 'eldbus_private_types.h', + 'eldbus_model_private.h', + 'eldbus_model_proxy_private.h', + 'eldbus_model_object_private.h', + 'eldbus_model_arguments_private.h', + 'eldbus_model_connection_private.h', + 'eldbus_model_signal_private.h', + 'eldbus_model_method_private.h', + 'eldbus_proxy.c', + 'eldbus_core.c', + 'eldbus_message.c', + 'eldbus_object.c', + 'eldbus_pending.c', + 'eldbus_freedesktop.c', + 'eldbus_service.c', + 'eldbus_signal_handler.c', + 'eldbus_message_helper.c', + 'eldbus_message_to_eina_value.c', + 'eldbus_message_from_eina_value.c', + 'eldbus_model_connection.c', + 'eldbus_model_object.c', + 'eldbus_model_proxy.c', + 'eldbus_model_method.c', + 'eldbus_model_arguments.c', + 'eldbus_model_signal.c', + 'eldbus_introspection.c' +] + +eldbus_deps += dependency('dbus-1') + +eldbus_lib = library('eldbus', + eldbus_src, pub_eo_file_target, + dependencies: [ecore, eldbus_deps], + include_directories : config_dir, + install: true, +) + +eldbus = declare_dependency( + include_directories: [include_directories('.')], + link_with: eldbus_lib, + sources : pub_eo_file_target, + dependencies: [eina, eo, efl], +) + +install_data(pub_eo_files, + install_dir: join_paths(eolian_include_dir, package_version_name) +) + +install_headers(eldbus_header_src, + install_dir : dir_package_include, +) \ No newline at end of file diff --git a/src/tests/eldbus/meson.build b/src/tests/eldbus/meson.build new file mode 100644 index 0000000000..0b0f97a34b --- /dev/null +++ b/src/tests/eldbus/meson.build @@ -0,0 +1,28 @@ +eldbus_suite_src = [ + 'eldbus_suite.c', + 'eldbus_test_eldbus_init.c', + 'eldbus_test_eldbus_model.h', + 'eldbus_fake_server.h', + 'eldbus_test_eldbus_model.c', + 'eldbus_test_eldbus_model_connection.c', + 'eldbus_test_eldbus_model_object.c', + 'eldbus_test_eldbus_model_proxy.c', + 'eldbus_test_eldbus_model_method.c', + 'eldbus_test_eldbus_model_signal.c', + 'eldbus_test_eldbus_object.c', + 'eldbus_test_eldbus_message.c', + 'eldbus_test_eldbus_signal_handler.c', + 'eldbus_test_eldbus_proxy.c', + 'eldbus_test_eldbus_pending_cancel.c', + 'eldbus_test_fake_server_eldbus_model_proxy.c', + 'eldbus_fake_server.c', + 'eldbus_suite.h' +] + +executable('eldbus_suite', + eldbus_suite_src, + dependencies: [eldbus, ecore, check], + c_args : [ + '-DTESTS_BUILD_DIR="'+meson.current_build_dir()+'"', + '-DTESTS_SRC_DIR="'+meson.current_source_dir()+'"'] +) diff --git a/src/tests/meson.build b/src/tests/meson.build index c6a5a0ad3d..76f36f82d8 100644 --- a/src/tests/meson.build +++ b/src/tests/meson.build @@ -6,3 +6,4 @@ subdir('efl') subdir('emile') subdir('eet') #subdir('ecore') +subdir('eldbus') --
