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
'Eio',
'Eldbus',
'Elementary',
- 'Elua',
'Emile',
'Emotion',
'Eo',
'EvasCxx',
]
+if get_option('elua') == true
+ cmake_src += 'Elua'
+endif
+
cmake_version_src = [
'Efl',
'Elementary',
-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)
['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']],
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
['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'], []],
['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
#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
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')
pkgconfig.generate(
name : '-'.join(name.split('_')),
description: name+' configutation file',
- requires : libraries,
+ requires: libraries,
)
endforeach
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'
)
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'
)
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'
)
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'
)
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'
)
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'
)
option('tslib',
type : 'boolean',
- value : true,
+ value : false,
description : 'tslib support'
)
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',
value : ['vlc']
)
-option('harfbuzz',
+option('harfbuzz', # TIZEN_CONFIG
type : 'boolean',
- value : false,
+ value : true,
description : 'harfbuzz support'
)
description : 'Enable pixman support in evas'
)
-option('hyphen',
+option('hyphen', # TIZEN_CONFIG
type : 'boolean',
- value : false,
+ value : true,
description : 'Enable hyphen support in evas'
)
description : 'add v4l2 support'
)
-option('elua',
+option('elua', # TIZEN_CONFIG
type : 'boolean',
- value : true,
+ value : false,
description : 'Flag for handling elua support in efl'
)
option('bindings',
type : 'array',
choices : ['luajit', 'cxx', 'mono'],
- value : ['luajit', 'cxx'],
+ value : [],
description : 'Add values here to enable the bindings',
)
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'
)
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'
)
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'
+)
%bcond_without wayland
%bcond_with x
+%if "%{buildsystem}" == "meson"
+#
+%else
%bcond_without automake
+%endif
%define enable_examples 0
%define enable_ephysics 0
BuildRequires: hyphen-devel
%if %{without automake}
-BuildRequires: meson
+BuildRequires: meson >= 0.49.0
%endif
%if %{with wayland}
%define dbus_unavailable 1
+
%description
EFL is a library collection providing various functionality used (not only) by
Enlightenment, Terminology, Tizen and more.
%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
%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
%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
%description -n ecore-avahi-devel
Development files for ecore_avahi
%endif
+%endif
%package -n ecore-buffer
Summary: Enlightened Core X interface library - buffer
%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
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} .
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}
%find_lang %{name}
-
%post -n eina -p /sbin/ldconfig
%postun -n eina -p /sbin/ldconfig
%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
%postun -n elementary-tizen -p /sbin/ldconfig
-
%files -n %{name}
%manifest %{name}.manifest
%defattr(-,root,root,-)
%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
%{_libdir}/libecore_audio.so
%{_libdir}/pkgconfig/ecore-audio*.pc
+%if %{with x}
%if %{with automake}
%files -n ecore-avahi
%manifest %{name}.manifest
%{_libdir}/libecore_avahi.so
%{_libdir}/pkgconfig/ecore-avahi*.pc
%endif
+%endif
%files -n ecore-buffer
%manifest %{name}.manifest
%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
%{_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
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
generic_loaders = ['gst', 'pdf',
'ps',
'raw',
-'svg',
+'rsvg',
'xcf']
generic_src = []
+++ /dev/null
-#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;
-
-}
-
+++ /dev/null
-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']
'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']
-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 {
'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,
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'
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'
]
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,
)
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]
'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,
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()
)
'elm_fileselector_part.eo',
]
+#<--TIZEN_ONLY
+pub_legacy_eo_files += [
+]
+#TIZEN_ONLY-->
+
pub_eo_file_target = []
foreach eo_file : pub_legacy_eo_files
pub_eo_files = [
'efl_ui_widget.eo',
- 'efl_ui_animation_view.eo',
'efl_ui_bg.eo',
'efl_ui_button.eo',
'efl_ui_calendar.eo',
'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,
'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',
'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',
'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',
'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',
'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',
'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',
'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',
'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())
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')
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,
+)
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
-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)
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,
--- /dev/null
+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
+)
['x', ['x11']],
]
+engines += [
+ ['tbm', ['tbm']],
+]
+
if sys_windows == false
engines += [['extn', []]]
endif
shared_module(mod,
src,
- dependencies: [elementary],
+ dependencies: [elementary, ecore_wl2, eio],
install: true,
install_dir : mod_install_dir
)
shared_module(mod,
src,
- dependencies: [elementary],
+ dependencies: [elementary, ecore_wl2, eio],
install: true,
install_dir : mod_install_dir
)
--- /dev/null
+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
+)
join_paths('web', 'none')
]
+mods += [
+ 'copypasteUI_ctxpopup',
+]
+
foreach mod : mods
mod_install_dir = join_paths(dir_lib, 'elementary', 'modules', mod, version_name)
subdir(mod)
'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
)
shared_module(mod,
src,
- dependencies: [elementary],
+ dependencies: [elementary, ecore_wl2, eio],
install: true,
install_dir : mod_install_dir
)
shared_module(mod,
src,
- dependencies: [elementary],
+ dependencies: [elementary, ecore_wl2, eio],
install: true,
install_dir : mod_install_dir
)
shared_module('none',
src,
- dependencies: [elementary, elementary_deps],
+ dependencies: [elementary, elementary_deps, ecore_wl2, eio],
install: true,
install_dir : mod_install_dir
)
'-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]
--- /dev/null
+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
--- /dev/null
+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
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
subdir('eo')
-subdir('elua')
+if get_option('elua') == true
+ subdir('elua')
+endif
subdir('eina')
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('.'),