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')

-- 


Reply via email to