summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--header_checks/meson.build5
-rw-r--r--meson.build28
-rw-r--r--src/bin/elementary/meson.build60
-rw-r--r--src/lib/ecore/meson.build3
-rw-r--r--src/lib/ecore_audio/meson.build7
-rw-r--r--src/lib/eina/meson.build6
-rw-r--r--src/lib/elementary/meson.build7
-rw-r--r--src/lib/evil/meson.build69
-rw-r--r--src/lib/evil/regex/meson.build10
-rw-r--r--src/modules/ecore_evas/meson.build5
-rw-r--r--src/modules/emotion/generic/meson.build14
-rw-r--r--src/static_libs/draw/meson.build15
-rw-r--r--src/static_libs/rg_etc/meson.build7
13 files changed, 172 insertions, 64 deletions
diff --git a/header_checks/meson.build b/header_checks/meson.build
index 0b4ffe35fc..aebc163b2e 100644
--- a/header_checks/meson.build
+++ b/header_checks/meson.build
@@ -194,3 +194,8 @@ endif
194 194
195config_h.set('SIZEOF_INT', cc.sizeof('int')) 195config_h.set('SIZEOF_INT', cc.sizeof('int'))
196config_h.set('SIZEOF_LONG', cc.sizeof('long')) 196config_h.set('SIZEOF_LONG', cc.sizeof('long'))
197
198if sys_windows == true
199 config_h.set('HAVE_DLSYM', '1')
200 config_h.set('HAVE_NOTIFY_WIN32', '1')
201endif
diff --git a/meson.build b/meson.build
index 82205daae5..96f11d3ad2 100644
--- a/meson.build
+++ b/meson.build
@@ -45,6 +45,17 @@ if host_machine.system() == 'darwin'
45 bin_linker_args = ['-pagezero_size', '10000', '-image_base', '100000000'] 45 bin_linker_args = ['-pagezero_size', '10000', '-image_base', '100000000']
46endif 46endif
47 47
48windows = ['windows', 'cygwin']
49#bsd for meson 0.46 and 0.47
50bsd = ['bsd', 'freebsd', 'dragonfly', 'netbsd']
51linux = ['linux']
52osx = ['darwin']
53
54sys_linux = linux.contains(host_machine.system())
55sys_bsd = bsd.contains(host_machine.system())
56sys_windows = windows.contains(host_machine.system())
57sys_osx = osx.contains(host_machine.system())
58
48module_files = [] 59module_files = []
49evas_loader_map = [] 60evas_loader_map = []
50 61
@@ -74,6 +85,11 @@ foreach lang : ['c', 'objc', 'cpp']
74 add_global_arguments('-DNEED_RUN_IN_TREE=1', language: lang) 85 add_global_arguments('-DNEED_RUN_IN_TREE=1', language: lang)
75 add_global_arguments('-DEFL_BUILD=1', language: lang) 86 add_global_arguments('-DEFL_BUILD=1', language: lang)
76 add_global_arguments('-DELM_INTERNAL_API_ARGESFSDFEFC=1', language: lang) 87 add_global_arguments('-DELM_INTERNAL_API_ARGESFSDFEFC=1', language: lang)
88 if sys_windows == true
89 add_global_arguments('-DWINVER=0x0601', language: lang)
90 add_global_arguments('-D_WIN32_WINNT=0x0601', language: lang)
91 endif
92
77endforeach 93endforeach
78 94
79config_h = configuration_data() 95config_h = configuration_data()
@@ -150,17 +166,6 @@ endif
150config_dir = [include_directories('.')] 166config_dir = [include_directories('.')]
151eolian_include_directories = [] 167eolian_include_directories = []
152 168
153windows = ['windows', 'cygwin']
154#bsd for meson 0.46 and 0.47
155bsd = ['bsd', 'freebsd', 'dragonfly', 'netbsd']
156linux = ['linux']
157osx = ['darwin']
158
159sys_linux = linux.contains(host_machine.system())
160sys_bsd = bsd.contains(host_machine.system())
161sys_windows = windows.contains(host_machine.system())
162sys_osx = osx.contains(host_machine.system())
163
164if sys_linux == true or sys_bsd == true 169if sys_linux == true or sys_bsd == true
165 sys_lib_extension = 'so' 170 sys_lib_extension = 'so'
166 sys_exe_extension = '' 171 sys_exe_extension = ''
@@ -202,6 +207,7 @@ ecore_evas_wayland_engine_include_dir = []
202 207
203subprojects = [ 208subprojects = [
204# name | option | mod | lib | bin | bench | tests | examples | pkg-config options | name of static libs 209# name | option | mod | lib | bin | bench | tests | examples | pkg-config options | name of static libs
210['evil' ,[] , false, true, false, false, false, false, [], []],
205['eina' ,[] , false, true, true, true, true, true, [], []], 211['eina' ,[] , false, true, true, true, true, true, [], []],
206['eolian' ,[] , false, true, true, false, true, false, ['eina'], []], 212['eolian' ,[] , false, true, true, false, true, false, ['eina'], []],
207['eo' ,[] , false, true, false, true, true, false, ['eina'], []], 213['eo' ,[] , false, true, false, true, true, false, ['eina'], []],
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
index a4a8dc2d21..ddc778ba2c 100644
--- a/src/bin/elementary/meson.build
+++ b/src/bin/elementary/meson.build
@@ -155,6 +155,11 @@ elementary_test_src = [
155 'test.h' 155 'test.h'
156] 156]
157 157
158if sys_windows == false
159 link_args = '-rdynamic'
160else
161 link_args = []
162endif
158elementary_test = executable('elementary_test', 163elementary_test = executable('elementary_test',
159 elementary_test_src, 164 elementary_test_src,
160 dependencies: [elementary] + elementary_deps + elementary_pub_deps, 165 dependencies: [elementary] + elementary_deps + elementary_pub_deps,
@@ -164,7 +169,7 @@ elementary_test = executable('elementary_test',
164 '-Delementary_test_LIB_DIR="'+dir_lib+'"', 169 '-Delementary_test_LIB_DIR="'+dir_lib+'"',
165 '-Delementary_test_DATA_DIR="'+join_paths(dir_data,'elementary')+'"' 170 '-Delementary_test_DATA_DIR="'+join_paths(dir_data,'elementary')+'"'
166 ], 171 ],
167 link_args: '-rdynamic' 172 link_args: link_args
168) 173)
169 174
170elementary_config_src = [ 175elementary_config_src = [
@@ -176,20 +181,22 @@ elementary_config = executable('elementary_config',
176 dependencies: [elementary] + elementary_deps + elementary_pub_deps, 181 dependencies: [elementary] + elementary_deps + elementary_pub_deps,
177 install: true, 182 install: true,
178 c_args : package_c_args, 183 c_args : package_c_args,
179 link_args: '-rdynamic' 184 link_args: link_args
180) 185)
181 186
182elementary_quicklaunch_src = [ 187if sys_windows == false
183 'quicklaunch.c' 188 elementary_quicklaunch_src = [
184] 189 'quicklaunch.c'
190 ]
185 191
186elementary_quicklaunch = executable('elementary_quicklaunch', 192 elementary_quicklaunch = executable('elementary_quicklaunch',
187 elementary_quicklaunch_src, 193 elementary_quicklaunch_src,
188 dependencies: [elementary] + elementary_deps + elementary_pub_deps, 194 dependencies: [elementary] + elementary_deps + elementary_pub_deps,
189 install: true, 195 install: true,
190 c_args : package_c_args, 196 c_args : package_c_args,
191 link_args: '-rdynamic' 197 link_args: link_args
192) 198 )
199endif
193 200
194elementary_codegen_src = [ 201elementary_codegen_src = [
195 'elementary_codegen.c' 202 'elementary_codegen.c'
@@ -200,7 +207,7 @@ elementary_codegen = executable('elementary_codegen',
200 dependencies: [elementary] + elementary_deps + elementary_pub_deps, 207 dependencies: [elementary] + elementary_deps + elementary_pub_deps,
201 install: true, 208 install: true,
202 c_args : package_c_args, 209 c_args : package_c_args,
203 link_args: '-rdynamic' 210 link_args: link_args
204) 211)
205 212
206elm_prefs_cc_src = [ 213elm_prefs_cc_src = [
@@ -217,7 +224,7 @@ elm_prefs_cc = executable('elm_prefs_cc',
217 dependencies: [elementary] + elementary_deps + elementary_pub_deps, 224 dependencies: [elementary] + elementary_deps + elementary_pub_deps,
218 install: true, 225 install: true,
219 c_args : package_c_args, 226 c_args : package_c_args,
220 link_args: '-rdynamic' 227 link_args: link_args
221) 228)
222 229
223if meson.is_cross_build() 230if meson.is_cross_build()
@@ -229,18 +236,19 @@ else
229 elm_prefs_cc_exe = [env, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()] 236 elm_prefs_cc_exe = [env, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()]
230endif 237endif
231 238
239if sys_windows == false
240 elementary_run_src = [
241 'run.c'
242 ]
232 243
233elementary_run_src = [ 244 elementary_run = executable('elementary_run',
234 'run.c' 245 elementary_run_src,
235] 246 dependencies: [elementary] + elementary_deps + elementary_pub_deps,
236 247 install: true,
237elementary_run = executable('elementary_run', 248 c_args : package_c_args,
238 elementary_run_src, 249 link_args: link_args
239 dependencies: [elementary] + elementary_deps + elementary_pub_deps, 250 )
240 install: true, 251endif
241 c_args : package_c_args,
242 link_args: '-rdynamic'
243)
244 252
245elementary_perf_src = [ 253elementary_perf_src = [
246 'perf.c', 254 'perf.c',
@@ -262,6 +270,6 @@ elementary_perf = executable('elementary_perf',
262 '-Delementary_test_LIB_DIR="'+dir_lib+'"', 270 '-Delementary_test_LIB_DIR="'+dir_lib+'"',
263 '-Delementary_test_DATA_DIR="'+join_paths(dir_data,'elementary')+'"' 271 '-Delementary_test_DATA_DIR="'+join_paths(dir_data,'elementary')+'"'
264 ], 272 ],
265 link_args: '-rdynamic' 273 link_args: link_args
266) 274)
267 275
diff --git a/src/lib/ecore/meson.build b/src/lib/ecore/meson.build
index 3757bad5f3..b9536b07f4 100644
--- a/src/lib/ecore/meson.build
+++ b/src/lib/ecore/meson.build
@@ -180,11 +180,12 @@ ecore_src = [
180 180
181if sys_windows == true 181if sys_windows == true
182 #nothing for now ... needs testing 182 #nothing for now ... needs testing
183 ecore_src += ['ecore_exe_win32.c']
183else 184else
184 ecore_src += ['ecore_signal.c', 'ecore_exe_posix.c'] 185 ecore_src += ['ecore_signal.c', 'ecore_exe_posix.c']
185endif 186endif
186 187
187if get_option('glib') == true 188if get_option('glib') == true and sys_windows == false
188 ecore_deps += dependency('glib-2.0') 189 ecore_deps += dependency('glib-2.0')
189 ecore_deps += dependency('gthread-2.0') 190 ecore_deps += dependency('gthread-2.0')
190 config_h.set('GLIB_INTEGRATION_ALWAYS', '1') 191 config_h.set('GLIB_INTEGRATION_ALWAYS', '1')
diff --git a/src/lib/ecore_audio/meson.build b/src/lib/ecore_audio/meson.build
index b73d53d81b..bc3215e62c 100644
--- a/src/lib/ecore_audio/meson.build
+++ b/src/lib/ecore_audio/meson.build
@@ -70,6 +70,13 @@ if get_option('pulseaudio')
70 config_h.set('HAVE_PULSE', '1') 70 config_h.set('HAVE_PULSE', '1')
71endif 71endif
72 72
73if sys_windows == true
74 ecore_audio_src += [
75 'ecore_audio_obj_out_wasapi.c'
76 ]
77 ecore_audio_deps += [cc.find_library('ksuser', required: true), cc.find_library('winmm', required: true)]
78endif
79
73ecore_audio_lib = library('ecore_audio', 80ecore_audio_lib = library('ecore_audio',
74 ecore_audio_src, pub_eo_file_target, 81 ecore_audio_src, pub_eo_file_target,
75 dependencies: ecore_audio_pub_deps + [m] + ecore_audio_deps, 82 dependencies: ecore_audio_pub_deps + [m] + ecore_audio_deps,
diff --git a/src/lib/eina/meson.build b/src/lib/eina/meson.build
index 9535391619..a814673e24 100644
--- a/src/lib/eina/meson.build
+++ b/src/lib/eina/meson.build
@@ -1,6 +1,10 @@
1eina_deps = [dl] 1eina_deps = [dl]
2eina_pub_deps = [thread_dep] 2eina_pub_deps = [thread_dep]
3 3
4if sys_windows == true
5 eina_pub_deps += [evil]
6endif
7
4public_sub_headers = [ 8public_sub_headers = [
5'eina_promise.h', 9'eina_promise.h',
6'eina_safety_checks.h', 10'eina_safety_checks.h',
@@ -368,7 +372,7 @@ execinfo = cc.find_library('execinfo', required: false)
368 372
369eina_lib = library('eina', sources, 373eina_lib = library('eina', sources,
370 include_directories : config_dir, 374 include_directories : config_dir,
371 dependencies: [m, rt, dl, execinfo, iconv, eina_deps, thread_dep, eina_mem_pools], 375 dependencies: [m, rt, dl, execinfo, iconv, eina_deps, thread_dep, eina_mem_pools, evil],
372 install: true, 376 install: true,
373 version : meson.project_version() 377 version : meson.project_version()
374) 378)
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index ac69f99905..335b8f581b 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -914,7 +914,12 @@ config_h.set_quoted('MODULES_PATH', join_paths(dir_lib, 'modules'))
914config_h.set_quoted('ELEMENTARY_BASE_DIR', '.elementary') 914config_h.set_quoted('ELEMENTARY_BASE_DIR', '.elementary')
915config_h.set_quoted('ICON_DIR', join_paths(dir_lib, 'icons')) 915config_h.set_quoted('ICON_DIR', join_paths(dir_lib, 'icons'))
916 916
917elm_options.set('ELM_UNIX', '1') 917if sys_windows == false
918 elm_options.set('ELM_UNIX', '1')
919else
920 elm_options.set('DLL_EXPORT', '1')
921endif
922
918elm_options.set('ELM_ELOCATION', '1') 923elm_options.set('ELM_ELOCATION', '1')
919elm_options.set('ELM_EFREET', '1') 924elm_options.set('ELM_EFREET', '1')
920 925
diff --git a/src/lib/evil/meson.build b/src/lib/evil/meson.build
new file mode 100644
index 0000000000..ff9630aa2b
--- /dev/null
+++ b/src/lib/evil/meson.build
@@ -0,0 +1,69 @@
1evil_deps = []
2evil_pub_deps = []
3if target_machine.system() == 'windows'
4 evil_header_src = [
5 'Evil.h',
6 'evil_dlfcn.h',
7 'evil_fcntl.h',
8 'evil_langinfo.h',
9 'evil_locale.h',
10 'evil_macro.h',
11 'evil_macro_pop.h',
12 'evil_macro_wrapper.h',
13 'evil_main.h',
14 'evil_stdio.h',
15 'evil_stdlib.h',
16 'evil_string.h',
17 'evil_time.h',
18 'evil_unistd.h',
19 'evil_util.h',
20 'dirent.h',
21 'fnmatch.h',
22 'pwd.h',
23 'regex/regex.h'
24 ]
25 evil_header_sys_src = [join_paths('sys','mman.h')]
26
27 evil_src = [
28 'evil_dlfcn.c',
29 'evil_fcntl.c',
30 'evil_fnmatch.c',
31 'evil_fnmatch_list_of_states.c',
32 'evil_langinfo.c',
33 'evil_locale.c',
34 'evil_main.c',
35 'evil_mman.c',
36 'evil_pwd.c',
37 'evil_stdio.c',
38 'evil_stdlib.c',
39 'evil_string.c',
40 'evil_time.c',
41 'evil_unistd.c',
42 'evil_util.c',
43 'evil_private.h',
44 'evil_fnmatch_private.h',
45 ]
46
47 subdir('regex')
48
49 psapi = cc.find_library('psapi')
50 ole32 = cc.find_library('ole32')
51 ws2_32 = cc.find_library('ws2_32')
52 secur32 = cc.find_library('secur32')
53 uuid = cc.find_library('uuid')
54 msvcr100 = cc.find_library('msvcr100')
55
56 evil_lib = library('evil', evil_src,
57 dependencies : [psapi, ole32, ws2_32, secur32, uuid, msvcr100],
58 include_directories : [config_dir, include_directories('regex')],
59 )
60
61 evil = declare_dependency(
62 include_directories: [config_dir, include_directories('regex'), include_directories('.')],
63 dependencies : [psapi, ole32, ws2_32, secur32, uuid, msvcr100],
64 link_with: evil_lib,
65 )
66else
67 evil = declare_dependency()
68 automatic_pkgfile = false
69endif
diff --git a/src/lib/evil/regex/meson.build b/src/lib/evil/regex/meson.build
new file mode 100644
index 0000000000..d04769b72d
--- /dev/null
+++ b/src/lib/evil/regex/meson.build
@@ -0,0 +1,10 @@
1evil_src += files([
2'regcomp.c',
3'regerror.c',
4'regexec.c',
5'regfree.c',
6'cclass.h',
7'cname.h',
8'regex2.h',
9'utils.h'
10])
diff --git a/src/modules/ecore_evas/meson.build b/src/modules/ecore_evas/meson.build
index 7fa4d1d305..75af136382 100644
--- a/src/modules/ecore_evas/meson.build
+++ b/src/modules/ecore_evas/meson.build
@@ -1,7 +1,6 @@
1engines = [ 1engines = [
2['cocoa', ['cocoa']], 2['cocoa', ['cocoa']],
3['drm', ['drm']], 3['drm', ['drm']],
4['extn', []],
5['fb', ['fb']], 4['fb', ['fb']],
6['sdl', ['sdl']], 5['sdl', ['sdl']],
7['wayland', ['wl']], 6['wayland', ['wl']],
@@ -9,6 +8,10 @@ engines = [
9['x', ['x11']], 8['x', ['x11']],
10] 9]
11 10
11if sys_windows == false
12 engines += [['extn', []]]
13endif
14
12 15
13foreach engine_conf : engines 16foreach engine_conf : engines
14 engine = engine_conf[0] 17 engine = engine_conf[0]
diff --git a/src/modules/emotion/generic/meson.build b/src/modules/emotion/generic/meson.build
index d0da87861b..4f62c7a43e 100644
--- a/src/modules/emotion/generic/meson.build
+++ b/src/modules/emotion/generic/meson.build
@@ -8,15 +8,17 @@ emotion_generic = declare_dependency(
8 dependencies: emotion, 8 dependencies: emotion,
9) 9)
10 10
11shared_module(emotion_loader, 11if sys_windows == false
12 shared_module(emotion_loader,
12 generic_src, 13 generic_src,
13 include_directories : config_dir, 14 include_directories : config_dir,
14 dependencies: [eina, evas, emotion, generic_deps], 15 dependencies: [eina, evas, emotion, generic_deps, rt],
15 install: true, 16 install: true,
16 install_dir : mod_install_dir, 17 install_dir : mod_install_dir,
17 c_args : package_c_args, 18 c_args : package_c_args,
18) 19 )
19 20
20install_headers('Emotion_Generic_Plugin.h', 21 install_headers('Emotion_Generic_Plugin.h',
21 install_dir : dir_package_include, 22 install_dir : dir_package_include,
22) 23 )
24endif
diff --git a/src/static_libs/draw/meson.build b/src/static_libs/draw/meson.build
index 250e021fb7..c1b72c581d 100644
--- a/src/static_libs/draw/meson.build
+++ b/src/static_libs/draw/meson.build
@@ -9,7 +9,7 @@ draw_src = [
9 9
10draw_opt_lib = [ ] 10draw_opt_lib = [ ]
11 11
12if cpu_sse3 == true 12if cpu_sse3 == true and sys_windows == false
13 draw_opt = static_library('draw_opt', 13 draw_opt = static_library('draw_opt',
14 sources: [ 'draw_main_sse2.c' ], 14 sources: [ 'draw_main_sse2.c' ],
15 include_directories: config_dir + [include_directories(join_paths('..', '..', 'lib'))], 15 include_directories: config_dir + [include_directories(join_paths('..', '..', 'lib'))],
@@ -21,16 +21,9 @@ else
21 draw_src += [ 'draw_main_sse2.c' ] 21 draw_src += [ 'draw_main_sse2.c' ]
22endif 22endif
23 23
24draw_lib = static_library('draw',
25 draw_src,
26 dependencies : [eina, efl],
27 include_directories : config_dir + [include_directories(join_paths('..', '..', 'lib'))],
28 install: false,
29 link_with: draw_opt_lib,
30)
31
32draw = declare_dependency( 24draw = declare_dependency(
33 include_directories: [include_directories('.'), include_directories(join_paths('..', '..', 'lib'))], 25 include_directories: [include_directories('.'), include_directories(join_paths('..', '..', 'lib'))],
34 link_with: draw_lib, 26 dependencies: [eina, efl],
35 dependencies: [eina], 27 sources : draw_src,
28 link_with : draw_opt_lib
36) 29)
diff --git a/src/static_libs/rg_etc/meson.build b/src/static_libs/rg_etc/meson.build
index 3dad342457..cd093daba9 100644
--- a/src/static_libs/rg_etc/meson.build
+++ b/src/static_libs/rg_etc/meson.build
@@ -5,12 +5,7 @@ rg_etc_src = [
5'rg_etc2.c', 5'rg_etc2.c',
6] 6]
7 7
8rg_etc_lib = static_library('rg_etc', rg_etc_src,
9 dependencies : eina,
10 include_directories : config_dir,
11)
12
13rg_etc = declare_dependency( 8rg_etc = declare_dependency(
14 include_directories: include_directories('.'), 9 include_directories: include_directories('.'),
15 link_with: rg_etc_lib 10 sources : rg_etc_src
16) 11)