bu5hm4n pushed a commit to branch feature/meson. http://git.enlightenment.org/core/efl.git/commit/?id=28d4ce73a0f24a9509ddd4be7331000fa0baea44
commit 28d4ce73a0f24a9509ddd4be7331000fa0baea44 Author: Marcel Hollerbach <[email protected]> Date: Wed Dec 27 13:17:34 2017 +0000 meson: ecore_avahi! --- meson.build | 5 + meson_options.txt | 17 ++- src/examples/ecore_avahi/meson.build | 11 ++ src/lib/ecore_avahi/meson.build | 28 +++++ src/lib/ecore_con/meson.build | 180 ++++++++++++++++++++++++++++++++ src/static_libs/http-parser/meson.build | 11 ++ 6 files changed, 247 insertions(+), 5 deletions(-) diff --git a/meson.build b/meson.build index a7f350e816..1fc1900012 100644 --- a/meson.build +++ b/meson.build @@ -90,6 +90,9 @@ subprojects = [ ['eldbus', false, true, true, false, []], ['ecore' , true, false, false, false, []], #ecores modules depend on eldbus ['ecore_audio' , false, true, false, false, []], +['ecore_avahi' , false, true, false, false, []], +['ecore_con' , false, true, false, false, []], +['ecore_file' , false, true, false, false, []], ] @@ -98,6 +101,8 @@ config_dir += include_directories('.') #we have to do that first, eina modules are required by eina #the other modules require theire package + +subdir(join_paths('src', 'static_libs', 'http-parser')) subdir(join_paths(local_module, 'eina')) foreach package : subprojects diff --git a/meson_options.txt b/meson_options.txt index 26a5e57704..fa7f073c75 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -63,14 +63,21 @@ option('systemd', description : 'use systemd support' ) -option('avahi', +option('pulseaudio', type : 'boolean', - value : false, - description : 'disable avahi support' + value : true, + description : 'pulseaudio support' ) -option('pulseaudio', +option('avahi', type : 'boolean', value : true, - description : 'pulseaudio support' + description : 'avahi support' +) + +option('network-backend', + type : 'combo', + choices : ['connman', 'none'], + value : 'none', + description : 'connman support' ) diff --git a/src/examples/ecore_avahi/meson.build b/src/examples/ecore_avahi/meson.build new file mode 100644 index 0000000000..0bf2607038 --- /dev/null +++ b/src/examples/ecore_avahi/meson.build @@ -0,0 +1,11 @@ +if get_option('avahi') + + examples = [ + 'ecore_avahi_browse_example', + 'ecore_avahi_example', + ] + + foreach example : examples + executable(example, example + '.c', dependencies: [ecore_avahi_deps, ecore_avahi]) + endforeach +endif \ No newline at end of file diff --git a/src/lib/ecore_avahi/meson.build b/src/lib/ecore_avahi/meson.build new file mode 100644 index 0000000000..2eac38df99 --- /dev/null +++ b/src/lib/ecore_avahi/meson.build @@ -0,0 +1,28 @@ +if get_option('avahi') + ecore_avahi_deps = [] + + ecore_avahi_src = ['ecore_avahi.c'] + ecore_avahi_header_src = ['Ecore_Avahi.h'] + + ecore_avahi_deps += dependency('avahi-client') + config_h.set('HAVE_AVAHI', '1') + + ecore_avahi_lib = library('ecore-avahi', + ecore_avahi_src, + dependencies: [ecore, m, ecore_avahi_deps], + include_directories : config_dir + [include_directories(join_paths('..','..'))], + install: true, + ) + + ecore_avahi = declare_dependency( + include_directories: [include_directories('.')], + link_with: ecore_avahi_lib, + dependencies: [eina, ecore], + ) + + install_headers(ecore_avahi_header_src, + install_dir : dir_package_include, + ) +else + +endif \ No newline at end of file diff --git a/src/lib/ecore_con/meson.build b/src/lib/ecore_con/meson.build new file mode 100644 index 0000000000..2020e0cd02 --- /dev/null +++ b/src/lib/ecore_con/meson.build @@ -0,0 +1,180 @@ + +ecore_con_deps = [] + +pub_eo_files = [ + 'efl_net_socket.eo', + 'efl_net_socket_simple.eo', + 'efl_net_socket_fd.eo', + 'efl_net_socket_tcp.eo', + 'efl_net_socket_udp.eo', + 'efl_net_dialer.eo', + 'efl_net_dialer_simple.eo', + 'efl_net_dialer_tcp.eo', + 'efl_net_dialer_udp.eo', + 'efl_net_dialer_http.eo', + 'efl_net_dialer_websocket.eo', + 'efl_net_server.eo', + 'efl_net_server_simple.eo', + 'efl_net_server_fd.eo', + 'efl_net_server_ip.eo', + 'efl_net_server_tcp.eo', + 'efl_net_server_udp.eo', + 'efl_net_server_udp_client.eo', + 'efl_net_socket_ssl.eo', + 'efl_net_ssl_context.eo', + 'efl_net_dialer_ssl.eo', + 'efl_net_server_ssl.eo', + 'efl_net_control_access_point.eo', + 'efl_net_control_technology.eo', + 'efl_net_control.eo', + 'efl_net_session.eo', + 'efl_net_ip_address.eo', + 'ecore_con_eet_base.eo', + 'ecore_con_eet_server_obj.eo', + 'ecore_con_eet_client_obj.eo' +] + +if target_machine.system() == 'windows' +pub_eo_files += [ + 'efl_net_socket_windows.eo', + 'efl_net_dialer_windows.eo', + 'efl_net_server_windows.eo' +] +else +pub_eo_files += [ + 'efl_net_socket_unix.eo', + 'efl_net_dialer_unix.eo', + 'efl_net_server_unix.eo' +] +endif + +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 = [ + 'efl_net_types.eot', + 'efl_net_http_types.eot', + 'efl_net_ssl_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()] + +ecore_con_header_src = [ + 'Ecore_Con.h', + 'Efl_Net.h', + 'Ecore_Con_Eet.h', + 'Ecore_Con_Eet_Legacy.h', + 'Ecore_Con_Eet_Eo.h' +] + +ecore_con_src = [ + 'ecore_con_alloc.c', + 'ecore_con.c', + 'ecore_con_proxy_helper.c', + 'ecore_con_legacy.c', + 'ecore_con_eet.c', + 'ecore_con_socks.c', + 'ecore_con_url.c', + 'ecore_con_url_curl.c', + 'ecore_con_url_curl.h', + 'ecore_con_private.h', + 'efl_net_socket.c', + 'efl_net_socket_simple.c', + 'efl_net_socket_fd.c', + 'efl_net_socket_tcp.c', + 'efl_net_socket_udp.c', + 'efl_net_dialer.c', + 'efl_net_dialer_simple.c', + 'efl_net_dialer_tcp.c', + 'efl_net_dialer_udp.c', + 'efl_net_dialer_http.c', + 'efl_net_dialer_websocket.c', + 'efl_net_server.c', + 'efl_net_server_simple.c', + 'efl_net_server_fd.c', + 'efl_net_server_ip.c', + 'efl_net_server_tcp.c', + 'efl_net_server_udp.c', + 'efl_net_server_udp_client.c', + 'efl_net_socket_ssl.c', + 'efl_net_ssl_context.c', + 'efl_net_dialer_ssl.c', + 'efl_net_server_ssl.c', + 'ecore_con_local.c', + 'efl_net_ip_address.c' +] + +if target_machine.system() == 'windows' + ecore_con_src += [ + 'efl_net_socket_windows.c', + 'efl_net_dialer_windows.c', + 'efl_net_server_windows.c' + ] +else + ecore_con_src += [ + 'efl_net_socket_unix.c', + 'efl_net_dialer_unix.c', + 'efl_net_server_unix.c' + ] +endif + +if get_option('network-backend') == 'connman' + ecore_con_src = [ + 'efl_net_control_access_point-none.c', + 'efl_net_control_technology-none.c', + 'efl_net_control-none.c', + 'efl_net_session-none.c' + ] +else + ecore_con_src = [ + 'efl_net-connman.h', + 'efl_net-connman.c', + 'efl_net_control_access_point-connman.c', + 'efl_net_control_technology-connman.c', + 'efl_net_control-connman.c', + 'efl_net_session-connman.c' + ] +endif + +ecore_con_lib = library('ecore_con', + ecore_con_src, pub_eo_file_target, + dependencies: [ecore, ecore_con_deps, http_parser], + include_directories : config_dir, + install: true, +) + +ecore_con = declare_dependency( + include_directories: [include_directories('.')], + link_with: ecore_con_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(ecore_con_header_src, + install_dir : dir_package_include, +) \ No newline at end of file diff --git a/src/static_libs/http-parser/meson.build b/src/static_libs/http-parser/meson.build new file mode 100644 index 0000000000..7e1308400e --- /dev/null +++ b/src/static_libs/http-parser/meson.build @@ -0,0 +1,11 @@ +http_parser_lib = [ + 'http_parser.c', + 'http_parser.h', +] + +http_parser_lib = static_library('http-parser', http_parser_lib) + +http_parser = declare_dependency( + include_directories: include_directories('.') , + link_with: http_parser_lib, +) \ No newline at end of file --
