Graphics and Vulkan integration within Adaptor
[platform/core/uifw/dali-adaptor.git] / build / tizen / adaptor / configure.ac
index 14c137a..3c631a2 100644 (file)
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2017 Samsung Electronics Co., Ltd.
+# Copyright (c) 2018 Samsung Electronics Co., Ltd.
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 m4_define([dali_version],[0.1.0])
 AC_INIT([dali], [dali_version])
 AM_INIT_AUTOMAKE([-Wall foreign])
-
 AC_CONFIG_MACRO_DIR([m4])
 
 AC_PROG_CXX
 AC_PROG_LIBTOOL
 AC_PROG_MKDIR_P
 
+AM_CONDITIONAL(DEADCODE, [no])
+
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 LT_INIT
@@ -48,7 +49,7 @@ PKG_CHECK_MODULES(HARFBUZZ, harfbuzz)
 PKG_CHECK_MODULES(FRIBIDI, fribidi)
 PKG_CHECK_MODULES(EVAS, evas)
 PKG_CHECK_MODULES(TTRACE,  ttrace, AC_DEFINE(ENABLE_TTRACE, 1, [ttrace available]),
-                  [ AC_MSG_NOTICE([Tizen Trace not avaiable]) ]
+                  [ AC_MSG_NOTICE([Tizen Trace not available]) ]
                   )
 
 # Currently, dali-adaptor always requires EFL on all platforms.
@@ -110,6 +111,10 @@ if test "x$enable_debug" = "xyes"; then
   DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DDEBUG_ENABLED"
 fi
 
+if test "x$enable_trace" = "xyes"; then
+  DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DTRACE_ENABLED"
+fi
+
 if test "x$enable_debug" = "xno" -a "x$enable_exportall" = "xno"; then
   DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -fvisibility=hidden -DHIDE_DALI_INTERNALS"
 fi
@@ -133,6 +138,12 @@ AC_ARG_ENABLE([gles],
               [enable_gles=$enableval],
               [enable_gles=20])
 
+AC_ARG_ENABLE([vulkan],
+              [AC_HELP_STRING([--enable-vulkan],
+                              [Enable Vulkan support])],
+              [enable_vulkan=$enableval],
+              [enable_vulkan=no])
+
 DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DDALI_GLES_VERSION=${enable_gles}"
 
 # Currently, dali-adaptor requires appfw on Tizen
@@ -206,6 +217,8 @@ AM_CONDITIONAL([ENABLE_VECTOR_BASED_TEXT_RENDERING], [test x$enable_profile = xU
 
 AM_CONDITIONAL([ENABLE_NETWORK_LOGGING], [test x$enable_networklogging = xyes])
 
+AM_CONDITIONAL([ENABLE_TRACE], [test x$enable_trace = xyes])
+
 # Platforms should either enable features or remove them, they
 # should not disable features. This allows the developer to override
 # features through the command line.
@@ -255,7 +268,6 @@ else
 if test "x$enable_cxx03_abi" = "xyes"; then
  DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
 fi
-
 PKG_CHECK_MODULES(DLOG, dlog)
 PKG_CHECK_MODULES(TTS, tts)
 PKG_CHECK_MODULES(VCONF, vconf)
@@ -296,12 +308,15 @@ PKG_CHECK_MODULES(WAYLAND, [ecore-wayland egl wayland-egl wayland-client >= 1.2.
                   [DALI_USE_ECORE_WAYLAND=0])
 
 else
-PKG_CHECK_MODULES(ECORE_X, [ecore-x],
+PKG_CHECK_MODULES(ECORE_X, [ecore-x x11-xcb],
                   [DALI_USE_ECORE_X11=1],
                   [DALI_USE_ECORE_X11=0])
-PKG_CHECK_MODULES(X11, [x11],
+PKG_CHECK_MODULES(X11, [x11 x11-xcb],
                   [DALI_USE_X11=1],
                   [DALI_USE_X11=0])
+#PKG_CHECK_MODULES(X11_XCB, [x11-xcb],
+#                  [DALI_HAS_X11_XCB=1],
+#                  [DALI_HAS_X11_XCB=0])
 fi
 
 # remove this when we update common repos
@@ -335,9 +350,29 @@ if test x$FONT_CONFIGURATION_FILE != x; then
   fontConfigurationFile=$FONT_CONFIGURATION_FILE
 fi
 
+# vulkan support, includes xlib platform dependency
+if test "x$enable_vulkan" != "xno"; then
+    PKG_CHECK_MODULES(VULKAN, vulkan-${enable_vulkan}, AC_DEFINE(ENABLE_VULKAN, 1, [Vulkan available as package]),
+                  [ AC_MSG_ERROR([Vulkan not available as a package]) ]
+                  )
+
+    DALI_ADAPTOR_CFLAGS+=" ${VULKAN_CFLAGS} -DVULKAN_HPP_NO_EXCEPTIONS"
+
+    # due to a bug in nvidia driver x11-xcb library is required
+    DALI_ADAPTOR_LDFLAGS+=${VULKAN_LIBS}
+
+    if test "x$DALI_HAS_X11_XCB" == "x1"; then
+        echo "X11 libs: ${X11_XCB_LIBS}"
+        DALI_ADAPTOR_LDFLAGS+=${X11_XCB_LIBS}
+    fi
+fi
+
+AM_CONDITIONAL([VULKAN_ENABLED], [test x$enable_vulkan != xno])
+
 AC_SUBST(dataReadWriteDir)
 AC_SUBST(dataReadOnlyDir)
 AC_SUBST(DALI_ADAPTOR_CFLAGS)
+AC_SUBST(DALI_ADAPTOR_LDFLAGS)
 AC_SUBST(DALI_PROFILE_CFLAGS)
 AC_SUBST(fontConfigurationFile)
 AC_SUBST(tizenPlatformConfigSupported)
@@ -367,6 +402,7 @@ Configuration
 -------------
   Prefix:                           $prefix
   Debug Build:                      $enable_debug
+  Trace Build:                      $enable_trace
   Compile flags:                    $DALI_ADAPTOR_CFLAGS
   Freetype bitmap support (Emoji):  $freetype_bitmap_support
   Profile:                          $enable_profile
@@ -381,4 +417,9 @@ Configuration
   Using Tizen APP FW libraries:     $enable_appfw
   OpenGL ES version:                $enable_gles
   Tizen Platform Config supported   $tizenPlatformConfigSupported
-"
+  Vulkan Support:                   ${enable_vulkan}"
+
+if test "x$VULKAN_SDK" != "x"; then
+    echo "  VulkanSDK:                        ${VULKAN_SDK}"
+fi
+echo ""
\ No newline at end of file