-wayland_protos = dependency('wayland-protocols',
- fallback: ['wayland-protocols', 'wayland_protocols'],
- default_options: ['tests=false'],
+common_inc = [ include_directories('.'), libds_tizen_inc ]
+
+math = meson.get_compiler('c').find_library('m')
+wayland_server = dependency('wayland-server', required: true)
+rt = meson.get_compiler('c').find_library('rt')
+
+if wayland_server.version().version_compare('>= 1.19')
+ cdata.set('HAVE_WL_SEAT_ERROR_MISSING_CAPABILITY', '1')
+endif
+
+deps_base = [
+ math,
+ rt,
+]
+
+dep_libds = dependency('libds', required: true)
+
+deps_libds_tizen = [
+ deps_base,
+ wayland_server,
+ dep_libds,
+]
+
+tizen_security_files = [
+ '../security.c',
+]
+
+deps_tizen_security = [
+ dependency('cynara-client', required: true),
+ dependency('cynara-session', required: true),
+ dependency('libsmack', required: true)
+]
+
+subdir('shared')
+subdir('allocator')
+subdir('tbm_server')
+subdir('backend')
+subdir('keyrouter')
+subdir('input_devicemgr')
+subdir('dpms')
+subdir('indicator')
+subdir('clipboard')
+subdir('launch')
+subdir('display_policy')
+subdir('memory_flusher')
+subdir('renderer')
+subdir('screen_rotation')
+subdir('global_resource')
+subdir('embedded_compositor')
+subdir('input_method')
+subdir('text_input')
+subdir('hwc')
+subdir('policy')
+subdir('screenshooter')
+subdir('scaler')
+subdir('video')
+subdir('eom')
+subdir('remote_surface')
+subdir('gbm_server')
+
+##### libds-tizen ######
+libds_tizen_files = [
+ 'embedded_compositor/embedded_compositor.c',
+ 'text_input/text_input.c',
+ 'indicator/indicator.c',
+ 'dpms/dpms.c',
+ 'remote_surface/remote_surface.c',
+ 'gbm_server/gbm_server.c',
+ 'renderer/renderer.c',
+ 'screen_rotation/screen_rotation.c',
+ 'eom/eom.c',
+ 'hwc/hwc.c',
+ 'input_method/input_method.c',
+ 'launch/appinfo.c',
+ 'launch/effect.c',
+ 'scaler/scaler.c',
+ 'video/viewport.c',
+ 'video/video.c',
+ 'tbm_server/tbm_server.c',
+ 'screenshooter/screenshooter.c',
+ 'screenshooter/screenmirror.c',
+ 'input_devicemgr/input_devicemgr.c',
+ 'clipboard/clipboard.c',
+ 'memory_flusher/memory_flusher.c',
+ 'global_resource/global_resource.c',
+ 'policy/policy.c',
+ 'keyrouter/keyrouter_grab.c',
+ 'keyrouter/keyrouter.c',
+ 'security.c',
+ 'display_policy/display_policy.c',
+ 'screen/screen.c',
+ 'blender/blender.c',
+ 'blur/blur.c',
+]
+
+libds_tizen_deps = [
+ dep_libshared,
+ deps_libds_tizen,
+ dep_libshared,
+ deps_tizen_security,
+ dependency('libtdm', required: true),
+ dependency('gbm', required: true),
+ dependency('libtbm', required: true),
+ dependency('tizen-dpms-server', required: true),
+ dependency('wayland-tbm-server', required: true),
+ dependency('eom-server', required: true),
+ dependency('tizen-hwc-server', required: true),
+ dependency('xdg-shell-unstable-v6-server', required: true),
+ dependency('text-server', required: true),
+ dependency('input-method-server', required: true),
+ dependency('tizen-launch-server', required: true),
+ dependency('tizen-surface-server', required: true),
+ dependency('tizen-remote-surface-server', required: true),
+ dependency('scaler-server', required: true),
+ dependency('tizen-extension-server', required: true),
+ dependency('xkbcommon', required: true),
+ dependency('wtz-screen-server', required: true),
+ dependency('wtz-blender-server', required: true),
+ dependency('wtz-blur-server', required: true),
+ dependency('pixman-1', required: true),
+]
+
+keylayout_dir = get_option('keylayout_dir')
+
+lib_libds_tizen = shared_library('ds-tizen', libds_tizen_files,
+ dependencies: libds_tizen_deps,
+ include_directories: [ common_inc,
+ include_directories('.'),
+ include_directories('..'),
+ include_directories('./gbm_server'),
+ include_directories('./input_devicemgr'),
+ include_directories('./keyrouter'),
+ include_directories('./screenshooter'),
+ include_directories('./tbm_server'),
+ include_directories('./video'),
+ include_directories('./blender'),
+ include_directories('./blur'),
+ ],
+ version: meson.project_version(),
+ c_args: [ '-DKEYLAYOUT_DIR="@0@"'.format(keylayout_dir) ],
+ install: true
)
-wl_protocol_dir = wayland_protos.get_variable('pkgdatadir')
-wayland_scanner_dep = dependency('wayland-scanner', native: true)
-wayland_scanner = find_program(
- wayland_scanner_dep.get_variable('wayland_scanner'),
- native: true,
+deps_libds_tizen = declare_dependency(
+ link_with: lib_libds_tizen,
+ dependencies: libds_tizen_deps,
+ include_directories: [ common_inc, include_directories('.') ],
)
-subdir('libds')
-if get_option('tizen')
- subdir('libds-tizen')
-endif
-subdir('tests')
-subdir('examples')
-subdir('clients')
+pkgconfig = import('pkgconfig')
+pkgconfig.generate(lib_libds_tizen,
+ version: meson.project_version(),
+ filebase: 'libds-tizen',
+ name: 'libds-tizen',
+ description: 'tizen extension of libds-tizen for tizen platform',
+)