meson: introduce to meson build system 68/199868/38
authorWonki Kim <wonki_.kim@samsung.com>
Fri, 11 Jan 2019 01:49:32 +0000 (10:49 +0900)
committerwonki kim <wonki_.kim@samsung.com>
Tue, 26 Mar 2019 04:42:28 +0000 (04:42 +0000)
this patch introduce to meson build system.
but meson build is not enabled by default.

you can use meson build system
once you pass --define "buildsystem meson" at the end of gbs build command.

Change-Id: I83287465e2920908d6f4ae8155b44fd44c95d645

37 files changed:
cmakeconfig/meson.build
data/meson.build
header_checks/meson.build
meson.build
meson_options.txt
packaging/efl.spec
po/meson.build
src/generic/evas/meson.build
src/generic/evas/svg/main.c [deleted file]
src/generic/evas/svg/meson.build [deleted file]
src/lib/ecore/meson.build
src/lib/ecore_audio/ecore_audio_out_tizen.eo
src/lib/ecore_audio/meson.build
src/lib/ecore_imf/meson.build
src/lib/ecore_wayland/meson.build
src/lib/ecore_wl2/meson.build
src/lib/eina/meson.build
src/lib/elementary/meson.build
src/modules/ecore_buffer/meson.build
src/modules/ecore_buffer/tbm/meson.build
src/modules/ecore_evas/engines/extn/meson.build
src/modules/ecore_evas/engines/tbm/meson.build [new file with mode: 0644]
src/modules/ecore_evas/meson.build
src/modules/elementary/access_output/meson.build
src/modules/elementary/clock_input_ctxpopup/meson.build
src/modules/elementary/copypasteUI_ctxpopup/meson.build [new file with mode: 0644]
src/modules/elementary/meson.build
src/modules/elementary/prefs/meson.build
src/modules/elementary/test_entry/meson.build
src/modules/elementary/test_map/meson.build
src/modules/elementary/web/none/meson.build
src/modules/ethumb/emotion/meson.build
src/modules/evas/engines/gl_tbm/meson.build [new file with mode: 0644]
src/modules/evas/engines/software_tbm/meson.build [new file with mode: 0644]
src/modules/evas/meson.build
src/scripts/meson.build
src/wayland_protocol/meson.build

index 158b2a9..7a444cc 100644 (file)
@@ -13,7 +13,6 @@ cmake_src = [
   'Eio',
   'Eldbus',
   'Elementary',
-  'Elua',
   'Emile',
   'Emotion',
   'Eo',
@@ -26,6 +25,10 @@ cmake_src = [
   'EvasCxx',
 ]
 
+if get_option('elua') == true
+  cmake_src += 'Elua'
+endif
+
 cmake_version_src = [
   'Efl',
   'Elementary',
index 4e1f68d..d3f0672 100644 (file)
@@ -1,4 +1,17 @@
-checkme_files = ['ecore', 'ecore_imf', 'ecore_x', 'eeze', 'efreet', 'elua', 'emotion', 'ethumb', 'ethumb_client', 'evas']
+checkme_files = ['ecore', 'ecore_imf', 'efreet', 'emotion', 'ethumb', 'ethumb_client', 'evas']
+
+if get_option('x11') == true
+  checkme_files += 'ecore_x'
+endif
+
+if get_option('eeze') == true
+  checkme_files += 'eeze'
+endif
+
+if get_option('elua') == true
+  checkme_files += 'elua'
+endif
+
 foreach checkme : checkme_files
   install_data(join_paths(checkme, 'checkme'),
     install_dir : join_paths(dir_data, checkme)
index c77ad94..c57be92 100644 (file)
@@ -84,7 +84,7 @@ function_checks = [
   ['geteuid', ['unistd.h']],
   ['getpagesize', ['unistd.h']],
   ['getpwent', ['sys/types.h', 'pwd.h']],
-  ['getuid', ['unistd.h']],
+  #['getuid', ['unistd.h']],
   ['getxattr', ['sys/types.h', 'sys/xattr.h']],
   ['iconv', ['iconv.h']],
   ['listxattr', ['sys/types.h', 'sys/xattr.h']],
@@ -143,7 +143,8 @@ m = cc.find_library('m')
 dl = cc.find_library('dl', required: false)
 rt = cc.find_library('rt', required: false)
 
-thread_dep = dependency('threads')
+#thread_dep = dependency('threads')
+thread_dep = cc.find_library('pthread')
 
 #check for the headers
 foreach header : header_checks
index 93cd3be..c9c0873 100644 (file)
@@ -268,6 +268,7 @@ subprojects = [
 ['ecore_input'      ,[]                    , false,  true, false, false, false, false, ['eina', 'eo'], []],
 ['ecore_x'          ,['x11']               , false,  true, false, false, false, false, ['eina', 'efl'], []],
 ['ecore_fb'         ,['fb']                , false,  true, false, false, false, false, ['eina'], []],
+['ecore_wayland'    ,['wl-deprecated']     , false,  true, false, false, false, false, ['eina'], []],
 ['ecore_wl2'        ,['wl']                ,  true,  true, false, false, false, false, ['eina'], ['libdrm']],
 ['ecore_sdl'        ,['sdl']               , false,  true, false, false, false, false, ['eina'], []],
 ['ecore_ipc'        ,[]                    , false,  true, false, false, false, false, ['eina'], []],
@@ -295,8 +296,7 @@ subprojects = [
 ['elementary'       ,[]                    ,  true,  true,  true,  true,  true,  true, ['eina', 'efl', 'eo', 'eet', 'evas', 'ecore', 'ecore-evas', 'ecore-file', 'ecore-input', 'edje', 'ethumb-client', 'emotion', 'ecore-imf', 'ecore-con', 'eldbus', 'efreet', 'efreet-mime', 'efreet-trash', 'eio', 'elocation'], ['atspi']],
 ['efl_wl'           ,['wl']                , false,  true,  true, false, false, false, ['evas', 'ecore'], []],
 ['elua'             ,['elua']              , false,  true,  true, false,  true, false, ['eina', 'luajit'], []],
-['ecore_wayland'    ,['wl-deprecated']     , false,  true, false, false, false, false, ['eina'], []],
-['ecore_drm'        ,['drm-deprecated']    , false,  true, false, false, false, false, ['eina'], []],
+['ecore_drm'        ,['drm-deprecated']    , true,   true, false, false, false, false, ['eina'], []],
 ]
 
 # We generate Efl_Config.h and config.h later, they will be available here
@@ -345,7 +345,7 @@ foreach package : subprojects
     #private eo files target - never use this :)
     priv_eo_file_target = []
     #use this variable to store custom variables in that should be placed in the .pc file
-    package_pc_variables = []
+    package_pc_variables = ['module_arch='+version_name,]
 
     foreach static_lib : package[9]
       if get_variable(static_lib, tmp_empty) == tmp_empty
@@ -404,13 +404,22 @@ foreach package : subprojects
           version : version_major + '.' + version_minor + '.' + version_micro,
           libraries : tmp_pub_deps,
           requires : package[8],
+          variables : package_pc_variables
+        )
+      elif package_name == 'ecore'
+        pkgconfig.generate(tmp_lib,
+          name : package_name+'-core',
+          subdirs : [package_version_name] + tmp_package_subdirs,
+          version : version_major + '.' + version_minor + '.' + version_micro,
+          libraries : tmp_pub_deps,
+          requires : package[8],
+          variables : package_pc_variables
         )
       endif
     endif
   else
     message(package_name+' disabled!')
   endif
-
 endforeach
 
 subdir('cmakeconfig')
@@ -506,6 +515,6 @@ foreach pc_file : efl_20_pc_files
   pkgconfig.generate(
     name : '-'.join(name.split('_')),
     description: name+' configutation file',
-    requires : libraries,
+    requires: libraries,
   )
 endforeach
index 2c168df..0ec15b6 100644 (file)
@@ -4,21 +4,21 @@ option('audio',
   description : 'Flag for handling audio support in efl'
 )
 
-option('avahi',
+option('avahi', # TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'Flag for handling avahi support in efl'
 )
 
-option('x11',
+option('x11', # TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'Flag for handling x11 support in efl'
 )
 
-option('fb',
+option('fb', # TIZEN_CONFIG
   type : 'boolean',
-  value : false,
+  value : true,
   description : 'Flag for handling frame buffer support in efl'
 )
 
@@ -28,15 +28,15 @@ option('sdl',
   description : 'Flag for handling sdl support in efl'
 )
 
-option('wl',
+option('wl', # TIZEN_CONFIG
   type : 'boolean',
-  value : false,
+  value : true,
   description : 'Flag for handling wayland support in efl'
 )
 
-option('buffer',
+option('buffer', # TIZEN_CONFIG
   type : 'boolean',
-  value : false,
+  value : true,
   description : 'Flag for handling buffer support in efl'
 )
 
@@ -52,9 +52,9 @@ option('cocoa',
   description : 'Flag for handling apple cocoa support in efl'
 )
 
-option('physics',
+option('physics', # TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'Flag for handling the internal physics engine in efl'
 )
 
@@ -64,10 +64,10 @@ option('eeze',
   description : 'Flag for handling the device abstraction layer in efl'
 )
 
-option('opengl',
+option('opengl', # TIZEN_CONFIG
   type : 'combo',
   choices : ['full', 'es-egl', 'none'],
-  value : 'full',
+  value : 'es-egl',
   description : 'build efl with a special opengl support'
 )
 
@@ -88,15 +88,15 @@ option('debug-threads',
   description : 'thread debugging'
 )
 
-option('build-examples',
+option('build-examples', # TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'build examples'
 )
 
-option('build-tests',
+option('build-tests', # TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'build tests'
 )
 
@@ -118,21 +118,21 @@ option('g-mainloop',
   description : 'use glib mainloop or not'
 )
 
-option('gstreamer',
+option('gstreamer', # TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'use gstreamer 1.0 support'
 )
 
-option('systemd',
+option('systemd', # TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'use systemd support'
 )
 
-option('pulseaudio',
+option('pulseaudio', #TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'pulseaudio support'
 )
 
@@ -169,7 +169,7 @@ option('xinput22',
 
 option('tslib',
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'tslib support'
 )
 
@@ -201,22 +201,22 @@ option('evas-modules',
 option('evas-loaders-disabler',
   type : 'array',
   description : 'add names here to disable the loaders',
-  choices : ['gst', 'pdf', 'ps', 'raw', 'svg', 'xcf', 'bmp', 'dds', 'eet', 'generic', 'gif', 'ico', 'jp2k', 'jpeg', 'pmaps', 'png', 'psd', 'tga', 'tgv', 'tiff', 'wbmp', 'webp', 'xpm', 'json'],
-  value : ['webp']
+  choices : ['gst', 'pdf', 'ps', 'raw', 'rsvg', 'svg', 'xcf', 'bmp', 'dds', 'eet', 'generic', 'gif', 'ico', 'jp2k', 'jpeg', 'pmaps', 'png', 'psd', 'tga', 'tgv', 'tiff', 'wbmp', 'webp', 'xpm'],
+  value : ['gst', 'pdf', 'ps', 'rsvg', 'raw', 'webp'],
 )
 
-option('ecore-imf-loaders-disabler',
+option('ecore-imf-loaders-disabler', # TIZEN_CONFIG
   type : 'array',
   description : 'add names here to disable the loaders',
   choices : ['xim', 'ibus', 'scim'],
-  value : ['scim']
+  value : ['xim', 'ibus', 'scim']
 )
 
 option('emotion-loaders-disabler',
   type : 'array',
   description : 'add names here to disable the loaders',
   choices : ['gstreamer', 'gstreamer1', 'libvlc', 'xine'],
-  value : ['gstreamer', 'libvlc', 'xine']
+  value : ['gstreamer','gstreamer1', 'libvlc', 'xine']
 )
 
 option('emotion-generic-loaders-disabler',
@@ -226,9 +226,9 @@ option('emotion-generic-loaders-disabler',
   value : ['vlc']
 )
 
-option('harfbuzz',
+option('harfbuzz', # TIZEN_CONFIG
   type : 'boolean',
-  value : false,
+  value : true,
   description : 'harfbuzz support'
 )
 
@@ -256,9 +256,9 @@ option('pixman',
   description : 'Enable pixman support in evas'
 )
 
-option('hyphen',
+option('hyphen', # TIZEN_CONFIG
   type : 'boolean',
-  value : false,
+  value : true,
   description : 'Enable hyphen support in evas'
 )
 
@@ -286,9 +286,9 @@ option('v4l2',
   description : 'add v4l2 support'
 )
 
-option('elua',
+option('elua', # TIZEN_CONFIG
   type : 'boolean',
-  value : true,
+  value : false,
   description : 'Flag for handling elua support in efl'
 )
 
@@ -313,7 +313,7 @@ option('nls',
 option('bindings',
   type : 'array',
   choices : ['luajit', 'cxx', 'mono'],
-  value : ['luajit', 'cxx'],
+  value : [],
   description : 'Add values here to enable the bindings',
 )
 
@@ -323,10 +323,10 @@ option('mono-beta',
   description: 'Flag for enabling @beta Eo methods in the api'
 )
 
-option('lua-interpreter',
+option('lua-interpreter', # TIZEN_CONFIG
   type: 'combo',
   choices: ['luajit', 'lua'],
-  value: 'luajit',
+  value: 'lua',
   description: 'Select a type of lua interpreter to use it for edje and evas'
 )
 
@@ -355,9 +355,9 @@ option('dictionaries-hyphen-dir',
   description : 'Put the path to hyphen dictionaries directory'
 )
 
-option('elementary-base-dir',
+option('elementary-base-dir', # TIZEN_CONFIG
   type : 'string',
-  value : '.elementary',
+  value : 'share/.elementary',
   description : 'Put the name of a base directory for elementary data'
 )
 
@@ -366,3 +366,15 @@ option('eolian-bootstrap',
   value : false,
   description : 'Only build efl up to eolian_gen and install eina libeolian and eolian_gen, usefull for cross compiles'
 )
+
+option('tbm',
+  type: 'boolean',
+  value: true,
+  description: 'enable tbm'
+)
+
+option('tizen_audio',
+  type: 'boolean',
+  value: true,
+  description: 'enable tizen audio'
+)
index 96803de..f274bda 100644 (file)
@@ -1,7 +1,11 @@
 %bcond_without wayland
 %bcond_with x
 
+%if "%{buildsystem}" == "meson"
+#
+%else
 %bcond_without automake
+%endif
 
 %define enable_examples       0
 %define enable_ephysics       0
@@ -33,7 +37,7 @@ BuildRequires:  gettext-tools
 BuildRequires:  hyphen-devel
 
 %if %{without automake}
-BuildRequires:  meson
+BuildRequires:  meson >= 0.49.0
 %endif
 
 %if %{with wayland}
@@ -137,6 +141,7 @@ Obsoletes: efl-data
 
 %define dbus_unavailable 1
 
+
 %description
 EFL is a library collection providing various functionality used (not only) by
 Enlightenment, Terminology, Tizen and more.
@@ -350,10 +355,10 @@ Requires: ecore-wayland
 %endif
 %if %{with x}
 Requires: ecore-x
-%endif
 %if %{with automake}
 Requires: ecore-avahi
 %endif
+%endif
 License: BSD-2-Clause and MIT
 
 %description -n ecore
@@ -384,10 +389,10 @@ Requires: ecore-wayland-devel
 %endif
 %if %{with x}
 Requires: ecore-x-devel
-%endif
 %if %{with automake}
 Requires: ecore-avahi-devel
 %endif
+%endif
 License: BSD-2-Clause and MIT
 
 %description -n ecore-devel
@@ -434,6 +439,7 @@ License: BSD-2-Clause and MIT
 %description -n ecore-audio-devel
 Development files for ecore_audio
 
+%if %{with x}
 %if %{with automake}
 %package -n ecore-avahi
 Summary: Enlightened Core X interface library - avahi
@@ -452,6 +458,7 @@ License: BSD-2-Clause and MIT
 %description -n ecore-avahi-devel
 Development files for ecore_avahi
 %endif
+%endif
 
 %package -n ecore-buffer
 Summary: Enlightened Core X interface library - buffer
@@ -1105,7 +1112,7 @@ EFL elementary configuration and test apps package
 %package -n elementary-devel
 Summary:        Development files for elementary
 Group:          Development/Libraries
-Requires:       %{name} = %{version}
+Requires:       elementary = %{version}-%{release}
 Recommends:     elementary
 
 %description -n elementary-devel
@@ -1183,28 +1190,28 @@ License: BSD-2-Clause
 Development files for efl-wl
 
 %if %{with automake}
-%package -n elput
-Summary: Elput provides a wrapper and functions for using libinput
-Requires: %{name}-data = %{version}-%{release}
-License: BSD-2-Clause
-# i am not sure that the license is correct
-
-%description -n elput
-Elput provides a wrapper and functions for using libinput
-
-%package -n elput-devel
-Summary: Development components for the elput package
-Group: Graphics & UI Framework/Development
-Requires: elput = %{version}-%{release}
-License: BSD-2-Clause
-# i am not sure that the license is correct
-
-%description -n elput-devel
-Development files for elput
+##%%package -n elput
+##%Summary: Elput provides a wrapper and functions for using libinput
+##%Requires: %{name}-data = %{version}-%{release}
+##%License: BSD-2-Clause
+##%# i am not sure that the license is correct
+##%
+##%%description -n elput
+##%Elput provides a wrapper and functions for using libinput
+##%
+##%%package -n elput-devel
+##%Summary: Development components for the elput package
+##%Group: Graphics & UI Framework/Development
+##%Requires: elput = %{version}-%{release}
+##%License: BSD-2-Clause
+##%# i am not sure that the license is correct
+##%
+##%%description -n elput-devel
+##%Development files for elput
 %endif
 
-
 %prep
+echo "%{_buildsystem}"
 %setup -q
 cp %{SOURCE1001} .
 
@@ -1280,19 +1287,36 @@ export XDG_RUNTIME_DIR="/tmp/"
 sed \
 -e 's%^.*: error: .*$%\x1b[37;41m&\x1b[m%' \
 -e 's%^.*: warning: .*$%\x1b[30;43m&\x1b[m%'
-# automake above
 %else
-# meson below
-%endif
+export DESTDIR=%{buildroot}
+meson setup \
+                --buildtype plain \
+                --prefix /usr \
+                -Dcpp_std=gnu++11 \
+                builddir 2>&1
+
+sed -i.bak -e "s/soname,libelementary_t/soname,libelementary/g" builddir/build.ninja
 
+ninja \
+                -C builddir \
+                -j %(echo "`/usr/bin/getconf _NPROCESSORS_ONLN`") \
+                -v \
+                all
+%endif
 
 %install
 %if %{with automake}
 %make_install
 rm %{buildroot}/usr/share/ecore_x/checkme
-# automake above
 %else
-# meson below
+export DESTDIR=%{buildroot}
+ninja \
+                -C builddir \
+                -j %(echo "`/usr/bin/getconf _NPROCESSORS_ONLN`") \
+                install
+
+mv %{buildroot}/usr/lib/libelementary_t.so.1.22.100 %{buildroot}/usr/lib/libelementary.so.1.22.100
+rm %{buildroot}/usr/lib/libelementary_t.*
 %endif
 
 mkdir -p %{buildroot}%{_tmpfilesdir}
@@ -1300,7 +1324,6 @@ install -m 0644 %SOURCE100 %{buildroot}%{_tmpfilesdir}/efl.conf
 
 %find_lang %{name}
 
-
 %post -n eina -p /sbin/ldconfig
 %postun -n eina -p /sbin/ldconfig
 
@@ -1360,15 +1383,20 @@ install -m 0644 %SOURCE100 %{buildroot}%{_tmpfilesdir}/efl.conf
 %post -n ecore-wl2 -p /sbin/ldconfig
 %postun -n  ecore-wl2 -p /sbin/ldconfig
 
+%post -n ecore-wayland -p /sbin/ldconfig
+%postun -n  ecore-wayland -p /sbin/ldconfig
+
 %if %{with automake}
-%post -n elput -p /sbin/ldconfig
-%postun -n elput -p /sbin/ldconfig
+##%%post -n elput -p /sbin/ldconfig
+##%%postun -n elput -p /sbin/ldconfig
 %endif
 
 %post -n efl-wl -p /sbin/ldconfig
 %postun -n efl-wl -p /sbin/ldconfig
 
-%post -n elementary -p /sbin/ldconfig
+%post -n elementary
+ldconfig -l %{_libdir}/libelementary.so.1.22.0
+
 %postun -n elementary -p /sbin/ldconfig
 
 %post -n elementary-tizen
@@ -1379,7 +1407,6 @@ ldconfig -l %{_libdir}/libelementary.so.1.22.0
 
 %postun -n elementary-tizen -p /sbin/ldconfig
 
-
 %files -n %{name}
 %manifest %{name}.manifest
 %defattr(-,root,root,-)
@@ -1391,8 +1418,21 @@ ldconfig -l %{_libdir}/libelementary.so.1.22.0
 %exclude /usr/lib*/debug/.build-id/
 %exclude /usr/lib*/debug/*
 %if %{with automake}
+#elua
 %exclude %{_libdir}/cmake/Elua/
 %exclude %{_datadir}/elua/checkme
+#elput
+%exclude %exclude %{_libdir}/libelput.so.*
+%exclude %{_libdir}/libelput.so
+%exclude %{_libdir}/pkgconfig/elput.pc
+%exclude %{_includedir}/elput-*1/
+#avahi
+%if %{without x}
+%exclude %{_libdir}/libecore_avahi.so.*
+%exclude %{_includedir}/ecore-avahi*/
+%exclude %{_libdir}/libecore_avahi.so
+%exclude %{_libdir}/pkgconfig/ecore-avahi*.pc
+%endif
 %endif
 
 %files -n %{name}-devel
@@ -1579,6 +1619,7 @@ ldconfig -l %{_libdir}/libelementary.so.1.22.0
 %{_libdir}/libecore_audio.so
 %{_libdir}/pkgconfig/ecore-audio*.pc
 
+%if %{with x}
 %if %{with automake}
 %files -n ecore-avahi
 %manifest %{name}.manifest
@@ -1593,6 +1634,7 @@ ldconfig -l %{_libdir}/libelementary.so.1.22.0
 %{_libdir}/libecore_avahi.so
 %{_libdir}/pkgconfig/ecore-avahi*.pc
 %endif
+%endif
 
 %files -n ecore-buffer
 %manifest %{name}.manifest
@@ -1755,7 +1797,7 @@ ldconfig -l %{_libdir}/libelementary.so.1.22.0
 %files -n ecore-wayland-devel
 %manifest %{name}.manifest
 %defattr(-,root,root,-)
-%{_includedir}/ecore-wayland-1/
+%{_includedir}/ecore-wayland-*1/
 %{_libdir}/libecore_wayland.so
 %{_libdir}/pkgconfig/ecore-wayland.pc
 %endif
@@ -2078,19 +2120,19 @@ ldconfig -l %{_libdir}/libelementary.so.1.22.0
 %{_libdir}/pkgconfig/efl-wl.pc
 
 %if %{with automake}
-%files -n elput
-%manifest %{name}.manifest
-%license licenses/COPYING.BSD
-%defattr(-,root,root,-)
-%{_libdir}/libelput.so.*
-
-%files -n elput-devel
-%manifest %{name}.manifest
-%license licenses/COPYING.BSD
-%defattr(-,root,root,-)
-%{_libdir}/libelput.so
-%{_libdir}/pkgconfig/elput.pc
-%{_includedir}/elput-*1/
+##%%files -n elput
+##%%manifest %{name}.manifest
+##%%license licenses/COPYING.BSD
+##%%defattr(-,root,root,-)
+##%%{_libdir}/libelput.so.*
+##%
+##%%files -n elput-devel
+##%%manifest %{name}.manifest
+##%%license licenses/COPYING.BSD
+##%%defattr(-,root,root,-)
+##%%{_libdir}/libelput.so
+##%%{_libdir}/pkgconfig/elput.pc
+##%%{_includedir}/elput-*1/
 %endif
 
 %files -n elementary
index 5135bb6..a2f98b8 100644 (file)
@@ -17,6 +17,7 @@ if get_option('nls')
   if cc.compiles('#include <libintl.h>', dependencies : intl) == false
     error('libintl.h not found')
   endif
+  config_h.set('HAVE_LIBINTL_H', 1)
 else
   intl = declare_dependency()
 endif
index a6c924f..2e5b58a 100644 (file)
@@ -1,7 +1,7 @@
 generic_loaders = ['gst', 'pdf',
 'ps',
 'raw',
-'svg',
+'rsvg',
 'xcf']
 
 generic_src = []
diff --git a/src/generic/evas/svg/main.c b/src/generic/evas/svg/main.c
deleted file mode 100644 (file)
index f197330..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-#include <stdio.h>
-#include "shmfile.h"
-#include "timeout.h"
-
-#include <Eina.h>
-
-#include <librsvg/rsvg.h>
-#ifndef LIBRSVG_CHECK_VERSION
-# include <librsvg/librsvg-features.h>
-#endif
-#if LIBRSVG_CHECK_VERSION(2,36,2)
-#else
-# include <librsvg/rsvg-cairo.h>
-#endif
-
-#define DATA32 unsigned int
-
-static RsvgHandle *rsvg = NULL;
-static int width = 0;
-static int height = 0;
-static RsvgDimensionData dim;
-
-static inline Eina_Bool evas_image_load_file_is_svg(const char *file)
-{
-   int i, len = strlen(file);
-   Eina_Bool is_gz = EINA_FALSE;
-
-   for (i = len - 1; i > 0; i--)
-     {
-       if (file[i] == '.')
-         {
-            if (is_gz)
-              break;
-            else if (strcasecmp(file + i + 1, "gz") == 0)
-              is_gz = EINA_TRUE;
-            else
-              break;
-         }
-     }
-
-   if (i < 1) return EINA_FALSE;
-   i++;
-   if (i >= len) return EINA_FALSE;
-   if (strncasecmp(file + i, "svg", 3) != 0) return EINA_FALSE;
-   i += 3;
-   if (is_gz)
-     {
-       if (file[i] == '.') return EINA_TRUE;
-       else return EINA_FALSE;
-     }
-   else
-     {
-       if (file[i] == '\0') return EINA_TRUE;
-       else if (((file[i] == 'z') || (file[i] == 'Z')) && (!file[i + 1])) return EINA_TRUE;
-       else return EINA_FALSE;
-     }
-}
-
-static int
-_svg_init(const char *file)
-{
-#ifdef HAVE_SVG_2_36
-# if !defined(GLIB_VERSION_2_36)
-   g_type_init();
-# endif
-#else
-   rsvg_init();
-#endif
-
-   if (!evas_image_load_file_is_svg(file)) return 0;
-
-   rsvg = rsvg_handle_new_from_file(file, NULL);
-   if (!rsvg) return 0;
-
-   return 1;
-}
-
-static void
-_svg_shutdown(void)
-{
-   if (rsvg)
-     {
-        rsvg_handle_close(rsvg, NULL);
-        g_object_unref(rsvg);
-     }
-   // Maybe it's not crashing anymore, let's try it.
-#ifndef HAVE_SVG_2_36
-   rsvg_term();
-#endif
-}
-
-static int
-read_svg_header(int scale_down, double dpi, int size_w, int size_h)
-{
-   rsvg_handle_set_dpi(rsvg, 75.0);
-   rsvg_handle_get_dimensions(rsvg, &dim);
-   width = dim.width;
-   height = dim.height;
-
-   if ((width < 1) || (height < 1)) return 0;
-
-   if (scale_down > 1)
-     {
-        width /= scale_down;
-        height /= scale_down;
-     }
-   else if (dpi > 0.0)
-     {
-        width = (width * dpi) / 75;
-        height = (height * dpi) / 75;
-     }
-   else if (size_w > 0 && size_h > 0)
-     {
-        int w, h;
-
-        w = size_w;
-        h = (size_w * height) / width;
-        if (h > size_h)
-          {
-             h = size_h;
-             w = (size_h * width) / height;
-          }
-        width = w;
-        height = h;
-     }
-   if (width < 1) width = 1;
-   if (height < 1) height = 1;
-
-   return 1;
-}
-
-static int
-read_svg_data(void)
-{
-   cairo_surface_t *surface;
-   cairo_t *cr;
-
-   shm_alloc(width * height * (sizeof(DATA32)));
-   if (!shm_addr) return 0;
-
-   memset(shm_addr, 0, width * height * sizeof (DATA32));
-   surface = cairo_image_surface_create_for_data((unsigned char *)shm_addr, CAIRO_FORMAT_ARGB32,
-                                                 width, height, width * sizeof(DATA32));;
-   if (!surface) return 0;
-
-   cr = cairo_create(surface);
-   if (!cr) return 0;
-
-   cairo_scale(cr, (double) width / dim.em, (double) height / dim.ex);
-   rsvg_handle_render_cairo(rsvg, cr);
-   cairo_surface_destroy(surface);
-   cairo_destroy(cr);
-
-   return 1;
-}
-
-int main(int argc, char **argv)
-{
-   char *file;
-   int i;
-   int head_only = 0;
-   int scale_down = 0;
-   double dpi = 0.0;
-   int size_w = 0, size_h = 0;
-
-   if (argc < 2) return -1;
-   file = argv[1];
-
-   for (i = 2; i < argc; ++i)
-     {
-        if (!strcmp(argv[i], "-head"))
-          head_only = 1;
-        else if (!strcmp(argv[i], "-key"))
-          { // not used by svg loader
-             i++;
-             // const char *key = argv[i];
-          }
-        else if (!strcmp(argv[i], "-opt-scale-down-by"))
-          {
-             i++;
-             scale_down = atoi(argv[i]);
-          }
-        else if (!strcmp(argv[i], "-opt-dpi"))
-          {
-             i++;
-             dpi = ((double)atoi(argv[i])) / 1000.0;
-          }
-        else if (!strcmp(argv[i], "-opt-size"))
-          {
-             i++;
-             size_w = atoi(argv[i]);
-             i++;
-             size_h = atoi(argv[i]);
-          }
-     }
-
-   timeout_init(5);
-   
-   if (!_svg_init(file)) return -1;
-   if (!read_svg_header(scale_down, dpi, size_w, size_h)) return -1;
-
-   if (head_only != 0)
-     {
-        printf("size %d %d\n", width, height);
-        printf("alpha 1\n");
-        printf("done\n");
-     }
-   else
-     {
-        if (read_svg_data())
-          {
-             printf("size %d %d\n", width, height);
-             printf("alpha 1\n");
-             if (shm_fd >= 0) printf("shmfile %s\n", shmfile);
-             else
-               {
-                  printf("data\n");
-                  if (fwrite(shm_addr, width * height * sizeof(DATA32), 1, stdout) != 1)
-                    {
-                       // nothing much to do, the receiver will simply ignore the
-                       // data as it's too short
-                       //D("fwrite failed (%d bytes): %m\n", width * height * sizeof(DATA32));
-                    }
-               }
-             shm_free();
-          }
-     }
-   _svg_shutdown();
-   fflush(stdout);
-   return 0;
-
-}
-
diff --git a/src/generic/evas/svg/meson.build b/src/generic/evas/svg/meson.build
deleted file mode 100644 (file)
index 4e39e74..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-generic_src = files([
-  'main.c'
-])
-
-rsvg = dependency('librsvg-2.0')
-
-if rsvg.version() >= '2.36.0'
-  config_h.set('HAVE_SVG_2_36', '1')
-endif
-
-generic_deps = [rsvg]
-generic_support = ['svgz', 'svg.gz']
index a40c45a..f0a8cf2 100644 (file)
@@ -175,6 +175,12 @@ ecore_src = [
   'efl_core_command_line.c',
 ]
 
+#<--TIZEN_ONLY
+ecore_src += [
+  'ecore_device.c',
+]
+#TIZEN_ONLY-->
+
 if sys_windows == true
   #nothing for now ... needs testing
   ecore_src += ['ecore_exe_win32.c']
index 47f223b..0bc445e 100644 (file)
@@ -1,4 +1,4 @@
-class @beta Ecore.Audio.Out_Tizen extends Ecore.Audio.Out
+class @beta Ecore.Audio.Out.Tizen extends Ecore.Audio.Out
 {
    eo_prefix: ecore_audio_obj_out_tizen;
    implements {
index bc3215e..2c89c3d 100644 (file)
@@ -12,6 +12,10 @@ pub_eo_files = [
   'ecore_audio_out_wasapi.eo'
 ]
 
+pub_eo_files += [
+  'ecore_audio_out_tizen.eo',
+]
+
 foreach eo_file : pub_eo_files
   pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
     input : eo_file,
@@ -70,6 +74,16 @@ if get_option('pulseaudio')
   config_h.set('HAVE_PULSE', '1')
 endif
 
+if get_option('tizen_audio')
+  ecore_audio_header_src += [
+    'ecore_audio_obj_out_tizen.h'
+  ]
+  ecore_audio_src += [
+    'ecore_audio_obj_out_tizen.c'
+  ]
+  config_h.set('HAVE_TIZENAUDIO', '1')
+endif
+
 if sys_windows == true
   ecore_audio_src += [
     'ecore_audio_obj_out_wasapi.c'
index 978594d..a2856ad 100644 (file)
@@ -1,6 +1,9 @@
 ecore_imf_deps = [ecore]
 ecore_imf_pub_deps = [eina]
 
+# TIZEN_ONLY : Add to keep backward compat
+ecore_imf_pub_deps += ecore_input
+
 ecore_imf_header_src = [
    'Ecore_IMF.h'
 ]
index 4a24fb6..fad65d3 100644 (file)
@@ -21,13 +21,22 @@ ecore_wayland_src = [
 ecore_wayland_header_src = [
   'Ecore_Wayland.h'
 ]
-
-
+ecore_wayland_src += [
+  'ecore_wl_tizen.c',
+]
+ecore_wayland_pub_deps += [
+  dependency('xdg-shell-client'),
+  dependency('text-client'),
+  dependency('tizen-extension-client'),
+  dependency('wayland-tbm-client'),
+  dependency('libtdm-client'),
+]
 ecore_wayland_lib = library('ecore_wayland',
-    ecore_wayland_src,
+    ecore_wayland_src, wayland_protocol_header,
     dependencies: [m] + ecore_wayland_deps + ecore_wayland_pub_deps,
     include_directories : config_dir + [include_directories(join_paths('..','..'))],
     install: true,
+    version : meson.project_version(),
     c_args : package_c_args,
 )
 
index b455ba5..e9a2cdc 100644 (file)
@@ -1,6 +1,7 @@
 ecore_wl2_deps = [
   dependency('wayland-client'), dependency('wayland-server'), dependency('xkbcommon'),
-  wayland_protocol, dl, m, ecore, ecore_input, libdrm, buildsystem
+  wayland_protocol, dl, m, ecore, ecore_input, libdrm, buildsystem,
+  #dependency('libdrm_exynos'), #dependency('libdrm_intel'),
 ]
 ecore_wl2_pub_deps = [eina, ecore]
 
@@ -21,8 +22,22 @@ ecore_wl2_src = [
   'ecore_wl2_surface.c'
 ]
 
+# <----- TIZEN_ONLY(20190109: introduce mesonbuild on tizen env
+ecore_wl2_deps += [
+  dependency('wayland-cursor'),
+  dependency('tizen-extension-client'),
+  dependency('wayland-tbm-client'),
+  dependency('libtdm-client'),
+]
+ecore_wl2_src += [
+  'tizen-policy-ext-client-protocol.h',
+  'tizen-policy-ext-protocol.c',
+  'ecore_wl2_tbmsurface.c',
+]
+# TIZEN_ONLY(20190109: introduce mesonbuild on tizen env ----->
+
 ecore_wl2_lib = library('ecore_wl2',
-    ecore_wl2_src, pub_eo_file_target,
+    ecore_wl2_src, pub_eo_file_target, wayland_protocol_header,
     dependencies: ecore_wl2_deps + ecore_wl2_pub_deps,
     include_directories : config_dir,
     install: true,
index bfb484e..84a10b9 100644 (file)
@@ -377,9 +377,11 @@ endif
 
 execinfo = cc.find_library('execinfo', required: false)
 
+dlog = dependency('dlog')
+
 eina_lib = library('eina', sources,
   include_directories : config_dir,
-  dependencies: [m, rt, dl, execinfo, iconv, eina_deps, thread_dep, eina_mem_pools, evil],
+  dependencies: [m, rt, dl, execinfo, iconv, eina_deps, thread_dep, eina_mem_pools, evil, dlog],
   install: true,
   version : meson.project_version()
 )
index c4f790d..f99fad2 100644 (file)
@@ -19,6 +19,11 @@ pub_legacy_eo_files = [
   'elm_fileselector_part.eo',
 ]
 
+#<--TIZEN_ONLY
+pub_legacy_eo_files += [
+]
+#TIZEN_ONLY-->
+
 pub_eo_file_target = []
 
 foreach eo_file : pub_legacy_eo_files
@@ -39,7 +44,6 @@ endforeach
 
 pub_eo_files = [
   'efl_ui_widget.eo',
-  'efl_ui_animation_view.eo',
   'efl_ui_bg.eo',
   'efl_ui_button.eo',
   'efl_ui_calendar.eo',
@@ -179,6 +183,12 @@ pub_eo_files = [
   'efl_ui_relative_layout.eo',
 ]
 
+#<--TIZEN_ONLY
+pub_eo_files += [
+  'efl_ui_animation_view.eo',
+]
+#TIZEN_ONLY-->
+
 foreach eo_file : pub_eo_files
   pub_eo_file_target += custom_target('eolian_gen_' + eo_file,
     input : eo_file,
@@ -292,7 +302,6 @@ elementary_headers_unstable = [
   'elm_widget_flipselector.h',
   'efl_ui_widget_frame.h',
   'efl_ui_stack_private.h',
-  'efl_ui_animation_view_private.h',
   'elm_widget_gengrid.h',
   'elm_widget_genlist.h',
   'elm_widget_glview.h',
@@ -384,6 +393,30 @@ elementary_headers_unstable = [
   'efl_ui_relative_layout_private.h'
 ]
 
+#<--TIZEN_ONLY
+elementary_headers_unstable += [
+  'efl_ui_animation_view_private.h',
+  'elm_atspi_ewk_wrapper.h',
+  'efl_access_legacy.h',
+  'efl_ui_clock_private.h',
+]
+
+elementary_headers_unstable_tizen = [
+  'elm_widget_ctxpopup.h',
+  'elm_widget_genlist.h',
+]
+
+elementary_headers_unstable_tizen_tmp = []
+foreach item : elementary_headers_unstable_tizen
+  if elementary_headers_unstable_tizen.contains(item) == true
+    elementary_headers_unstable_tizen_tmp += '../elementary_tizen/' + item
+  else
+    elementary_headers_unstable_tizen_tmp += item
+  endif
+endforeach
+elementary_headers_unstable_tizen = elementary_headers_unstable_tizen_tmp
+#TIZEN_ONLY-->
+
 elementary_pub_headers = [
   'elc_ctxpopup.h',
   'elc_ctxpopup_legacy.h',
@@ -407,8 +440,6 @@ elementary_pub_headers = [
   'elc_naviframe_common.h',
   'elc_popup.h',
   'elc_popup_legacy.h',
-  'efl_ui_animation_view.h',
-  'efl_ui_animation_view_legacy.h',
   'elm_access.h',
   'elm_actionslider.h',
   'elm_actionslider_legacy.h',
@@ -417,10 +448,6 @@ elementary_pub_headers = [
   'elm_atspi_app_object_eo.legacy.h',
   'elm_atspi_bridge.h',
   'elm_atspi_bridge_eo.legacy.h',
-  'elm_atspi_ewk_wrapper.h',
-  'elm_atspi_ewk_wrapper_eo.legacy.h',
-  'elm_atspi_proxy.h',
-  'elm_atspi_proxy_eo.legacy.h',
   'elm_authors.h',
   'elm_bg.h',
   'elm_bg_legacy.h',
@@ -603,7 +630,6 @@ elementary_pub_headers = [
   'elm_win_legacy.h',
   'elm_helper.h',
   'elm_part_helper.h',
-  'efl_ui_animation_view_eo.legacy.h',
   'efl_ui_bg_eo.legacy.h',
   'efl_ui_bg_legacy_eo.legacy.h',
   'efl_ui_button_eo.legacy.h',
@@ -721,11 +747,30 @@ elementary_pub_headers = [
   'elm_widget_item_static_focus_eo.legacy.h',
 ]
 
+#<--TIZEN_ONLY
+elementary_pub_headers += [
+  'efl_ui_animation_view.h',
+  'efl_ui_animation_view_legacy.h',
+  'elm_atspi_ewk_wrapper.h',
+  'elm_atspi_ewk_wrapper_eo.legacy.h',
+  'elm_atspi_proxy.h',
+  'elm_atspi_proxy_eo.legacy.h',
+  'efl_ui_animation_view_eo.legacy.h',
+]
+#TIZEN_ONLY-->
+
 elementary_header_src = [
   'Elementary.h',
   'Elementary_Cursor.h'
 ] + elementary_pub_headers + elementary_headers_unstable
 
+#<--TIZEN_ONLY
+elementary_header_src_tizen = [
+  'Elementary.h',
+  'Elementary_Cursor.h'
+] + elementary_pub_headers + elementary_headers_unstable_tizen
+#TIZEN_ONLY-->
+
 elementary_src = [
   'elm_priv.h',
   'elementary_config.h',
@@ -743,12 +788,9 @@ elementary_src = [
   'elc_popup.c',
   'elc_scrolled_entry.c',
   'elm_access.c',
-  'efl_ui_animation_view.c',
   'elm_actionslider.c',
   'elm_atspi_app_object.c',
   'elm_atspi_bridge.c',
-  'elm_atspi_ewk_wrapper.c',
-  'elm_atspi_proxy.c',
   'efl_ui_legacy.c',
   'efl_ui_bg.c',
   'elm_box.c',
@@ -949,10 +991,40 @@ elementary_src = [
   'efl_ui_relative_layout.c'
 ]
 
+#<--TIZEN_ONLY
+elementary_src += [
+  'efl_ui_animation_view.c',
+  'elm_atspi_ewk_wrapper.c',
+  'elm_atspi_proxy.c',
+  'tizen_vector.c',
+  'tizen_util.c',
+]
+
+elementary_src_tizen = [
+  'elc_ctxpopup.c',
+  'elm_genlist.c',
+]
+
+elementary_src_tizen_tmp = []
+foreach item : elementary_src
+  if elementary_src_tizen.contains(item) == true
+    elementary_src_tizen_tmp += '../elementary_tizen/' + item
+  else
+    elementary_src_tizen_tmp += item
+  endif
+endforeach
+elementary_src_tizen = elementary_src_tizen_tmp
+#TIZEN_ONLY-->
+
 elementary_deps = [emile, eo, efl, edje, ethumb, ethumb_client, emotion, ecore_imf, ecore_con, eldbus, efreet, efreet_mime, efreet_trash, eio, atspi, dl, intl]
 elementary_pub_deps = [eina, eet, evas, ecore, ecore_evas, ecore_file, ecore_input, ecore_imf, ecore_con,
                        edje, eldbus, efreet, efreet_mime, efreet_trash, ethumb_client, efl, elocation]
 
+#<--TIZEN_ONLY
+#elementary_deps += ecore_wl2
+elementary_pub_deps += [dl, thread_dep, ecore_wayland, ecore_wl2]
+#TIZEN_ONLY-->
+
 elm_options = configuration_data()
 
 config_h.set_quoted('ELM_TOP_BUILD_DIR', meson.build_root())
@@ -966,7 +1038,8 @@ else
   elm_options.set('DLL_EXPORT', '1')
 endif
 
-elm_options.set('ELM_ELOCATION', '1')
+#TIZEN ONLY(20180827): Enable this when it's mandatory.
+#elm_options.set('ELM_ELOCATION', '1')
 elm_options.set('ELM_EFREET', '1')
 
 if config_h.has('HAVE_ALLOCA_H')
@@ -1036,3 +1109,19 @@ install_headers(elementary_header_src,
 elementary_config_dir = include_directories('.')
 
 package_pc_variables = ['themes='+join_paths(dir_data, package_name, 'themes')]
+
+elementary_tizen_lib = library('elementary_t',
+    elementary_src_tizen, pub_eo_file_target, priv_eo_file_target, c,
+    dependencies: elementary_pub_deps + elementary_deps,
+    include_directories : config_dir + [include_directories('.')] + [include_directories(join_paths('..', '..', '..'))] + [ecore_evas_wayland_engine_include_dir],
+    install: true,
+    c_args : elm_package_c_args,
+    version : '1.22.100',
+)
+
+elementary_tizen = declare_dependency(
+  include_directories: [include_directories('.')],
+  link_with: elementary_tizen_lib,
+  sources : pub_eo_file_target + priv_eo_file_target,
+  dependencies: elementary_pub_deps,
+)
index 1982c7b..405bdd9 100644 (file)
@@ -6,17 +6,19 @@ subdir('shm')
 libtbm = dependency('libtbm', required: false)
 
 if libtbm.found() == true
+subdir('tbm')
+
   libdri2 = dependency('libdri2', required: false)
   if libdri2.found()
     subdir('x11_dri2')
   endif
 
-  xshmfence = dependency('xshmfence', required: false)
-  xcb = dependency('xcb', required: false)
-  x11_xcb = dependency('x11_xcb', required: false)
-  xcb_sync = dependency('xcb_sync', required: false)
-  xcb_dri3 = dependency('xkb_dri3', required: false)
-  if xshmfence.found() == true and xcb.found() == true and x11_xcb.found() and xcb_sync.found() and xkb_dri3.found()
-    subdir('x11_dri3')
-  endif
+  #xshmfence = dependency('xshmfence', required: false)
+  #xcb = dependency('xcb', required: false)
+  #x11_xcb = dependency('x11_xcb', required: false)
+  #xcb_sync = dependency('xcb_sync', required: false)
+  #xcb_dri3 = dependency('xkb_dri3', required: false)
+  #if xshmfence.found() == true and xcb.found() == true and x11_xcb.found() and xcb_sync.found() and xkb_dri3.found()
+    #subdir('x11_dri3')
+  #endif
 endif
index 19f4b39..277f47b 100644 (file)
@@ -1,5 +1,6 @@
-ecore_buffer_tbm_mod = shared_module('module.so',
+ecore_buffer_tbm_mod = shared_module('module',
     'ecore_buffer_tbm.c',
+    name_prefix: '',
     dependencies: [ecore, ecore_buffer, libtbm],
     install: true,
     install_dir : join_paths(dir_lib, 'ecore_buffer', 'modules', 'tbm', version_name)
index 1afabb3..8dfad17 100644 (file)
@@ -1,6 +1,10 @@
 engine_src = files(['ecore_evas_extn.c', 'ecore_evas_extn_buf.c', 'ecore_evas_extn_engine.h'])
 engine_deps = [ecore_input, ecore_ipc]
 
+# TIZEN_ONLY
+engine_deps += [ecore_wl2, dependency('tizen-extension-client')]
+# END
+
 shared_module(mod_full_name, engine_src,
   include_directories : config_dir + [engine_include_dir],
   dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
diff --git a/src/modules/ecore_evas/engines/tbm/meson.build b/src/modules/ecore_evas/engines/tbm/meson.build
new file mode 100644 (file)
index 0000000..c51ddd9
--- /dev/null
@@ -0,0 +1,13 @@
+engine_src = files(['ecore_evas_tbm.c'])
+engine_deps = [ecore_input, libtbm]
+
+engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'software_tbm'))
+engine_include_dir += include_directories(join_paths('..', '..', '..', 'evas', 'engines', 'gl_tbm'))
+
+shared_module(mod_full_name, engine_src,
+  include_directories : config_dir + [engine_include_dir],
+  dependencies : [eina, ecore_evas, ecore_input_evas] + engine_deps,
+  install : true,
+  install_dir : mod_install_dir,
+  name_suffix : sys_mod_extension
+)
index 75af136..7aa054e 100644 (file)
@@ -8,6 +8,10 @@ engines = [
 ['x', ['x11']],
 ]
 
+engines += [
+  ['tbm', ['tbm']],
+]
+
 if sys_windows == false
   engines += [['extn', []]]
 endif
index 178ab16..0954742 100644 (file)
@@ -4,7 +4,7 @@ src = files([
 
 shared_module(mod,
     src,
-    dependencies: [elementary],
+    dependencies: [elementary, ecore_wl2, eio],
     install: true,
     install_dir : mod_install_dir
 )
index 0443577..efa48f2 100644 (file)
@@ -4,7 +4,7 @@ src = files([
 
 shared_module(mod,
     src,
-    dependencies: [elementary],
+    dependencies: [elementary, ecore_wl2, eio],
     install: true,
     install_dir : mod_install_dir
 )
diff --git a/src/modules/elementary/copypasteUI_ctxpopup/meson.build b/src/modules/elementary/copypasteUI_ctxpopup/meson.build
new file mode 100644 (file)
index 0000000..dd3eff5
--- /dev/null
@@ -0,0 +1,12 @@
+src = files([
+  'cbhm_helper.h',
+  'cbhm_helper.c',
+  'copypaste.c',
+])
+
+shared_module(mod,
+    src,
+    dependencies: [elementary, ecore_wl2, eio],
+    install: true,
+    install_dir : mod_install_dir
+)
index ed77fe2..b9261d6 100644 (file)
@@ -7,6 +7,10 @@ mods = [
   join_paths('web', 'none')
 ]
 
+mods += [
+  'copypasteUI_ctxpopup',
+]
+
 foreach mod : mods
   mod_install_dir = join_paths(dir_lib, 'elementary', 'modules', mod, version_name)
   subdir(mod)
index 9ec2c9a..850d412 100644 (file)
@@ -16,9 +16,31 @@ src = files([
   'elm_horizontal_frame.c'
 ])
 
+edc_files = [
+  'elm_prefs_swallow.edc',
+]
+
+foreach edc_file : edc_files
+  custom_target('edje_cc_' + edc_file,
+    input : edc_file,
+    output : '@BASENAME@.edj',
+    command : edje_cc_exe + [ '-beta', '-fastcomp',
+              '-id', meson.current_source_dir(),
+              '-fd', meson.current_source_dir(),
+              '-sd', meson.current_source_dir(),
+              '-vd', meson.current_source_dir(),
+              '-dd', meson.current_source_dir(),
+              '-md', meson.current_source_dir(),
+              '-td', meson.current_source_dir(),
+              '@INPUT@', '@OUTPUT@'],
+    depends : edje_cc,
+    install: true,
+    install_dir : mod_install_dir)
+endforeach
+
 shared_module(mod,
     src,
-    dependencies: [elementary],
+    dependencies: [elementary, ecore_wl2, eio],
     install: true,
     install_dir : mod_install_dir
 )
index 178ab16..0954742 100644 (file)
@@ -4,7 +4,7 @@ src = files([
 
 shared_module(mod,
     src,
-    dependencies: [elementary],
+    dependencies: [elementary, ecore_wl2, eio],
     install: true,
     install_dir : mod_install_dir
 )
index 178ab16..0954742 100644 (file)
@@ -4,7 +4,7 @@ src = files([
 
 shared_module(mod,
     src,
-    dependencies: [elementary],
+    dependencies: [elementary, ecore_wl2, eio],
     install: true,
     install_dir : mod_install_dir
 )
index 632bca3..6d22c88 100644 (file)
@@ -4,7 +4,7 @@ src = files([
 
 shared_module('none',
     src,
-    dependencies: [elementary, elementary_deps],
+    dependencies: [elementary, elementary_deps, ecore_wl2, eio],
     install: true,
     install_dir : mod_install_dir
 )
index 12c508a..f460ada 100644 (file)
@@ -17,7 +17,9 @@ foreach edc_file : edc_files
               '-md', meson.current_source_dir(),
               '-td', meson.current_source_dir(),
               '@INPUT@', '@OUTPUT@'],
-    depends : edje_cc)
+    depends : edje_cc,
+    install: true,
+    install_dir : mod_install_dir)
 endforeach
 
 generic_src = [files(['emotion.c']) + themes]
diff --git a/src/modules/evas/engines/gl_tbm/meson.build b/src/modules/evas/engines/gl_tbm/meson.build
new file mode 100644 (file)
index 0000000..6b2d54b
--- /dev/null
@@ -0,0 +1,29 @@
+engine_src = files([
+  'evas_engine.c',
+  'evas_engine.h',
+  'evas_tbm_main.c',
+])
+
+engine_header = [
+    'Evas_Engine_GL_Tbm.h'
+]
+
+engine_deps = [gl_deps, libtbm]
+engine_include_dir = include_directories(join_paths('..','software_generic'))
+message('WKWK2 gl_tbm build')
+if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
+   message('WKWK3 gl_tbm build')
+  shared_module(mod_full_name, engine_src + engine_header,
+        include_directories : config_dir + [engine_include_dir],
+        dependencies : [eina, evas_pre] + engine_deps,
+        install : true,
+        install_dir : mod_install_dir,
+        name_suffix : sys_mod_extension
+      )
+
+  install_headers(engine_header,
+    install_dir: dir_package_include
+  )
+
+  module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
+endif
diff --git a/src/modules/evas/engines/software_tbm/meson.build b/src/modules/evas/engines/software_tbm/meson.build
new file mode 100644 (file)
index 0000000..35bfed1
--- /dev/null
@@ -0,0 +1,26 @@
+engine_src = files([
+  'evas_engine.c',
+  'evas_engine.h',
+  'evas_outbuf.c',
+])
+
+engine_header = [
+  'Evas_Engine_Software_Tbm.h',
+]
+
+engine_deps = []#ecore_drm2, libdrm, gl_deps, dependency('gbm')]
+engine_include_dir = include_directories(join_paths('..','software_generic'))
+
+if get_option('evas-modules') == 'shared' and not evas_force_static.contains(engine)
+  shared_module(mod_full_name, engine_src + engine_header,
+        include_directories : config_dir + [engine_include_dir],
+        dependencies : [eina, evas_pre] + engine_deps,
+        install : true,
+        install_dir : mod_install_dir,
+        name_suffix : sys_mod_extension
+      )
+  install_headers(engine_header,
+    install_dir: dir_package_include
+  )
+  module_files += join_paths(mod_install_dir, 'lib'+mod_full_name + '.' + sys_mod_extension)
+endif
index 8ad6aaf..132353e 100644 (file)
@@ -21,8 +21,15 @@ if get_option('opengl') == 'es-egl'
   engines += [['wayland_egl', ['wl']]]
 endif
 
+if get_option('tbm') == true
+  engines += [
+   ['gl_tbm', []],
+   ['software_tbm', []],
+  ]
+endif
+
 #there are a few modules that should NEVER be build as a module but rather be build as static lib and linked in later
-evas_force_static = ['software_generic', 'gl_common']
+evas_force_static = ['software_generic', 'gl_common', 'buffer']
 evas_static_list = []
 
 #fixed dependencies by efl
index 304d437..cb7f13f 100644 (file)
@@ -1,3 +1,5 @@
 subdir('eo')
-subdir('elua')
+if get_option('elua') == true
+  subdir('elua')
+endif
 subdir('eina')
index 5301adb..d7bfd78 100644 (file)
@@ -59,6 +59,7 @@ endforeach
 wayland_protocol_lib = static_library('wayland_protocol',
     gen_obj_c + gen_obj_header,
 )
+wayland_protocol_header = gen_obj_header
 
 wayland_protocol = declare_dependency(
        include_directories: include_directories('.'),