diff options
author | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2018-08-12 15:26:29 +0200 |
---|---|---|
committer | Marcel Hollerbach <mail@marcel-hollerbach.de> | 2018-10-02 17:22:50 +0200 |
commit | 46d464e5bfc10398461a33a2256c1c58d509dd1a (patch) | |
tree | 8c1a9272c05f14033a4430bc122632461bd73608 | |
parent | 70ecf1056bb4be5a68b63044f938ccc2fe0a58c0 (diff) |
here comes meson
a new shiny buildtool that currently completes in the total of ~ 4 min..
1 min. conf time
2:30 min. build time
Where autotools takes:
1:50 min. conf time
3:40 min. build time.
meson was taken because it went quite good for enlightenment, and is a traction gaining system that is also used by other mayor projects. Additionally, the DSL that is defined my meson makes the configuration of the builds a lot easier to read.
Further informations can be gathered from the README.meson
Right now, bindings & windows support are missing.
It is highly recommented to use meson 0.48 due to optimizations in meson
that reduced the time the meson call would need.
Co-authored-by: Mike Blumenkrantz <zmike@samsung.com>
Differential Revision: https://phab.enlightenment.org/D7012
Depends on D7011
258 files changed, 9752 insertions, 0 deletions
diff --git a/README.meson b/README.meson new file mode 100644 index 0000000000..ad76faa3f7 --- /dev/null +++ b/README.meson | |||
@@ -0,0 +1,51 @@ | |||
1 | # BUILDING EFL WITH MESON | ||
2 | |||
3 | Building, testing, installing: | ||
4 | mkdir build | ||
5 | cd build | ||
6 | meson .. | ||
7 | ninja all | ||
8 | ninja test | ||
9 | sudo ninja install | ||
10 | |||
11 | In autotools there have been a few flags that are used to disable loaders. In meson the following four disbler arrays are used: | ||
12 | |||
13 | emotion-generic-loaders-disabler | ||
14 | |||
15 | emotion-loaders-disabler | ||
16 | |||
17 | ecore-imf-loaders-disabler | ||
18 | |||
19 | evas-loaders-disabler | ||
20 | |||
21 | Autotools options that are converted are: | ||
22 | |||
23 | --disable-poppler -> Disable pdf loader | ||
24 | --disable-spectre -> Disable ps loader | ||
25 | --disable-libraw -> Disable raw loader | ||
26 | --disable-librsvg -> Disable svg loader | ||
27 | --disable-xcf -> Disable xcf loader | ||
28 | --disable-xim -> Disable xim loader | ||
29 | --disable-scim -> Disable scim loader | ||
30 | --disable-ibus -> Disable ibus loader | ||
31 | --enable-xine -> Disable xine loader | ||
32 | --enable-libvlc -> Disable vlc loader | ||
33 | --disable-librsvg -> Disable svg loader | ||
34 | |||
35 | The following options are dropped as they did not affect compilation | ||
36 | --enable-lua-old | ||
37 | --enable-cancel-ok | ||
38 | --enable-debug | ||
39 | --disable-quick-launch | ||
40 | --enable-tile-rotate | ||
41 | |||
42 | The following options are merged into the pixman option | ||
43 | --enable-pixman-font | ||
44 | --enable-pixman-rect | ||
45 | --enable-pixman-line | ||
46 | --enable-pixman-poly | ||
47 | --enable-pixman-image | ||
48 | --enable-pixman-image-scale-sample | ||
49 | |||
50 | |||
51 | --disable-valgrind Is dropped, and handled due to the build profile, this can be handled with --buildtype release or plain. | ||
diff --git a/data/edje/include/meson.build b/data/edje/include/meson.build new file mode 100644 index 0000000000..943eb8a6c9 --- /dev/null +++ b/data/edje/include/meson.build | |||
@@ -0,0 +1,3 @@ | |||
1 | install_data('edje.inc', | ||
2 | install_dir : join_paths(dir_data, 'edje', 'include') | ||
3 | ) \ No newline at end of file | ||
diff --git a/data/edje/meson.build b/data/edje/meson.build new file mode 100644 index 0000000000..05f4f39a03 --- /dev/null +++ b/data/edje/meson.build | |||
@@ -0,0 +1,5 @@ | |||
1 | subdir('include') | ||
2 | |||
3 | install_data(files('edje.xml'), | ||
4 | install_dir : join_paths(dir_data, 'mime', 'packages') | ||
5 | ) | ||
diff --git a/data/elementary/config/default/meson.build b/data/elementary/config/default/meson.build new file mode 100644 index 0000000000..983eb9d8d4 --- /dev/null +++ b/data/elementary/config/default/meson.build | |||
@@ -0,0 +1,7 @@ | |||
1 | custom_target('config_'+config, | ||
2 | input: config_file, | ||
3 | output: 'base.cfg', | ||
4 | command: [eet_bin, '-i', '@OUTPUT@', 'config', '@INPUT@', '0'], | ||
5 | install: true, | ||
6 | install_dir: join_paths(dir_data, 'elementary', 'config', config), | ||
7 | ) | ||
diff --git a/data/elementary/config/meson.build b/data/elementary/config/meson.build new file mode 100644 index 0000000000..12a81ef03f --- /dev/null +++ b/data/elementary/config/meson.build | |||
@@ -0,0 +1,21 @@ | |||
1 | configs = ['default', 'mobile', 'standard'] | ||
2 | |||
3 | foreach config : configs | ||
4 | config_file = join_paths(meson.current_source_dir(), config, 'base.src.in') | ||
5 | config_icon = join_paths(meson.current_source_dir(), config, 'icon.png') | ||
6 | config_desktop = join_paths(meson.current_source_dir(), config, 'profile.desktop') | ||
7 | |||
8 | install_data([config_icon, config_desktop], | ||
9 | install_dir : join_paths(dir_data, 'elementary', 'config', config) | ||
10 | ) | ||
11 | |||
12 | subdir(config) | ||
13 | endforeach | ||
14 | |||
15 | custom_target('config_profile', | ||
16 | input: 'profile.src', | ||
17 | output: 'profile.cfg', | ||
18 | command: [eet_bin, '-i', '@OUTPUT@', 'config', '@INPUT@', '0'], | ||
19 | install: true, | ||
20 | install_dir: join_paths(dir_data, 'elementary', 'config'), | ||
21 | ) | ||
diff --git a/data/elementary/config/mobile/meson.build b/data/elementary/config/mobile/meson.build new file mode 100644 index 0000000000..c3a8a44de9 --- /dev/null +++ b/data/elementary/config/mobile/meson.build | |||
@@ -0,0 +1,7 @@ | |||
1 | custom_target('config_'+config, | ||
2 | input: config_file, | ||
3 | output: 'base.cfg', | ||
4 | command: [eet_bin, '-i', '@OUTPUT@', 'config', '@INPUT@', '0'], | ||
5 | install: true, | ||
6 | install_dir: join_paths(dir_data, 'elementary', 'config', config), | ||
7 | ) | ||
diff --git a/data/elementary/config/standard/meson.build b/data/elementary/config/standard/meson.build new file mode 100644 index 0000000000..c3a8a44de9 --- /dev/null +++ b/data/elementary/config/standard/meson.build | |||
@@ -0,0 +1,7 @@ | |||
1 | custom_target('config_'+config, | ||
2 | input: config_file, | ||
3 | output: 'base.cfg', | ||
4 | command: [eet_bin, '-i', '@OUTPUT@', 'config', '@INPUT@', '0'], | ||
5 | install: true, | ||
6 | install_dir: join_paths(dir_data, 'elementary', 'config', config), | ||
7 | ) | ||
diff --git a/data/elementary/desktop/meson.build b/data/elementary/desktop/meson.build new file mode 100644 index 0000000000..9acaa8f1fb --- /dev/null +++ b/data/elementary/desktop/meson.build | |||
@@ -0,0 +1,10 @@ | |||
1 | desktop_files = files('elementary_config.desktop', 'elementary_test.desktop') | ||
2 | elementary_icon = files('elementary.png') | ||
3 | |||
4 | install_data(desktop_files, | ||
5 | install_dir : join_paths(dir_data, 'applications') | ||
6 | ) | ||
7 | |||
8 | install_data(elementary_icon, | ||
9 | install_dir : join_paths(dir_data, 'icons', 'hicolor', '128x128', 'apps') | ||
10 | ) | ||
diff --git a/data/elementary/edje_externals/meson.build b/data/elementary/edje_externals/meson.build new file mode 100644 index 0000000000..cc24430052 --- /dev/null +++ b/data/elementary/edje_externals/meson.build | |||
@@ -0,0 +1,11 @@ | |||
1 | custom_target('edje_cc_edje_externals', | ||
2 | input : 'icons.edc', | ||
3 | output : '@BASENAME@.edj', | ||
4 | command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_cc.full_path(), '-beta', | ||
5 | '-id', join_paths(meson.current_source_dir()), | ||
6 | '-id', elm_themes_image_include, | ||
7 | '@INPUT@', '@OUTPUT@'], | ||
8 | depends : edje_cc, | ||
9 | install : true, | ||
10 | install_dir : join_paths(dir_data, 'elementary', 'edje_externals'), | ||
11 | ) | ||
diff --git a/data/elementary/meson.build b/data/elementary/meson.build new file mode 100644 index 0000000000..ed7d1e4204 --- /dev/null +++ b/data/elementary/meson.build | |||
@@ -0,0 +1,10 @@ | |||
1 | subdir('config') | ||
2 | subdir('desktop') | ||
3 | subdir('themes') | ||
4 | subdir('objects') | ||
5 | subdir('edje_externals') | ||
6 | |||
7 | install_subdir('images', | ||
8 | install_dir : join_paths(dir_data, 'elementary'), | ||
9 | exclude_files : ['Makefile.am'] | ||
10 | ) | ||
diff --git a/data/elementary/objects/meson.build b/data/elementary/objects/meson.build new file mode 100644 index 0000000000..a25a719852 --- /dev/null +++ b/data/elementary/objects/meson.build | |||
@@ -0,0 +1,42 @@ | |||
1 | edc_files = [ | ||
2 | 'test.edc', | ||
3 | 'test_external.edc', | ||
4 | 'test_focus_style.edc', | ||
5 | 'test_masking.edc', | ||
6 | 'test_tab_pager.edc', | ||
7 | 'test_tooltip.edc', | ||
8 | 'test_prefs.edc', | ||
9 | 'cursors.edc', | ||
10 | 'font_preview.edc', | ||
11 | 'multibuttonentry.edc', | ||
12 | 'multip.edc', | ||
13 | 'postit_ent.edc' | ||
14 | ] | ||
15 | |||
16 | elm_themes = [] | ||
17 | |||
18 | foreach edc_file : edc_files | ||
19 | elm_themes += custom_target('edje_cc_elm_' + edc_file, | ||
20 | input : edc_file, | ||
21 | output : '@BASENAME@.edj', | ||
22 | command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_cc.full_path(), '-beta', | ||
23 | '-sd', join_paths(meson.current_source_dir()), | ||
24 | '-id', elm_themes_image_include, | ||
25 | '-id', join_paths(meson.current_source_dir()), | ||
26 | '-fd', join_paths(meson.current_source_dir()), | ||
27 | '@INPUT@', '@OUTPUT@'], | ||
28 | depends : edje_cc, | ||
29 | install : true, | ||
30 | install_dir : join_paths(dir_data, 'elementary', 'objects'), | ||
31 | ) | ||
32 | endforeach | ||
33 | |||
34 | custom_target('prefs_compile', | ||
35 | input: 'test_prefs.epc', | ||
36 | output: 'test_prefs.epb', | ||
37 | command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', elm_prefs_cc.full_path(), | ||
38 | '@INPUT@', '@OUTPUT@'], | ||
39 | depends : elm_prefs_cc, | ||
40 | install : true, | ||
41 | install_dir : join_paths(dir_data, 'elementary', 'objects'), | ||
42 | ) | ||
diff --git a/data/elementary/themes/meson.build b/data/elementary/themes/meson.build new file mode 100644 index 0000000000..c8c8816470 --- /dev/null +++ b/data/elementary/themes/meson.build | |||
@@ -0,0 +1,37 @@ | |||
1 | edc_files = [ | ||
2 | 'default.edc', | ||
3 | ] | ||
4 | |||
5 | elm_themes = [] | ||
6 | |||
7 | elm_themes_image_include = join_paths(meson.current_source_dir(), 'img') | ||
8 | |||
9 | foreach edc_file : edc_files | ||
10 | elm_themes += custom_target('edje_cc_' + edc_file, | ||
11 | input : edc_file, | ||
12 | output : '@BASENAME@.edj', | ||
13 | command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_cc.full_path(), '-beta', | ||
14 | '-sd', join_paths(meson.current_source_dir(), 'snd'), | ||
15 | '-id', elm_themes_image_include, | ||
16 | '-id', join_paths(meson.current_source_dir(), 'fdo'), | ||
17 | '-fd', join_paths(meson.current_source_dir(), 'fnt'), | ||
18 | '@INPUT@', '@OUTPUT@'], | ||
19 | depends : edje_cc, | ||
20 | install : true, | ||
21 | install_dir : join_paths(dir_data, 'elementary', 'themes'), | ||
22 | ) | ||
23 | endforeach | ||
24 | |||
25 | install_subdir('fdo', | ||
26 | install_dir : join_paths(dir_data, 'icons', 'Enlightenment-X'), | ||
27 | strip_directory : true, | ||
28 | exclude_directories : [ | ||
29 | join_paths('status', '128-svg'), | ||
30 | join_paths('places', '16-svg'), | ||
31 | join_paths('places', '128-svg'), | ||
32 | join_paths('emblems', '96-svg'), | ||
33 | join_paths('devices', '128-svg'), | ||
34 | join_paths('categories', '128-svg'), | ||
35 | join_paths('actions', '128-svg'), | ||
36 | ] | ||
37 | ) | ||
diff --git a/data/embryo/meson.build b/data/embryo/meson.build new file mode 100644 index 0000000000..d1f049e467 --- /dev/null +++ b/data/embryo/meson.build | |||
@@ -0,0 +1,3 @@ | |||
1 | install_data('default.inc', | ||
2 | install_dir : join_paths(dir_data, 'embryo', 'include') | ||
3 | ) | ||
diff --git a/data/eo/meson.build b/data/eo/meson.build new file mode 100644 index 0000000000..8ccb578f7d --- /dev/null +++ b/data/eo/meson.build | |||
@@ -0,0 +1,13 @@ | |||
1 | install_data('eo_gdb.py', | ||
2 | install_dir : join_paths(dir_data, 'eo', 'gdb') | ||
3 | ) | ||
4 | |||
5 | configuration = configuration_data() | ||
6 | configuration.set('datadir', dir_data) | ||
7 | |||
8 | configure_file( | ||
9 | input: 'libeo-gdb.py.in', | ||
10 | output: 'libeo.so.'+meson.project_version()+'-gdb.py', | ||
11 | configuration: configuration, | ||
12 | install_dir: join_paths(dir_data, 'gdb', 'autoload', 'usr', 'lib') | ||
13 | ) | ||
diff --git a/data/ethumb/frames/meson.build b/data/ethumb/frames/meson.build new file mode 100644 index 0000000000..a696af0c41 --- /dev/null +++ b/data/ethumb/frames/meson.build | |||
@@ -0,0 +1,14 @@ | |||
1 | ethumb_frame = files('default.edc') | ||
2 | |||
3 | custom_target('edje_cc_ethumb_frame', | ||
4 | input : ethumb_frame, | ||
5 | output : '@BASENAME@.edj', | ||
6 | command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_cc.full_path(), '-beta', | ||
7 | '-sd', join_paths(meson.current_source_dir()), | ||
8 | '-id', join_paths(meson.current_source_dir()), | ||
9 | '-fd', join_paths(meson.current_source_dir()), | ||
10 | '@INPUT@', '@OUTPUT@'], | ||
11 | depends : edje_cc, | ||
12 | install : true, | ||
13 | install_dir : join_paths(dir_data, 'ethumb', 'frames'), | ||
14 | ) | ||
diff --git a/data/meson.build b/data/meson.build new file mode 100644 index 0000000000..4e1f68d406 --- /dev/null +++ b/data/meson.build | |||
@@ -0,0 +1,12 @@ | |||
1 | checkme_files = ['ecore', 'ecore_imf', 'ecore_x', 'eeze', 'efreet', 'elua', 'emotion', 'ethumb', 'ethumb_client', 'evas'] | ||
2 | foreach checkme : checkme_files | ||
3 | install_data(join_paths(checkme, 'checkme'), | ||
4 | install_dir : join_paths(dir_data, checkme) | ||
5 | ) | ||
6 | endforeach | ||
7 | |||
8 | subdir('eo') | ||
9 | subdir('edje') | ||
10 | subdir('embryo') | ||
11 | subdir(join_paths('ethumb', 'frames')) | ||
12 | subdir('elementary') | ||
diff --git a/header_checks/meson.build b/header_checks/meson.build new file mode 100644 index 0000000000..e54e17943c --- /dev/null +++ b/header_checks/meson.build | |||
@@ -0,0 +1,177 @@ | |||
1 | header_checks = [ | ||
2 | 'alloca.h', | ||
3 | 'asm/hwcap.h', | ||
4 | 'bsd/string.h', | ||
5 | 'dirent.h', | ||
6 | 'execinfo.h', | ||
7 | 'mcheck.h', | ||
8 | 'netinet/in.h', | ||
9 | 'netinet/ssl.h', | ||
10 | 'netinet/tcp.h', | ||
11 | 'netinet/udp.h', | ||
12 | 'net/if.h', | ||
13 | 'stdlib.h', | ||
14 | 'mman.h', | ||
15 | 'sys/auxv.h', | ||
16 | 'sys/inotify.h', | ||
17 | 'sys/ioctl.h', | ||
18 | 'sys/mman.h', | ||
19 | 'sys/types.h', | ||
20 | 'sys/socket.h', | ||
21 | 'sys/filio.h', | ||
22 | 'arpa/inet.h', | ||
23 | 'sys/epoll.h', | ||
24 | 'sys/un.h', | ||
25 | 'sys/wait.h', | ||
26 | 'sys/resource.h', | ||
27 | 'sys/times.h', | ||
28 | 'dirent.h', | ||
29 | 'longinfo.h', | ||
30 | 'exotic.h', | ||
31 | 'ieeefp.h', | ||
32 | 'node/uv.h', | ||
33 | 'sys/timerfd.h', | ||
34 | 'features.h', | ||
35 | 'langinfo.h', | ||
36 | 'locale.h', | ||
37 | 'uv.h', | ||
38 | 'ws2tcpip.h' | ||
39 | ] | ||
40 | |||
41 | function_checks = [ | ||
42 | # function name | headers that are needed | libraries to include | Defines that are needed | ||
43 | ['alloca', ['alloca.h']], | ||
44 | ['backtrace', ['execinfo.h']], | ||
45 | ['backtrace_symbols', ['execinfo.h']], | ||
46 | ['clock_gettime', ['time.h']], | ||
47 | ['dirfd', ['dirent.h sys/types.h']], | ||
48 | ['fchmod', ['sys/stat.h']], | ||
49 | ['fcntl', ['fcntl.h']], | ||
50 | ['fork', ['unistd.h']], | ||
51 | ['fpathconf', ['unistd.h']], | ||
52 | ['geteuid', ['unistd.h']], | ||
53 | ['getpagesize', ['unistd.h']], | ||
54 | ['getpwent', ['sys/types.h', 'pwd.h']], | ||
55 | ['getuid', ['unistd.h']], | ||
56 | ['getxattr', ['sys/types.h', 'sys/xattr.h']], | ||
57 | ['iconv', ['iconv.h']], | ||
58 | ['listxattr', ['sys/types.h', 'sys/xattr.h']], | ||
59 | ['mallinfo', ['malloc.h']], | ||
60 | ['malloc_info', ['malloc.h']], | ||
61 | ['malloc_usable_size', ['malloc.h']], | ||
62 | ['mkdirat', ['sys/stat.h']], | ||
63 | ['mmap', ['sys/mman.h']], | ||
64 | ['mtrace', ['mcheck.h']], | ||
65 | ['prctl', ['sys/prctl.h']], | ||
66 | ['realpath', ['stdlib.h']], | ||
67 | ['setxattr', ['sys/types.h', 'sys/xattr.h']], | ||
68 | ['siglongjmp', ['setjmp.h']], | ||
69 | ['strerror_r', ['string.h']], | ||
70 | ['gettimeofday', ['sys/time.h']], | ||
71 | ['execvp', ['unistd.h']], | ||
72 | ['pause', ['unistd.h']], | ||
73 | ['isfinite', ['math.h']], | ||
74 | #FIXME strlcpy is detected by meson but drops at compilation time | ||
75 | # ['strlcpy', ['string.h']], | ||
76 | ['siginfo_t', ['signal.h']], | ||
77 | ['strerror_r', ['string.h']], | ||
78 | ['pthread_getcpuclockid', ['pthread.h', 'time.h']], | ||
79 | ['timerfd_create', ['sys/timerfd.h']], | ||
80 | ['kevent', ['sys/types.h', 'sys/event.h', 'sys/time.h']], | ||
81 | #from here on we specify the dependencies | ||
82 | ['dlopen', ['dlfcn.h'], ['dl']], | ||
83 | ['dlsym', ['dlfcn.h'], ['dl']], | ||
84 | ['lround', ['math.h'], ['m']], | ||
85 | ['shm_open', ['sys/mman.h', 'sys/stat.h', 'fcntl.h'], ['rt']], | ||
86 | #from here on we specify arguments | ||
87 | ['splice', ['fcntl.h'], [], '-D_GNU_SOURCE=1'], | ||
88 | ['sched_getcpu', ['sched.h'], [], '-D_GNU_SOURCE=1'], | ||
89 | ['dladdr', ['dlfcn.h'], ['dl'], '-D_GNU_SOURCE=1'] | ||
90 | ] | ||
91 | |||
92 | strerror_r_char_p = cc.compiles('''#define _GNU_SOURCE | ||
93 | #include <string.h> | ||
94 | int func (void) | ||
95 | { | ||
96 | char error_string[256]; | ||
97 | char *ptr = strerror_r (-2, error_string, 256); | ||
98 | char c = *strerror_r (-2, error_string, 256); | ||
99 | return c != 0 && ptr != (void*) 0L; | ||
100 | } | ||
101 | ''', | ||
102 | name : 'strerror_r() returns char *') | ||
103 | |||
104 | if strerror_r_char_p | ||
105 | config_h.set('STRERROR_R_CHAR_P', '1') | ||
106 | endif | ||
107 | |||
108 | #for later use, a bunch of librarie findings | ||
109 | m = cc.find_library('m') | ||
110 | #just keep this here as required false, if it is not inplace the library rt will just be linked as NOP | ||
111 | dl = cc.find_library('dl', required: false) | ||
112 | rt = cc.find_library('rt', required: false) | ||
113 | |||
114 | thread_dep = dependency('threads') | ||
115 | |||
116 | #check for the headers | ||
117 | foreach header : header_checks | ||
118 | if cc.has_header(header) | ||
119 | config_h.set10('HAVE_'+header.underscorify().to_upper(), true) | ||
120 | endif | ||
121 | endforeach | ||
122 | |||
123 | foreach function : function_checks | ||
124 | function_name = function[0] | ||
125 | headers_to_search = function[1] | ||
126 | dependencies = [] | ||
127 | args = [] | ||
128 | |||
129 | # if there is a library, make sure they exist | ||
130 | if function.length() > 2 | ||
131 | foreach library : function[2] | ||
132 | lib = cc.find_library(library, required : false) | ||
133 | if lib.found() == true | ||
134 | dependencies += lib | ||
135 | endif | ||
136 | endforeach | ||
137 | endif | ||
138 | |||
139 | #check if there are args | ||
140 | if function.length() > 3 | ||
141 | args = function[3] | ||
142 | endif | ||
143 | |||
144 | # Only check the header if the dependencies are ready | ||
145 | foreach header : headers_to_search | ||
146 | if cc.has_header_symbol(header, function_name, | ||
147 | dependencies : dependencies, | ||
148 | args : args) | ||
149 | config_h.set10('HAVE_'+function_name.to_upper(), true) | ||
150 | endif | ||
151 | endforeach | ||
152 | endforeach | ||
153 | |||
154 | # The next checks are manually for now due to the fact that some names are not within the default pattern | ||
155 | if (cc.has_header_symbol('sys/stat.h', 'fstatat')) | ||
156 | config_h.set10('HAVE_ATFILE_SOURCE', true) | ||
157 | endif | ||
158 | |||
159 | if (cc.has_header('sys/mman.h')) | ||
160 | config_h.set10('HAVE_MMAN_H', true) | ||
161 | endif | ||
162 | |||
163 | config_h.set('VMAJ', version_major) | ||
164 | config_h.set('VMIN', version_minor) | ||
165 | config_h.set('VMIC', version_micro) | ||
166 | config_h.set('VREV', '0') | ||
167 | |||
168 | #jpeg detection ... life is a bit more complex there | ||
169 | |||
170 | jpeg = dependency('libjpeg', required: false) | ||
171 | if jpeg.found() == false | ||
172 | jpeg = cc.find_library('jpeg') | ||
173 | endif | ||
174 | |||
175 | if config_h.has('HAVE_KEVENT') | ||
176 | config_h.set('HAVE_NOTIFY_KEVENT', '1') | ||
177 | endif \ No newline at end of file | ||
diff --git a/meson.build b/meson.build new file mode 100644 index 0000000000..72c48b8486 --- /dev/null +++ b/meson.build | |||
@@ -0,0 +1,346 @@ | |||
1 | project('efl', ['c','cpp'], | ||
2 | version: '1.21.99', | ||
3 | default_options : ['buildtype=plain'], | ||
4 | meson_version : '>=0.46' | ||
5 | ) | ||
6 | |||
7 | if target_machine.system() == 'darwin' | ||
8 | add_languages('objc') | ||
9 | endif | ||
10 | |||
11 | |||
12 | clean_check = run_command('meson/clean_check.sh') | ||
13 | if clean_check.returncode() == 0 | ||
14 | error('Meson build requires a clean source tree') | ||
15 | endif | ||
16 | |||
17 | pkgconfig = import('pkgconfig') | ||
18 | |||
19 | test_env = environment() | ||
20 | test_env.set('EFL_RUN_IN_TREE', '1') | ||
21 | |||
22 | version_arr = meson.project_version().split('.') | ||
23 | |||
24 | version_major = version_arr[0] | ||
25 | version_minor = version_arr[1] | ||
26 | version_micro = version_arr[2] | ||
27 | version_name = 'v-'+version_major + '.' + version_minor | ||
28 | |||
29 | cc = meson.get_compiler('c') | ||
30 | host_os = host_machine.system() | ||
31 | |||
32 | if host_os == 'linux' | ||
33 | if cc.has_header_symbol('features.h', '__UCLIBC__') | ||
34 | host_os = 'linux-uclibc' | ||
35 | elif cc.has_header_symbol('features.h', '__dietlibc__') | ||
36 | host_os = 'linux-dietlibc' | ||
37 | else | ||
38 | host_os = 'linux-gnu' | ||
39 | endif | ||
40 | endif | ||
41 | |||
42 | #prepare a special linker args flag for binaries on macos | ||
43 | bin_linker_args = [] | ||
44 | if target_machine.system() == 'darwin' | ||
45 | bin_linker_args = ['-pagezero_size', '10000', '-image_base', '100000000'] | ||
46 | endif | ||
47 | |||
48 | module_files = [] | ||
49 | evas_loader_map = [] | ||
50 | |||
51 | #install paths | ||
52 | dir_prefix = get_option('prefix') | ||
53 | dir_sysconf = join_paths(dir_prefix, get_option('sysconfdir')) | ||
54 | dir_bin = join_paths(dir_prefix, get_option('bindir')) | ||
55 | dir_data = join_paths(dir_prefix, get_option('datadir')) | ||
56 | dir_include = join_paths(dir_prefix, get_option('includedir')) | ||
57 | dir_lib = join_paths(dir_prefix, get_option('libdir')) | ||
58 | |||
59 | #local paths | ||
60 | local_lib = join_paths('src', 'lib') | ||
61 | local_bin = join_paths('src', 'bin') | ||
62 | local_module = join_paths('src', 'modules') | ||
63 | local_tests = join_paths('src', 'tests') | ||
64 | local_benchmark = join_paths('src', 'benchmarks') | ||
65 | local_examples = join_paths('src', 'examples') | ||
66 | local_scripts = join_paths('src', 'scripts') | ||
67 | |||
68 | add_global_arguments('-DHAVE_CONFIG_H=1', language: 'c') | ||
69 | add_global_arguments('-D_GNU_SOURCE=1', language: 'c') | ||
70 | add_global_arguments('-fPIC', language: 'c') | ||
71 | |||
72 | add_global_arguments('-DEFL_EO_API_SUPPORT=1', language: 'c') | ||
73 | add_global_arguments('-DEFL_BETA_API_SUPPORT=1', language: 'c') | ||
74 | add_global_arguments('-DNEED_RUN_IN_TREE=1', language: 'c') | ||
75 | add_global_arguments('-DEFL_BUILD=1', language: 'c') | ||
76 | add_global_arguments('-DEFL_BUILD=1', language: 'objc') | ||
77 | add_global_arguments('-DEFL_EO_API_SUPPORT=1', language: 'objc') | ||
78 | add_global_arguments('-DEFL_BETA_API_SUPPORT=1', language: 'objc') | ||
79 | add_global_arguments('-DELM_INTERNAL_API_ARGESFSDFEFC=1', language: 'c') | ||
80 | |||
81 | config_h = configuration_data() | ||
82 | config_h.set_quoted('MODULE_ARCH', version_name) | ||
83 | config_h.set_quoted('PACKAGE', meson.project_name()) | ||
84 | config_h.set_quoted('PACKAGE_VERSION', meson.project_version()) | ||
85 | config_h.set_quoted('VERSION', meson.project_version()) | ||
86 | config_h.set_quoted('LOCALE_DIR', join_paths([dir_prefix, 'share/locale'])) | ||
87 | config_h.set_quoted('PACKAGE_URL', 'https://www.enlightenment.org') | ||
88 | config_h.set_quoted('PACKAGE_TARNAME', meson.project_name()) | ||
89 | config_h.set_quoted('PACKAGE_BUGREPORT', 'enlightenment-devel@lists.sourceforge.net') | ||
90 | config_h.set_quoted('PACKAGE_STRING', meson.project_name() + ' ' + meson.project_version()) | ||
91 | config_h.set_quoted('PACKAGE_NAME', meson.project_name()) | ||
92 | config_h.set_quoted('PACKAGE_BIN_DIR', dir_bin) | ||
93 | config_h.set_quoted('PACKAGE_LIB_DIR', dir_lib) | ||
94 | config_h.set_quoted('PACKAGE_SRC_DIR', meson.source_root()) | ||
95 | config_h.set_quoted('PACKAGE_BUILD_DIR', meson.current_build_dir()) | ||
96 | config_h.set_quoted('PACKAGE_SYSCONF_DIR', dir_sysconf) | ||
97 | config_h.set_quoted('BINDIR', dir_bin) | ||
98 | config_h.set_quoted('DATADIR', dir_data) | ||
99 | config_h.set10('EFL_HAVE_THREADS', true) | ||
100 | config_h.set('NEED_RUN_IN_TREE', '1') | ||
101 | |||
102 | config_dir = [include_directories('.')] | ||
103 | eolian_include_directories = [] | ||
104 | |||
105 | windows = ['windows', 'cygwin'] | ||
106 | #bsd for meson 0.46 and 0.47 | ||
107 | bsd = ['bsd', 'freebsd', 'dragonfly', 'netbsd'] | ||
108 | linux = ['linux'] | ||
109 | osx = ['darwin'] | ||
110 | |||
111 | if linux.contains(target_machine.system()) or bsd.contains(target_machine.system()) | ||
112 | sys_lib_extension = 'so' | ||
113 | sys_exe_extension = '' | ||
114 | sys_mod_extension = 'so' | ||
115 | elif windows.contains(target_machine.system()) | ||
116 | sys_lib_extension = 'dll' | ||
117 | sys_exe_extension = 'exe' | ||
118 | sys_mod_extension = 'dll' | ||
119 | elif osx.contains(target_machine.system()) | ||
120 | sys_lib_extension = 'dylib' | ||
121 | sys_exe_extension = '' | ||
122 | sys_mod_extension = 'dylib' | ||
123 | else | ||
124 | error('System '+target_machine.system()+' not known') | ||
125 | endif | ||
126 | |||
127 | if (get_option('crypto') == 'gnutls') | ||
128 | # gcrypt does not want to provide a pkg config file so we try the lib | ||
129 | crypto = [dependency('gnutls'), cc.find_library('gcrypt')] | ||
130 | config_h.set('HAVE_GNUTLS', '1') | ||
131 | elif (get_option('crypto') == 'openssl') | ||
132 | crypto = dependency('openssl') | ||
133 | config_h.set('HAVE_OPENSSL', '1') | ||
134 | endif | ||
135 | |||
136 | config_h.set_quoted('SHARED_LIB_SUFFIX', '.'+sys_lib_extension) | ||
137 | config_h.set_quoted('MOD_SUFFIX', '.'+sys_mod_extension) | ||
138 | config_h.set_quoted('EXE_SUFFIX', '.'+sys_exe_extension) | ||
139 | config_h.set('EFL_BUILD', '1') | ||
140 | |||
141 | subdir('header_checks') | ||
142 | subdir('po') | ||
143 | |||
144 | if get_option('wl') == true | ||
145 | subdir(join_paths('src', 'wayland_protocol')) | ||
146 | endif | ||
147 | |||
148 | ecore_evas_wayland_engine_include_dir = [] | ||
149 | |||
150 | subprojects = [ | ||
151 | # name | option | mod | lib | bin | bench | tests | examples | pkg-config options | name of static libs | ||
152 | ['eina' ,[] , false, true, true, true, true, true, [], []], | ||
153 | ['eolian' ,[] , false, true, true, false, true, false, ['eina'], []], | ||
154 | ['eo' ,[] , false, true, false, true, true, false, ['eina'], []], | ||
155 | ['efl' ,[] , false, true, false, false, true, false, ['eo'], []], | ||
156 | ['emile' ,[] , false, true, false, false, true, true, ['eina', 'efl'], ['lz4', 'rg_etc']], | ||
157 | ['eet' ,[] , false, true, true, false, true, true, ['eina', 'emile', 'efl'], []], | ||
158 | ['ecore' ,[] , false, true, false, false, false, false, ['eina', 'eo', 'efl'], ['buildsystem']], | ||
159 | ['eldbus' ,[] , false, true, true, false, true, true, ['eina', 'eo', 'efl'], []], | ||
160 | ['ecore' ,[] , true, false, false, false, true, true, ['eina', 'eo', 'efl'], []], #ecores modules depend on eldbus | ||
161 | ['ecore_audio' ,[] , false, true, false, false, false, false, ['eina', 'eo'], []], | ||
162 | ['ecore_avahi' ,['avahi'] , false, true, false, false, false, true, ['eina', 'ecore'], []], | ||
163 | ['ecore_con' ,[] , false, true, true, false, true, false, ['eina', 'eo', 'efl', 'ecore'], ['http-parser']], | ||
164 | ['ecore_file' ,[] , false, true, false, false, false, false, ['eina'], []], | ||
165 | ['eeze' ,['eeze'] , true, true, true, false, true, false, ['eina', 'efl'], []], | ||
166 | ['ecore_input' ,[] , false, true, false, false, false, false, ['eina', 'eo'], []], | ||
167 | ['ecore_x' ,['x11'] , false, true, false, false, false, false, ['eina', 'efl'], []], | ||
168 | ['ecore_fb' ,['fb'] , false, true, false, false, false, false, ['eina'], []], | ||
169 | ['ecore_wl2' ,['wl'] , true, true, false, false, false, false, ['eina'], ['libdrm']], | ||
170 | ['ecore_sdl' ,['sdl'] , false, true, false, false, false, false, ['eina'], []], | ||
171 | ['ecore_ipc' ,[] , false, true, false, false, false, false, ['eina'], []], | ||
172 | ['ecore_buffer' ,['buffer'] , true, true, true, false, false, false, ['eina'], []], | ||
173 | ['ector' ,[] , false, true, false, false, true, false, ['eina', 'efl'], ['draw', 'triangulator', 'freetype']], | ||
174 | ['elput' ,['drm'] , false, true, false, false, true, false, ['eina', 'eldbus'], []], | ||
175 | ['ecore_drm2' ,['drm'] , false, true, false, false, false, false, ['ecore'], ['libdrm']], | ||
176 | ['ecore_cocoa' ,['cocoa'] , false, true, false, false, false, false, ['eina'], []], | ||
177 | ['evas' ,[] , true, true, false, false, true, true, ['eina', 'efl', 'eo'], ['vg_common', 'libunibreak']], | ||
178 | ['evas_goal' ,[] , false, true, false, false, false, false, ['eina', 'efl', 'eo'], []], | ||
179 | ['ecore_input_evas' ,[] , false, true, false, false, false, false, ['eina', 'evas'], []], | ||
180 | ['ecore_evas' ,[] , true, true, true, false, false, false, ['evas', 'ector'], []], | ||
181 | ['ecore_imf' ,[] , true, true, false, false, false, false, ['eina'], []], | ||
182 | ['embryo' ,[] , false, true, true, false, false, false, ['eina', 'efl', 'eo'], []], | ||
183 | ['efreet' ,[] , false, true, false, false, true, false, ['eina', 'efl', 'eo'], []], | ||
184 | ['eio' ,[] , false, true, false, false, true, true, ['eina', 'eet'], []], | ||
185 | ['efreet' ,[] , false, false, true, false, false, false, ['eina', 'efl', 'eo'], []], | ||
186 | ['ecore_imf_evas' ,[] , false, true, false, false, false, false, ['eina', 'efl', 'eo'], []], | ||
187 | ['ephysics' ,['physics'] , false, true, false, false, false, false, ['eina', 'efl', 'eo'], []], | ||
188 | ['edje' ,[] , false, true, true, false, true, true, ['evas', 'eo', 'efl', 'luajit'], []], | ||
189 | ['emotion' ,[] , true, true, false, false, true, true, ['eina', 'efl', 'eo'], []], | ||
190 | ['ethumb' ,[] , true, true, true, false, false, false, ['eina', 'efl', 'eo'], []], | ||
191 | ['ethumb_client' ,[] , false, true, true, false, false, true, ['eina', 'efl', 'eo', 'ethumb'], []], | ||
192 | ['elocation' ,[] , false, true, false, false, false, false, ['ecore', 'eldbus'], []], | ||
193 | ['elementary' ,[] , true, true, true, false, true, false, ['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']], | ||
194 | ['efl_wl' ,['wl'] , false, true, true, false, false, false, ['evas', 'ecore'], []], | ||
195 | ['elua' ,['elua'] , false, true, true, false, true, false, ['eina', 'luajit'], []], | ||
196 | ['ecore_wayland' ,['wl-deprecated'] , false, true, false, false, false, false, ['eina'], []], | ||
197 | ['ecore_drm' ,['drm-deprecated'] , false, true, false, false, false, false, ['eina'], []], | ||
198 | ] | ||
199 | |||
200 | # We generate Efl_Config.h and config.h later, they will be available here | ||
201 | config_dir += include_directories('.') | ||
202 | |||
203 | #we have to do that first, eina modules are required by eina | ||
204 | #the other modules require theire package | ||
205 | subdir(join_paths(local_module, 'eina')) | ||
206 | |||
207 | test_dirs = [] | ||
208 | example_dirs = [] | ||
209 | tmp_empty = declare_dependency() | ||
210 | |||
211 | |||
212 | foreach package : subprojects | ||
213 | package_name = package[0] | ||
214 | package_version_name = '-'.join(package_name.split('_')) + '-' + version_major | ||
215 | package_c_args = [ | ||
216 | '-DPACKAGE_DATA_DIR="'+ join_paths(dir_data, package_name)+'"', | ||
217 | '-DNEED_RUN_IN_TREE=1' | ||
218 | ] | ||
219 | automatic_pkgfile = true | ||
220 | if package[1].length() == 0 or get_option(package[1][0]) | ||
221 | config_h.set('HAVE_'+package_name.to_upper(), '1') | ||
222 | |||
223 | dir_package_include = join_paths(dir_include, package_version_name) | ||
224 | dir_package_modules = join_paths(dir_lib, package_name, 'modules') | ||
225 | |||
226 | #ensure that we really dont copy the eo file targets from a previous library | ||
227 | pub_eo_file_target = [] | ||
228 | priv_eo_file_target = [] | ||
229 | |||
230 | foreach static_lib : package[9] | ||
231 | if get_variable(static_lib, tmp_empty) == tmp_empty | ||
232 | subdir(join_paths('src', 'static_libs', static_lib)) | ||
233 | endif | ||
234 | endforeach | ||
235 | |||
236 | if (package[3]) | ||
237 | subdir(join_paths(local_lib, package_name)) | ||
238 | endif | ||
239 | if (package[2]) | ||
240 | subdir(join_paths(local_module, package_name)) | ||
241 | endif | ||
242 | if (package[4]) | ||
243 | subdir(join_paths(local_bin, package_name)) | ||
244 | endif | ||
245 | if (package[5]) | ||
246 | subdir(join_paths(local_benchmark, package_name)) | ||
247 | endif | ||
248 | if (package[6]) | ||
249 | test_dirs += [package_name] | ||
250 | endif | ||
251 | if (package[7]) | ||
252 | example_dirs += [package_name] | ||
253 | endif | ||
254 | |||
255 | set_variable('build_'+package_name, true) | ||
256 | |||
257 | # generate automatic pc files for libraries | ||
258 | if automatic_pkgfile == true and package[3] | ||
259 | tmp_lib = get_variable(package_name+'_lib') | ||
260 | tmp_deps = get_variable(package_name+'_deps') | ||
261 | tmp_pub_deps = get_variable(package_name+'_pub_deps') | ||
262 | |||
263 | pkgconfig.generate(tmp_lib, | ||
264 | name : '-'.join(package_name.split('_')), | ||
265 | subdirs : package_version_name, | ||
266 | version : version_major + '.' + version_minor, | ||
267 | libraries : tmp_pub_deps, | ||
268 | requires : package[8], | ||
269 | ) | ||
270 | endif | ||
271 | else | ||
272 | message(package_name+' disabled!') | ||
273 | endif | ||
274 | |||
275 | endforeach | ||
276 | |||
277 | #build this later, as the debug services are depending on ecore | ||
278 | subdir(join_paths('src', 'bin', 'efl')) | ||
279 | |||
280 | subdir(join_paths('src', 'generic', 'evas')) | ||
281 | subdir(join_paths('src', 'generic', 'emotion')) | ||
282 | |||
283 | subdir(join_paths('src', 'bindings', 'luajit')) | ||
284 | subdir(join_paths('src', 'edje_external')) | ||
285 | |||
286 | |||
287 | subdir(join_paths('data')) | ||
288 | |||
289 | if get_option('build-tests') | ||
290 | check = dependency('check') | ||
291 | subdir(join_paths('src', 'tests')) | ||
292 | foreach test : test_dirs | ||
293 | subdir(join_paths(local_tests, test)) | ||
294 | endforeach | ||
295 | endif | ||
296 | |||
297 | if get_option('build-examples') | ||
298 | foreach example : example_dirs | ||
299 | subdir(join_paths(local_examples, example)) | ||
300 | endforeach | ||
301 | endif | ||
302 | |||
303 | subdir(join_paths(local_scripts)) | ||
304 | |||
305 | meson.add_install_script('meson/meson_modules.sh', module_files) | ||
306 | |||
307 | foreach evas_loader_map_inst : evas_loader_map | ||
308 | evas_loader_original = evas_loader_map_inst[0] | ||
309 | evas_loader_link_types = evas_loader_map_inst[1] | ||
310 | |||
311 | meson.add_install_script('meson/evas_loader_conf.sh', evas_loader_original, evas_loader_link_types) | ||
312 | endforeach | ||
313 | |||
314 | # | ||
315 | # Configure files | ||
316 | # | ||
317 | |||
318 | efl_config_h = configuration_data() | ||
319 | efl_config_h.set('EFL_VERSION_MAJOR', version_major) | ||
320 | efl_config_h.set('EFL_VERSION_MINOR', version_minor) | ||
321 | efl_config_h.set('EFL_VERSION_MICRO', version_micro) | ||
322 | efl_config_h.set('EFL_BUILD_ID', get_option('build-id')) | ||
323 | |||
324 | #FIXME placeholder | ||
325 | efl_config_h.set('EFL_API_EO_DEF', '#define EFL_API_EO_DEF "FIXME NOT IMPLEMENTED"') | ||
326 | efl_config_h.set('EFL_API_LEGACY_DEF', '#define EFL_API_LEGACY_DEF "FIXME NOT IMPLEMENTED"') | ||
327 | |||
328 | configure_file( | ||
329 | output: 'config.h', | ||
330 | install: false, | ||
331 | configuration: config_h | ||
332 | ) | ||
333 | |||
334 | configure_file( | ||
335 | input: join_paths('src','lib', 'efl', 'Efl_Config.h.in'), | ||
336 | output: 'Efl_Config.h', | ||
337 | install_dir : join_paths(dir_include,'efl-'+version_major), | ||
338 | configuration: efl_config_h | ||
339 | ) | ||
340 | |||
341 | configure_file( | ||
342 | input: 'elm_intro.h.in', | ||
343 | output: 'elm_intro.h', | ||
344 | configuration: config_h, | ||
345 | install_dir : join_paths(dir_include,'elementary-'+version_major) | ||
346 | ) | ||
diff --git a/meson/clean_check.sh b/meson/clean_check.sh new file mode 100644 index 0000000000..c054794048 --- /dev/null +++ b/meson/clean_check.sh | |||
@@ -0,0 +1,3 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | test -f ${MESON_SOURCE_ROOT}/configure | ||
diff --git a/meson/evas_loader_conf.sh b/meson/evas_loader_conf.sh new file mode 100755 index 0000000000..5ed40e3a2e --- /dev/null +++ b/meson/evas_loader_conf.sh | |||
@@ -0,0 +1,18 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | original_loader=$1 | ||
4 | filename="$(basename $original_loader)" | ||
5 | ext="${ext##*.}" | ||
6 | original_name="$(basename $original_loader $ext)" | ||
7 | loader_dir="$(dirname $original_loader)" | ||
8 | loader="$(basename $original_loader)" | ||
9 | loader_name="$(echo $original_name | cut -f 1 -d '.')" | ||
10 | |||
11 | if [ ${original_loader: -3} == "$ext" ] | ||
12 | then | ||
13 | mv "$DESTDIR"/"$original_loader" "$DESTDIR"/"$loader_dir"/"$original_name" | ||
14 | fi | ||
15 | |||
16 | for x in "${@:2}"; do | ||
17 | ln -sf "$DESTDIR"/"$loader_dir"/"$original_name" "$DESTDIR"/"$loader_dir"/"$loader_name"."$x" | ||
18 | done \ No newline at end of file | ||
diff --git a/meson/meson_modules.sh b/meson/meson_modules.sh new file mode 100755 index 0000000000..3398e048b5 --- /dev/null +++ b/meson/meson_modules.sh | |||
@@ -0,0 +1,8 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | for x in "$@" ; do | ||
4 | dir="$(dirname $x)" | ||
5 | filename="$(basename $x)" | ||
6 | ext="${filename##*.}" | ||
7 | mv "$DESTDIR"/"$x" "$DESTDIR"/"$dir"/module."$ext" | ||
8 | done | ||
diff --git a/meson_options.txt b/meson_options.txt new file mode 100644 index 0000000000..bb6c9aa2e0 --- /dev/null +++ b/meson_options.txt | |||
@@ -0,0 +1,311 @@ | |||
1 | option('audio', | ||
2 | type : 'boolean', | ||
3 | value : true, | ||
4 | description : 'Flag for handling audio support in efl' | ||
5 | ) | ||
6 | |||
7 | option('avahi', | ||
8 | type : 'boolean', | ||
9 | value : true, | ||
10 | description : 'Flag for handling avahi support in efl' | ||
11 | ) | ||
12 | |||
13 | option('x11', | ||
14 | type : 'boolean', | ||
15 | value : true, | ||
16 | description : 'Flag for handling x11 support in efl' | ||
17 | ) | ||
18 | |||
19 | option('fb', | ||
20 | type : 'boolean', | ||
21 | value : false, | ||
22 | description : 'Flag for handling frame buffer support in efl' | ||
23 | ) | ||
24 | |||
25 | option('sdl', | ||
26 | type : 'boolean', | ||
27 | value : false, | ||
28 | description : 'Flag for handling sdl support in efl' | ||
29 | ) | ||
30 | |||
31 | option('wl', | ||
32 | type : 'boolean', | ||
33 | value : false, | ||
34 | description : 'Flag for handling wayland support in efl' | ||
35 | ) | ||
36 | |||
37 | option('buffer', | ||
38 | type : 'boolean', | ||
39 | value : false, | ||
40 | description : 'Flag for handling buffer support in efl' | ||
41 | ) | ||
42 | |||
43 | option('drm', | ||
44 | type : 'boolean', | ||
45 | value : false, | ||
46 | description : 'Flag for handling drm support in efl' | ||
47 | ) | ||
48 | |||
49 | option('cocoa', | ||
50 | type : 'boolean', | ||
51 | value : false, | ||
52 | description : 'Flag for handling drm support in efl' | ||
53 | ) | ||
54 | |||
55 | option('physics', | ||
56 | type : 'boolean', | ||
57 | value : true, | ||
58 | description : 'Flag for handling the internal physics engine in efl' | ||
59 | ) | ||
60 | |||
61 | option('eeze', | ||
62 | type : 'boolean', | ||
63 | value : true, | ||
64 | description : 'Flag for handling the device abstraction layer in efl' | ||
65 | ) | ||
66 | |||
67 | option('opengl', | ||
68 | type : 'combo', | ||
69 | choices : ['full', 'es-egl', 'none'], | ||
70 | value : 'full', | ||
71 | description : 'build efl with a special opengl support' | ||
72 | ) | ||
73 | |||
74 | option('build-id', | ||
75 | type : 'string', | ||
76 | value : 'none', | ||
77 | description : 'The build id to attach to the efl build') | ||
78 | |||
79 | option('eina-magic-debug', | ||
80 | type : 'boolean', | ||
81 | value : true, | ||
82 | description : 'magic debug of eina structure' | ||
83 | ) | ||
84 | |||
85 | option('debug-threads', | ||
86 | type : 'boolean', | ||
87 | value : false, | ||
88 | description : 'thread debugging' | ||
89 | ) | ||
90 | |||
91 | option('build-examples', | ||
92 | type : 'boolean', | ||
93 | value : true, | ||
94 | description : 'build examples' | ||
95 | ) | ||
96 | |||
97 | option('build-tests', | ||
98 | type : 'boolean', | ||
99 | value : true, | ||
100 | description : 'build examples' | ||
101 | ) | ||
102 | |||
103 | option('crypto', | ||
104 | type : 'combo', | ||
105 | choices : ['gnutls', 'openssl'], | ||
106 | value : 'openssl' | ||
107 | ) | ||
108 | |||
109 | option('glib', | ||
110 | type : 'boolean', | ||
111 | value : true, | ||
112 | description : 'use glib or not' | ||
113 | ) | ||
114 | |||
115 | option('g-mainloop', | ||
116 | type : 'boolean', | ||
117 | value : false, | ||
118 | description : 'use glib mainloop or not' | ||
119 | ) | ||
120 | |||
121 | option('gstreamer', | ||
122 | type : 'boolean', | ||
123 | value : true, | ||
124 | description : 'use gstreamer 1.0 support' | ||
125 | ) | ||
126 | |||
127 | option('systemd', | ||
128 | type : 'boolean', | ||
129 | value : true, | ||
130 | description : 'use systemd support' | ||
131 | ) | ||
132 | |||
133 | option('pulseaudio', | ||
134 | type : 'boolean', | ||
135 | value : true, | ||
136 | description : 'pulseaudio support' | ||
137 | ) | ||
138 | |||
139 | option('network-backend', | ||
140 | type : 'combo', | ||
141 | choices : ['connman', 'none'], | ||
142 | value : 'none', | ||
143 | description : 'connman support' | ||
144 | ) | ||
145 | |||
146 | option('xpresent', | ||
147 | type : 'boolean', | ||
148 | value : false, | ||
149 | description : 'xpresent support' | ||
150 | ) | ||
151 | |||
152 | option('xgesture', | ||
153 | type : 'boolean', | ||
154 | value : false, | ||
155 | description : 'xgesture support' | ||
156 | ) | ||
157 | |||
158 | option('xinput2', | ||
159 | type : 'boolean', | ||
160 | value : true, | ||
161 | description : 'xi2 support' | ||
162 | ) | ||
163 | |||
164 | option('xinput22', | ||
165 | type : 'boolean', | ||
166 | value : false, | ||
167 | description : 'xi22 support' | ||
168 | ) | ||
169 | |||
170 | option('tslib', | ||
171 | type : 'boolean', | ||
172 | value : true, | ||
173 | description : 'tslib support' | ||
174 | ) | ||
175 | |||
176 | option('eject-path', | ||
177 | type : 'string', | ||
178 | value : 'detect', | ||
179 | description : 'path to use as eject binary, if "detect" internal eeze bins are used' | ||
180 | ) | ||
181 | |||
182 | option('mount-path', | ||
183 | type : 'string', | ||
184 | value : 'detect', | ||
185 | description : 'path to use as eject binary, if "detect" internal eeze bins are used' | ||
186 | ) | ||
187 | |||
188 | option('unmount-path', | ||
189 | type : 'string', | ||
190 | value : 'detect', | ||
191 | description : 'path to use as eject binary, if "detect" internal eeze bins are used' | ||
192 | ) | ||
193 | |||
194 | option('evas-modules', | ||
195 | type : 'combo', | ||
196 | choices : ['shared', 'static'], | ||
197 | value : 'shared', | ||
198 | description : 'how to build the evas modules' | ||
199 | ) | ||
200 | |||
201 | option('evas-loaders-disabler', | ||
202 | type : 'array', | ||
203 | description : 'add names here to disable the loaders', | ||
204 | choices : ['gst', 'pdf', 'ps', 'raw', 'svg', 'xcf', 'bmp', 'dds', 'eet', 'generic', 'gif', 'ico', 'jp2k', 'jpeg', 'pmaps', 'png', 'psd', 'tga', 'tgv', 'tiff', 'wbmp', 'webp', 'xpm'], | ||
205 | value : ['webp'] | ||
206 | ) | ||
207 | |||
208 | option('ecore-imf-loaders-disabler', | ||
209 | type : 'array', | ||
210 | description : 'add names here to disable the loaders', | ||
211 | choices : ['xim', 'ibus', 'scim'], | ||
212 | value : ['scim'] | ||
213 | ) | ||
214 | |||
215 | option('emotion-loaders-disabler', | ||
216 | type : 'array', | ||
217 | description : 'add names here to disable the loaders', | ||
218 | choices : ['gstreamer', 'gstreamer1', 'libvlc', 'xine'], | ||
219 | value : ['gstreamer', 'libvlc', 'xine'] | ||
220 | ) | ||
221 | |||
222 | option('emotion-generic-loaders-disabler', | ||
223 | type : 'array', | ||
224 | description : 'add names here to disable the loaders', | ||
225 | choices : ['vlc'], | ||
226 | value : ['vlc'] | ||
227 | ) | ||
228 | |||
229 | option('harfbuzz', | ||
230 | type : 'boolean', | ||
231 | value : false, | ||
232 | description : 'harfbuzz support' | ||
233 | ) | ||
234 | |||
235 | option('fribidi', | ||
236 | type : 'boolean', | ||
237 | value : true, | ||
238 | description : 'fribidi support' | ||
239 | ) | ||
240 | |||
241 | option('fontconfig', | ||
242 | type : 'boolean', | ||
243 | value : true, | ||
244 | description : 'fontconfig support' | ||
245 | ) | ||
246 | |||
247 | option('edje-sound-and-video', | ||
248 | type : 'boolean', | ||
249 | value : true, | ||
250 | description : 'disable sound and video for edje' | ||
251 | ) | ||
252 | |||
253 | option('pixman', | ||
254 | type : 'boolean', | ||
255 | value : false, | ||
256 | description : 'Enable pixman support in evas' | ||
257 | ) | ||
258 | |||
259 | option('hyphen', | ||
260 | type : 'boolean', | ||
261 | value : false, | ||
262 | description : 'Enable hyphen support in evas' | ||
263 | ) | ||
264 | |||
265 | option('embedded-lz4', | ||
266 | type : 'boolean', | ||
267 | value : true, | ||
268 | description : 'do not use the system lz4, but rather the embedded r131 release' | ||
269 | ) | ||
270 | |||
271 | option('libmount', | ||
272 | type : 'boolean', | ||
273 | value : true, | ||
274 | description : 'use libmount support or not' | ||
275 | ) | ||
276 | |||
277 | option('vnc-server', | ||
278 | type : 'boolean', | ||
279 | value : false, | ||
280 | description : 'use libmount support or not' | ||
281 | ) | ||
282 | |||
283 | option('v4l2', | ||
284 | type : 'boolean', | ||
285 | value : true, | ||
286 | description : 'add v4l2 support' | ||
287 | ) | ||
288 | |||
289 | option('elua', | ||
290 | type : 'boolean', | ||
291 | value : true, | ||
292 | description : 'Flag for handling elua support in efl' | ||
293 | ) | ||
294 | |||
295 | option('wl-deprecated', | ||
296 | type : 'boolean', | ||
297 | value : true, | ||
298 | description : 'Flag for handling deprecated wayland support in efl' | ||
299 | ) | ||
300 | |||
301 | option('drm-deprecated', | ||
302 | type : 'boolean', | ||
303 | value : true, | ||
304 | description : 'Flag for handling deprecated drm support in efl' | ||
305 | ) | ||
306 | |||
307 | option('nls', | ||
308 | type: 'boolean', | ||
309 | value: true, | ||
310 | description: 'enable localization: (default=true)' | ||
311 | ) | ||
diff --git a/po/meson.build b/po/meson.build new file mode 100644 index 0000000000..68a4885e41 --- /dev/null +++ b/po/meson.build | |||
@@ -0,0 +1,22 @@ | |||
1 | if get_option('nls') | ||
2 | i18n = import('i18n') | ||
3 | i18n.gettext('efl', | ||
4 | args: [ | ||
5 | '--keyword=_', | ||
6 | '--keyword=d_:1', | ||
7 | '--keyword=P_:1,2', | ||
8 | '--keyword=dP_:1,2', | ||
9 | '--keyword=N_', | ||
10 | '--keyword=NP_:1,2', | ||
11 | '--from-code=UTF-8', | ||
12 | '--foreign-user' | ||
13 | ]) | ||
14 | config_h.set('HAVE_GETTEXT', '1') | ||
15 | config_h.set('ENABLE_NLS', '1') | ||
16 | intl = cc.find_library('intl', required : false) | ||
17 | if cc.has_header('libintl.h', dependencies : intl) == false | ||
18 | error('libintl.h not found') | ||
19 | endif | ||
20 | else | ||
21 | intl = declare_dependency() | ||
22 | endif | ||
diff --git a/scripts/check_options.sh b/scripts/check_options.sh new file mode 100755 index 0000000000..d6b3c3e48f --- /dev/null +++ b/scripts/check_options.sh | |||
@@ -0,0 +1,10 @@ | |||
1 | #!/bin/bash | ||
2 | |||
3 | BUILD_DIR=`mktemp -d` | ||
4 | INSTALL_DIR=`mktemp -d` | ||
5 | |||
6 | meson $@ --prefix ${INSTALL_DIR} ${BUILD_DIR} | ||
7 | |||
8 | ninja -C ${BUILD_DIR} all | ||
9 | ninja -C ${BUILD_DIR} install | ||
10 | #ninja -C ${BUILD_DIR} test \ No newline at end of file | ||
diff --git a/scripts/create_all_options.lua b/scripts/create_all_options.lua new file mode 100644 index 0000000000..3bbc748742 --- /dev/null +++ b/scripts/create_all_options.lua | |||
@@ -0,0 +1,52 @@ | |||
1 | options = { | ||
2 | {"-Dopengl=", "full", "none", "es-egl"}, | ||
3 | {"--buildtype ", "plain", "debug", "release"}, | ||
4 | {"-Devas-modules ", "shared", "static"}, | ||
5 | } | ||
6 | |||
7 | concated_options = {} | ||
8 | |||
9 | for i,v in pairs(options) do | ||
10 | tmp_options = {} | ||
11 | |||
12 | option_name = v[1] | ||
13 | |||
14 | for i=2, #v do | ||
15 | table.insert(tmp_options, option_name..v[i]) | ||
16 | end | ||
17 | |||
18 | table.insert(concated_options, tmp_options) | ||
19 | end | ||
20 | |||
21 | function permutate(values) | ||
22 | local permutater = {table.unpack(values[1])} | ||
23 | |||
24 | if #values == 1 then | ||
25 | return {table.unpack(values[1])} | ||
26 | else | ||
27 | local result = {} | ||
28 | table.remove(values, 1) | ||
29 | local list_to_complete = permutate(values) | ||
30 | |||
31 | for k,v in pairs(list_to_complete) do | ||
32 | for k_perm,v_perm in pairs(permutater) do | ||
33 | table.insert(result, v_perm.." "..v) | ||
34 | end | ||
35 | end | ||
36 | return result | ||
37 | end | ||
38 | end | ||
39 | |||
40 | all_options = permutate(concated_options) | ||
41 | |||
42 | print("GOING TO BUILD ALOT OF EFL") | ||
43 | |||
44 | for k,v in pairs(all_options) do | ||
45 | cmd = "sh ./scripts/check_options.sh "..v.." "..arg[1] | ||
46 | exitcode = os.execute(cmd) | ||
47 | if exitcode ~= true then | ||
48 | print("command "..cmd.." failed. ") | ||
49 | print(exitcode) | ||
50 | os.exit(-1) | ||
51 | end | ||
52 | end | ||
diff --git a/src/benchmarks/eina/meson.build b/src/benchmarks/eina/meson.build new file mode 100644 index 0000000000..aa9081cef2 --- /dev/null +++ b/src/benchmarks/eina/meson.build | |||
@@ -0,0 +1,41 @@ | |||
1 | eina_bench_src = files( | ||
2 | 'eina_bench.c', | ||
3 | 'eina_bench_sort.c', | ||
4 | 'eina_bench_hash.c', | ||
5 | 'eina_bench_crc_hash.c', | ||
6 | 'eina_bench_stringshare.c', | ||
7 | 'eina_bench_convert.c', | ||
8 | 'eina_bench_mempool.c', | ||
9 | 'eina_bench_stringshare_e17.c', | ||
10 | 'eina_bench_array.c', | ||
11 | 'eina_bench_rectangle_pool.c', | ||
12 | 'ecore_list.c', | ||
13 | 'ecore_strings.c', | ||
14 | 'ecore_hash.c', | ||
15 | 'ecore_sheap.c', | ||
16 | 'evas_hash.c', | ||
17 | 'evas_list.c', | ||
18 | 'evas_mempool.c', | ||
19 | 'evas_object_list.c', | ||
20 | 'evas_stringshare.c', | ||
21 | 'eina_bench_quad.c', | ||
22 | 'eina_bench.h', | ||
23 | 'Ecore_Data.h', | ||
24 | 'Evas_Data.h', | ||
25 | 'evas_mempool.h') | ||
26 | |||
27 | city = shared_library('city', | ||
28 | sources : ['city.cc','city.h'], | ||
29 | ) | ||
30 | |||
31 | eina_bench = executable('eina_bench', | ||
32 | sources : eina_bench_src, | ||
33 | dependencies : eina, | ||
34 | c_args : ['-fPIC','-DCITYHASH_BENCH', '-DEINA_ENABLE_BENCH_E17'], | ||
35 | include_directories : config_dir, | ||
36 | link_with : city, | ||
37 | ) | ||
38 | |||
39 | benchmark('eina_bench', eina_bench, | ||
40 | timeout : 20*60 | ||
41 | ) \ No newline at end of file | ||
diff --git a/src/benchmarks/eo/meson.build b/src/benchmarks/eo/meson.build new file mode 100644 index 0000000000..2df6c71e97 --- /dev/null +++ b/src/benchmarks/eo/meson.build | |||
@@ -0,0 +1,16 @@ | |||
1 | eo_benchmark_src = [ | ||
2 | 'class_simple.c', | ||
3 | 'class_simple.h', | ||
4 | 'eo_bench.c', | ||
5 | 'eo_bench.h', | ||
6 | 'eo_bench_callbacks.c', | ||
7 | 'eo_bench_eo_do.c', | ||
8 | 'eo_bench_eo_add.c' | ||
9 | ] | ||
10 | |||
11 | eo_bench = executable('eo_bench', | ||
12 | eo_benchmark_src, | ||
13 | dependencies: [eo, eina], | ||
14 | ) | ||
15 | |||
16 | benchmark('eo', eo_bench) | ||
diff --git a/src/bin/ecore_buffer/meson.build b/src/bin/ecore_buffer/meson.build new file mode 100644 index 0000000000..86ee20a872 --- /dev/null +++ b/src/bin/ecore_buffer/meson.build | |||
@@ -0,0 +1,5 @@ | |||
1 | executable('bq_mgr', | ||
2 | ['bq_mgr_protocol.c', 'bq_mgr.c'], | ||
3 | dependencies: [ecore, ecore_buffer, ecore_buffer_deps], | ||
4 | install : true | ||
5 | ) | ||
diff --git a/src/bin/ecore_con/meson.build b/src/bin/ecore_con/meson.build new file mode 100644 index 0000000000..d8d33dcd4d --- /dev/null +++ b/src/bin/ecore_con/meson.build | |||
@@ -0,0 +1,6 @@ | |||
1 | executable('efl_net_proxy_helper', | ||
2 | 'efl_net_proxy_helper.c', | ||
3 | dependencies : [ecore_con], | ||
4 | install : true, | ||
5 | install_dir : join_paths(dir_lib, 'ecore_con', 'utils', version_name) | ||
6 | ) | ||
diff --git a/src/bin/ecore_evas/meson.build b/src/bin/ecore_evas/meson.build new file mode 100644 index 0000000000..42d74bd5ab --- /dev/null +++ b/src/bin/ecore_evas/meson.build | |||
@@ -0,0 +1,11 @@ | |||
1 | executable('ecore_evas_convert', | ||
2 | 'ecore_evas_convert.c', | ||
3 | dependencies : [eina, ecore, evas, ecore_evas], | ||
4 | install : true | ||
5 | ) | ||
6 | |||
7 | executable('eetpack', | ||
8 | 'eetpack.c', | ||
9 | dependencies : [eina, eet, evas, ecore_evas], | ||
10 | install : true | ||
11 | ) | ||
diff --git a/src/bin/edje/epp/meson.build b/src/bin/edje/epp/meson.build new file mode 100644 index 0000000000..bbe7e99a6d --- /dev/null +++ b/src/bin/edje/epp/meson.build | |||
@@ -0,0 +1,38 @@ | |||
1 | epp_src = [ | ||
2 | 'cpplib.h', | ||
3 | 'cpphash.h', | ||
4 | 'cppalloc.c', | ||
5 | 'cpperror.c', | ||
6 | 'cppexp.c', | ||
7 | 'cpphash.c', | ||
8 | 'cpplib.c', | ||
9 | 'cppmain.c' | ||
10 | ] | ||
11 | |||
12 | epp = executable('epp', | ||
13 | epp_src, | ||
14 | dependencies: eolian, | ||
15 | install: true, | ||
16 | install_dir : join_paths(dir_lib, 'edje', 'utils', version_name), | ||
17 | c_args : [ | ||
18 | package_c_args, | ||
19 | '-DHAVE_CONFIG_H', | ||
20 | '-DHAVE_STRERROR', | ||
21 | '-DFATAL_EXIT_CODE=1', | ||
22 | '-DSUCCESS_EXIT_CODE=0', | ||
23 | '-DGCC_INCLUDE_DIR="/usr/include"', | ||
24 | '-DGPLUSPLUS_INCLUDE_DIR="/usr/include"', | ||
25 | '-DTOOL_INCLUDE_DIR="/usr/bin"', | ||
26 | '-DHOST_BITS_PER_LONG=32', | ||
27 | '-DBITS_PER_UNIT=8', | ||
28 | '-DHOST_BITS_PER_INT=32', | ||
29 | '-DBITS_PER_WORD=16', | ||
30 | '-DTARGET_BELL=7', | ||
31 | '-DTARGET_BS=8', | ||
32 | '-DTARGET_FF=12', | ||
33 | '-DTARGET_NEWLINE=10', | ||
34 | '-DTARGET_CR=13', | ||
35 | '-DTARGET_TAB=9', | ||
36 | '-DTARGET_VT=11' | ||
37 | ], | ||
38 | ) | ||
diff --git a/src/bin/edje/meson.build b/src/bin/edje/meson.build new file mode 100644 index 0000000000..c7e5f397c2 --- /dev/null +++ b/src/bin/edje/meson.build | |||
@@ -0,0 +1,87 @@ | |||
1 | subdir('epp') | ||
2 | |||
3 | edje_bin_deps = [ | ||
4 | eina, eo, efl, m, | ||
5 | luajit, eet, evas, | ||
6 | ecore_file, ecore_input, | ||
7 | ecore_imf, ecore_imf_evas, | ||
8 | embryo, efreet, eio, | ||
9 | edje, ecore_evas | ||
10 | ] | ||
11 | |||
12 | edje_cc_src = [ | ||
13 | 'edje_multisense_convert.h', | ||
14 | 'edje_cc.h', | ||
15 | 'edje_cc.c', | ||
16 | 'edje_cc_out.c', | ||
17 | 'edje_cc_parse.c', | ||
18 | 'edje_cc_mem.c', | ||
19 | 'edje_cc_handlers.c', | ||
20 | 'edje_cc_sources.c', | ||
21 | 'edje_cc_script.c', | ||
22 | 'edje_multisense_convert.c' | ||
23 | ] | ||
24 | |||
25 | edje_cc = executable('edje_cc', | ||
26 | edje_cc_src, | ||
27 | dependencies: [edje_bin_deps, eet, ecore_evas, ecore_file], | ||
28 | install: true, | ||
29 | c_args : package_c_args, | ||
30 | link_args : bin_linker_args | ||
31 | ) | ||
32 | |||
33 | edje_decc_src = [ | ||
34 | 'edje_decc.c', | ||
35 | 'edje_decc.h', | ||
36 | 'edje_cc_mem.c', | ||
37 | 'edje_cc_sources.c', | ||
38 | ] | ||
39 | |||
40 | edje_decc = executable('edje_decc', | ||
41 | edje_decc_src, | ||
42 | dependencies: [edje_bin_deps, eet, ecore_file, ecore_evas], | ||
43 | install: true, | ||
44 | c_args : package_c_args, | ||
45 | ) | ||
46 | |||
47 | edje_player = executable('edje_player', | ||
48 | 'edje_player.c', | ||
49 | dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas], | ||
50 | install: true, | ||
51 | c_args : package_c_args, | ||
52 | ) | ||
53 | |||
54 | edje_inspector = executable('edje_inspector', | ||
55 | 'edje_inspector.c', | ||
56 | dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas], | ||
57 | install: true, | ||
58 | c_args : package_c_args, | ||
59 | ) | ||
60 | |||
61 | edje_external_inspector = executable('edje_external_inspector', | ||
62 | 'edje_external_inspector.c', | ||
63 | dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas], | ||
64 | install: true, | ||
65 | c_args : package_c_args, | ||
66 | ) | ||
67 | |||
68 | edje_codegen = executable('edje_codegen', | ||
69 | 'edje_codegen.c', | ||
70 | dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas], | ||
71 | install: true, | ||
72 | c_args : package_c_args, | ||
73 | ) | ||
74 | |||
75 | edje_pick = executable('edje_pick', | ||
76 | 'edje_pick.c', | ||
77 | dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas], | ||
78 | install: true, | ||
79 | c_args : package_c_args, | ||
80 | ) | ||
81 | |||
82 | edje_watch = executable('edje_watch', | ||
83 | 'edje_watch.c', | ||
84 | dependencies: [edje_bin_deps, eet, ecore, eio, ecore_evas], | ||
85 | install: true, | ||
86 | c_args : package_c_args, | ||
87 | ) | ||
diff --git a/src/bin/eet/meson.build b/src/bin/eet/meson.build new file mode 100644 index 0000000000..bde68b6ef6 --- /dev/null +++ b/src/bin/eet/meson.build | |||
@@ -0,0 +1,10 @@ | |||
1 | eet_bin = executable('eet', | ||
2 | 'eet_main.c', | ||
3 | dependencies: [eet], | ||
4 | install : true | ||
5 | ) | ||
6 | |||
7 | install_data(['diffeet','vieet'], | ||
8 | install_mode: 'rwxr--r--', | ||
9 | install_dir : dir_bin | ||
10 | ) | ||
diff --git a/src/bin/eeze/meson.build b/src/bin/eeze/meson.build new file mode 100644 index 0000000000..2bb4370bdd --- /dev/null +++ b/src/bin/eeze/meson.build | |||
@@ -0,0 +1,10 @@ | |||
1 | eeze_bins = ['disk_ls', 'mount', 'scanner', 'scanner_monitor', 'umount'] | ||
2 | |||
3 | foreach eeze_bin : eeze_bins | ||
4 | src_file = join_paths('eeze_'+eeze_bin, 'eeze_'+eeze_bin+'.c') | ||
5 | tmp = executable('eeze_'+eeze_bin, src_file, | ||
6 | dependencies: [ecore, eeze, ecore_con, ecore_file, eet], | ||
7 | install: true, | ||
8 | ) | ||
9 | set_variable('eeze_'+eeze_bin, tmp) | ||
10 | endforeach | ||
diff --git a/src/bin/efl/meson.build b/src/bin/efl/meson.build new file mode 100644 index 0000000000..d65d22c6f5 --- /dev/null +++ b/src/bin/efl/meson.build | |||
@@ -0,0 +1,10 @@ | |||
1 | executable('efl_debug', | ||
2 | 'efl_debug.c', | ||
3 | dependencies: [eina, ecore], | ||
4 | install: true, | ||
5 | ) | ||
6 | executable('efl_debugd', | ||
7 | 'efl_debugd.c', | ||
8 | dependencies: [eina, ecore, ecore_con], | ||
9 | install: true, | ||
10 | ) | ||
diff --git a/src/bin/efl_wl/meson.build b/src/bin/efl_wl/meson.build new file mode 100644 index 0000000000..5f0d655cb0 --- /dev/null +++ b/src/bin/efl_wl/meson.build | |||
@@ -0,0 +1,11 @@ | |||
1 | executable('efl_wl_test', | ||
2 | 'efl_wl_test.c', | ||
3 | include_directories : config_dir, | ||
4 | dependencies: [efl_wl, elementary] | ||
5 | ) | ||
6 | |||
7 | executable('efl_wl_test_stack', | ||
8 | 'efl_wl_test_stack.c', | ||
9 | include_directories : config_dir, | ||
10 | dependencies: [efl_wl, elementary] | ||
11 | ) | ||
diff --git a/src/bin/efreet/meson.build b/src/bin/efreet/meson.build new file mode 100644 index 0000000000..4c7bf5efb5 --- /dev/null +++ b/src/bin/efreet/meson.build | |||
@@ -0,0 +1,41 @@ | |||
1 | efreetd_src = [ | ||
2 | 'efreetd.c', | ||
3 | 'efreetd.h', | ||
4 | 'efreetd_ipc.h', | ||
5 | 'efreetd_ipc.c', | ||
6 | 'efreetd_cache.h', | ||
7 | 'efreetd_cache.c' | ||
8 | ] | ||
9 | |||
10 | config_h.set('STRICT_SPEC', '1') | ||
11 | |||
12 | efreetd = executable('efreetd', | ||
13 | efreetd_src, | ||
14 | dependencies: [efreet, ecore, ecore_ipc, ecore_file, eio], | ||
15 | install: true, | ||
16 | c_args : package_c_args, | ||
17 | ) | ||
18 | |||
19 | efreet_desktop_cache_create = executable('efreet_desktop_cache_create', | ||
20 | 'efreet_desktop_cache_create.c', | ||
21 | dependencies: [efreet, ecore, eet, ecore_file], | ||
22 | install: true, | ||
23 | install_dir : join_paths(dir_lib, 'efreet', version_name), | ||
24 | c_args : package_c_args, | ||
25 | ) | ||
26 | |||
27 | efreet_icon_cache_create = executable('efreet_icon_cache_create', | ||
28 | 'efreet_icon_cache_create.c', | ||
29 | dependencies: [efreet, ecore, eet, ecore_file], | ||
30 | install: true, | ||
31 | install_dir : join_paths(dir_lib, 'efreet', version_name), | ||
32 | c_args : package_c_args, | ||
33 | ) | ||
34 | |||
35 | efreet_mime_cache_create = executable('efreet_mime_cache_create', | ||
36 | 'efreet_mime_cache_create.c', | ||
37 | dependencies: [efreet, ecore, eet, ecore_file], | ||
38 | install: true, | ||
39 | install_dir : join_paths(dir_lib, 'efreet', version_name), | ||
40 | c_args : package_c_args, | ||
41 | ) | ||
diff --git a/src/bin/eina/eina_btlog/meson.build b/src/bin/eina/eina_btlog/meson.build new file mode 100644 index 0000000000..3d56f9cfbf --- /dev/null +++ b/src/bin/eina/eina_btlog/meson.build | |||
@@ -0,0 +1,5 @@ | |||
1 | executable('eina_btlog', | ||
2 | 'eina_btlog.c', | ||
3 | dependencies: eina, | ||
4 | install: true, | ||
5 | ) | ||
diff --git a/src/bin/eina/eina_modinfo/meson.build b/src/bin/eina/eina_modinfo/meson.build new file mode 100644 index 0000000000..a57dc6fc42 --- /dev/null +++ b/src/bin/eina/eina_modinfo/meson.build | |||
@@ -0,0 +1,5 @@ | |||
1 | executable('eina_modinfo', | ||
2 | 'eina_modinfo.c', | ||
3 | dependencies: eina, | ||
4 | install: true, | ||
5 | ) | ||
diff --git a/src/bin/eina/meson.build b/src/bin/eina/meson.build new file mode 100644 index 0000000000..7c5f64b950 --- /dev/null +++ b/src/bin/eina/meson.build | |||
@@ -0,0 +1,2 @@ | |||
1 | subdir('eina_btlog') | ||
2 | subdir('eina_modinfo') | ||
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 @@ | |||
1 | eldbus_codegen_src = [ | ||
2 | 'codegen.h', | ||
3 | 'utils.c', | ||
4 | 'parser.c', | ||
5 | 'dbus.c', | ||
6 | 'source_client.c', | ||
7 | 'client.c' | ||
8 | ] | ||
9 | executable('eldbus-codegen', | ||
10 | eldbus_codegen_src, | ||
11 | dependencies: [eldbus, ecore], | ||
12 | install: true, | ||
13 | ) | ||
diff --git a/src/bin/elementary/meson.build b/src/bin/elementary/meson.build new file mode 100644 index 0000000000..58f82c1925 --- /dev/null +++ b/src/bin/elementary/meson.build | |||
@@ -0,0 +1,228 @@ | |||
1 | elementary_test_src = [ | ||
2 | 'test.c', | ||
3 | 'test_explode.c', | ||
4 | 'test_explode.h', | ||
5 | 'test_3d.c', | ||
6 | 'test_access.c', | ||
7 | 'test_actionslider.c', | ||
8 | 'test_anim.c', | ||
9 | 'test_bg.c', | ||
10 | 'test_box.c', | ||
11 | 'test_bubble.c', | ||
12 | 'test_button.c', | ||
13 | 'test_ui_button.c', | ||
14 | 'test_calendar.c', | ||
15 | 'test_check.c', | ||
16 | 'test_clock.c', | ||
17 | 'test_cnp.c', | ||
18 | 'test_code.c', | ||
19 | 'test_colorselector.c', | ||
20 | 'test_colorclass.c', | ||
21 | 'test_combobox.c', | ||
22 | 'test_config.c', | ||
23 | 'test_conform.c', | ||
24 | 'test_conform_indicator.c', | ||
25 | 'test_ctxpopup.c', | ||
26 | 'test_cursor.c', | ||
27 | 'test_datetime.c', | ||
28 | 'test_dayselector.c', | ||
29 | 'test_disable.c', | ||
30 | 'test_diskselector.c', | ||
31 | 'test_dnd.c', | ||
32 | 'test_efl_anim_alpha.c', | ||
33 | 'test_efl_anim_rotate.c', | ||
34 | 'test_efl_anim_scale.c', | ||
35 | 'test_efl_anim_translate.c', | ||
36 | 'test_efl_anim_group_parallel.c', | ||
37 | 'test_efl_anim_group_sequential.c', | ||
38 | 'test_efl_anim_event_anim.c', | ||
39 | 'test_efl_anim_pause.c', | ||
40 | 'test_efl_anim_repeat.c', | ||
41 | 'test_efl_anim_start_delay.c', | ||
42 | 'test_efl_anim_interpolator.c', | ||
43 | 'test_eio.c', | ||
44 | 'test_entry.c', | ||
45 | 'test_entry_anchor.c', | ||
46 | 'test_entry_anchor2.c', | ||
47 | 'test_events.c', | ||
48 | 'test_evas_mask.c', | ||
49 | 'test_evas_map.c', | ||
50 | 'test_efl_gfx_map.c', | ||
51 | 'test_evas_snapshot.c', | ||
52 | 'test_external.c', | ||
53 | 'test_fileselector_button.c', | ||
54 | 'test_fileselector.c', | ||
55 | 'test_fileselector_entry.c', | ||
56 | 'test_flip.c', | ||
57 | 'test_flip_page.c', | ||
58 | 'test_flip_page_eo.c', | ||
59 | 'test_flipselector.c', | ||
60 | 'test_floating.c', | ||
61 | 'test_focus.c', | ||
62 | 'test_focus_custom_chain.c', | ||
63 | 'test_focus_policy.c', | ||
64 | 'test_focus_style.c', | ||
65 | 'test_gengrid.c', | ||
66 | 'test_genlist.c', | ||
67 | 'test_gesture_layer.c', | ||
68 | 'test_gesture_layer2.c', | ||
69 | 'test_gesture_layer3.c', | ||
70 | 'test_gfx_filters.c', | ||
71 | 'test_glview_simple.c', | ||
72 | 'test_glview.c', | ||
73 | 'test_glview_manygears.c', | ||
74 | 'test_grid.c', | ||
75 | 'test_ui_table_static.c', | ||
76 | 'test_ui_stack.c', | ||
77 | 'test_hover.c', | ||
78 | 'test_hoversel.c', | ||
79 | 'test_icon.c', | ||
80 | 'test_icon_desktops.c', | ||
81 | 'test_icon_animated.c', | ||
82 | 'test_image.c', | ||
83 | 'test_index.c', | ||
84 | 'test_inwin.c', | ||
85 | 'test_label.c', | ||
86 | 'test_launcher.c', | ||
87 | 'test_layout.c', | ||
88 | 'test_list.c', | ||
89 | 'test_map.c', | ||
90 | 'test_main_menu.c', | ||
91 | 'test_menu.c', | ||
92 | 'test_multi.c', | ||
93 | 'test_multibuttonentry.c', | ||
94 | 'test_naviframe.c', | ||
95 | 'test_naviframe_complex.c', | ||
96 | 'test_notify.c', | ||
97 | 'test_nstate.c', | ||
98 | 'test_panel.c', | ||
99 | 'test_panes.c', | ||
100 | 'test_ui_panes.c', | ||
101 | 'test_part_bg.c', | ||
102 | 'test_part_shadow.c', | ||
103 | 'test_photo.c', | ||
104 | 'test_photocam.c', | ||
105 | 'test_popup.c', | ||
106 | 'test_prefs.c', | ||
107 | 'test_progressbar.c', | ||
108 | 'test_ui_progressbar.c', | ||
109 | 'test_radio.c', | ||
110 | 'test_scaling.c', | ||
111 | 'test_scroller.c', | ||
112 | 'test_ui_scroller.c', | ||
113 | 'test_segment_control.c', | ||
114 | 'test_separator.c', | ||
115 | 'test_slider.c', | ||
116 | 'test_ui_slider.c', | ||
117 | 'test_ui_slider_interval.c', | ||
118 | 'test_ui_spin.c', | ||
119 | 'test_ui_spin_button.c', | ||
120 | 'test_ui_datepicker.c', | ||
121 | 'test_ui_timepicker.c', | ||
122 | 'test_ui_tags.c', | ||
123 | 'test_slideshow.c', | ||
124 | 'test_spinner.c', | ||
125 | 'test_store.c', | ||
126 | 'test_sys_notify.c', | ||
127 | 'test_systray.c', | ||
128 | 'test_table.c', | ||
129 | 'test_thumb.c', | ||
130 | 'test_toolbar.c', | ||
131 | 'test_tooltip.c', | ||
132 | 'test_transit.c', | ||
133 | 'test_transit_bezier.c', | ||
134 | 'test_ui_box.c', | ||
135 | 'test_ui_clock.c', | ||
136 | 'test_ui_table.c', | ||
137 | 'test_ui_popup.c', | ||
138 | 'test_ui_textpath.c', | ||
139 | 'test_video.c', | ||
140 | 'test_weather.c', | ||
141 | 'test_web.c', | ||
142 | 'test_win_inline.c', | ||
143 | 'test_win_keygrab.c', | ||
144 | 'test_win_socket.c', | ||
145 | 'test_win_plug.c', | ||
146 | 'test_win_state.c', | ||
147 | 'test_win_wm_rotation.c', | ||
148 | 'test_win_dialog.c', | ||
149 | 'test_win_modal.c', | ||
150 | 'test_efl_ui_text.c', | ||
151 | 'test_win_stack.c', | ||
152 | 'test_win_indicator.c', | ||
153 | 'test_gesture_framework.c', | ||
154 | 'test_ui_tab_pager.c', | ||
155 | 'test.h' | ||
156 | ] | ||
157 | |||
158 | elementary_test = executable('elementary_test', | ||
159 | elementary_test_src, | ||
160 | dependencies: [elementary] + elementary_deps + elementary_pub_deps, | ||
161 | install: true, | ||
162 | c_args : package_c_args + [ | ||
163 | '-Delementary_test_BIN_DIR="'+dir_bin+'"', | ||
164 | '-Delementary_test_LIB_DIR="'+dir_lib+'"', | ||
165 | '-Delementary_test_DATA_DIR="'+join_paths(dir_data,'elementary')+'"' | ||
166 | ] | ||
167 | ) | ||
168 | |||
169 | elementary_config_src = [ | ||
170 | 'config.c' | ||
171 | ] | ||
172 | |||
173 | elementary_config = executable('elementary_config', | ||
174 | elementary_config_src, | ||
175 | dependencies: [elementary] + elementary_deps + elementary_pub_deps, | ||
176 | install: true, | ||
177 | c_args : package_c_args, | ||
178 | ) | ||
179 | |||
180 | elementary_quicklaunch_src = [ | ||
181 | 'quicklaunch.c' | ||
182 | ] | ||
183 | |||
184 | elementary_quicklaunch = executable('elementary_quicklaunch', | ||
185 | elementary_quicklaunch_src, | ||
186 | dependencies: [elementary] + elementary_deps + elementary_pub_deps, | ||
187 | install: true, | ||
188 | c_args : package_c_args, | ||
189 | ) | ||
190 | |||
191 | elementary_codegen_src = [ | ||
192 | 'elementary_codegen.c' | ||
193 | ] | ||
194 | |||
195 | elementary_codegen = executable('elementary_codegen', | ||
196 | elementary_codegen_src, | ||
197 | dependencies: [elementary] + elementary_deps + elementary_pub_deps, | ||
198 | install: true, | ||
199 | c_args : package_c_args, | ||
200 | ) | ||
201 | |||
202 | elm_prefs_cc_src = [ | ||
203 | 'elm_prefs_cc.h', | ||
204 | 'elm_prefs_cc.c', | ||
205 | 'elm_prefs_cc_mem.c', | ||
206 | 'elm_prefs_cc_out.c', | ||
207 | 'elm_prefs_cc_parse.c', | ||
208 | 'elm_prefs_cc_handlers.c' | ||
209 | |||
210 | ] | ||
211 | |||
212 | elm_prefs_cc = executable('elm_prefs_cc', | ||
213 | elm_prefs_cc_src, | ||
214 | dependencies: [elementary] + elementary_deps + elementary_pub_deps, | ||
215 | install: true, | ||
216 | c_args : package_c_args, | ||
217 | ) | ||
218 | |||
219 | elementary_run_src = [ | ||
220 | 'run.c' | ||
221 | ] | ||
222 | |||
223 | elementary_run = executable('elementary_run', | ||
224 | elementary_run_src, | ||
225 | dependencies: [elementary] + elementary_deps + elementary_pub_deps, | ||
226 | install: true, | ||
227 | c_args : package_c_args, | ||
228 | ) | ||
diff --git a/src/bin/elua/meson.build b/src/bin/elua/meson.build new file mode 100644 index 0000000000..3a4908d754 --- /dev/null +++ b/src/bin/elua/meson.build | |||
@@ -0,0 +1,5 @@ | |||
1 | executable('elua', | ||
2 | 'main.c', | ||
3 | dependencies: [eina, ecore, elua, intl], | ||
4 | install: true, | ||
5 | ) | ||
diff --git a/src/bin/embryo/meson.build b/src/bin/embryo/meson.build new file mode 100644 index 0000000000..1e8e3e3582 --- /dev/null +++ b/src/bin/embryo/meson.build | |||
@@ -0,0 +1,24 @@ | |||
1 | embryo_cc_src = [ | ||
2 | 'embryo_cc_amx.h', | ||
3 | 'embryo_cc_osdefs.h', | ||
4 | 'embryo_cc_sc.h', | ||
5 | 'embryo_cc_sc1.c', | ||
6 | 'embryo_cc_sc2.c', | ||
7 | 'embryo_cc_sc3.c', | ||
8 | 'embryo_cc_sc4.c', | ||
9 | 'embryo_cc_sc5.c', | ||
10 | 'embryo_cc_sc6.c', | ||
11 | 'embryo_cc_sc7.c', | ||
12 | 'embryo_cc_scexpand.c', | ||
13 | 'embryo_cc_sclist.c', | ||
14 | 'embryo_cc_scvars.c', | ||
15 | 'embryo_cc_prefix.c', | ||
16 | 'embryo_cc_prefix.h' | ||
17 | ] | ||
18 | |||
19 | embryo_cc = executable('embryo_cc', | ||
20 | embryo_cc_src, | ||
21 | dependencies: [embryo, m, buildsystem], | ||
22 | install: true, | ||
23 | c_args : package_c_args, | ||
24 | ) | ||
diff --git a/src/bin/eolian/meson.build b/src/bin/eolian/meson.build new file mode 100644 index 0000000000..2104676f3e --- /dev/null +++ b/src/bin/eolian/meson.build | |||
@@ -0,0 +1,19 @@ | |||
1 | eolian_gen_src = [ | ||
2 | 'main.c', | ||
3 | 'main.h', | ||
4 | 'types.c', | ||
5 | 'types.h', | ||
6 | 'headers.c', | ||
7 | 'headers.h', | ||
8 | 'sources.c', | ||
9 | 'sources.h', | ||
10 | 'docs.c', | ||
11 | 'docs.h' | ||
12 | ] | ||
13 | |||
14 | eolian_gen = executable('eolian_gen', | ||
15 | eolian_gen_src, | ||
16 | dependencies: eolian, | ||
17 | install: true, | ||
18 | c_args : package_c_args, | ||
19 | ) | ||
diff --git a/src/bin/ethumb/meson.build b/src/bin/ethumb/meson.build new file mode 100644 index 0000000000..5e89aa3e9d --- /dev/null +++ b/src/bin/ethumb/meson.build | |||
@@ -0,0 +1,6 @@ | |||
1 | ethumb_bin = executable('ethumb', | ||
2 | 'ethumb.c', | ||
3 | dependencies: [ecore, ethumb], | ||
4 | install: true, | ||
5 | c_args : package_c_args, | ||
6 | ) | ||
diff --git a/src/bin/ethumb_client/meson.build b/src/bin/ethumb_client/meson.build new file mode 100644 index 0000000000..243e5699af --- /dev/null +++ b/src/bin/ethumb_client/meson.build | |||
@@ -0,0 +1,24 @@ | |||
1 | ethumbd = executable('ethumbd', | ||
2 | 'ethumbd.c', | ||
3 | install: true, | ||
4 | dependencies : [ecore, ethumb, ethumb_client, ecore, eldbus], | ||
5 | include_directories : config_dir, | ||
6 | c_args : package_c_args, | ||
7 | ) | ||
8 | |||
9 | ethumbd_client = executable('ethumbd_client', | ||
10 | 'ethumbd_client.c', | ||
11 | install: true, | ||
12 | dependencies : [ecore, ethumb, ethumb_client, ecore], | ||
13 | include_directories : config_dir, | ||
14 | c_args : package_c_args, | ||
15 | ) | ||
16 | |||
17 | ethumbd_slave = executable('ethumbd_slave', | ||
18 | 'ethumbd_slave.c', | ||
19 | install: true, | ||
20 | install_dir : join_paths(dir_lib, 'ethumb_client', 'utils', version_name), | ||
21 | dependencies : [ecore, ethumb, ethumb_client, ecore], | ||
22 | include_directories : config_dir, | ||
23 | c_args : package_c_args, | ||
24 | ) | ||
diff --git a/src/bindings/luajit/meson.build b/src/bindings/luajit/meson.build new file mode 100644 index 0000000000..a1dd6463ea --- /dev/null +++ b/src/bindings/luajit/meson.build | |||
@@ -0,0 +1,7 @@ | |||
1 | install_subdir('eina', | ||
2 | install_dir : join_paths(dir_data, 'elua', 'modules') | ||
3 | ) | ||
4 | |||
5 | install_data(files(['eo.lua', 'eolian.lua']), | ||
6 | install_dir : join_paths(dir_data, 'elua', 'modules') | ||
7 | ) | ||
diff --git a/src/edje_external/elementary/meson.build b/src/edje_external/elementary/meson.build new file mode 100644 index 0000000000..383ab77d8b --- /dev/null +++ b/src/edje_external/elementary/meson.build | |||
@@ -0,0 +1,50 @@ | |||
1 | edje_external_elementary = [ | ||
2 | 'private.h', | ||
3 | 'elm.c', | ||
4 | 'elm_actionslider.c', | ||
5 | 'elm_bg.c', | ||
6 | 'elm_bubble.c', | ||
7 | 'elm_button.c', | ||
8 | 'elm_calendar.c', | ||
9 | 'elm_check.c', | ||
10 | 'elm_clock.c', | ||
11 | 'elm_combobox.c', | ||
12 | 'elm_entry.c', | ||
13 | 'elm_fileselector.c', | ||
14 | 'elm_fileselector_button.c', | ||
15 | 'elm_fileselector_entry.c', | ||
16 | 'elm_frame.c', | ||
17 | 'elm_gengrid.c', | ||
18 | 'elm_genlist.c', | ||
19 | 'elm_hoversel.c', | ||
20 | 'elm_icon.c', | ||
21 | 'elm_index.c', | ||
22 | 'elm_label.c', | ||
23 | 'elm_list.c', | ||
24 | 'elm_map.c', | ||
25 | 'elm_multibuttonentry.c', | ||
26 | 'elm_naviframe.c', | ||
27 | 'elm_notify.c', | ||
28 | 'elm_panes.c', | ||
29 | 'elm_photocam.c', | ||
30 | 'elm_progressbar.c', | ||
31 | 'elm_radio.c', | ||
32 | 'elm_scroller.c', | ||
33 | 'elm_segment_control.c', | ||
34 | 'elm_slider.c', | ||
35 | 'elm_slideshow.c', | ||
36 | 'elm_spinner.c', | ||
37 | 'elm_thumb.c', | ||
38 | 'elm_toolbar.c', | ||
39 | 'elm_video.c', | ||
40 | 'elm_web.c' | ||
41 | ] | ||
42 | |||
43 | ecore_systemd_mod = shared_module('elementary', | ||
44 | edje_external_elementary, | ||
45 | dependencies: [edje, elementary, elementary_deps], | ||
46 | install: true, | ||
47 | install_dir: mod_install_dir, | ||
48 | c_args : elm_package_c_args, | ||
49 | ) | ||
50 | module_files += join_paths(mod_install_dir, 'libelementary.' + sys_mod_extension) | ||
diff --git a/src/edje_external/emotion/meson.build b/src/edje_external/emotion/meson.build new file mode 100644 index 0000000000..63e6ff82a0 --- /dev/null +++ b/src/edje_external/emotion/meson.build | |||
@@ -0,0 +1,8 @@ | |||
1 | ecore_systemd_mod = shared_module('emotion', | ||
2 | 'emotion.c', | ||
3 | dependencies: [edje, emotion], | ||
4 | install: true, | ||
5 | install_dir: mod_install_dir, | ||
6 | c_args : emotion_package_c_args | ||
7 | ) | ||
8 | module_files += join_paths(mod_install_dir, 'libemotion.' + sys_mod_extension) | ||
diff --git a/src/edje_external/meson.build b/src/edje_external/meson.build new file mode 100644 index 0000000000..73af952374 --- /dev/null +++ b/src/edje_external/meson.build | |||
@@ -0,0 +1,12 @@ | |||
1 | edje_externals = ['emotion', 'elementary'] | ||
2 | |||
3 | foreach edje_external : edje_externals | ||
4 | #!?%$§#! custom nane for edje externals | ||
5 | if (edje_external == 'elementary') | ||
6 | mod_install_dir = join_paths(dir_lib, 'edje', 'modules', 'elm', version_name) | ||
7 | else | ||
8 | mod_install_dir = join_paths(dir_lib, 'edje', 'modules', edje_external, version_name) | ||
9 | endif | ||
10 | subdir(edje_external) | ||
11 | endforeach | ||
12 | |||
diff --git a/src/examples/ecore/meson.build b/src/examples/ecore/meson.build new file mode 100644 index 0000000000..7233a83b82 --- /dev/null +++ b/src/examples/ecore/meson.build | |||
@@ -0,0 +1,76 @@ | |||
1 | examples = [ | ||
2 | 'ecore_event_example_01', | ||
3 | 'ecore_event_example_02', | ||
4 | 'ecore_exe_example', | ||
5 | 'ecore_exe_example_child', | ||
6 | 'ecore_fd_handler_example', | ||
7 | 'ecore_file_download_example', | ||
8 | 'ecore_idler_example', | ||
9 | 'ecore_job_example', | ||
10 | 'ecore_pipe_gstreamer_example', | ||
11 | 'ecore_pipe_simple_example', | ||
12 | 'ecore_poller_example', | ||
13 | 'ecore_thread_example', | ||
14 | 'ecore_time_functions_example', | ||
15 | 'ecore_timer_example', | ||
16 | 'ecore_getopt_example' | ||
17 | ] | ||
18 | |||
19 | gnutls = dependency('gnutls', required : false) | ||
20 | if gnutls.found() | ||
21 | examples += ['ecore_fd_handler_gnutls_example'] | ||
22 | endif | ||
23 | |||
24 | foreach example : examples | ||
25 | executable(example, example + '.c', dependencies: [eina, ecore, gstreamer, ecore_file, gnutls]) | ||
26 | endforeach | ||
27 | |||
28 | examples = [ | ||
29 | # 'ecore_audio_custom', | ||
30 | # 'ecore_audio_playback', | ||
31 | # 'ecore_audio_to_ogg', | ||
32 | ] | ||
33 | |||
34 | foreach example : examples | ||
35 | executable(example, example + '.c', dependencies: [eina, ecore, ecore_audio]) | ||
36 | endforeach | ||
37 | |||
38 | |||
39 | examples = [ | ||
40 | 'ecore_con_client_example', | ||
41 | 'ecore_con_client_simple_example', | ||
42 | 'ecore_con_lookup_example', | ||
43 | 'ecore_con_server_example', | ||
44 | 'ecore_con_server_http_example', | ||
45 | 'ecore_con_server_simple_example', | ||
46 | 'ecore_con_url_cookies_example', | ||
47 | 'ecore_con_url_download_example', | ||
48 | 'ecore_con_url_headers_example', | ||
49 | 'ecore_client_bench', | ||
50 | 'ecore_server_bench', | ||
51 | ] | ||
52 | |||
53 | foreach example : examples | ||
54 | executable(example, example + '.c', dependencies: [eina, ecore, ecore_con]) | ||
55 | endforeach | ||
56 | |||
57 | examples = [ | ||
58 | 'ecore_animator_example', | ||
59 | 'ecore_evas_basics_example', | ||
60 | 'ecore_evas_buffer_example_01', | ||
61 | 'ecore_evas_buffer_example_02', | ||
62 | 'ecore_evas_callbacks', | ||
63 | 'ecore_evas_ews_example', | ||
64 | 'ecore_evas_object_example', | ||
65 | 'ecore_evas_window_sizes_example', | ||
66 | ] | ||
67 | |||
68 | foreach example : examples | ||
69 | executable(example, example + '.c', | ||
70 | dependencies: [eina, ecore_evas], | ||
71 | c_args : [ | ||
72 | '-DPACKAGE_EXAMPLES_DIR="'+meson.current_source_dir()+'"'] | ||
73 | ) | ||
74 | endforeach | ||
75 | |||
76 | # 'ecore_imf_example', | ||
diff --git a/src/examples/ecore_avahi/meson.build b/src/examples/ecore_avahi/meson.build new file mode 100644 index 0000000000..3ab470da1c --- /dev/null +++ b/src/examples/ecore_avahi/meson.build | |||
@@ -0,0 +1,8 @@ | |||
1 | examples = [ | ||
2 | 'ecore_avahi_browse_example', | ||
3 | 'ecore_avahi_example', | ||
4 | ] | ||
5 | |||
6 | foreach example : examples | ||
7 | executable(example, example + '.c', dependencies: [ecore_avahi_deps, ecore_avahi]) | ||
8 | endforeach | ||
diff --git a/src/examples/edje/meson.build b/src/examples/edje/meson.build new file mode 100644 index 0000000000..49e7e53c73 --- /dev/null +++ b/src/examples/edje/meson.build | |||
@@ -0,0 +1,135 @@ | |||
1 | edc_files = [ | ||
2 | 'animations.edc', | ||
3 | 'animations2.edc', | ||
4 | 'basic.edc', | ||
5 | 'basic2.edc', | ||
6 | 'bezier-transition-example.edc', | ||
7 | 'box.edc', | ||
8 | 'box_example.edc', | ||
9 | 'color-class.edc', | ||
10 | 'drag.edc', | ||
11 | 'dynamic_multiseat.edc', | ||
12 | 'edje-group.edc', | ||
13 | 'edje-nested.edc', | ||
14 | 'edje-threshold.edc', | ||
15 | 'edje_example.edc', | ||
16 | 'embryo_custom_state.edc', | ||
17 | 'embryo_pong.edc', | ||
18 | 'embryo_run_program.edc', | ||
19 | 'embryo_set_state.edc', | ||
20 | 'embryo_set_state_anim.edc', | ||
21 | 'embryo_set_text.edc', | ||
22 | 'embryo_timer.edc', | ||
23 | 'embryo_tween_anim.edc', | ||
24 | 'entry.edc', | ||
25 | 'external_elm_anchorblock.edc', | ||
26 | 'external_elm_button.edc', | ||
27 | 'external_elm_check.edc', | ||
28 | 'external_elm_panes.edc', | ||
29 | 'external_emotion_elm.edc', | ||
30 | 'focus.edc', | ||
31 | 'lua_script.edc', | ||
32 | 'messages_echo.edc', | ||
33 | 'multiseat.edc', | ||
34 | 'multiseat_custom_names.edc', | ||
35 | 'multiseat_filter.edc', | ||
36 | 'perspective.edc', | ||
37 | 'signals-messages.edc', | ||
38 | 'signalsBubble.edc', | ||
39 | 'sigtest.edc', | ||
40 | 'svg.edc', | ||
41 | 'swallow.edc', | ||
42 | 'table.edc', | ||
43 | 'text.edc', | ||
44 | 'textblock-hyphen.edc', | ||
45 | 'toggle_using_filter.edc' | ||
46 | ] | ||
47 | |||
48 | if (get_option('physics')) | ||
49 | edc_files += [ | ||
50 | 'physics_3d.edc', | ||
51 | 'physics_actions.edc', | ||
52 | 'physics_backcull.edc', | ||
53 | 'physics_basic.edc', | ||
54 | 'physics_complex.edc', | ||
55 | 'physics_soft_bodies.edc' | ||
56 | ] | ||
57 | endif | ||
58 | |||
59 | themes = [] | ||
60 | |||
61 | foreach edc_file : edc_files | ||
62 | themes += custom_target('edje_cc_' + edc_file, | ||
63 | input : edc_file, | ||
64 | output : '@BASENAME@.edj', | ||
65 | command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_cc.full_path(), '-beta', | ||
66 | '-id', meson.current_source_dir(), | ||
67 | '-fd', meson.current_source_dir(), | ||
68 | '-sd', meson.current_source_dir(), | ||
69 | '-vd', meson.current_source_dir(), | ||
70 | '-dd', meson.current_source_dir(), | ||
71 | '-md', meson.current_source_dir(), | ||
72 | '-td', meson.current_source_dir(), | ||
73 | '@INPUT@', '@OUTPUT@'], | ||
74 | depends : edje_cc, ) | ||
75 | endforeach | ||
76 | |||
77 | codegen = custom_target('edje_cc_codegen_edc', | ||
78 | input : 'codegen.edc', | ||
79 | output : '@BASENAME@.edj', | ||
80 | command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_cc.full_path(), '-beta', | ||
81 | '-id', meson.current_source_dir(), | ||
82 | '-fd', meson.current_source_dir(), | ||
83 | '-sd', meson.current_source_dir(), | ||
84 | '-vd', meson.current_source_dir(), | ||
85 | '-dd', meson.current_source_dir(), | ||
86 | '-md', meson.current_source_dir(), | ||
87 | '-td', meson.current_source_dir(), | ||
88 | '@INPUT@', '@OUTPUT@'], | ||
89 | depends : edje_cc, ) | ||
90 | |||
91 | themes += custom_target('edje_codegen_codegen.edj', | ||
92 | input : codegen, | ||
93 | output : ['@BASENAME@_example_generated.c', '@BASENAME@_example_generated.h'], | ||
94 | command : ['/usr/bin/env', 'EFL_RUN_IN_TREE=1', edje_codegen.full_path(), | ||
95 | '--prefix=codegen_example', '@INPUT@', | ||
96 | 'example_group', '@OUTPUT0@', '@OUTPUT1@'], | ||
97 | depends : [edje_codegen, themes]) | ||
98 | |||
99 | edje_examples = [ | ||
100 | 'animations2', | ||
101 | 'edje-animations', | ||
102 | 'edje-basic', | ||
103 | 'edje-basic2', | ||
104 | 'edje-box', | ||
105 | 'edje-box2', | ||
106 | 'edje-codegen-example', | ||
107 | 'edje-color-class', | ||
108 | 'edje-drag', | ||
109 | 'edje-dynamic-multiseat', | ||
110 | 'edje-edit-part-box', | ||
111 | 'edje-entry', | ||
112 | 'edje-focus', | ||
113 | 'edje-multiseat', | ||
114 | 'edje-multiseat-custom-names', | ||
115 | 'edje-multiseat-filter', | ||
116 | 'edje-multisense', | ||
117 | 'edje-perspective', | ||
118 | 'edje-signals-messages', | ||
119 | 'edje-swallow', | ||
120 | 'edje-swallow2', | ||
121 | 'edje-table', | ||
122 | 'edje-text', | ||
123 | 'edje-textblock-hyphenation', | ||
124 | 'edje_example', | ||
125 | 'signals2', | ||
126 | 'sigtest', | ||
127 | 'svg-test' | ||
128 | ] | ||
129 | |||
130 | foreach edje_example : edje_examples | ||
131 | executable(edje_example, | ||
132 | [edje_example + '.c'] + themes, | ||
133 | dependencies: [edje, ecore_evas], | ||
134 | ) | ||
135 | endforeach | ||
diff --git a/src/examples/eet/meson.build b/src/examples/eet/meson.build new file mode 100644 index 0000000000..98a1120a44 --- /dev/null +++ b/src/examples/eet/meson.build | |||
@@ -0,0 +1,13 @@ | |||
1 | examples = [ | ||
2 | 'eet-basic', | ||
3 | 'eet-file', | ||
4 | 'eet-data-simple', | ||
5 | 'eet-data-nested', | ||
6 | 'eet-data-file_descriptor_01', | ||
7 | 'eet-data-file_descriptor_02', | ||
8 | 'eet-data-cipher_decipher' | ||
9 | ] | ||
10 | |||
11 | foreach example : examples | ||
12 | executable(example, example + '.c', dependencies: eet) | ||
13 | endforeach | ||
diff --git a/src/examples/eina/meson.build b/src/examples/eina/meson.build new file mode 100644 index 0000000000..78aa46a290 --- /dev/null +++ b/src/examples/eina/meson.build | |||
@@ -0,0 +1,47 @@ | |||
1 | examples = [ | ||
2 | 'eina_accessor_01', | ||
3 | 'eina_array_01', | ||
4 | 'eina_array_02', | ||
5 | 'eina_error_01', | ||
6 | 'eina_file_01', | ||
7 | 'eina_file_02', | ||
8 | 'eina_hash_01', | ||
9 | 'eina_hash_02', | ||
10 | 'eina_hash_03', | ||
11 | 'eina_hash_04', | ||
12 | 'eina_hash_05', | ||
13 | 'eina_hash_06', | ||
14 | 'eina_hash_07', | ||
15 | 'eina_hash_08', | ||
16 | 'eina_iterator_01', | ||
17 | 'eina_list_01', | ||
18 | 'eina_list_02', | ||
19 | 'eina_list_03', | ||
20 | 'eina_list_04', | ||
21 | 'eina_log_01', | ||
22 | 'eina_log_02', | ||
23 | 'eina_log_03', | ||
24 | 'eina_inlist_01', | ||
25 | 'eina_inlist_02', | ||
26 | 'eina_inlist_03', | ||
27 | 'eina_str_01', | ||
28 | 'eina_strbuf_01', | ||
29 | 'eina_stringshare_01', | ||
30 | 'eina_tmpstr_01', | ||
31 | #that examples is using ecore evas ... WTF | ||
32 | #'eina_tiler_01', | ||
33 | 'eina_simple_xml_parser_01', | ||
34 | 'eina_value_01', | ||
35 | 'eina_value_02', | ||
36 | 'eina_value_03', | ||
37 | 'eina_inarray_01', | ||
38 | 'eina_inarray_02', | ||
39 | 'eina_inarray_03', | ||
40 | 'eina_magic_01', | ||
41 | 'eina_xattr_01', | ||
42 | 'eina_xattr_02' | ||
43 | ] | ||
44 | |||
45 | foreach example : examples | ||
46 | executable(example, example + '.c', dependencies: eina) | ||
47 | endforeach | ||
diff --git a/src/examples/eio/meson.build b/src/examples/eio/meson.build new file mode 100644 index 0000000000..6524a75840 --- /dev/null +++ b/src/examples/eio/meson.build | |||
@@ -0,0 +1,15 @@ | |||
1 | files = [ | ||
2 | 'efl_io_manager_ls', | ||
3 | 'efl_io_manager_open', | ||
4 | 'efl_io_manager_open_multi', | ||
5 | 'eio_file_copy', | ||
6 | 'eio_file_ls', | ||
7 | 'eio_sentry' | ||
8 | ] | ||
9 | |||
10 | foreach file : files | ||
11 | executable(file, | ||
12 | file + '.c', | ||
13 | dependencies: [ecore, eio], | ||
14 | ) | ||
15 | endforeach \ No newline at end of file | ||
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 @@ | |||
1 | examples = [ | ||
2 | 'connman-list-services', | ||
3 | 'ofono-dial', | ||
4 | 'banshee', | ||
5 | 'complex-types', | ||
6 | 'complex-types-server', | ||
7 | 'server', | ||
8 | 'client', | ||
9 | 'simple-signal-emit', | ||
10 | 'complex-types-client-eina-value', | ||
11 | 'connect-address', | ||
12 | 'dbusmodel', | ||
13 | ] | ||
14 | |||
15 | foreach example : examples | ||
16 | executable(example, example + '.c', dependencies: [eldbus, ecore]) | ||
17 | endforeach | ||
diff --git a/src/examples/emile/meson.build b/src/examples/emile/meson.build new file mode 100644 index 0000000000..c628f08ccc --- /dev/null +++ b/src/examples/emile/meson.build | |||
@@ -0,0 +1,7 @@ | |||
1 | examples = [ | ||
2 | 'emile_base64' | ||
3 | ] | ||
4 | |||
5 | foreach example : examples | ||
6 | executable(example, example + '.c', dependencies: emile) | ||
7 | endforeach | ||
diff --git a/src/examples/emotion/meson.build b/src/examples/emotion/meson.build new file mode 100644 index 0000000000..3a7b46b055 --- /dev/null +++ b/src/examples/emotion/meson.build | |||
@@ -0,0 +1,14 @@ | |||
1 | files = [ | ||
2 | 'emotion_basic_example', | ||
3 | 'emotion_border_example', | ||
4 | 'emotion_generic_example', | ||
5 | 'emotion_generic_subtitle_example', | ||
6 | 'emotion_signals_example', | ||
7 | ] | ||
8 | |||
9 | foreach file : files | ||
10 | executable(file, | ||
11 | file + '.c', | ||
12 | dependencies: [emotion, evas, ecore_evas, ecore], | ||
13 | ) | ||
14 | endforeach \ No newline at end of file | ||
diff --git a/src/examples/ethumb_client/meson.build b/src/examples/ethumb_client/meson.build new file mode 100644 index 0000000000..d6456027a2 --- /dev/null +++ b/src/examples/ethumb_client/meson.build | |||
@@ -0,0 +1,10 @@ | |||
1 | files = [ | ||
2 | 'ethumb_dbus' | ||
3 | ] | ||
4 | |||
5 | foreach file : files | ||
6 | executable(file, | ||
7 | file + '.c', | ||
8 | dependencies: [ethumb, ethumb_client, ecore, eina], | ||
9 | ) | ||
10 | endforeach \ No newline at end of file | ||
diff --git a/src/examples/evas/meson.build b/src/examples/evas/meson.build new file mode 100644 index 0000000000..c07587dec6 --- /dev/null +++ b/src/examples/evas/meson.build | |||
@@ -0,0 +1,57 @@ | |||
1 | examples = [ | ||
2 | 'evas-3d-aabb', | ||
3 | 'evas-3d-blending', | ||
4 | 'evas-3d-colorpick', | ||
5 | 'evas-3d-cube2', | ||
6 | 'evas-3d-cube', | ||
7 | 'evas-3d-cube-rotate', | ||
8 | 'evas-3d-eet', | ||
9 | 'evas-3d-fog', | ||
10 | 'evas-3d-frustum', | ||
11 | 'evas-3d-hull', | ||
12 | 'evas-3d-md2', | ||
13 | 'evas-3d-mmap-set', | ||
14 | 'evas-3d-obj', | ||
15 | 'evas-3d-parallax-occlusion', | ||
16 | 'evas-3d-pick', | ||
17 | 'evas-3d-ply', | ||
18 | 'evas-3d-proxy', | ||
19 | 'evas-3d-shadows', | ||
20 | 'evas-3d-static-lod', | ||
21 | #'evas-aspect-hints', | ||
22 | 'evas-box', | ||
23 | 'evas-buffer-simple', | ||
24 | 'evas-event-filter', | ||
25 | 'evas-events', | ||
26 | 'evas-gl', | ||
27 | 'evas-hints', | ||
28 | 'evas-images2', | ||
29 | 'evas-images3', | ||
30 | 'evas-images4', | ||
31 | 'evas-images5', | ||
32 | 'evas-images', | ||
33 | 'evas-init-shutdown', | ||
34 | 'evas-map-aa', | ||
35 | 'evas-map-aa-eo', | ||
36 | 'evas-map-utils', | ||
37 | 'evas-map-utils-eo', | ||
38 | 'evas-multiseat-events', | ||
39 | 'evas-multi-touch', | ||
40 | 'evas-object-manipulation', | ||
41 | 'evas-object-manipulation-eo', | ||
42 | 'evas-smart-interface', | ||
43 | 'evas-smart-object', | ||
44 | 'evas-stacking', | ||
45 | 'evas-table', | ||
46 | 'evas-textblock-obstacles', | ||
47 | 'evas-text', | ||
48 | 'evas-transparent', | ||
49 | 'evas-vg-batman', | ||
50 | 'evas-vg-simple', | ||
51 | ] | ||
52 | |||
53 | foreach example : examples | ||
54 | executable(example, example + '.c', | ||
55 | dependencies: [eina, ecore_evas, ecore_file, m], | ||
56 | c_args : ['-DPACKAGE_EXAMPLES_DIR="'+meson.current_source_dir()+'"']) | ||
57 | endforeach | ||
diff --git a/src/generic/emotion/meson.build b/src/generic/emotion/meson.build new file mode 100644 index 0000000000..58cd5294aa --- /dev/null +++ b/src/generic/emotion/meson.build | |||
@@ -0,0 +1,8 @@ | |||
1 | generic_loaders = ['vlc'] | ||
2 | |||
3 | foreach loader : generic_loaders | ||
4 | if get_option('emotion-generic-loaders-disabler').contains(loader) == false | ||
5 | subdir(loader) | ||
6 | endif | ||
7 | endforeach | ||
8 | |||
diff --git a/src/generic/emotion/vlc/meson.build b/src/generic/emotion/vlc/meson.build new file mode 100644 index 0000000000..b21f4a16df --- /dev/null +++ b/src/generic/emotion/vlc/meson.build | |||
@@ -0,0 +1,8 @@ | |||
1 | vlc = dependency('libvlc') | ||
2 | |||
3 | executable('vlc', | ||
4 | 'emotion_generic_vlc.c', | ||
5 | dependencies: [emotion_generic, eina, ecore, rt, vlc], | ||
6 | install: true, | ||
7 | install_dir: join_paths(dir_lib, 'emotion', 'generic_players', version_name) | ||
8 | ) | ||
diff --git a/src/generic/evas/common/meson.build b/src/generic/evas/common/meson.build new file mode 100644 index 0000000000..b90705e4c3 --- /dev/null +++ b/src/generic/evas/common/meson.build | |||
@@ -0,0 +1,6 @@ | |||
1 | generic_src = files([ | ||
2 | 'shmfile.c', | ||
3 | 'shmfile.h', | ||
4 | 'timeout.c', | ||
5 | 'timeout.h', | ||
6 | ]) | ||
diff --git a/src/generic/evas/gst/meson.build b/src/generic/evas/gst/meson.build new file mode 100644 index 0000000000..9689aee80a --- /dev/null +++ b/src/generic/evas/gst/meson.build | |||
@@ -0,0 +1,14 @@ | |||
1 | |||
2 | # gstreamer 0.1 support | ||
3 | #generic_deps = [dependency('gstreamer')] | ||
4 | #generic_src = files([ | ||
5 | # 'main_0_10.c' | ||
6 | #]) | ||
7 | |||
8 | |||
9 | generic_src = files([ | ||
10 | 'main.c' | ||
11 | ]) | ||
12 | |||
13 | generic_deps = [dependency('gstreamer-1.0')] | ||
14 | generic_support = ['264','3g2','3gp','3gp2','3gpp','3gpp2','3p2','asf','avi','bdm','bdmv','clpi','cpi','dv','fla','flv','m1v','m2t','m2v','m4v','mkv','mov','mp2','mp2ts','mp4','mpe','mpeg','mpg','mpl','mpls','mts','mxf','nut','nuv','ogg','ogm','ogv','qt','rm','rmj','rmm','rms','rmx','rmvb','rv','swf','ts','webm','weba','wmv'] \ No newline at end of file | ||
diff --git a/src/generic/evas/meson.build b/src/generic/evas/meson.build new file mode 100644 index 0000000000..80a679b230 --- /dev/null +++ b/src/generic/evas/meson.build | |||
@@ -0,0 +1,42 @@ | |||
1 | generic_loaders = ['gst', 'pdf', | ||
2 | 'ps', | ||
3 | 'raw', | ||
4 | 'svg', | ||
5 | 'xcf'] | ||
6 | |||
7 | generic_src = [] | ||
8 | generic_deps = [] | ||
9 | |||
10 | subdir('common') | ||
11 | |||
12 | common = static_library('evas_loader_common', | ||
13 | generic_src, | ||
14 | include_directories : config_dir, | ||
15 | dependencies: [generic_deps, rt], | ||
16 | ) | ||
17 | |||
18 | foreach loader : generic_loaders | ||
19 | generic_src = [] | ||
20 | generic_deps = [] | ||
21 | generic_support = [] | ||
22 | |||
23 | if get_option('evas-loaders-disabler').contains(loader) == false | ||
24 | subdir(loader) | ||
25 | |||
26 | tmp = shared_module('image_loader.'+loader, | ||
27 | generic_src, | ||
28 | include_directories : config_dir + [include_directories('common')], | ||
29 | link_with : common, | ||
30 | dependencies: [eina, generic_deps], | ||
31 | name_prefix : 'evas_', | ||
32 | install_dir : join_paths(dir_lib, 'evas', 'utils'), | ||
33 | install : true, | ||
34 | ) | ||
35 | |||
36 | set_variable(loader, tmp) | ||
37 | mod = join_paths(dir_lib, 'evas', 'utils', 'evas_image_loader.'+loader+'.'+sys_mod_extension) | ||
38 | evas_loader_map += [[mod, generic_support]] | ||
39 | else | ||
40 | message('Image loader '+loader+' disabled') | ||
41 | endif | ||
42 | endforeach | ||
diff --git a/src/generic/evas/pdf/meson.build b/src/generic/evas/pdf/meson.build new file mode 100644 index 0000000000..941918104b --- /dev/null +++ b/src/generic/evas/pdf/meson.build | |||
@@ -0,0 +1,14 @@ | |||
1 | generic_src = files([ | ||
2 | 'main.cpp' | ||
3 | ]) | ||
4 | |||
5 | generic_deps = [dependency('poppler-cpp')] | ||
6 | generic_support = ['ppt','pptx','odp','xls','xlsx','ods','doc','docx','odt','rtf'] | ||
7 | |||
8 | install_data('evas_generic_pdf_loader.libreoffice', | ||
9 | install_dir : join_paths(dir_lib, 'evas', 'utils') | ||
10 | ) | ||
11 | |||
12 | generic_pdf_loader_types = ['ppt','pptx','odp','xls','xlsx','ods','doc','docx','odt','rtf'] | ||
13 | |||
14 | meson.add_install_script( join_paths('..','..','..','..','meson','evas_loader_conf.sh'), join_paths(dir_lib, 'evas', 'utils', 'evas_generic_pdf_loader.libreoffice'), generic_pdf_loader_types) \ No newline at end of file | ||
diff --git a/src/generic/evas/ps/meson.build b/src/generic/evas/ps/meson.build new file mode 100644 index 0000000000..ca52781307 --- /dev/null +++ b/src/generic/evas/ps/meson.build | |||
@@ -0,0 +1,5 @@ | |||
1 | generic_src = files([ | ||
2 | 'main.c' | ||
3 | ]) | ||
4 | |||
5 | generic_deps = [dependency('libspectre')] | ||
diff --git a/src/generic/evas/raw/meson.build b/src/generic/evas/raw/meson.build new file mode 100644 index 0000000000..6843d01e90 --- /dev/null +++ b/src/generic/evas/raw/meson.build | |||
@@ -0,0 +1,6 @@ | |||
1 | generic_src = files([ | ||
2 | 'main.c' | ||
3 | ]) | ||
4 | |||
5 | generic_deps = [dependency('libraw')] | ||
6 | generic_support = ['arw','cr2','crw','dcr','dng','k25','kdc','erf','mrw','nef','nrf','nrw','orf','rw2','pef','raf','sr2','srf','x3f'] \ No newline at end of file | ||
diff --git a/src/generic/evas/svg/meson.build b/src/generic/evas/svg/meson.build new file mode 100644 index 0000000000..4e39e74ee5 --- /dev/null +++ b/src/generic/evas/svg/meson.build | |||
@@ -0,0 +1,12 @@ | |||
1 | generic_src = files([ | ||
2 | 'main.c' | ||
3 | ]) | ||
4 | |||
5 | rsvg = dependency('librsvg-2.0') | ||
6 | |||
7 | if rsvg.version() >= '2.36.0' | ||
8 | config_h.set('HAVE_SVG_2_36', '1') | ||
9 | endif | ||
10 | |||
11 | generic_deps = [rsvg] | ||
12 | generic_support = ['svgz', 'svg.gz'] | ||
diff --git a/src/generic/evas/xcf/meson.build b/src/generic/evas/xcf/meson.build new file mode 100644 index 0000000000..0f5fb208c5 --- /dev/null +++ b/src/generic/evas/xcf/meson.build | |||
@@ -0,0 +1,8 @@ | |||
1 | generic_src = files([ | ||
2 | 'common.h', | ||
3 | 'main.c', | ||
4 | 'pixelfuncs.c' | ||
5 | ]) | ||
6 | |||
7 | generic_deps = [dependency('zlib')] | ||
8 | generic_support = ['xcf.gz'] \ No newline at end of file | ||
diff --git a/src/lib/ecore/meson.build b/src/lib/ecore/meson.build new file mode 100644 index 0000000000..f5872ffb76 --- /dev/null +++ b/src/lib/ecore/meson.build | |||
@@ -0,0 +1,222 @@ | |||
1 | ecore_deps = [intl] | ||
2 | ecore_pub_deps = [eina, eo, efl] | ||
3 | |||
4 | pub_legacy_eo_files = [ | ||
5 | 'ecore_exe.eo', | ||
6 | 'ecore_event_message.eo', | ||
7 | 'ecore_event_message_handler.eo', | ||
8 | 'efl_loop_timer.eo' | ||
9 | ] | ||
10 | |||
11 | pub_eo_file_target = [] | ||
12 | foreach eo_file : pub_legacy_eo_files | ||
13 | pub_eo_file_target += custom_target('eolian_gen_' + eo_file, | ||
14 | input : eo_file, | ||
15 | output : [eo_file + '.h', eo_file + '.legacy.h',], | ||
16 | install : true, | ||
17 | install_dir : dir_package_include, | ||
18 | command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, | ||
19 | '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), | ||
20 | '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), | ||
21 | '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'), | ||
22 | '-gchl', '@INPUT@']) | ||
23 | |||
24 | endforeach | ||
25 | |||
26 | pub_eo_files = [ | ||
27 | 'efl_app.eo', | ||
28 | 'efl_loop.eo', | ||
29 | 'efl_loop_consumer.eo', | ||
30 | 'efl_loop_fd.eo', | ||
31 | 'efl_loop_handler.eo', | ||
32 | 'efl_loop_message.eo', | ||
33 | 'efl_loop_message_handler.eo', | ||
34 | 'efl_exe.eo', | ||
35 | 'efl_thread.eo', | ||
36 | 'efl_threadio.eo', | ||
37 | 'efl_appthread.eo', | ||
38 | 'efl_task.eo', | ||
39 | 'efl_io_closer_fd.eo', | ||
40 | 'efl_io_positioner_fd.eo', | ||
41 | 'efl_io_reader_fd.eo', | ||
42 | 'efl_io_sizer_fd.eo', | ||
43 | 'efl_io_writer_fd.eo', | ||
44 | 'efl_io_stdin.eo', | ||
45 | 'efl_io_stdout.eo', | ||
46 | 'efl_io_stderr.eo', | ||
47 | 'efl_io_file.eo', | ||
48 | 'efl_io_copier.eo', | ||
49 | 'efl_io_buffered_stream.eo', | ||
50 | 'efl_interpolator.eo', | ||
51 | 'efl_interpolator_linear.eo', | ||
52 | 'efl_interpolator_accelerate.eo', | ||
53 | 'efl_interpolator_decelerate.eo', | ||
54 | 'efl_interpolator_sinusoidal.eo', | ||
55 | 'efl_interpolator_divisor.eo', | ||
56 | 'efl_interpolator_bounce.eo', | ||
57 | 'efl_interpolator_spring.eo', | ||
58 | 'efl_interpolator_cubic_bezier.eo', | ||
59 | 'efl_loop_message_future_handler.eo', | ||
60 | 'efl_loop_message_future.eo', | ||
61 | 'efl_model_item.eo', | ||
62 | 'efl_model_container.eo', | ||
63 | 'efl_model_container_item.eo', | ||
64 | 'efl_model_composite_boolean.eo', | ||
65 | 'efl_model_composite_boolean_children.eo', | ||
66 | 'efl_model_composite_selection.eo', | ||
67 | 'efl_model_composite_selection_children.eo', | ||
68 | 'efl_model_composite.eo' | ||
69 | ] | ||
70 | |||
71 | foreach eo_file : pub_eo_files | ||
72 | pub_eo_file_target += custom_target('eolian_gen_' + eo_file, | ||
73 | input : eo_file, | ||
74 | output : [eo_file + '.h'], | ||
75 | install : true, | ||
76 | install_dir : dir_package_include, | ||
77 | command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, | ||
78 | '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), | ||
79 | '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), | ||
80 | '-gch', '@INPUT@']) | ||
81 | endforeach | ||
82 | |||
83 | # special handling, because this is already eo API and legacy API | ||
84 | pub_eo_files += ['efl_loop_timer.eo'] | ||
85 | |||
86 | pub_eo_types_files = [] | ||
87 | |||
88 | eolian_include_directories += ['-I', meson.current_source_dir()] | ||
89 | |||
90 | ecore_header_src = [ | ||
91 | 'Ecore.h', | ||
92 | 'Ecore_Common.h', | ||
93 | 'Ecore_Legacy.h', | ||
94 | 'Ecore_Eo.h', | ||
95 | 'Efl_Core.h', | ||
96 | 'efl_general.h', | ||
97 | 'Ecore_Getopt.h' | ||
98 | ] | ||
99 | |||
100 | ecore_src = [ | ||
101 | 'efl_app.c', | ||
102 | 'ecore.c', | ||
103 | 'ecore_alloc.c', | ||
104 | 'ecore_anim.c', | ||
105 | 'ecore_app.c', | ||
106 | 'ecore_events.c', | ||
107 | 'ecore_getopt.c', | ||
108 | 'ecore_glib.c', | ||
109 | 'ecore_idle_enterer.c', | ||
110 | 'ecore_idle_exiter.c', | ||
111 | 'ecore_idler.c', | ||
112 | 'ecore_job.c', | ||
113 | 'ecore_main.c', | ||
114 | 'ecore_event_message.c', | ||
115 | 'ecore_event_message_handler.c', | ||
116 | 'efl_loop.c', | ||
117 | 'efl_loop_consumer.c', | ||
118 | 'efl_loop_fd.c', | ||
119 | 'efl_loop_handler.c', | ||
120 | 'efl_loop_message.c', | ||
121 | 'efl_loop_message_future.c', | ||
122 | 'efl_loop_message_handler.c', | ||
123 | 'efl_loop_message_future_handler.c', | ||
124 | 'efl_task.c', | ||
125 | 'efl_io_closer_fd.c', | ||
126 | 'efl_io_positioner_fd.c', | ||
127 | 'efl_io_reader_fd.c', | ||
128 | 'efl_io_sizer_fd.c', | ||
129 | 'efl_io_writer_fd.c', | ||
130 | 'efl_io_stdin.c', | ||
131 | 'efl_io_stdout.c', | ||
132 | 'efl_io_stderr.c', | ||
133 | 'efl_io_file.c', | ||
134 | 'efl_io_copier.c', | ||
135 | 'efl_io_buffered_stream.c', | ||
136 | 'efl_model_item.c', | ||
137 | 'efl_model_container.c', | ||
138 | 'efl_model_container_item.c', | ||
139 | 'efl_model_container_private.h', | ||
140 | 'efl_model_composite.c', | ||
141 | 'efl_model_composite_boolean.c', | ||
142 | 'efl_model_composite_selection.c', | ||
143 | 'efl_model_accessor_view.c', | ||
144 | 'efl_model_accessor_view_private.h', | ||
145 | 'efl_interpolator.c', | ||
146 | 'efl_interpolator_linear.c', | ||
147 | 'efl_interpolator_accelerate.c', | ||
148 | 'efl_interpolator_decelerate.c', | ||
149 | 'efl_interpolator_sinusoidal.c', | ||
150 | 'efl_interpolator_divisor.c', | ||
151 | 'efl_interpolator_bounce.c', | ||
152 | 'efl_interpolator_spring.c', | ||
153 | 'efl_interpolator_cubic_bezier.c', | ||
154 | 'ecore_main_timechanges.c', | ||
155 | 'ecore_pipe.c', | ||
156 | 'ecore_poller.c', | ||
157 | 'ecore_time.c', | ||
158 | 'ecore_timer.c', | ||
159 | 'ecore_thread.c', | ||
160 | 'ecore_throttle.c', | ||
161 | 'ecore_exe.c', | ||
162 | 'ecore_exe_private.h', | ||
163 | 'ecore_private.h', | ||
164 | 'ecore_internal.h', | ||
165 | 'ecore_main_common.h' | ||
166 | ] | ||
167 | |||
168 | if target_machine.system() == 'windows' | ||
169 | #nothing for now ... needs testing | ||
170 | else | ||
171 | ecore_src += ['ecore_signal.c', 'ecore_exe_posix.c'] | ||
172 | endif | ||
173 | |||
174 | if get_option('glib') == true | ||
175 | ecore_deps += dependency('glib-2.0') | ||
176 | ecore_deps += dependency('gthread-2.0') | ||
177 | config_h.set('GLIB_INTEGRATION_ALWAYS', '1') | ||
178 | config_h.set('HAVE_GLIB', '1') | ||
179 | endif | ||
180 | |||
181 | if get_option('g-mainloop') == true | ||
182 | config_h.set('USE_G_MAIN_LOOP', '1') | ||
183 | endif | ||
184 | |||
185 | if get_option('gstreamer') == true | ||
186 | gstreamer = dependency('gstreamer-1.0') | ||
187 | ecore_deps += gstreamer | ||
188 | endif | ||
189 | |||
190 | if get_option('systemd') == true | ||
191 | ecore_deps += systemd | ||
192 | endif | ||
193 | |||
194 | ecore_lib = library('ecore', | ||
195 | ecore_src, pub_eo_file_target, | ||
196 | dependencies: ecore_pub_deps + [m, buildsystem, ecore_deps], | ||
197 | include_directories : config_dir + [include_directories(join_paths('..','..'))], | ||
198 | install: true, | ||
199 | c_args : package_c_args, | ||
200 | version : meson.project_version() | ||
201 | ) | ||
202 | |||
203 | ecore = declare_dependency( | ||
204 | include_directories: [include_directories('.')], | ||
205 | link_with: ecore_lib, | ||
206 | sources : pub_eo_file_target + priv_eo_file_target, | ||
207 | dependencies: ecore_pub_deps, | ||
208 | ) | ||
209 | |||
210 | eolian_ecore_dir = join_paths(eolian_include_dir, package_version_name) | ||
211 | |||
212 | install_data(pub_eo_files + pub_eo_types_files, | ||
213 | install_dir: eolian_ecore_dir | ||
214 | ) | ||
215 | |||
216 | install_headers(ecore_header_src, | ||
217 | install_dir : dir_package_include, | ||
218 | ) | ||
219 | |||
220 | #TODO: | ||
221 | # HAVE_TIZEN_CONFIGUREATION_MANAGER | ||
222 | # avahi | ||
diff --git a/src/lib/ecore_audio/meson.build b/src/lib/ecore_audio/meson.build new file mode 100644 index 0000000000..099f8454db --- /dev/null +++ b/src/lib/ecore_audio/meson.build | |||
@@ -0,0 +1,92 @@ | |||
1 | ecore_audio_deps = [ecore] | ||
2 | ecore_audio_pub_deps = [eina, eo] | ||
3 | |||
4 | pub_eo_files = [ | ||
5 | 'ecore_audio.eo', | ||
6 | 'ecore_audio_in.eo', | ||
7 | 'ecore_audio_out.eo', | ||
8 | 'ecore_audio_in_sndfile.eo', | ||
9 | 'ecore_audio_out_sndfile.eo', | ||
10 | 'ecore_audio_out_pulse.eo', | ||
11 | 'ecore_audio_in_tone.eo', | ||
12 | 'ecore_audio_out_wasapi.eo' | ||
13 | ] | ||
14 | |||
15 | foreach eo_file : pub_eo_files | ||
16 | pub_eo_file_target += custom_target('eolian_gen_' + eo_file, | ||
17 | input : eo_file, | ||
18 | output : [eo_file + '.h'], | ||
19 | install : true, | ||
20 | install_dir : dir_package_include, | ||
21 | command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, | ||
22 | '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), | ||
23 | '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), | ||
24 | '-gch', '@INPUT@']) | ||
25 | endforeach | ||
26 | |||
27 | pub_eo_types_files = [] | ||
28 | |||
29 | ecore_audio_header_src = [ | ||
30 | 'Ecore_Audio.h', | ||
31 | 'ecore_audio_obj.h', | ||
32 | 'ecore_audio_obj_in.h', | ||
33 | 'ecore_audio_obj_out.h', | ||
34 | 'ecore_audio_obj_in_tone.h', | ||
35 | 'ecore_audio_protected.h', | ||
36 | 'ecore_audio_obj_out_pulse.h', | ||
37 | 'ecore_audio_obj_in_sndfile.h', | ||
38 | 'ecore_audio_obj_out_sndfile.h', | ||
39 | 'ecore_audio_obj_out_wasapi.h' | ||
40 | ] | ||
41 | |||
42 | ecore_audio_src = [ | ||
43 | 'ecore_audio.c', | ||
44 | 'ecore_audio_obj.c', | ||
45 | 'ecore_audio_obj_in.c', | ||
46 | 'ecore_audio_obj_out.c', | ||
47 | 'ecore_audio_obj_in_tone.c', | ||
48 | 'ecore_audio_private.h' | ||
49 | ] | ||
50 | |||
51 | ecore_audio_src += [ | ||
52 | 'ecore_audio_obj_in_sndfile.c', | ||
53 | 'ecore_audio_obj_out_sndfile.c', | ||
54 | 'ecore_audio_sndfile_vio.c' | ||
55 | ] | ||
56 | |||
57 | ecore_audio_deps += dependency('sndfile') | ||
58 | config_h.set('HAVE_SNDFILE', '1') | ||
59 | |||
60 | if get_option('pulseaudio') | ||
61 | ecore_audio_deps += dependency('libpulse') | ||
62 | |||
63 | ecore_audio_src += [ | ||
64 | 'ecore_audio_pulse_ml.c', | ||
65 | 'ecore_audio_obj_out_pulse.c' | ||
66 | ] | ||
67 | |||
68 | config_h.set('HAVE_PULSE', '1') | ||
69 | endif | ||
70 | |||
71 | ecore_audio_lib = library('ecore_audio', | ||
72 | ecore_audio_src, pub_eo_file_target, | ||
73 | dependencies: ecore_audio_pub_deps + [m] + ecore_audio_deps, | ||
74 | include_directories : config_dir, | ||
75 | install: true, | ||
76 | version : meson.project_version() | ||
77 | ) | ||
78 | |||
79 | ecore_audio = declare_dependency( | ||
80 | include_directories: [include_directories('.')], | ||
81 | link_with: ecore_audio_lib, | ||
82 | sources : pub_eo_file_target + priv_eo_file_target, | ||
83 | dependencies: ecore_audio_pub_deps, | ||
84 | ) | ||
85 | |||
86 | install_data(pub_eo_files + pub_eo_types_files, | ||
87 | install_dir: eolian_ecore_dir | ||
88 | ) | ||
89 | |||
90 | install_headers(ecore_audio_header_src, | ||
91 | install_dir : dir_package_include, | ||
92 | ) | ||
diff --git a/src/lib/ecore_avahi/meson.build b/src/lib/ecore_avahi/meson.build new file mode 100644 index 0000000000..40e037850a --- /dev/null +++ b/src/lib/ecore_avahi/meson.build | |||
@@ -0,0 +1,26 @@ | |||
1 | ecore_avahi_deps = [] | ||
2 | ecore_avahi_pub_deps = [eina, ecore] | ||
3 | |||
4 | ecore_avahi_src = ['ecore_avahi.c'] | ||
5 | ecore_avahi_header_src = ['Ecore_Avahi.h'] | ||
6 | |||
7 | ecore_avahi_deps += dependency('avahi-client') | ||
8 | config_h.set('HAVE_AVAHI', '1') | ||
9 | |||
10 | ecore_avahi_lib = library('ecore_avahi', | ||
11 | ecore_avahi_src, | ||
12 | dependencies: [m] + ecore_avahi_deps + ecore_avahi_pub_deps, | ||
13 | include_directories : config_dir + [include_directories(join_paths('..','..'))], | ||
14 | install: true, | ||
15 | version : meson.project_version() | ||
16 | ) | ||
17 | |||
18 | ecore_avahi = declare_dependency( | ||
19 | include_directories: [include_directories('.')], | ||
20 | link_with: ecore_avahi_lib, | ||
21 | dependencies: ecore_avahi_pub_deps, | ||
22 | ) | ||
23 | |||
24 | install_headers(ecore_avahi_header_src, | ||
25 | install_dir : dir_package_include, | ||
26 | ) | ||
diff --git a/src/lib/ecore_buffer/meson.build b/src/lib/ecore_buffer/meson.build new file mode 100644 index 0000000000..4cf3fc65da --- /dev/null +++ b/src/lib/ecore_buffer/meson.build | |||
@@ -0,0 +1,37 @@ | |||
1 | ecore_buffer_deps = [dependency('wayland-client'), dependency('wayland-server'), ecore] | ||
2 | ecore_buffer_pub_deps = [eina] | ||
3 | |||
4 | ecore_buffer_header_src = [ | ||
5 | 'Ecore_Buffer.h', | ||
6 | 'Ecore_Buffer_Queue.h' | ||
7 | ] | ||
8 | |||
9 | ecore_buffer_src = [ | ||
10 | 'bq_mgr_protocol.c', | ||
11 | 'buffer_queue.c', | ||
12 | 'shared_buffer.c', | ||
13 | 'ecore_buffer.c', | ||
14 | 'ecore_buffer_queue_main.c', | ||
15 | 'ecore_buffer_con.c', | ||
16 | 'ecore_buffer_provider.c', | ||
17 | 'ecore_buffer_consumer.c' | ||
18 | ] | ||
19 | |||
20 | ecore_buffer_lib = library('ecore_buffer', | ||
21 | ecore_buffer_src, pub_eo_file_target, | ||
22 | dependencies: ecore_buffer_pub_deps + ecore_buffer_deps, | ||
23 | include_directories : config_dir, | ||
24 | install: true, | ||
25 | version : meson.project_version() | ||
26 | ) | ||
27 | |||
28 | ecore_buffer = declare_dependency( | ||
29 | include_directories: [include_directories('.')], | ||
30 | link_with: ecore_buffer_lib, | ||
31 | sources : pub_eo_file_target + priv_eo_file_target, | ||
32 | dependencies: ecore_buffer_pub_deps, | ||
33 | ) | ||
34 | |||
35 | install_headers(ecore_buffer_header_src, | ||
36 | install_dir : dir_package_include, | ||
37 | ) | ||
diff --git a/src/lib/ecore_cocoa/meson.build b/src/lib/ecore_cocoa/meson.build new file mode 100644 index 0000000000..b7aca40031 --- /dev/null +++ b/src/lib/ecore_cocoa/meson.build | |||
@@ -0,0 +1,48 @@ | |||
1 | ecore_cocoa_deps = [eina, ecore_input, ecore, emile, eet] | ||
2 | ecore_cocoa_pub_deps = [eina] | ||
3 | pub_eo_file_target = [] | ||
4 | |||
5 | ecore_cocoa_header_src = [ | ||
6 | 'Ecore_Cocoa.h' | ||
7 | ] | ||
8 | |||
9 | ecore_cocoa_src = [ | ||
10 | 'ecore_cocoa.m', | ||
11 | 'ecore_cocoa_keys.h', | ||
12 | 'ecore_cocoa_window.h', | ||
13 | 'ecore_cocoa_window.m', | ||
14 | 'ecore_cocoa_cnp.m', | ||
15 | 'ecore_cocoa_app.m', | ||
16 | 'ecore_cocoa_app.h', | ||
17 | 'ecore_cocoa_private.h' | ||
18 | ] | ||
19 | |||
20 | evas_include_directories = [ | ||
21 | include_directories(join_paths('..', 'evas')), | ||
22 | include_directories(join_paths('..', 'evas','canvas')), | ||
23 | include_directories(join_paths('..', 'evas','common')), | ||
24 | include_directories(join_paths('..', 'evas','common3d')), | ||
25 | include_directories(join_paths('..', 'evas','common3d', 'save_load')), | ||
26 | include_directories(join_paths('..', 'evas','include')), | ||
27 | include_directories(join_paths('..', 'evas','filters')) | ||
28 | ] | ||
29 | |||
30 | ecore_cocoa_lib = library('ecore_cocoa', | ||
31 | ecore_cocoa_src, pub_eo_file_target, | ||
32 | dependencies: ecore_cocoa_deps + ecore_cocoa_pub_deps, | ||
33 | include_directories : config_dir + evas_include_directories, | ||
34 | link_args : ['-lobjc', '-framework', 'CoreFoundation', '-framework', 'cocoa', '-Wl,-U,_evas_textblock_text_markup_to_utf8'], | ||
35 | install: true, | ||
36 | version : meson.project_version() | ||
37 | ) | ||
38 | |||
39 | ecore_cocoa = declare_dependency( | ||
40 | include_directories: [include_directories('.')], | ||
41 | link_with: ecore_cocoa_lib, | ||
42 | sources : pub_eo_file_target + priv_eo_file_target, | ||
43 | dependencies: ecore_cocoa_pub_deps, | ||
44 | ) | ||
45 | |||
46 | install_headers(ecore_cocoa_header_src, | ||
47 | install_dir : dir_package_include, | ||
48 | ) | ||
diff --git a/src/lib/ecore_con/meson.build b/src/lib/ecore_con/meson.build new file mode 100644 index 0000000000..f60e0a7185 --- /dev/null +++ b/src/lib/ecore_con/meson.build | |||
@@ -0,0 +1,220 @@ | |||
1 | ecore_con_deps = [] | ||
2 | ecore_con_pub_deps = [eina, eo, efl, ecore] | ||
3 | |||
4 | if target_machine.system() == 'windows' or target_machine.system() == 'cygwin' | ||
5 | ipv6 = cc.compiles(''' | ||
6 | #include <ws2tcpip.h> | ||
7 | struct ipv6_mreq tmp; | ||
8 | ''') | ||
9 | else | ||
10 | ipv6 = cc.compiles(''' | ||
11 | #include <netinet/in.h> | ||
12 | struct ipv6_mreq tmp; | ||
13 | ''') | ||
14 | endif | ||
15 | |||
16 | if ipv6 | ||
17 | config_h.set('HAVE_IPV6', 1) | ||
18 | endif | ||
19 | |||
20 | pub_legacy_eo_files = [ | ||
21 | 'ecore_con_eet_base.eo', | ||
22 | 'ecore_con_eet_server_obj.eo', | ||
23 | 'ecore_con_eet_client_obj.eo' | ||
24 | ] | ||
25 | |||
26 | pub_eo_file_target = [] | ||
27 | foreach eo_file : pub_legacy_eo_files | ||
28 | pub_eo_file_target += custom_target('eolian_gen_' + eo_file, | ||
29 | input : eo_file, | ||
30 | output : [eo_file + '.h', eo_file + '.legacy.h',], | ||
31 | install : true, | ||
32 | install_dir : dir_package_include, | ||
33 | command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, | ||
34 | '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), | ||
35 | '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), | ||
36 | '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'), | ||
37 | '-gchl', '@INPUT@']) | ||
38 | |||
39 | endforeach | ||
40 | |||
41 | pub_eo_files = [ | ||
42 | 'efl_net_socket.eo', | ||
43 | 'efl_net_socket_simple.eo', | ||
44 | 'efl_net_socket_fd.eo', | ||
45 | 'efl_net_socket_tcp.eo', | ||
46 | 'efl_net_socket_udp.eo', | ||
47 | 'efl_net_dialer.eo', | ||
48 | 'efl_net_dialer_simple.eo', | ||
49 | 'efl_net_dialer_tcp.eo', | ||
50 | 'efl_net_dialer_udp.eo', | ||
51 | 'efl_net_dialer_http.eo', | ||
52 | 'efl_net_dialer_websocket.eo', | ||
53 | 'efl_net_server.eo', | ||
54 | 'efl_net_server_simple.eo', | ||
55 | 'efl_net_server_fd.eo', | ||
56 | 'efl_net_server_ip.eo', | ||
57 | 'efl_net_server_tcp.eo', | ||
58 | 'efl_net_server_udp.eo', | ||
59 | 'efl_net_server_udp_client.eo', | ||
60 | 'efl_net_socket_ssl.eo', | ||
61 | 'efl_net_ssl_context.eo', | ||
62 | 'efl_net_dialer_ssl.eo', | ||
63 | 'efl_net_server_ssl.eo', | ||
64 | 'efl_net_control_access_point.eo', | ||
65 | 'efl_net_control_technology.eo', | ||
66 | 'efl_net_control_manager.eo', | ||
67 | 'efl_net_session.eo', | ||
68 | 'efl_net_ip_address.eo', | ||
69 | ] | ||
70 | |||
71 | if target_machine.system() == 'windows' | ||
72 | pub_eo_files += [ | ||
73 | 'efl_net_socket_windows.eo', | ||
74 | 'efl_net_dialer_windows.eo', | ||
75 | 'efl_net_server_windows.eo' | ||
76 | ] | ||
77 | else | ||
78 | pub_eo_files += [ | ||
79 | 'efl_net_socket_unix.eo', | ||
80 | 'efl_net_dialer_unix.eo', | ||
81 | 'efl_net_server_unix.eo' | ||
82 | ] | ||
83 | endif | ||
84 | |||
85 | foreach eo_file : pub_eo_files | ||
86 | pub_eo_file_target += custom_target('eolian_gen_' + eo_file, | ||
87 | input : eo_file, | ||
88 | output : [eo_file + '.h', eo_file + '.legacy.h',], | ||
89 | install : true, | ||
90 | install_dir : dir_package_include, | ||
91 | command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, | ||
92 | '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), | ||
93 | '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), | ||
94 | '-o', 'l:' + join_paths(meson.current_build_dir(), eo_file + '.legacy.h'), | ||
95 | '-gch', '@INPUT@']) | ||
96 | endforeach | ||
97 | |||
98 | |||
99 | pub_eo_types_files = [ | ||
100 | 'efl_net_types.eot', | ||
101 | 'efl_net_http_types.eot', | ||
102 | 'efl_net_ssl_types.eot' | ||
103 | ] | ||
104 | |||
105 | foreach eo_file : pub_eo_types_files | ||
106 | pub_eo_file_target += custom_target('eolian_gen_' + eo_file, | ||
107 | input : eo_file, | ||
108 | output : [eo_file + '.h'], | ||
109 | install : true, | ||
110 | install_dir : dir_package_include, | ||
111 | command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, | ||
112 | '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), | ||
113 | '-gh', '@INPUT@']) | ||
114 | endforeach | ||
115 | |||
116 | eolian_include_directories += ['-I', meson.current_source_dir()] | ||
117 | |||
118 | ecore_con_header_src = [ | ||
119 | 'Ecore_Con.h', | ||
120 | 'Efl_Net.h', | ||
121 | 'Ecore_Con_Eet.h', | ||
122 | 'Ecore_Con_Eet_Legacy.h', | ||
123 | 'Ecore_Con_Eet_Eo.h' | ||
124 | ] | ||
125 | |||
126 | ecore_con_src = [ | ||
127 | 'ecore_con_alloc.c', | ||
128 | 'ecore_con.c', | ||
129 | 'ecore_con_proxy_helper.c', | ||
130 | 'ecore_con_legacy.c', | ||
131 | 'ecore_con_eet.c', | ||
132 | 'ecore_con_socks.c', | ||
133 | 'ecore_con_url.c', | ||
134 | 'ecore_con_url_curl.c', | ||
135 | 'ecore_con_url_curl.h', | ||
136 | 'ecore_con_private.h', | ||
137 | 'efl_net_socket.c', | ||
138 | 'efl_net_socket_simple.c', | ||
139 | 'efl_net_socket_fd.c', | ||
140 | 'efl_net_socket_tcp.c', | ||
141 | 'efl_net_socket_udp.c', | ||
142 | 'efl_net_dialer.c', | ||
143 | 'efl_net_dialer_simple.c', | ||
144 | 'efl_net_dialer_tcp.c', | ||
145 | 'efl_net_dialer_udp.c', | ||
146 | 'efl_net_dialer_http.c', | ||
147 | 'efl_net_dialer_websocket.c', | ||
148 | 'efl_net_server.c', | ||
149 | 'efl_net_server_simple.c', | ||
150 | 'efl_net_server_fd.c', | ||
151 | 'efl_net_server_ip.c', | ||
152 | 'efl_net_server_tcp.c', | ||
153 | 'efl_net_server_udp.c', | ||
154 | 'efl_net_server_udp_client.c', | ||
155 | 'efl_net_socket_ssl.c', | ||
156 | 'efl_net_ssl_context.c', | ||
157 | 'efl_net_dialer_ssl.c', | ||
158 | 'efl_net_server_ssl.c', | ||
159 | 'ecore_con_local.c', | ||
160 | 'efl_net_ip_address.c' | ||
161 | ] | ||
162 | |||
163 | if target_machine.system() == 'windows' | ||
164 | ecore_con_src += [ | ||
165 | 'efl_net_socket_windows.c', | ||
166 | 'efl_net_dialer_windows.c', | ||
167 | 'efl_net_server_windows.c' | ||
168 | ] | ||
169 | else | ||
170 | ecore_con_src += [ | ||
171 | 'efl_net_socket_unix.c', | ||
172 | 'efl_net_dialer_unix.c', | ||
173 | 'efl_net_server_unix.c' | ||
174 | ] | ||
175 | endif | ||
176 | |||
177 | if get_option('network-backend') == 'none' | ||
178 | ecore_con_src += [ | ||
179 | 'efl_net_control_access_point-none.c', | ||
180 | 'efl_net_control_technology-none.c', | ||
181 | 'efl_net_control-none.c', | ||
182 | 'efl_net_session-none.c' | ||
183 | ] | ||
184 | else | ||
185 | ecore_con_src += [ | ||
186 | 'efl_net-connman.h', | ||
187 | 'efl_net-connman.c', | ||
188 | 'efl_net_control_access_point-connman.c', | ||
189 | 'efl_net_control_technology-connman.c', | ||
190 | 'efl_net_control-connman.c', | ||
191 | 'efl_net_session-connman.c' | ||
192 | ] | ||
193 | ecore_con_deps += eldbus | ||
194 | endif | ||
195 | |||
196 | ecore_con_deps += crypto | ||
197 | |||
198 | ecore_con_lib = library('ecore_con', | ||
199 | ecore_con_src, pub_eo_file_target, | ||
200 | dependencies: [ecore, ecore_con_deps, http_parser, eldbus, eet, systemd, buildsystem, dl], | ||
201 | include_directories : config_dir, | ||
202 | install: true, | ||
203 | c_args : package_c_args, | ||
204 | version : meson.project_version() | ||
205 | ) | ||
206 | |||
207 | ecore_con = declare_dependency( | ||
208 | include_directories: [include_directories('.')], | ||
209 | link_with: ecore_con_lib, | ||
210 | sources : pub_eo_file_target + priv_eo_file_target, | ||
211 | dependencies: ecore_con_pub_deps, | ||
212 | ) | ||
213 | |||
214 | install_data(pub_eo_files + pub_eo_types_files + pub_legacy_eo_files, | ||
215 | install_dir: eolian_ecore_dir | ||
216 | ) | ||
217 | |||
218 | install_headers(ecore_con_header_src, | ||
219 | install_dir : dir_package_include, | ||
220 | ) | ||
diff --git a/src/lib/ecore_drm/meson.build b/src/lib/ecore_drm/meson.build new file mode 100644 index 0000000000..9bc62a7be3 --- /dev/null +++ b/src/lib/ecore_drm/meson.build | |||
@@ -0,0 +1,39 @@ | |||
1 | ecore_drm_deps = [eeze, eldbus, ecore_input, ecore, eo, efl, eina, m] | ||
2 | ecore_drm_pub_deps = [dependency('libinput', version: '>= 1.6.0'), dependency('libdrm', version: '>= 2.4'), dependency('wayland-cursor', version: '>= 1.8.0 '), dependency('xkbcommon', version: '>= 0.3.0'), dependency('gbm')] | ||
3 | |||
4 | ecore_drm_src = [ | ||
5 | 'ecore_drm_sprites.c', | ||
6 | 'ecore_drm_fb.c', | ||
7 | 'ecore_drm_evdev.c', | ||
8 | 'ecore_drm_inputs.c', | ||
9 | 'ecore_drm_output.c', | ||
10 | 'ecore_drm_tty.c', | ||
11 | 'ecore_drm_device.c', | ||
12 | 'ecore_drm_launcher.c', | ||
13 | 'ecore_drm_dbus.c', | ||
14 | 'ecore_drm_logind.c', | ||
15 | 'ecore_drm.c', | ||
16 | 'ecore_drm_private.h' | ||
17 | ] | ||
18 | ecore_drm_header_src = [ | ||
19 | 'Ecore_Drm.h' | ||
20 | ] | ||
21 | |||
22 | |||
23 | ecore_drm_lib = library('ecore_drm', | ||
24 | ecore_drm_src, | ||
25 | dependencies: [m] + ecore_drm_deps + ecore_drm_pub_deps, | ||
26 | include_directories : config_dir + [include_directories(join_paths('..','..'))], | ||
27 | install: true, | ||
28 | c_args : package_c_args, | ||
29 | ) | ||
30 | |||
31 | ecore_drm = declare_dependency( | ||
32 | include_directories: [include_directories('.')], | ||
33 | link_with: ecore_drm_lib, | ||
34 | dependencies: ecore_drm_pub_deps, | ||
35 | ) | ||
36 | |||
37 | install_headers(ecore_drm_header_src, | ||
38 | install_dir : dir_package_include, | ||
39 | ) | ||
diff --git a/src/lib/ecore_drm2/meson.build b/src/lib/ecore_drm2/meson.build new file mode 100644 index 0000000000..1a36fbbede --- /dev/null +++ b/src/lib/ecore_drm2/meson.build | |||
@@ -0,0 +1,34 @@ | |||
1 | ecore_drm2_deps = [eeze, elput, dl, libdrm] | ||
2 | ecore_drm2_pub_deps = [ecore] | ||
3 | |||
4 | ecore_drm2_header_src = [ | ||
5 | 'Ecore_Drm2.h' | ||
6 | ] | ||
7 | |||
8 | ecore_drm2_src = [ | ||
9 | 'ecore_drm2_plane.c', | ||
10 | 'ecore_drm2_fb.c', | ||
11 | 'ecore_drm2_outputs.c', | ||
12 | 'ecore_drm2_device.c', | ||
13 | 'ecore_drm2.c', | ||
14 | 'ecore_drm2_private.h' | ||
15 | ] | ||
16 | |||
17 | ecore_drm2_lib = library('ecore_drm2', | ||
18 | ecore_drm2_src, pub_eo_file_target, | ||
19 | dependencies: ecore_drm2_pub_deps + ecore_drm2_deps, | ||
20 | include_directories : config_dir, | ||
21 | install: true, | ||
22 | version : meson.project_version() | ||
23 | ) | ||
24 | |||
25 | ecore_drm2 = declare_dependency( | ||
26 | include_directories: [include_directories('.')], | ||
27 | link_with: ecore_drm2_lib, | ||
28 | sources : pub_eo_file_target + priv_eo_file_target, | ||
29 | dependencies: ecore_drm2_pub_deps, | ||
30 | ) | ||
31 | |||
32 | install_headers(ecore_drm2_header_src, | ||
33 | install_dir : dir_package_include, | ||
34 | ) | ||
diff --git a/src/lib/ecore_evas/meson.build b/src/lib/ecore_evas/meson.build new file mode 100644 index 0000000000..c0fb459a56 --- /dev/null +++ b/src/lib/ecore_evas/meson.build | |||
@@ -0,0 +1,47 @@ | |||
1 | ecore_evas_deps = [eina, ecore_input_evas, ecore_input, ecore, eet, evas, efl, eo, eina, emile] | ||
2 | ecore_evas_pub_deps = [evas, ecore] | ||
3 | pub_eo_file_target = [] | ||
4 | |||
5 | ecore_evas_header_src = [ | ||
6 | 'Ecore_Evas_Types.h', | ||
7 | 'Ecore_Evas.h', | ||
8 | |||
9 | ] | ||
10 | |||
11 | ecore_evas_src = [ | ||
12 | 'ecore_evas.c', | ||
13 | 'ecore_evas_buffer.c', | ||
14 | 'ecore_evas_buffer.h', | ||
15 | 'ecore_evas_deprecated.c', | ||
16 | 'ecore_evas_drm.h', | ||
17 | 'ecore_evas_ews.c', | ||
18 | 'ecore_evas_module.c', | ||
19 | 'ecore_evas_private.h', | ||
20 | 'ecore_evas_extn.h', | ||
21 | 'ecore_evas_extn.c', | ||
22 | 'ecore_evas_wayland.h', | ||
23 | 'ecore_evas_cocoa.h', | ||
24 | 'ecore_evas_win32.h', | ||
25 | 'ecore_evas_x11.h', | ||
26 | 'ecore_evas_util.c' | ||
27 | ] | ||
28 | |||
29 | |||
30 | ecore_evas_lib = library('ecore_evas', | ||
31 | ecore_evas_src, pub_eo_file_target, | ||
32 | dependencies: [ecore_evas_deps, buildsystem], | ||
33 | include_directories : config_dir, | ||
34 | install: true, | ||
35 | version : meson.project_version() | ||
36 | ) | ||
37 | |||
38 | ecore_evas = declare_dependency( | ||
39 | include_directories: [include_directories('.')], | ||
40 | link_with: ecore_evas_lib, | ||
41 | sources : pub_eo_file_target + priv_eo_file_target, | ||
42 | dependencies: [evas], | ||
43 | ) | ||
44 | |||
45 | install_headers(ecore_evas_header_src, | ||
46 | install_dir : dir_package_include, | ||
47 | ) | ||
diff --git a/src/lib/ecore_fb/meson.build b/src/lib/ecore_fb/meson.build new file mode 100644 index 0000000000..0bcf11e3c8 --- /dev/null +++ b/src/lib/ecore_fb/meson.build | |||
@@ -0,0 +1,34 @@ | |||
1 | ecore_fb_deps = [ecore, ecore_input] | ||
2 | ecore_fb_pub_deps = [eina] | ||
3 | |||
4 | ecore_fb_header_src = [ | ||
5 | 'Ecore_Fb.h' | ||
6 | ] | ||
7 | |||
8 | ecore_fb_src = [ | ||
9 | 'ecore_fb.c', | ||
10 | 'ecore_fb_li.c', | ||
11 | 'ecore_fb_ts.c', | ||
12 | 'ecore_fb_vt.c', | ||
13 | 'ecore_fb_keytable.h', | ||
14 | 'ecore_fb_private.h' | ||
15 | ] | ||
16 | |||
17 | ecore_fb_lib = library('ecore_fb', | ||
18 | ecore_fb_src, pub_eo_file_target, | ||
19 | dependencies: ecore_fb_pub_deps + ecore_fb_deps, | ||
20 | include_directories : config_dir, | ||
21 | install: true, | ||
22 | version : meson.project_version() | ||
23 | ) | ||
24 | |||
25 | ecore_fb = declare_dependency( | ||
26 | include_directories: [include_directories('.')], | ||
27 | link_with: ecore_fb_lib, | ||
28 | sources : pub_eo_file_target + priv_eo_file_target, | ||
29 | dependencies: ecore_fb_pub_deps, | ||
30 | ) | ||
31 | |||
32 | install_headers(ecore_fb_header_src, | ||
33 | install_dir : dir_package_include, | ||
34 | ) | ||
diff --git a/src/lib/ecore_file/meson.build b/src/lib/ecore_file/meson.build new file mode 100644 index 0000000000..a3e70f8a99 --- /dev/null +++ b/src/lib/ecore_file/meson.build | |||
@@ -0,0 +1,39 @@ | |||
1 | ecore_file_deps = [ecore_con, ecore] | ||
2 | ecore_file_pub_deps = [eina] | ||
3 | |||
4 | ecore_file_src = [ | ||
5 | 'ecore_file.c', | ||
6 | 'ecore_file_download.c', | ||
7 | 'ecore_file_monitor.c', | ||
8 | 'ecore_file_path.c', | ||
9 | 'ecore_file_private.h' | ||
10 | ] | ||
11 | |||
12 | if target_machine.system() == 'windows' | ||
13 | ecore_file_src += [ 'ecore_file_monitor_win32.c'] | ||
14 | elif cc.has_header('sys/inotify.h') | ||
15 | ecore_file_src += [ 'ecore_file_monitor_inotify.c'] | ||
16 | else | ||
17 | ecore_file_src += [ 'ecore_file_monitor_poll.c'] | ||
18 | endif | ||
19 | |||
20 | ecore_file_header_src = ['Ecore_File.h'] | ||
21 | |||
22 | |||
23 | ecore_file_lib = library('ecore_file', | ||
24 | ecore_file_src, | ||
25 | dependencies: ecore_file_deps + ecore_file_pub_deps + ecore_file_deps, | ||
26 | include_directories : config_dir + [include_directories(join_paths('..','..'))], | ||
27 | install: true, | ||
28 | version : meson.project_version() | ||
29 | ) | ||
30 | |||
31 | ecore_file = declare_dependency( | ||
32 | include_directories: [include_directories('.')], | ||
33 | link_with: ecore_file_lib, | ||
34 | dependencies: ecore_file_pub_deps, | ||
35 | ) | ||
36 | |||
37 | install_headers(ecore_file_header_src, | ||
38 | install_dir : dir_package_include, | ||
39 | ) | ||
diff --git a/src/lib/ecore_imf/meson.build b/src/lib/ecore_imf/meson.build new file mode 100644 index 0000000000..978594d20a --- /dev/null +++ b/src/lib/ecore_imf/meson.build | |||
@@ -0,0 +1,34 @@ | |||
1 | ecore_imf_deps = [ecore] | ||
2 | ecore_imf_pub_deps = [eina] | ||
3 | |||
4 | ecore_imf_header_src = [ | ||
5 | 'Ecore_IMF.h' | ||
6 | ] | ||
7 | |||
8 | ecore_imf_src = [ | ||
9 | 'ecore_imf.c', | ||
10 | 'ecore_imf_context.c', | ||
11 | 'ecore_imf_module.c', | ||
12 | 'ecore_imf_private.h', | ||
13 | ] | ||
14 | |||
15 | |||
16 | ecore_imf_lib = library('ecore_imf', | ||
17 | ecore_imf_src, pub_eo_file_target, | ||
18 | dependencies: [buildsystem, ecore_imf_deps, ecore_imf_pub_deps], | ||
19 | include_directories : config_dir, | ||
20 | c_args : package_c_args, | ||
21 | install: true, | ||
22 | version : meson.project_version() | ||
23 | ) | ||
24 | |||
25 | ecore_imf = declare_dependency( | ||
26 | include_directories: [include_directories('.')], | ||
27 | link_with: ecore_imf_lib, | ||
28 | sources : pub_eo_file_target + priv_eo_file_target, | ||
29 | dependencies: ecore_imf_pub_deps, | ||
30 | ) | ||
31 | |||
32 | install_headers(ecore_imf_header_src, | ||
33 | install_dir : dir_package_include, | ||
34 | ) | ||
diff --git a/src/lib/ecore_imf_evas/meson.build b/src/lib/ecore_imf_evas/meson.build new file mode 100644 index 0000000000..28d53ea78d --- /dev/null +++ b/src/lib/ecore_imf_evas/meson.build | |||
@@ -0,0 +1,30 @@ | |||
1 | ecore_imf_evas_header_src = [ | ||
2 | 'Ecore_IMF_Evas.h' | ||
3 | ] | ||
4 | |||
5 | ecore_imf_evas_src = [ | ||
6 | 'ecore_imf_evas.c' | ||
7 | ] | ||
8 | |||
9 | ecore_imf_evas_deps = [ecore_imf, evas] | ||
10 | ecore_imf_evas_pub_deps = [eina, eo, efl] | ||
11 | |||
12 | ecore_imf_evas_lib = library('ecore_imf_evas', | ||
13 | ecore_imf_evas_src, | ||
14 | dependencies: ecore_imf_evas_pub_deps + [m] + ecore_imf_evas_deps, | ||
15 | include_directories : config_dir + [include_directories('.')], | ||
16 | install: true, | ||
17 | c_args : package_c_args, | ||
18 | version : meson.project_version() | ||
19 | ) | ||
20 | |||
21 | ecore_imf_evas = declare_dependency( | ||
22 | include_directories: [include_directories('.')], | ||
23 | link_with: ecore_imf_evas_lib, | ||
24 | sources : pub_eo_file_target + priv_eo_file_target, | ||
25 | dependencies: ecore_imf_evas_pub_deps, | ||
26 | ) | ||
27 | |||
28 | install_headers(ecore_imf_evas_header_src, | ||
29 | install_dir : dir_package_include, | ||
30 | ) | ||
diff --git a/src/lib/ecore_input/meson.build b/src/lib/ecore_input/meson.build new file mode 100644 index 0000000000..c57ec4e04c --- /dev/null +++ b/src/lib/ecore_input/meson.build | |||
@@ -0,0 +1,38 @@ | |||
1 | ecore_input_deps = [ecore] | ||
2 | ecore_input_pub_deps = [eina, eo] | ||
3 | |||
4 | ecore_input_header_src = [ | ||
5 | 'Ecore_Input.h' | ||
6 | ] | ||
7 | |||
8 | ecore_input_src = [ | ||
9 | 'ecore_input.c', | ||
10 | 'ecore_input_compose.c', | ||
11 | 'ecore_input_joystick.c', | ||
12 | 'ecore_input_compose.h', | ||
13 | 'ecore_input_private.h' | ||
14 | ] | ||
15 | |||
16 | if get_option('eeze') | ||
17 | ecore_input_deps += eeze | ||
18 | endif | ||
19 | |||
20 | |||
21 | ecore_input_lib = library('ecore_input', | ||
22 | ecore_input_src, pub_eo_file_target, | ||
23 | dependencies: ecore_input_pub_deps + ecore_input_deps, | ||
24 | include_directories : config_dir, | ||
25 | install: true, | ||
26 | version : meson.project_version() | ||
27 | ) | ||
28 | |||