-#ifndef LIBDS_ALLOCATOR_TBM_H
-#define LIBDS_ALLOCATOR_TBM_H
+#ifndef LIBDS_TIZEN_ALLOCATOR_TBM_H
+#define LIBDS_TIZEN_ALLOCATOR_TBM_H
#include <libds/allocator.h>
-#ifndef LIBDS_BACKEND_TDM_H
-#define LIBDS_BACKEND_TDM_H
+#ifndef LIBDS_TIZEN_BACKEND_TDM_H
+#define LIBDS_TIZEN_BACKEND_TDM_H
#include <libds/backend.h>
-exclude_files = []
-if not features.get('tdm-backend')
- exclude_files += 'backend/tdm.h'
-endif
-
-if not features.get('tbm-allocator')
- exclude_files += 'allocator/tbm.h'
-endif
-
install_subdir('libds',
install_dir: get_option('includedir'),
- exclude_files: exclude_files,
)
+
+if get_option('tizen')
+ install_subdir('libds-tizen',
+ install_dir: get_option('includedir'),
+ )
+endif
cdata.set('LIBDS_VERSION_MINOR', libds_version_minor)
cdata.set('LIBDS_VERSION_PATCH', libds_version_patch)
-features = {
- 'tdm-backend': false,
- 'tbm-allocator': false,
-}
-
subdir('src')
subdir('include')
configure_file(output: 'config.h', install: false, configuration: cdata)
-
-summary(features, bool_yn: true)
-option('backends', type: 'array', choices: ['auto', 'tdm'], value: ['auto'], description: 'Select built-in backends')
+option('tizen', type: 'boolean', value: false, description: 'Build Tizen features')
%description devel
Development package of Wayland Compositor Library
+%package tizen-devel
+Summary: Wayland Compositor development package on Tizen
+
+%description tizen-devel
+Wayland Compositor development library for Tizen platform
+
%prep
%setup -q
cp %{SOURCE1001} .
--prefix /usr \
--libdir %{_libdir} \
--bindir %{_bindir} \
- builddir
+ builddir \
+ -Dtizen=true
ninja -C builddir all
%install
%manifest %{name}.manifest
%defattr(-,root,root,-)
%license LICENSE
-%{_includedir}/*
+%{_includedir}/libds/*
%{_libdir}/pkgconfig/libds.pc
%{_libdir}/libds.so
-%{_bindir}/*
+%{_bindir}/wl-backend
+%{_bindir}/tinyds
+
+%files tizen-devel
+%manifest %{name}.manifest
+%defattr(-,root,root,-)
+%license LICENSE
+%{_includedir}/libds-tizen/*
+%{_libdir}/pkgconfig/libds-tizen.pc
+%{_libdir}/libds-tizen.so
+%{_bindir}/tdm-backend
+%{_bindir}/tinyds-tdm
+%{_bindir}/ds-simple-tbm
install : true
)
-if features.get('tdm-backend')
+if get_option('tizen')
+ common_deps += dep_libds_tizen
+
executable('tdm-backend',
'tdm-backend.c',
dependencies: common_deps,
#include <libds/log.h>
#include <libds/backend.h>
#include <libds/output.h>
-#include <libds/allocator/tbm.h>
-#include <libds/backend/tdm.h>
#include <libds/swapchain.h>
#include <libds/compositor.h>
+#include <libds-tizen/allocator/tbm.h>
+#include <libds-tizen/backend/tdm.h>
#define WIDTH 1280
#define HEIGHT 720
#include <libds/log.h>
#include <libds/backend.h>
#include <libds/output.h>
-#include <libds/allocator/tbm.h>
-#include <libds/backend/tdm.h>
#include <libds/swapchain.h>
#include <libds/compositor.h>
#include <libds/xdg_shell.h>
+#include <libds-tizen/allocator/tbm.h>
+#include <libds-tizen/backend/tdm.h>
#define TINYDS_UNUSED __attribute__((unused))
--- /dev/null
+libds_tizen_files += files('tbm.c')
+libds_tizen_deps += dependency('libtbm', required: true)
--- /dev/null
+subdir('tdm')
--- /dev/null
+libds_tizen_files += files(
+ 'backend.c',
+ 'output.c',
+)
+
+libtdm = dependency('libtdm', required: true)
+libtbm = dependency('libtbm', required: true)
+
+libds_tizen_deps += [
+ libtdm,
+ libtbm
+]
#include <tbm_surface.h>
#include "libds/log.h"
-#include "libds/allocator/tbm.h"
+#include "libds-tizen/allocator/tbm.h"
#include "tdm.h"
-#ifndef DS_BACKEND_TDM_H
-#define DS_BACKEND_TDM_H
+#ifndef DS_TIZEN_BACKEND_TDM_H
+#define DS_TIZEN_BACKEND_TDM_H
#include <time.h>
--- /dev/null
+libds_tizen_files = []
+
+libds_tizen_deps = [
+ dep_libds,
+]
+
+subdir('allocator')
+subdir('backend')
+
+lib_libds_tizen = shared_library('ds-tizen', libds_tizen_files,
+ dependencies: libds_tizen_deps,
+ include_directories: [ common_inc, include_directories('.') ],
+ version: meson.project_version(),
+ install: true
+)
+
+dep_libds_tizen = declare_dependency(
+ link_with: lib_libds_tizen,
+ dependencies: libds_tizen_deps,
+ include_directories: [ common_inc, include_directories('.') ],
+)
+
+pkgconfig = import('pkgconfig')
+pkgconfig.generate(lib_libds_tizen,
+ version: meson.project_version(),
+ filebase: 'libds-tizen',
+ name: 'libds-tizen',
+ description: 'extension of libds for tizen platform',
+)
libds_files += files('shm.c')
-
-libtbm = dependency(
- 'libtbm',
- required: false,
- not_found_message: 'Required for TBM allocator support.'
-)
-if libtbm.found()
- libds_files += files('tbm.c')
- libds_deps += libtbm
- features += { 'tbm-allocator': true }
-endif
-all_backends = ['tdm']
-backends = get_option('backends')
-if 'auto' in backends and get_option('auto_features').enabled()
- backends = all_backends
-elif 'auto' in backends and get_option('auto_features').disabled()
- backends = []
-endif
-
-foreach backend : all_backends
- if backend in backends or 'auto' in backends
- subdir(backend)
- endif
-endforeach
-
subdir('wayland')
+++ /dev/null
-msg = ['Required for TDM backend support.']
-if 'tdm' in backends
- msg += 'Install "libtdm" and "libtbm", or disable the tdm backend'
-endif
-
-libtdm = dependency(
- 'libtdm',
- required: 'tdm' in backends,
- not_found_message: '\n'.join(msg)
-)
-
-libtbm = dependency(
- 'libtbm',
- required: 'tdm' in backends,
- not_found_message: '\n'.join(msg)
-)
-
-if not libtdm.found() or not libtbm.found()
- subdir_done()
-endif
-
-libds_files += files(
- 'backend.c',
- 'output.c',
-)
-
-libds_deps += [
- libtdm,
- libtbm
-]
-
-features += { 'tdm-backend': true }
install: true
)
-ds_vars = {}
-foreach name, have : features
- ds_vars += { 'have_' + name.underscorify(): have.to_string() }
-endforeach
-
dep_libds = declare_dependency(
link_with: lib_libds,
dependencies: libds_deps,
include_directories: [ common_inc, include_directories('.') ],
- variables: ds_vars,
)
pkgconfig = import('pkgconfig')
filebase: meson.project_name(),
name: meson.project_name(),
description: 'Wayland compositor library',
- variables: ds_vars,
)
)
subdir('libds')
+if get_option('tizen')
+ subdir('libds-tizen')
+endif
subdir('tests')
subdir('examples')
subdir('clients')