adaptor_common_dir = ../../../adaptors/common
include ../../../adaptors/common/file.list
+if USE_EFL
+# ECore Common
+adaptor_ecore_common_dir = ../../../adaptors/ecore/common
+include ../../../adaptors/ecore/common/file.list
+else
+# If we're not using any EFL, then we need to use libuv mainloop
+# for the frame work
+adaptor_libuv_dir = ../../../adaptors/libuv
+include ../../../adaptors/libuv/file.list
+endif
+
# Wayland
if WAYLAND
+if USE_EFL
+## Use ecore_wayland
+adaptor_ecore_wayland_dir = ../../../adaptors/ecore/wayland
+include ../../../adaptors/ecore/wayland/file.list
+else
+## Use wayland
adaptor_wayland_dir = ../../../adaptors/wayland
include ../../../adaptors/wayland/file.list
+endif
else
# X11
adaptor_x11_dir = ../../../adaptors/x11
static_libraries_libunibreak_src_dir = ../../../text/dali/internal/libunibreak
include ../../../text/dali/internal/libunibreak/file.list
+static_libraries_glyphy_src_dir = ../../../text/dali/internal/glyphy
+include ../../../text/dali/internal/glyphy/file.list
+
+# Package doc
+package_doxy_dir = ../../../doc
+include ../../../doc/file.list
+
############# source files #############
-if ASSIMP_ENABLED
-tizen_platform_abstraction_src_files += $(tizen_assimp_src_files)
+# FRAMEWORK FILES for adaptor
+# Either use ecore mainloop + appcore / uiman
+# Or libuv main loop with no appcore / uimain
+if USE_EFL
+adaptor_internal_src_files = $(adaptor_tizen_framework_efl_src_files) \
+ $(adaptor_ecore_common_internal_src_files)
else
-tizen_platform_abstraction_src_files += $(tizen_assimp_stubs_src_files)
-endif # ASSIMP_ENABLED
+adaptor_internal_src_files = $(adaptor_tizen_framework_libuv_src_files)
+endif
# COMMON
if COMMON_PROFILE
-adaptor_internal_src_files = $(adaptor_common_internal_src_files) \
- $(adaptor_common_internal_default_profile_src_files) \
- $(adaptor_tizen_internal_src_files) \
- $(static_libraries_libunibreak_src_files)
+adaptor_internal_src_files += $(adaptor_common_internal_src_files) \
+ $(adaptor_common_internal_default_profile_src_files) \
+ $(adaptor_tizen_internal_src_files) \
+ $(adaptor_tizen_internal_non_mobile_src_files) \
+ $(static_libraries_libunibreak_src_files)
if WAYLAND
-adaptor_internal_src_files += $(adaptor_wayland_tizen_internal_src_files) \
- $(adaptor_wayland_internal_default_profile_src_files)
+
+if USE_ECORE_WAYLAND
+adaptor_internal_src_files += $(adaptor_ecore_wayland_tizen_internal_src_files) \
+ $(adaptor_ecore_wayland_internal_default_profile_src_files)
+else
+adaptor_internal_src_files += $(adaptor_wayland_tizen_internal_src_files)
+endif # USE_ECORE_WAYLAND
+
+adaptor_internal_src_files += $(adaptor_tizen_internal_egl_extension_src_files) \
+ $(adaptor_tizen_internal_native_image_src_files)
else
adaptor_internal_src_files += $(adaptor_x11_tizen_internal_src_files) \
+ $(adaptor_common_internal_egl_extension_src_files) \
$(adaptor_x11_internal_default_profile_src_files)
endif # WAYLAND
endif # COMMON_PROFILE
# UBUNTU
if UBUNTU_PROFILE
-adaptor_internal_src_files = $(adaptor_common_internal_src_files) \
+adaptor_internal_src_files += $(adaptor_common_internal_src_files) \
$(adaptor_common_internal_default_profile_src_files) \
$(adaptor_ubuntu_internal_src_files) \
$(adaptor_x11_ubuntu_internal_src_files) \
$(adaptor_x11_internal_default_profile_src_files) \
- $(static_libraries_libunibreak_src_files)
+ $(static_libraries_libunibreak_src_files) \
+ $(adaptor_common_internal_egl_extension_src_files)
endif # UBUNTU_PROFILE
# MOBILE
if MOBILE_PROFILE
-adaptor_internal_src_files = $(adaptor_common_internal_src_files) \
+adaptor_internal_src_files += $(adaptor_common_internal_src_files) \
$(adaptor_common_internal_mobile_profile_src_files) \
$(adaptor_tizen_internal_src_files) \
$(static_libraries_libunibreak_src_files)
if WAYLAND
+
+if USE_ECORE_WAYLAND
+adaptor_internal_src_files += $(adaptor_ecore_wayland_tizen_internal_src_files)
+else
adaptor_internal_src_files += $(adaptor_wayland_tizen_internal_src_files)
+endif # USE_ECORE_WAYLAND
+
+adaptor_internal_src_files += $(adaptor_tizen_internal_egl_extension_src_files) \
+ $(adaptor_tizen_internal_native_image_src_files)
else
-adaptor_internal_src_files += $(adaptor_x11_tizen_internal_src_files)
+adaptor_internal_src_files += $(adaptor_x11_tizen_internal_src_files) \
+ $(adaptor_common_internal_egl_extension_src_files)
endif # WAYLAND
endif # MOBILE_PROFILE
# WEARABLE
if WEARABLE_PROFILE
-adaptor_internal_src_files = $(adaptor_common_internal_src_files) \
+adaptor_internal_src_files += $(adaptor_common_internal_src_files) \
$(adaptor_common_internal_mobile_profile_src_files) \
$(adaptor_tizen_internal_src_files) \
$(static_libraries_libunibreak_src_files)
if WAYLAND
+
+if USE_ECORE_WAYLAND
+adaptor_internal_src_files += $(adaptor_ecore_wayland_tizen_internal_src_files)
+else
adaptor_internal_src_files += $(adaptor_wayland_tizen_internal_src_files)
+endif # USE_ECORE_WAYLAND
+
+adaptor_internal_src_files += $(adaptor_tizen_internal_egl_extension_src_files) \
+ $(adaptor_tizen_internal_native_image_src_files)
else
-adaptor_internal_src_files += $(adaptor_x11_tizen_internal_src_files)
+adaptor_internal_src_files += $(adaptor_x11_tizen_internal_src_files) \
+ $(adaptor_common_internal_egl_extension_src_files)
endif # WAYLAND
endif # WEARABLE
# TV
if TV_PROFILE
-adaptor_internal_src_files = $(adaptor_common_internal_src_files) \
+adaptor_internal_src_files += $(adaptor_common_internal_src_files) \
$(adaptor_common_internal_tv_profile_src_files) \
$(adaptor_tizen_internal_src_files) \
+ $(adaptor_tizen_internal_non_mobile_src_files) \
$(static_libraries_libunibreak_src_files)
if WAYLAND
+
+if USE_ECORE_WAYLAND
+adaptor_internal_src_files += $(adaptor_ecore_wayland_tizen_internal_src_files)
+else
adaptor_internal_src_files += $(adaptor_wayland_tizen_internal_src_files)
+endif # USE_ECORE_WAYLAND
+
+adaptor_internal_src_files += $(adaptor_tizen_internal_egl_extension_src_files) \
+ $(adaptor_tizen_internal_native_image_src_files)
else
adaptor_internal_src_files += $(adaptor_x11_tv_internal_src_files) \
- $(adaptor_x11_internal_tv_profile_key_src_files)
+ $(adaptor_x11_internal_tv_profile_key_src_files) \
+ $(adaptor_common_internal_egl_extension_src_files)
endif # WAYLAND
endif
-pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = dali-adaptor-integration.pc
-
-# Feedback Plugin
-if USE_FEEDBACK
-plugin_themes_dir = ../../../adaptors/common/feedback
-dali_plugin_theme_files = $(plugin_themes_dir)/default-feedback-theme.json
-dalifeedbackthemedir = ${dataReadOnlyDir}/themes/feedback-themes/
-dalifeedbacktheme_DATA = ${dali_plugin_theme_files}
+# Node JS support for using an external libuv main loop. If not enabled then just use e-core as normal
+# Used for things like callbacks, file-monintors, x input handling
+if LIB_UV_EVENT_LOOP
+main_loop_integration_src_files = $(adaptor_common_internal_uv_src_files)
+input_event_handler_src_files = $(adaptor_uv_x_event_handler_internal_src_files)
+else
+main_loop_integration_src_files = $(adaptor_common_internal_ecore_src_files)
+input_event_handler_src_files = $(adaptor_ecore_x_event_handler_internal_src_files)
+endif
+
+if ENABLE_VECTOR_BASED_TEXT_RENDERING
+adaptor_internal_src_files += $(static_libraries_glyphy_src_files)
+DALI_ADAPTOR_CFLAGS += -DENABLE_VECTOR_BASED_TEXT_RENDERING
endif
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = dali-adaptor.pc dali-adaptor-integration.pc
+
lib_LTLIBRARIES = libdali-adaptor.la
libdali_adaptor_la_SOURCES = \
$(base_adaptor_src_files) \
+ $(main_loop_integration_src_files) \
$(tizen_platform_abstraction_src_files) \
$(text_abstraction_src_files) \
$(devel_api_src_files) \
$(public_api_src_files) \
- $(adaptor_internal_src_files)
+ $(adaptor_internal_src_files) \
+ $(input_event_handler_src_files)
+
+
+if ENABLE_NETWORK_LOGGING
+libdali_adaptor_la_SOURCES += \
+ $(base_adaptor_networking_src_files)
+endif
libdali_adaptor_la_DEPENDENCIES =
-I../../../text/dali/internal/libunibreak
if WAYLAND
+libdali_adaptor_la_includes += -I../../../adaptors/integration-api/wayland
+
+if USE_ECORE_WAYLAND
libdali_adaptor_la_includes += \
- -I../../../adaptors/wayland \
- -I../../../adaptors/integration-api/wayland
+ -I../../../adaptors/ecore/common \
+ -I../../../adaptors/ecore/wayland
else
+libdali_adaptor_la_includes += -I../../../adaptors/wayland \
+ -I../../../adaptors/wayland/input/text/imf \
+ -I../../../adaptors/wayland/clipboard
+endif # USE_ECORE_WAYLADN
+
libdali_adaptor_la_includes += \
+ -I../../../adaptors/tizen
+else
+libdali_adaptor_la_includes += \
+ -I../../../adaptors/ecore/common \
-I../../../adaptors/x11 \
-I../../../adaptors/integration-api/x11
-endif
+endif # WAYLAND
if UBUNTU_PROFILE
libdali_adaptor_la_includes += \
-DFONT_PRELOADED_PATH="\"${fontPreloadedPath}\"" \
-DFONT_DOWNLOADED_PATH="\"${fontDownloadedPath}\"" \
-DFONT_APPLICATION_PATH="\"${fontApplicationPath}\"" \
- -DFONT_CONFIGURATION_FILE_PATH="\"${fontConfigurationFilePath}\"" \
- -DDALI_FEEDBACK_THEME_DIR="\"${dalifeedbackthemedir}\"" \
+ -DFONT_CONFIGURATION_FILE="\"${fontConfigurationFile}\"" \
-DNON_POWER_OF_TWO_TEXTURES \
-DDALI_COMPILATION -DDALI_ADAPTOR_COMPILATION \
-Werror -Wall -lgcc \
$(FREETYPE_CFLAGS) \
$(FONTCONFIG_CFLAGS) \
$(PNG_CFLAGS) \
- $(CAPI_APPFW_APPLICATION_CFLAGS) \
- $(CAPI_SYSTEM_INFO_CFLAGS) \
- $(ELEMENTARY_CFLAGS) \
- $(EVAS_CFLAGS) \
- $(ECORE_CFLAGS) \
- $(ECORE_IPC_CFLAGS) \
$(DLOG_CFLAGS) \
- $(XML_CFLAGS) \
$(VCONF_CFLAGS) \
$(EXIF_CFLAGS) \
$(MMFSOUND_CFLAGS) \
$(TTS_CFLAGS) \
- $(SENSOR_CFLAGS) \
+ $(CAPI_SYSTEM_SENSOR_CFLAGS) \
$(LIBDRM_CFLAGS) \
$(LIBEXIF_CFLAGS) \
$(LIBCURL_CFLAGS) \
- $(ASSIMP_CFLAGS) \
- $(CAPI_SYSTEM_SYSTEM_SETTINGS_CFLAGS)
+ $(TPKP_CURL_CFLAGS) \
+ $(UTILX_CFLAGS)
+
+# Todo, as soon as common repos are updated on build server remove this.
+if !COMMON_PROFILE
+libdali_adaptor_la_CXXFLAGS += -DWAYLAND_EXTENSIONS_SUPPORTED
+endif
libdali_adaptor_la_CFLAGS = $(libdali_adaptor_la_CXXFLAGS)
$(FREETYPE_LIBS) \
$(FONTCONFIG_LIBS) \
$(PNG_LIBS) \
- $(ELEMENTARY_LIBS) \
- $(ECORE_IPC_LIBS) \
$(DLOG_LIBS) \
- $(XML_LIBS) \
$(VCONF_LIBS) \
$(EXIF_LIBS) \
$(TTS_LIBS) \
- $(SENSOR_LIBS) \
+ $(CAPI_SYSTEM_SENSOR_LIBS) \
$(LIBDRM_LIBS) \
$(LIBEXIF_LIBS) \
$(LIBCURL_LIBS) \
- $(CAPI_SYSTEM_SYSTEM_SETTINGS_LIBS) \
- $(CAPI_APPFW_APPLICATION_LIBS) \
$(HARFBUZZ_LIBS) \
- $(CAPI_SYSTEM_INFO_LIBS) \
+ $(TPKP_CURL_LIBS) \
+ $(UTILX_LIBS) \
-lgif \
- -lboost_thread \
- -lturbojpeg
+ -lpthread \
+ -lturbojpeg \
+ -ljpeg
+
+if USE_EFL
+# EVAS used indicator
+libdali_adaptor_la_CXXFLAGS += $(ELEMENTARY_CFLAGS) \
+ $(EVAS_CFLAGS) \
+ $(ECORE_CFLAGS) \
+ $(ECORE_IPC_CFLAGS) \
+ $(ELDBUS_CFLAGS) \
+ -DUSE_EFL
+
+libdali_adaptor_la_LIBADD += $(ELEMENTARY_LIBS) \
+ $(ECORE_IPC_LIBS) \
+ $(ELDBUS_LIBS)
+
+endif
+
+if USE_APPFW
+
+libdali_adaptor_la_CXXFLAGS += $(CAPI_APPFW_APPLICATION_CFLAGS) \
+ $(CAPI_SYSTEM_SYSTEM_SETTINGS_CFLAGS) \
+ $(CAPI_SYSTEM_INFO_CFLAGS) \
+ $(TTS_CFLAGS) \
+ $(SENSOR_CFLAGS)
+
+libdali_adaptor_la_LIBADD += $(CAPI_APPFW_APPLICATION_LIBS) \
+ $(CAPI_SYSTEM_SYSTEM_SETTINGS_LIBS) \
+ $(CAPI_SYSTEM_INFO_LIBS) \
+ $(TTS_LIBS) \
+ $(SENSOR_LIBS)
+
+endif
if WAYLAND
+# This is to avoid having to include wayland-egl.h everywhere
+libdali_adaptor_la_CXXFLAGS += -DWL_EGL_PLATFORM
libdali_adaptor_la_CXXFLAGS += $(WAYLAND_CFLAGS)
libdali_adaptor_la_LIBADD += $(WAYLAND_LIBS)
else
tizentextabstractiondevelapi_HEADERS = $(text_abstraction_header_files)
if !UBUNTU_PROFILE
+tizenadaptorframeworkpublicapi_HEADERS += $(public_api_adaptor_tizen_header_files)
if !WAYLAND
tizenadaptorframeworkdevelapi_HEADERS += $(devel_api_adaptor_tizen_x11_header_files)
# Install resource log analyzer script
bin_SCRIPTS = ../../../adaptors/scripts/dalireslog.sh
+# package doxygen file (contains doxygen grouping information)
+packagedoxydir = $(devincludepath)/dali/doc
+packagedoxy_HEADERS = $(package_doxy_files)
+
# linking test
+# turn off the linker test if were building for libuv
+# We can't link to LibUV becase it is statically linked to Node.JS (by default)
+if !LIB_UV_EVENT_LOOP
noinst_PROGRAMS = linker.test
+endif # NOT LIB_UV_EVENT_LOOP
linker_test_SOURCES = linker-test.cpp
linker_test_CXXFLAGS = \
+ -DDALI_ADAPTOR_COMPILATION \
-I../../../adaptors/common \
-I../../../adaptors/public-api \
- -I../../../adaptors/integration-api \
+ -I../../../adaptors/integration-api \
-I../../../adaptors/base/interfaces \
-I../../../adaptors/public-api/adaptor-framework \
-I../../../adaptors/devel-api/adaptor-framework \