summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--meson.build51
-rw-r--r--src/lib/efl/interfaces/meson.build12
-rw-r--r--src/lib/efl/meson.build7
-rw-r--r--src/lib/evas/canvas/meson.build6
-rw-r--r--src/lib/evas/gesture/meson.build6
-rw-r--r--src/lib/evas/meson.build3
-rw-r--r--src/lib/evas_goal/meson.build11
7 files changed, 73 insertions, 23 deletions
diff --git a/meson.build b/meson.build
index 0a8870e..a80b80d 100644
--- a/meson.build
+++ b/meson.build
@@ -58,6 +58,7 @@ dir_lib = join_paths(dir_prefix, get_option('libdir'))
58 58
59#local paths 59#local paths
60local_lib = join_paths('src', 'lib') 60local_lib = join_paths('src', 'lib')
61local_bindings = join_paths('src', 'bindings')
61local_bin = join_paths('src', 'bin') 62local_bin = join_paths('src', 'bin')
62local_module = join_paths('src', 'modules') 63local_module = join_paths('src', 'modules')
63local_tests = join_paths('src', 'tests') 64local_tests = join_paths('src', 'tests')
@@ -65,18 +66,15 @@ local_benchmark = join_paths('src', 'benchmarks')
65local_examples = join_paths('src', 'examples') 66local_examples = join_paths('src', 'examples')
66local_scripts = join_paths('src', 'scripts') 67local_scripts = join_paths('src', 'scripts')
67 68
68add_global_arguments('-DHAVE_CONFIG_H=1', language: 'c') 69foreach lang : ['c', 'objc', 'cpp']
69add_global_arguments('-D_GNU_SOURCE=1', language: 'c') 70 add_global_arguments('-DHAVE_CONFIG_H=1', language: lang)
70add_global_arguments('-fPIC', language: 'c') 71 add_global_arguments('-D_GNU_SOURCE=1', language: lang)
71 72 add_global_arguments('-DEFL_EO_API_SUPPORT=1', language: lang)
72add_global_arguments('-DEFL_EO_API_SUPPORT=1', language: 'c') 73 add_global_arguments('-DEFL_BETA_API_SUPPORT=1', language: lang)
73add_global_arguments('-DEFL_BETA_API_SUPPORT=1', language: 'c') 74 add_global_arguments('-DNEED_RUN_IN_TREE=1', language: lang)
74add_global_arguments('-DNEED_RUN_IN_TREE=1', language: 'c') 75 add_global_arguments('-DEFL_BUILD=1', language: lang)
75add_global_arguments('-DEFL_BUILD=1', language: 'c') 76 add_global_arguments('-DELM_INTERNAL_API_ARGESFSDFEFC=1', language: lang)
76add_global_arguments('-DEFL_BUILD=1', language: 'objc') 77endforeach
77add_global_arguments('-DEFL_EO_API_SUPPORT=1', language: 'objc')
78add_global_arguments('-DEFL_BETA_API_SUPPORT=1', language: 'objc')
79add_global_arguments('-DELM_INTERNAL_API_ARGESFSDFEFC=1', language: 'c')
80 78
81config_h = configuration_data() 79config_h = configuration_data()
82config_h.set_quoted('MODULE_ARCH', version_name) 80config_h.set_quoted('MODULE_ARCH', version_name)
@@ -97,7 +95,6 @@ config_h.set_quoted('PACKAGE_SYSCONF_DIR', dir_sysconf)
97config_h.set_quoted('BINDIR', dir_bin) 95config_h.set_quoted('BINDIR', dir_bin)
98config_h.set_quoted('DATADIR', dir_data) 96config_h.set_quoted('DATADIR', dir_data)
99config_h.set10('EFL_HAVE_THREADS', true) 97config_h.set10('EFL_HAVE_THREADS', true)
100config_h.set('NEED_RUN_IN_TREE', '1')
101 98
102config_dir = [include_directories('.')] 99config_dir = [include_directories('.')]
103eolian_include_directories = [] 100eolian_include_directories = []
@@ -229,7 +226,20 @@ foreach package : subprojects
229 dir_package_modules = join_paths(dir_lib, package_name, 'modules') 226 dir_package_modules = join_paths(dir_lib, package_name, 'modules')
230 227
231 #ensure that we really dont copy the eo file targets from a previous library 228 #ensure that we really dont copy the eo file targets from a previous library
229 #Those are the variables that can be used to reflect the libraries speical handlings
230 # -> at the end is used to indicate where to find this variable outside of this for loop
231
232 #public eo and eot files - which probebly have to be used later for bindings
233 pub_eo_files = [] # -> package_name + '_eo_files'
234 pub_eo_types_files = [] # -> package_name + '_eot_files'
235 #All subdirs where eo files that are listed in the pub_* variables can be found
236 #For every element != '' a variable called package_name + '_' + subir + '_eot_files' and package_name + '_' + subir + '_eo_files' must exist.
237 package_eo_subdirs = [''] # -> package_name + '_eo_subdirs'
238 #All subdirs that should be included in order to include every requried header
239 package_header_subdirs = [] # -> package_name + '_include_subdirs'
240 #eo file targets, this list of targets can be used to ensure the files are created before accessed
232 pub_eo_file_target = [] 241 pub_eo_file_target = []
242 #private eo files target - never use this :)
233 priv_eo_file_target = [] 243 priv_eo_file_target = []
234 244
235 foreach static_lib : package[9] 245 foreach static_lib : package[9]
@@ -239,7 +249,11 @@ foreach package : subprojects
239 endforeach 249 endforeach
240 250
241 if (package[3]) 251 if (package[3])
242 subdir(join_paths(local_lib, package_name)) 252 subdir(join_paths(local_lib, package_name))
253 set_variable(package_name + '_eo_files', pub_eo_files)
254 set_variable(package_name + '_eot_files', pub_eo_types_files)
255 set_variable(package_name + '_header_subdirs', package_header_subdirs)
256 set_variable(package_name + '_eo_subdirs', package_eo_subdirs)
243 endif 257 endif
244 if (package[2]) 258 if (package[2])
245 subdir(join_paths(local_module, package_name)) 259 subdir(join_paths(local_module, package_name))
@@ -264,10 +278,15 @@ foreach package : subprojects
264 tmp_lib = get_variable(package_name+'_lib') 278 tmp_lib = get_variable(package_name+'_lib')
265 tmp_deps = get_variable(package_name+'_deps') 279 tmp_deps = get_variable(package_name+'_deps')
266 tmp_pub_deps = get_variable(package_name+'_pub_deps') 280 tmp_pub_deps = get_variable(package_name+'_pub_deps')
281 tmp_package_subdirs = []
282
283 foreach subdir : package_header_subdirs
284 tmp_package_subdirs += join_paths(package_version_name, subdir)
285 endforeach
267 286
268 pkgconfig.generate(tmp_lib, 287 pkgconfig.generate(tmp_lib,
269 name : '-'.join(package_name.split('_')), 288 name : '-'.join(package_name.split('_')),
270 subdirs : package_version_name, 289 subdirs : [package_version_name] + tmp_package_subdirs,
271 version : version_major + '.' + version_minor, 290 version : version_major + '.' + version_minor,
272 libraries : tmp_pub_deps, 291 libraries : tmp_pub_deps,
273 requires : package[8], 292 requires : package[8],
@@ -275,7 +294,7 @@ foreach package : subprojects
275 if package_name == 'ethumb_client' 294 if package_name == 'ethumb_client'
276 pkgconfig.generate(tmp_lib, 295 pkgconfig.generate(tmp_lib,
277 name : package_name, 296 name : package_name,
278 subdirs : package_version_name, 297 subdirs : [package_version_name] + tmp_package_subdirs,
279 version : version_major + '.' + version_minor, 298 version : version_major + '.' + version_minor,
280 libraries : tmp_pub_deps, 299 libraries : tmp_pub_deps,
281 requires : package[8], 300 requires : package[8],
diff --git a/src/lib/efl/interfaces/meson.build b/src/lib/efl/interfaces/meson.build
index cb39cff2..012bc12 100644
--- a/src/lib/efl/interfaces/meson.build
+++ b/src/lib/efl/interfaces/meson.build
@@ -119,6 +119,8 @@ foreach eo_file : pub_eo_files
119 '-gchd', '@INPUT@']) 119 '-gchd', '@INPUT@'])
120endforeach 120endforeach
121 121
122pub_eo_files += pub_legacy_eo_files
123
122pub_eo_types_files = [ 124pub_eo_types_files = [
123 'efl_gfx_types.eot', 125 'efl_gfx_types.eot',
124 'efl_ui_types.eot', 126 'efl_ui_types.eot',
@@ -140,7 +142,15 @@ foreach eo_file : pub_eo_types_files
140 '-ghd', '@INPUT@']) 142 '-ghd', '@INPUT@'])
141endforeach 143endforeach
142 144
143pub_eo_files = files(pub_eo_files + pub_legacy_eo_files + pub_eo_types_files) 145install_data(pub_eo_files + pub_legacy_eo_files + pub_eo_types_files,
146 install_dir: join_paths(eolian_include_dir, package_version_name)
147)
148
149efl_interfaces_eo_files = pub_eo_files
150efl_interfaces_eot_files = pub_eo_types_files
151
152pub_eo_files = []
153pub_eo_types_files = []
144 154
145efl_src += files([ 155efl_src += files([
146 'efl_interfaces_main.c', 156 'efl_interfaces_main.c',
diff --git a/src/lib/efl/meson.build b/src/lib/efl/meson.build
index 75acef3..cadf14b 100644
--- a/src/lib/efl/meson.build
+++ b/src/lib/efl/meson.build
@@ -9,6 +9,7 @@ efl_header_src = [
9efl_src = [] 9efl_src = []
10 10
11subdir('interfaces') 11subdir('interfaces')
12package_header_subdirs += 'interfaces'
12 13
13efl_lib = library('efl', 14efl_lib = library('efl',
14 efl_src, pub_eo_file_target, 15 efl_src, pub_eo_file_target,
@@ -24,10 +25,8 @@ efl = declare_dependency(
24 sources : pub_eo_file_target 25 sources : pub_eo_file_target
25) 26)
26 27
27install_data(pub_eo_files,
28 install_dir: join_paths(eolian_include_dir, package_version_name)
29)
30
31install_headers(efl_header_src, 28install_headers(efl_header_src,
32 install_dir : dir_package_include, 29 install_dir : dir_package_include,
33) 30)
31
32package_eo_subdirs += ['interfaces']
diff --git a/src/lib/evas/canvas/meson.build b/src/lib/evas/canvas/meson.build
index 982d8f3..811f656 100644
--- a/src/lib/evas/canvas/meson.build
+++ b/src/lib/evas/canvas/meson.build
@@ -79,6 +79,8 @@ pub_eo_files = [
79 'efl_canvas_text.eo' 79 'efl_canvas_text.eo'
80] 80]
81 81
82evas_canvas_eo_files = pub_eo_files
83
82pub_evas_eo_files += files(pub_eo_files) 84pub_evas_eo_files += files(pub_eo_files)
83 85
84foreach eo_file : pub_eo_files 86foreach eo_file : pub_eo_files
@@ -111,6 +113,8 @@ pub_eo_types_files = [
111 'efl_canvas_animation_types.eot' 113 'efl_canvas_animation_types.eot'
112] 114]
113 115
116evas_canvas_eot_files = pub_eo_types_files
117
114foreach eo_file : pub_eo_types_files 118foreach eo_file : pub_eo_types_files
115 pub_eo_file_target += custom_target('eolian_gen_' + eo_file, 119 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
116 input : eo_file, 120 input : eo_file,
@@ -217,3 +221,5 @@ evas_include_directories += include_directories('.')
217install_headers('evas_textblock_legacy.h', 221install_headers('evas_textblock_legacy.h',
218 install_dir : join_paths(dir_package_include, 'canvas'), 222 install_dir : join_paths(dir_package_include, 'canvas'),
219) 223)
224
225pub_eo_types_files = []
diff --git a/src/lib/evas/gesture/meson.build b/src/lib/evas/gesture/meson.build
index a628926..5a341f5 100644
--- a/src/lib/evas/gesture/meson.build
+++ b/src/lib/evas/gesture/meson.build
@@ -7,6 +7,8 @@ pub_eo_files = [
7 'efl_canvas_gesture_manager.eo' 7 'efl_canvas_gesture_manager.eo'
8] 8]
9 9
10evas_gesture_eo_files = pub_eo_files
11
10foreach eo_file : pub_eo_files 12foreach eo_file : pub_eo_files
11 pub_eo_file_target += custom_target('eolian_gen_' + eo_file, 13 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
12 input : eo_file, 14 input : eo_file,
@@ -65,9 +67,11 @@ endforeach
65pub_eo_types_files = [ 67pub_eo_types_files = [
66 'efl_canvas_gesture_types.eot', 68 'efl_canvas_gesture_types.eot',
67] 69]
70evas_gesture_eot_files = pub_eo_types_files
68 71
69pub_evas_eot_files += files(pub_eo_types_files) 72pub_evas_eot_files += files(pub_eo_types_files)
70 73
74
71foreach eo_file : pub_eo_types_files 75foreach eo_file : pub_eo_types_files
72 pub_eo_file_target += custom_target('eolian_gen_' + eo_file, 76 pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
73 input : eo_file, 77 input : eo_file,
@@ -91,3 +95,5 @@ evas_src += files([
91 'efl_canvas_gesture_recognizer_long_tap.c', 95 'efl_canvas_gesture_recognizer_long_tap.c',
92 'efl_canvas_gesture_manager.c', 96 'efl_canvas_gesture_manager.c',
93]) 97])
98
99pub_eo_types_files = []
diff --git a/src/lib/evas/meson.build b/src/lib/evas/meson.build
index 9c11803..2316359 100644
--- a/src/lib/evas/meson.build
+++ b/src/lib/evas/meson.build
@@ -187,3 +187,6 @@ install_headers(evas_header_src,
187) 187)
188 188
189automatic_pkgfile = false 189automatic_pkgfile = false
190pub_eo_files = []
191package_eo_subdirs += ['canvas', 'gesture']
192package_header_subdirs += ['canvas', 'gesture']
diff --git a/src/lib/evas_goal/meson.build b/src/lib/evas_goal/meson.build
index 0570068..d233520 100644
--- a/src/lib/evas_goal/meson.build
+++ b/src/lib/evas_goal/meson.build
@@ -7,9 +7,11 @@ evas_lib = library('evas',
7 version : meson.project_version() 7 version : meson.project_version()
8) 8)
9 9
10evas_pub_deps = [eina, ecore, ector, emile, evas_pre]
11
10evas = declare_dependency( 12evas = declare_dependency(
11 link_with : [evas_lib], 13 link_with : [evas_lib],
12 dependencies : [eina, ecore, ector, emile, evas_pre], 14 dependencies : evas_pub_deps,
13 include_directories : evas_include_directories 15 include_directories : evas_include_directories
14) 16)
15 17
@@ -19,11 +21,16 @@ evas_bin = declare_dependency(
19 include_directories : evas_include_directories 21 include_directories : evas_include_directories
20) 22)
21 23
24tmp_package_subdirs = []
22automatic_pkgfile = false 25automatic_pkgfile = false
23 26
27foreach subdir : evas_header_subdirs
28 tmp_package_subdirs += join_paths('evas-'+version_major, subdir)
29endforeach
30
24pkgconfig.generate(evas_lib, 31pkgconfig.generate(evas_lib,
25 name : 'evas', 32 name : 'evas',
26 subdirs : 'evas-'+version_major, 33 subdirs : ['evas-'+version_major] + tmp_package_subdirs,
27 version : version_major + '.' + version_minor, 34 version : version_major + '.' + version_minor,
28 libraries : [eina, ecore, ector, emile, dependency('luajit')], 35 libraries : [eina, ecore, ector, emile, dependency('luajit')],
29) 36)