summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelipe Magno de Almeida <felipe@expertise.dev>2019-11-12 21:17:38 -0300
committerFelipe Magno de Almeida <felipe@expertise.dev>2019-11-12 21:17:38 -0300
commit4ef1e182746db32c1538b2fd5a3f4dd951ee11ed (patch)
tree80b7d057564a1efd144e7d209c879864ef3c34ef
parent5b6b1b10ee7ec47503a9e8f256434daf6220792a (diff)
WIP: Make EFL compile natively in Windowsdevs/felipealmeida/native-win32-build
-rw-r--r--header_checks/meson.build22
-rw-r--r--meson.build37
-rw-r--r--meson_options.txt23
-rw-r--r--src/bin/edje/meson.build8
-rw-r--r--src/bin/elementary/meson.build4
-rw-r--r--src/bindings/cxx/meson.build5
-rw-r--r--src/lib/ecore/meson.build2
-rw-r--r--src/lib/ecore_con/meson.build4
-rw-r--r--src/lib/eet/meson.build2
-rw-r--r--src/lib/efl/meson.build2
-rw-r--r--src/lib/efreet/meson.build2
-rw-r--r--src/lib/eina/eina_counter.c4
-rw-r--r--src/lib/eina/eina_inline_private.h3
-rw-r--r--src/lib/eina/eina_inline_slice.x4
-rw-r--r--src/lib/eina/eina_slice.h4
-rw-r--r--src/lib/eina/eina_types.h2
-rw-r--r--src/lib/eina/meson.build10
-rw-r--r--src/lib/emile/meson.build4
-rw-r--r--src/lib/eo/meson.build4
-rw-r--r--src/lib/evas/filters/meson.build4
-rw-r--r--src/lib/evas/meson.build16
-rw-r--r--src/lib/evil/evil_fcntl.h2
-rw-r--r--src/lib/evil/evil_private.h4
-rw-r--r--src/lib/evil/evil_stdio.h4
24 files changed, 140 insertions, 36 deletions
diff --git a/header_checks/meson.build b/header_checks/meson.build
index c83f48b..2227e79 100644
--- a/header_checks/meson.build
+++ b/header_checks/meson.build
@@ -154,10 +154,14 @@ if strerror_r_char_p
154endif 154endif
155 155
156#for later use, a bunch of librarie findings 156#for later use, a bunch of librarie findings
157if host_machine.system() != 'windows'
157m = cc.find_library('m') 158m = cc.find_library('m')
159endif
158#just keep this here as required false, if it is not inplace the library rt will just be linked as NOP 160#just keep this here as required false, if it is not inplace the library rt will just be linked as NOP
161if host_machine.system() != 'windows'
159dl = cc.find_library('dl', required: false) 162dl = cc.find_library('dl', required: false)
160rt = cc.find_library('rt', required: false) 163rt = cc.find_library('rt', required: false)
164endif
161 165
162thread_dep = dependency('threads') 166thread_dep = dependency('threads')
163 167
@@ -210,9 +214,19 @@ endif
210 214
211regexp = [] 215regexp = []
212if sys_windows == true 216if sys_windows == true
213 regexp = cc.find_library('regex', 217 if sys_windows == true
214 has_headers: ['regex.h', 'fnmatch.h'], 218 inc_arg = '-I' + get_option('regex_include_dir')
215 required: true) 219 if cc.has_header('regex.h', args: inc_arg) == false
220 error('regex can not be found')
221 endif
222 regexp = cc.find_library('pcre',
223 dirs : [get_option('regex_dir')],
224 required: true)
225 else
226 regexp = cc.find_library('regex',
227 has_headers: ['regex.h', 'fnmatch.h'],
228 required: true)
229 endif
216 if regexp.found() == false 230 if regexp.found() == false
217 error('regex can not be found') 231 error('regex can not be found')
218 endif 232 endif
@@ -234,7 +248,7 @@ config_h.set('VREV', '0')
234 248
235jpeg = dependency('libjpeg', required: false) 249jpeg = dependency('libjpeg', required: false)
236if jpeg.found() == false 250if jpeg.found() == false
237 jpeg = cc.find_library('jpeg') 251# jpeg = cc.find_library('jpeg')
238endif 252endif
239 253
240if sys_bsd == true 254if sys_bsd == true
diff --git a/meson.build b/meson.build
index 702e383..76dc208 100644
--- a/meson.build
+++ b/meson.build
@@ -8,7 +8,9 @@ if host_machine.system() == 'darwin'
8 add_languages('objc') 8 add_languages('objc')
9endif 9endif
10 10
11if host_machine.system() != 'windows'
11pkgconfig = import('pkgconfig') 12pkgconfig = import('pkgconfig')
13endif
12 14
13test_env = environment() 15test_env = environment()
14test_env.set('EFL_RUN_IN_TREE', '1') 16test_env.set('EFL_RUN_IN_TREE', '1')
@@ -88,6 +90,15 @@ endforeach
88add_global_arguments(dev_cflags, language: 'c') 90add_global_arguments(dev_cflags, language: 'c')
89add_global_arguments(dev_cflags, language: 'cpp') 91add_global_arguments(dev_cflags, language: 'cpp')
90 92
93if not get_option('dbus')
94 dbus = declare_dependency()
95 eldbus = declare_dependency()
96endif
97
98if sys_windows == true
99 dl = declare_dependency()
100 m = declare_dependency()
101endif
91 102
92foreach lang : ['c', 'objc', 'cpp'] 103foreach lang : ['c', 'objc', 'cpp']
93 add_global_arguments('-DHAVE_CONFIG_H=1', language: lang) 104 add_global_arguments('-DHAVE_CONFIG_H=1', language: lang)
@@ -216,7 +227,11 @@ if (get_option('crypto') == 'gnutls')
216 crypto = [dependency('gnutls'), cc.find_library('gcrypt')] 227 crypto = [dependency('gnutls'), cc.find_library('gcrypt')]
217 config_h.set('HAVE_GNUTLS', '1') 228 config_h.set('HAVE_GNUTLS', '1')
218elif (get_option('crypto') == 'openssl') 229elif (get_option('crypto') == 'openssl')
219 crypto = dependency('openssl') 230 if (get_option('openssl_dir') != '')
231 crypto = cc.find_library('crypto', dirs : [get_option('openssl_dir')])
232 else
233 crypto = dependency('openssl')
234 endif
220 config_h.set('HAVE_OPENSSL', '1') 235 config_h.set('HAVE_OPENSSL', '1')
221endif 236endif
222 237
@@ -259,7 +274,7 @@ subprojects = [
259['emile' ,[] , false, true, false, false, true, true, ['eina', 'efl'], ['lz4', 'rg_etc']], 274['emile' ,[] , false, true, false, false, true, true, ['eina', 'efl'], ['lz4', 'rg_etc']],
260['eet' ,[] , false, true, true, false, true, true, ['eina', 'emile', 'efl'], []], 275['eet' ,[] , false, true, true, false, true, true, ['eina', 'emile', 'efl'], []],
261['ecore' ,[] , false, true, false, false, false, false, ['eina', 'eo', 'efl'], ['buildsystem']], 276['ecore' ,[] , false, true, false, false, false, false, ['eina', 'eo', 'efl'], ['buildsystem']],
262['eldbus' ,[] , false, true, true, false, true, true, ['eina', 'eo', 'efl'], []], 277# ['eldbus' ,[] , false, true, true, false, true, true, ['eina', 'eo', 'efl'], []],
263['ecore' ,[] , true, false, false, false, true, true, ['eina', 'eo', 'efl'], []], #ecores modules depend on eldbus 278['ecore' ,[] , true, false, false, false, true, true, ['eina', 'eo', 'efl'], []], #ecores modules depend on eldbus
264['ecore_audio' ,['audio'] , false, true, false, false, false, false, ['eina', 'eo'], []], 279['ecore_audio' ,['audio'] , false, true, false, false, false, false, ['eina', 'eo'], []],
265['ecore_avahi' ,['avahi'] , false, true, false, false, false, true, ['eina', 'ecore'], []], 280['ecore_avahi' ,['avahi'] , false, true, false, false, false, true, ['eina', 'ecore'], []],
@@ -275,7 +290,7 @@ subprojects = [
275['ecore_ipc' ,[] , false, true, false, false, false, false, ['eina'], []], 290['ecore_ipc' ,[] , false, true, false, false, false, false, ['eina'], []],
276['ecore_buffer' ,['buffer'] , true, true, true, false, false, false, ['eina'], []], 291['ecore_buffer' ,['buffer'] , true, true, true, false, false, false, ['eina'], []],
277['ector' ,[] , false, true, false, false, true, false, ['eina', 'efl'], ['draw', 'triangulator', 'freetype']], 292['ector' ,[] , false, true, false, false, true, false, ['eina', 'efl'], ['draw', 'triangulator', 'freetype']],
278['elput' ,['drm'] , false, true, false, false, true, false, ['eina', 'eldbus'], []], 293# ['elput' ,['drm'] , false, true, false, false, true, false, ['eina', 'eldbus'], []],
279['ecore_drm2' ,['drm'] , false, true, false, false, false, false, ['ecore'], ['libdrm']], 294['ecore_drm2' ,['drm'] , false, true, false, false, false, false, ['ecore'], ['libdrm']],
280['ecore_cocoa' ,['cocoa'] , false, true, false, false, false, false, ['eina'], []], 295['ecore_cocoa' ,['cocoa'] , false, true, false, false, false, false, ['eina'], []],
281['evas' ,[] , true, true, false, false, true, true, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']], 296['evas' ,[] , true, true, false, false, true, true, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']],
@@ -292,8 +307,8 @@ subprojects = [
292['emotion' ,[] , true, true, false, false, true, true, ['eina', 'efl', 'eo'], []], 307['emotion' ,[] , true, true, false, false, true, true, ['eina', 'efl', 'eo'], []],
293['ethumb' ,[] , true, true, true, false, false, false, ['eina', 'efl', 'eo'], []], 308['ethumb' ,[] , true, true, true, false, false, false, ['eina', 'efl', 'eo'], []],
294['ethumb_client' ,[] , false, true, true, false, false, true, ['eina', 'efl', 'eo', 'ethumb'], []], 309['ethumb_client' ,[] , false, true, true, false, false, true, ['eina', 'efl', 'eo', 'ethumb'], []],
295['elocation' ,[] , false, true, false, false, false, false, ['ecore', 'eldbus'], []], 310 ['elocation' ,[] , false, true, false, false, false, false, ['ecore', 'eldbus'], []],
296['elementary' ,[] , true, true, true, true, true, true, ['eina', 'efl', 'eo', 'eet', 'evas', 'ecore', 'ecore-evas', 'ecore-file', 'ecore-input', 'edje', 'ethumb-client', 'emotion', 'ecore-imf', 'ecore-con', 'eldbus', 'efreet', 'efreet-mime', 'efreet-trash', 'eio', 'elocation'], ['atspi']], 311['elementary' ,[] , true, true, true, true, true, true, ['eina', 'efl', 'eo', 'eet', 'evas', 'ecore', 'ecore-evas', 'ecore-file', 'ecore-input', 'edje', 'ethumb-client', 'emotion', 'ecore-imf', 'ecore-con', 'efreet', 'efreet-mime', 'efreet-trash', 'eio', 'elocation'], ['atspi']],
297['efl_wl' ,['wl'] , false, true, true, false, false, false, ['evas', 'ecore'], []], 312['efl_wl' ,['wl'] , false, true, true, false, false, false, ['evas', 'ecore'], []],
298['elua' ,['elua'] , false, true, true, false, true, false, ['eina', 'luajit'], []], 313['elua' ,['elua'] , false, true, true, false, true, false, ['eina', 'luajit'], []],
299['ecore_wayland' ,['wl-deprecated'] , false, true, false, false, false, false, ['eina'], []], 314['ecore_wayland' ,['wl-deprecated'] , false, true, false, false, false, false, ['eina'], []],
@@ -322,7 +337,7 @@ foreach package : subprojects
322 '-DPACKAGE_DATA_DIR="'+ join_paths(dir_data, package_name)+'"', 337 '-DPACKAGE_DATA_DIR="'+ join_paths(dir_data, package_name)+'"',
323 '-DNEED_RUN_IN_TREE=1', 338 '-DNEED_RUN_IN_TREE=1',
324 ] 339 ]
325 automatic_pkgfile = true 340 automatic_pkgfile = (sys_windows == false)
326 if package[1].length() == 0 or get_option(package[1][0]) 341 if package[1].length() == 0 or get_option(package[1][0])
327 config_h.set('HAVE_'+package_name.to_upper().underscorify(), '1') 342 config_h.set('HAVE_'+package_name.to_upper().underscorify(), '1')
328 343
@@ -367,13 +382,13 @@ foreach package : subprojects
367 if (package[4]) 382 if (package[4])
368 subdir(join_paths(local_bin, package_name)) 383 subdir(join_paths(local_bin, package_name))
369 endif 384 endif
370 if (package[5]) 385 if (package[5] and not sys_windows)
371 subdir(join_paths(local_benchmark, package_name)) 386 subdir(join_paths(local_benchmark, package_name))
372 endif 387 endif
373 if (package[6]) 388 if (package[6] and not sys_windows)
374 test_dirs += [package_name] 389 test_dirs += [package_name]
375 endif 390 endif
376 if (package[7]) 391 if (package[7] and not sys_windows)
377 example_dirs += [package_name] 392 example_dirs += [package_name]
378 endif 393 endif
379 394
@@ -490,8 +505,11 @@ configure_file(
490) 505)
491 506
492subdir(join_paths('systemd-services')) 507subdir(join_paths('systemd-services'))
508if get_option('dbus')
493subdir(join_paths('dbus-services')) 509subdir(join_paths('dbus-services'))
510endif
494 511
512if sys_windows == false
495#output the three new efl-* .pc files 513#output the three new efl-* .pc files
496efl_20_pc_files = [ 514efl_20_pc_files = [
497 ['efl-ui', ['elementary']], 515 ['efl-ui', ['elementary']],
@@ -508,3 +526,4 @@ foreach pc_file : efl_20_pc_files
508 requires : libraries, 526 requires : libraries,
509 ) 527 )
510endforeach 528endforeach
529endif
diff --git a/meson_options.txt b/meson_options.txt
index 42a7397..03be470 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -64,6 +64,11 @@ option('eeze',
64 description : 'Device abstraction (udev wrapper) in efl' 64 description : 'Device abstraction (udev wrapper) in efl'
65) 65)
66 66
67option('dbus',
68 type : 'boolean',
69 value : true
70)
71
67option('opengl', 72option('opengl',
68 type : 'combo', 73 type : 'combo',
69 choices : ['full', 'es-egl', 'none'], 74 choices : ['full', 'es-egl', 'none'],
@@ -107,6 +112,24 @@ option('crypto',
107 description : 'Which SSL Crypto library used in efl' 112 description : 'Which SSL Crypto library used in efl'
108) 113)
109 114
115option('openssl_dir',
116 type : 'string',
117 value : '',
118 description : 'Which SSL Crypto library used in efl'
119)
120
121option('regex_include_dir',
122 type : 'string',
123 value : '',
124 description : 'Which SSL Crypto library used in efl'
125)
126
127option('regex_dir',
128 type : 'string',
129 value : '',
130 description : 'Which SSL Crypto library used in efl'
131)
132
110option('glib', 133option('glib',
111 type : 'boolean', 134 type : 'boolean',
112 value : true, 135 value : true,
diff --git a/src/bin/edje/meson.build b/src/bin/edje/meson.build
index 0fff2cd..8c2a0d9 100644
--- a/src/bin/edje/meson.build
+++ b/src/bin/edje/meson.build
@@ -92,8 +92,12 @@ if meson.is_cross_build()
92 edje_codegen_path = _edje_codegen.path() 92 edje_codegen_path = _edje_codegen.path()
93 edje_codegen_exe = [_edje_codegen] 93 edje_codegen_exe = [_edje_codegen]
94else 94else
95 env = find_program('env', native: true) 95 if sys_windows == true
96 edje_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', edje_codegen.full_path()] 96 edje_codegen_exe = [edje_codegen.full_path()]
97 else
98 env = find_program('env', native: true)
99 edje_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', edje_codegen.full_path()]
100 endif
97endif 101endif
98 102
99edje_pick = executable('edje_pick', 103edje_pick = executable('edje_pick',
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build
index 502573c..3f89aa1 100644
--- a/src/bin/elementary/meson.build
+++ b/src/bin/elementary/meson.build
@@ -223,6 +223,8 @@ elementary_codegen = executable('elementary_codegen',
223 223
224if meson.is_cross_build() 224if meson.is_cross_build()
225 elementary_codegen_exe = [find_program('elementary_codegen', native: true)] 225 elementary_codegen_exe = [find_program('elementary_codegen', native: true)]
226elif sys_windows
227 elementary_codegen_exe = [elementary_codegen.full_path()]
226else 228else
227 env = find_program('env', native: true) 229 env = find_program('env', native: true)
228 elementary_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', elementary_codegen.full_path()] 230 elementary_codegen_exe = [env, 'EFL_RUN_IN_TREE=1', elementary_codegen.full_path()]
@@ -249,6 +251,8 @@ if meson.is_cross_build()
249 _elm_prefs_cc = find_program('elm_prefs_cc', native: true) 251 _elm_prefs_cc = find_program('elm_prefs_cc', native: true)
250 elm_prefs_cc_path = _elm_prefs_cc.path() 252 elm_prefs_cc_path = _elm_prefs_cc.path()
251 elm_prefs_cc_exe = [_elm_prefs_cc] 253 elm_prefs_cc_exe = [_elm_prefs_cc]
254elif sys_windows
255 elm_prefs_cc_exe = [elm_prefs_cc.full_path()]
252else 256else
253 env = find_program('env', native: true) 257 env = find_program('env', native: true)
254 elm_prefs_cc_exe = [env, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()] 258 elm_prefs_cc_exe = [env, 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path()]
diff --git a/src/bindings/cxx/meson.build b/src/bindings/cxx/meson.build
index e62b7a2..d1ca59c 100644
--- a/src/bindings/cxx/meson.build
+++ b/src/bindings/cxx/meson.build
@@ -10,7 +10,7 @@ cxx_sublibs = [
10 ['Eio', false, false, true, []], 10 ['Eio', false, false, true, []],
11 ['Evas', false, true, true, []], 11 ['Evas', false, true, true, []],
12 ['Edje', false, false, true, []], 12 ['Edje', false, false, true, []],
13 ['Eldbus', true, true, true, []], 13# ['Eldbus', true, true, true, []],
14 ['Elementary', true, true, true, []] 14 ['Elementary', true, true, true, []]
15] 15]
16 16
@@ -116,7 +116,7 @@ foreach lib : cxx_sublibs
116 install_headers(cxx_header_src, 116 install_headers(cxx_header_src,
117 subdir: package_version_name, 117 subdir: package_version_name,
118 ) 118 )
119 119if sys_windows == false
120 pkgconfig.generate( 120 pkgconfig.generate(
121 name : '-'.join(package_name.split('_')) + '-cxx', 121 name : '-'.join(package_name.split('_')) + '-cxx',
122 description : lib[0]+' cxx bindings', 122 description : lib[0]+' cxx bindings',
@@ -126,4 +126,5 @@ foreach lib : cxx_sublibs
126 requires : growing_deps + [package_name], 126 requires : growing_deps + [package_name],
127 ) 127 )
128 growing_deps += package_name + '-cxx' 128 growing_deps += package_name + '-cxx'
129endif
129endforeach 130endforeach
diff --git a/src/lib/ecore/meson.build b/src/lib/ecore/meson.build
index 5e777ae..19bda71 100644
--- a/src/lib/ecore/meson.build
+++ b/src/lib/ecore/meson.build
@@ -194,7 +194,7 @@ endif
194 194
195ecore_lib = library('ecore', 195ecore_lib = library('ecore',
196 ecore_src, pub_eo_file_target, 196 ecore_src, pub_eo_file_target,
197 dependencies: ecore_pub_deps + [m, buildsystem, ecore_deps], 197 dependencies: ecore_pub_deps + [buildsystem, ecore_deps],
198 include_directories : config_dir + [include_directories(join_paths('..','..'))], 198 include_directories : config_dir + [include_directories(join_paths('..','..'))],
199 install: true, 199 install: true,
200 c_args : package_c_args, 200 c_args : package_c_args,
diff --git a/src/lib/ecore_con/meson.build b/src/lib/ecore_con/meson.build
index fc53d32..e08f451 100644
--- a/src/lib/ecore_con/meson.build
+++ b/src/lib/ecore_con/meson.build
@@ -177,7 +177,9 @@ else
177 'efl_net_control-connman.c', 177 'efl_net_control-connman.c',
178 'efl_net_session-connman.c' 178 'efl_net_session-connman.c'
179 ] 179 ]
180 ecore_con_deps += eldbus 180 if get_option('dbus')
181 ecore_con_deps += eldbus
182 endif
181endif 183endif
182 184
183ecore_con_deps += crypto 185ecore_con_deps += crypto
diff --git a/src/lib/eet/meson.build b/src/lib/eet/meson.build
index 8ebdb48..fe8d273 100644
--- a/src/lib/eet/meson.build
+++ b/src/lib/eet/meson.build
@@ -1,4 +1,4 @@
1eet_deps = [crypto, jpeg, rg_etc, m] 1eet_deps = [crypto, jpeg, rg_etc]
2eet_pub_deps = [eina, emile, efl] 2eet_pub_deps = [eina, emile, efl]
3 3
4eet_header_src = [ 4eet_header_src = [
diff --git a/src/lib/efl/meson.build b/src/lib/efl/meson.build
index d5805be..781c9d5 100644
--- a/src/lib/efl/meson.build
+++ b/src/lib/efl/meson.build
@@ -13,7 +13,7 @@ package_header_subdirs += 'interfaces'
13 13
14efl_lib = library('efl', 14efl_lib = library('efl',
15 efl_src, pub_eo_file_target, 15 efl_src, pub_eo_file_target,
16 dependencies: [eina, eo, m], 16 dependencies: [eina, eo],
17 install: true, 17 install: true,
18 version : meson.project_version() 18 version : meson.project_version()
19) 19)
diff --git a/src/lib/efreet/meson.build b/src/lib/efreet/meson.build
index ea4ef9a..ec09d82 100644
--- a/src/lib/efreet/meson.build
+++ b/src/lib/efreet/meson.build
@@ -81,6 +81,7 @@ install_headers(efreet_header_src,
81 install_dir : dir_package_include, 81 install_dir : dir_package_include,
82) 82)
83 83
84if sys_windows == false
84pkgconfig.generate(efreet_mime_lib, 85pkgconfig.generate(efreet_mime_lib,
85 name : 'efreet-mime', 86 name : 'efreet-mime',
86 subdirs : package_version_name, 87 subdirs : package_version_name,
@@ -94,3 +95,4 @@ pkgconfig.generate(efreet_trash_lib,
94 version : version_major + '.' + version_minor + '.' + version_micro, 95 version : version_major + '.' + version_minor + '.' + version_micro,
95 libraries : [tmp_deps] + tmp_pub_deps, 96 libraries : [tmp_deps] + tmp_pub_deps,
96) 97)
98endif
diff --git a/src/lib/eina/eina_counter.c b/src/lib/eina/eina_counter.c
index 08c6583..c45d378 100644
--- a/src/lib/eina/eina_counter.c
+++ b/src/lib/eina/eina_counter.c
@@ -20,6 +20,8 @@
20# include "config.h" 20# include "config.h"
21#endif 21#endif
22 22
23#ifdef HAVE_CYGWIN
24
23#include <stdio.h> 25#include <stdio.h>
24#include <stdlib.h> 26#include <stdlib.h>
25#include <string.h> 27#include <string.h>
@@ -228,3 +230,5 @@ eina_counter_dump(Eina_Counter *counter)
228 230
229 return result; 231 return result;
230} 232}
233
234#endif
diff --git a/src/lib/eina/eina_inline_private.h b/src/lib/eina/eina_inline_private.h
index 846081d..965bfa2 100644
--- a/src/lib/eina/eina_inline_private.h
+++ b/src/lib/eina/eina_inline_private.h
@@ -19,6 +19,8 @@
19#ifndef EINA_INLINE_PRIVATE_H_ 19#ifndef EINA_INLINE_PRIVATE_H_
20# define EINA_INLINE_PRIVATE_H_ 20# define EINA_INLINE_PRIVATE_H_
21 21
22#ifdef HAVE_CYGWIN
23
22# include <time.h> 24# include <time.h>
23# include <sys/time.h> 25# include <sys/time.h>
24 26
@@ -75,3 +77,4 @@ _eina_time_delta(Eina_Nano_Time *start, Eina_Nano_Time *end)
75} 77}
76 78
77#endif 79#endif
80#endif
diff --git a/src/lib/eina/eina_inline_slice.x b/src/lib/eina/eina_inline_slice.x
index e11a468..da10ddd 100644
--- a/src/lib/eina/eina_inline_slice.x
+++ b/src/lib/eina/eina_inline_slice.x
@@ -86,7 +86,7 @@ eina_rw_slice_copy(const Eina_Rw_Slice dst, const Eina_Slice src)
86} 86}
87 87
88static inline Eina_Slice 88static inline Eina_Slice
89eina_slice_seek(const Eina_Slice slice, ssize_t offset, int whence) 89eina_slice_seek(const Eina_Slice slice, ptrdiff_t offset, int whence)
90{ 90{
91 Eina_Slice ret; 91 Eina_Slice ret;
92 92
@@ -110,7 +110,7 @@ eina_slice_seek(const Eina_Slice slice, ssize_t offset, int whence)
110} 110}
111 111
112static inline Eina_Rw_Slice 112static inline Eina_Rw_Slice
113eina_rw_slice_seek(const Eina_Rw_Slice rw_slice, ssize_t offset, int whence) 113eina_rw_slice_seek(const Eina_Rw_Slice rw_slice, ptrdiff_t offset, int whence)
114{ 114{
115 Eina_Rw_Slice ret; 115 Eina_Rw_Slice ret;
116 116
diff --git a/src/lib/eina/eina_slice.h b/src/lib/eina/eina_slice.h
index a354eaa..46b2675 100644
--- a/src/lib/eina/eina_slice.h
+++ b/src/lib/eina/eina_slice.h
@@ -214,7 +214,7 @@ static inline Eina_Rw_Slice eina_rw_slice_copy(const Eina_Rw_Slice dest, const E
214 * 214 *
215 * @since 1.19 215 * @since 1.19
216 */ 216 */
217static inline Eina_Slice eina_slice_seek(const Eina_Slice slice, ssize_t offset, int whence); 217static inline Eina_Slice eina_slice_seek(const Eina_Slice slice, ptrdiff_t offset, int whence);
218 218
219/** 219/**
220 * @brief Seek within a read-write slice, similar to fseek(). 220 * @brief Seek within a read-write slice, similar to fseek().
@@ -232,7 +232,7 @@ static inline Eina_Slice eina_slice_seek(const Eina_Slice slice, ssize_t offset,
232 * 232 *
233 * @since 1.19 233 * @since 1.19
234 */ 234 */
235static inline Eina_Rw_Slice eina_rw_slice_seek(const Eina_Rw_Slice rw_slice, ssize_t offset, int whence); 235static inline Eina_Rw_Slice eina_rw_slice_seek(const Eina_Rw_Slice rw_slice, ptrdiff_t offset, int whence);
236 236
237 237
238/** 238/**
diff --git a/src/lib/eina/eina_types.h b/src/lib/eina/eina_types.h
index c049baf..954fb78 100644
--- a/src/lib/eina/eina_types.h
+++ b/src/lib/eina/eina_types.h
@@ -261,7 +261,7 @@
261# define EINA_UNUSED 261# define EINA_UNUSED
262# define EINA_WARN_UNUSED_RESULT 262# define EINA_WARN_UNUSED_RESULT
263# define EINA_ARG_NONNULL(...) 263# define EINA_ARG_NONNULL(...)
264# if _MSC_VER >= 1300 264# if defined (_MSC_VER) && !defined (__clang__) && _MSC_VER >= 1300
265# define EINA_DEPRECATED __declspec(deprecated) 265# define EINA_DEPRECATED __declspec(deprecated)
266# else 266# else
267# define EINA_DEPRECATED 267# define EINA_DEPRECATED
diff --git a/src/lib/eina/meson.build b/src/lib/eina/meson.build
index 7866323..a5a3501 100644
--- a/src/lib/eina/meson.build
+++ b/src/lib/eina/meson.build
@@ -1,4 +1,8 @@
1eina_deps = [dl] 1if sys_windows == false
2 eina_deps = [dl]
3else
4 eina_deps = []
5endif
2eina_pub_deps = [thread_dep] 6eina_pub_deps = [thread_dep]
3 7
4if sys_windows == true 8if sys_windows == true
@@ -365,7 +369,7 @@ execinfo = cc.find_library('execinfo', required: false)
365 369
366eina_lib = library('eina', sources, 370eina_lib = library('eina', sources,
367 include_directories : config_dir, 371 include_directories : config_dir,
368 dependencies: [m, rt, dl, execinfo, iconv, eina_deps, thread_dep, eina_mem_pools, evil], 372 dependencies: [execinfo, iconv, eina_deps, thread_dep, eina_mem_pools, evil],
369 install: true, 373 install: true,
370 version : meson.project_version() 374 version : meson.project_version()
371) 375)
@@ -387,9 +391,11 @@ install_headers(public_sub_headers,
387 391
388automatic_pkgfile = false 392automatic_pkgfile = false
389 393
394if sys_windows == false
390pkgconfig.generate(eina_lib, 395pkgconfig.generate(eina_lib,
391 name : 'eina', 396 name : 'eina',
392 subdirs : ['eina-'+version_major, 'efl-'+version_major, join_paths('eina-'+version_major, 'eina')], 397 subdirs : ['eina-'+version_major, 'efl-'+version_major, join_paths('eina-'+version_major, 'eina')],
393 version : version_major + '.' + version_minor + '.' + version_micro, 398 version : version_major + '.' + version_minor + '.' + version_micro,
394 libraries : eina_pub_deps, 399 libraries : eina_pub_deps,
395) 400)
401endif
diff --git a/src/lib/emile/meson.build b/src/lib/emile/meson.build
index 4ae888c..9c928f5 100644
--- a/src/lib/emile/meson.build
+++ b/src/lib/emile/meson.build
@@ -1,4 +1,4 @@
1emile_deps = [jpeg, crypto, dependency('zlib')] 1emile_deps = [jpeg, crypto, dependency('zlib', required: false)]
2emile_pub_deps = [eina, efl] 2emile_pub_deps = [eina, efl]
3 3
4emile_headers = [ 4emile_headers = [
@@ -26,7 +26,7 @@ endif
26emile_lib = library('emile', 26emile_lib = library('emile',
27 emile_src, 27 emile_src,
28 include_directories: config_dir, 28 include_directories: config_dir,
29 dependencies: emile_pub_deps + emile_deps + [lz4, rg_etc, m], 29 dependencies: emile_pub_deps + emile_deps + [lz4, rg_etc],
30 install: true, 30 install: true,
31 version : meson.project_version() 31 version : meson.project_version()
32) 32)
diff --git a/src/lib/eo/meson.build b/src/lib/eo/meson.build
index abc563f..a7d2bad 100644
--- a/src/lib/eo/meson.build
+++ b/src/lib/eo/meson.build
@@ -45,14 +45,14 @@ eolian_include_directories += ['-I', meson.current_source_dir()]
45 45
46eo_lib = library('eo', 46eo_lib = library('eo',
47 eo_src, pub_eo_file_target, 47 eo_src, pub_eo_file_target,
48 dependencies: [eina, valgrind, dl, execinfo], 48 dependencies: [eina, valgrind, execinfo],
49 install: true, 49 install: true,
50 version : meson.project_version() 50 version : meson.project_version()
51) 51)
52 52
53eo_lib_dbg = library('eo_dbg', 53eo_lib_dbg = library('eo_dbg',
54 eo_src, pub_eo_file_target, 54 eo_src, pub_eo_file_target,
55 dependencies: [eina, valgrind, dl, execinfo], 55 dependencies: [eina, valgrind, execinfo],
56 install: true, 56 install: true,
57 c_args : '-DEO_DEBUG', 57 c_args : '-DEO_DEBUG',
58 version : meson.project_version() 58 version : meson.project_version()
diff --git a/src/lib/evas/filters/meson.build b/src/lib/evas/filters/meson.build
index 78c896d..fbee4f4 100644
--- a/src/lib/evas/filters/meson.build
+++ b/src/lib/evas/filters/meson.build
@@ -25,8 +25,10 @@ if get_option('lua-interpreter') == 'lua'
25 break 25 break
26 endif 26 endif
27 endforeach 27 endforeach
28else 28elif sys_windows == false
29 lua = dependency(get_option('lua-interpreter')) 29 lua = dependency(get_option('lua-interpreter'))
30else
31 lua = declare_dependency()
30endif 32endif
31 33
32if sys_osx == true and get_option('lua-interpreter') == 'luajit' 34if sys_osx == true and get_option('lua-interpreter') == 'luajit'
diff --git a/src/lib/evas/meson.build b/src/lib/evas/meson.build
index d220238..d19455c 100644
--- a/src/lib/evas/meson.build
+++ b/src/lib/evas/meson.build
@@ -4,11 +4,19 @@
4# as 'source :', later everything is build as libevas.so. 4# as 'source :', later everything is build as libevas.so.
5# 5#
6 6
7png = dependency('libpng') 7png = dependency('libpng', required: false)
8tiff = dependency('libtiff-4', required: get_option('evas-loaders-disabler').contains('tiff') == false) 8tiff = dependency('libtiff-4', required: get_option('evas-loaders-disabler').contains('tiff') == false)
9giflib = cc.find_library('gif') 9if get_option('evas-loaders-disabler').contains('gif')
10 giflib = declare_dependency()
11else
12 giflib = cc.find_library('gif')
13endif
10webp = dependency('libwebp', required: get_option('evas-loaders-disabler').contains('webp') == false) 14webp = dependency('libwebp', required: get_option('evas-loaders-disabler').contains('webp') == false)
11 15
16if get_option('evas-loaders-disabler').contains('generic')
17 rt = declare_dependency()
18endif
19
12evas_image_loaders_file = [ 20evas_image_loaders_file = [
13 ['bmp', 'shared', []], 21 ['bmp', 'shared', []],
14 ['eet', 'static', [eet]], 22 ['eet', 'static', [eet]],
@@ -143,7 +151,9 @@ evas_src_opt = [ ]
143 151
144evas_src += vg_common_src 152evas_src += vg_common_src
145 153
146evas_deps += dependency('freetype2') 154if sys_windows == false
155 evas_deps += dependency('freetype2')
156endif
147 157
148if (get_option('fontconfig')) 158if (get_option('fontconfig'))
149 config_h.set('HAVE_FONTCONFIG', '1') 159 config_h.set('HAVE_FONTCONFIG', '1')
diff --git a/src/lib/evil/evil_fcntl.h b/src/lib/evil/evil_fcntl.h
index a545696..8f97c88 100644
--- a/src/lib/evil/evil_fcntl.h
+++ b/src/lib/evil/evil_fcntl.h
@@ -75,7 +75,9 @@ struct flock
75 short int l_whence; /**< type of l_start */ 75 short int l_whence; /**< type of l_start */
76 off_t l_start; /**< starting offset */ 76 off_t l_start; /**< starting offset */
77 off_t l_len; /**< 0 means end of the file */ 77 off_t l_len; /**< 0 means end of the file */
78#ifdef HAVE_CYGWIN
78 pid_t l_pid; /**< lock owner */ 79 pid_t l_pid; /**< lock owner */
80#endif
79}; 81};
80 82
81 83
diff --git a/src/lib/evil/evil_private.h b/src/lib/evil/evil_private.h
index d87ac75..3769d64 100644
--- a/src/lib/evil/evil_private.h
+++ b/src/lib/evil/evil_private.h
@@ -17,6 +17,10 @@ extern "C" {
17# endif 17# endif
18#endif 18#endif
19 19
20#ifndef EVIL_UNUSED
21#define EVIL_UNUSED
22#endif
23
20#ifndef WIN32_LEAN_AND_MEAN 24#ifndef WIN32_LEAN_AND_MEAN
21# define WIN32_LEAN_AND_MEAN 25# define WIN32_LEAN_AND_MEAN
22#endif 26#endif
diff --git a/src/lib/evil/evil_stdio.h b/src/lib/evil/evil_stdio.h
index 7b61a33..7032c4a 100644
--- a/src/lib/evil/evil_stdio.h
+++ b/src/lib/evil/evil_stdio.h
@@ -43,6 +43,10 @@
43 */ 43 */
44EAPI int evil_rename(const char *src, const char *dst); 44EAPI int evil_rename(const char *src, const char *dst);
45 45
46#ifndef HAVE_CYGWIN
47typedef int mode_t;
48#endif
49
46/** 50/**
47 * @brief Wrap the _mkdir() function on Windows. 51 * @brief Wrap the _mkdir() function on Windows.
48 * 52 *