#
-# Copyright (c) 2014 Samsung Electronics Co., Ltd.
+# Copyright (c) 2015 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.
FREETYPE_BITMAP_SUPPORT_VERSION=17.1.11
PKG_CHECK_MODULES(DALICORE, dali-core)
-PKG_CHECK_MODULES(ELEMENTARY, elementary)
-PKG_CHECK_MODULES(ECORE, ecore)
-PKG_CHECK_MODULES(ECORE_IPC, ecore-ipc)
PKG_CHECK_MODULES(EXIF, libexif)
PKG_CHECK_MODULES(FREETYPE, [freetype2 >= $FREETYPE_REQUIRED])
PKG_CHECK_MODULES(FREETYPE_BITMAP_SUPPORT, [freetype2 >= $FREETYPE_BITMAP_SUPPORT_VERSION], [ freetype_bitmap_support=yes ], [ freetype_bitmap_support=no ] )
PKG_CHECK_MODULES(FONTCONFIG, fontconfig)
PKG_CHECK_MODULES(PNG, libpng)
-PKG_CHECK_MODULES(XML, libxml-2.0)
PKG_CHECK_MODULES(LIBEXIF, libexif)
PKG_CHECK_MODULES(LIBDRM, libdrm)
PKG_CHECK_MODULES(LIBCURL, libcurl)
)
+AC_ARG_ENABLE([efl],
+ [AC_HELP_STRING([--enable-efl],
+ [Builds with EFL libraries, On by default])],
+ [enable_efl=$enableval],
+ [enable_efl=yes])
+
+
+
+# Check if we need EFL Libraries ( on by default, disabled with --use-efl=no )
+# When running on Node.JS with Wayland no EFL libraries are required.
+if test "x$enable_efl" = "xyes"; then
+PKG_CHECK_MODULES(ECORE, ecore)
+PKG_CHECK_MODULES(ECORE_IPC, ecore-ipc)
+PKG_CHECK_MODULES(ECORE_IMF, [ecore-imf >= 1.13], [ecore_imf_1_13=yes], [ecore_imf_1_13=no])
+PKG_CHECK_MODULES(ELEMENTARY, elementary)
# Check for EldBus.h in ECore
PKG_CHECK_MODULES(ELDBUS, eldbus, [ eldbus_available=yes ], [ eldbus_available=no ] )
+fi
+
DALI_ELDBUS_AVAILABLE=
if test "x$eldbus_available" = "xyes"; then
fi
AC_SUBST(DALI_ELDBUS_AVAILABLE)
+PKG_CHECK_MODULES(TPKP_CURL, tpkp-curl, [ tpkp_curl_available=yes ], [ tpkp_curl_available=no ] )
-PKG_CHECK_EXISTS(bullet, [
- BULLET_CFLAGS=`pkg-config --cflags bullet`
- BULLET_LIBS=`pkg-config --libs bullet`
- BULLET=yes
-], [
- AC_MSG_WARN([BulletPhysics development files not found, not building bullet plugin])
- BULLET_CFLAGS=
- BULLET_LIBS=
- BULLET=no
-])
-
-AC_SUBST(BULLET_CFLAGS)
-AC_SUBST(BULLET_LIBS)
-
-AC_ARG_ENABLE([bullet],
- [AC_HELP_STRING([ --enable-bullet],
- [Enable bullet plugin])],
- [enable_bullet=yes],
- [enable_bullet=no])
-
+if test "x$tpkp_curl_available" = "xyes"; then
+ DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DTPK_CURL_ENABLED "
+fi
AC_ARG_ENABLE([feedback],
[AC_HELP_STRING([ --enable-feedback],
[enable_feedback=yes],
[enable_feedback=no])
-AM_CONDITIONAL([USE_BULLET], [test x$BULLET = xyes && test x$enable_bullet = xyes])
AM_CONDITIONAL([USE_FEEDBACK], [test x$enable_feedback = xyes])
DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DPLATFORM_TIZEN"
[enable_shaderbincache=$enableval],
[enable_shaderbincache=DISABLE])
+AC_ARG_ENABLE(networklogging,
+ [AC_HELP_STRING([--enable-networklogging],
+ [enables network for debug tool])],
+ [enable_networklogging=$enableval],
+ [enable_networklogging=no])
+
+
if test "x$enable_debug" = "xyes"; then
DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DDEBUG_ENABLED"
fi
DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DSHADERBIN_CACHE_ENABLED"
fi
+if test "x$enable_networklogging" = "xyes"; then
+ DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DNETWORK_LOGGING_ENABLED"
+fi
+
+# If Ecore IMF version is greater than 1.13, then some structures are different
+if test "x$ecore_imf_1_13" = "xyes"; then
+ DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DECORE_IMF_1_13"
+fi
+
AC_ARG_ENABLE([gles],
[AC_HELP_STRING([--enable-gles],
[Specify the OpenGL ES version for backwards compatibility])],
# a libuv headers/ shared library. So we can't use pkg-config to access any headers.
# As a work around we pass the node deps path so we can access the libuv headers inside nodes
# directory
-AC_ARG_WITH([node-js],
- [AC_HELP_STRING([--with-node-js],
- [Node.JS path that contains Lib UV headers. Setting this configures DALi to work with LibUV mainloop used in Node.JS.
- For example /usr/tmp/downloads/node-v0.12.4/deps/uv/include/ ])],
- [with_node_js=$withval],
- [with_node_js=no])
+AC_ARG_WITH([libuv],
+ [AC_HELP_STRING([--with-libuv],
+ [Path that contains libuv headers. Setting this configures DALi to work with LibUV mainloop used in Node.JS.
+ For example /usr/tmp/downloads/node/deps/uv/include/ ])],
+ [with_libuv=$withval],
+ [with_libuv=no])
# Node.JS already has a libuv main loop running,so we have to integrate with it
-AM_CONDITIONAL(LIB_UV_EVENT_LOOP, test x$with_node_js != xno)
+AM_CONDITIONAL(LIB_UV_EVENT_LOOP, test x$with_libuv != xno)
-build_for_node_js=no
-if test "x$with_node_js" != "xno"; then
- AC_MSG_NOTICE("build for node_js == yes");
- [build_for_node_js=yes]
- DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DNODE_JS_SUPPORT -I${with_node_js}"
+build_for_libuv=no
+if test "x$with_libuv" != "xno"; then
+ AC_MSG_NOTICE("build with libuv mainloop (Node.JS support) == yes");
+ [build_for_libuv=yes]
+ DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DNODE_JS_SUPPORT -I${with_libuv}"
else
- #not using node.js build
- AC_MSG_NOTICE("build for node_js == no");
+ #not using libuv build
+ AC_MSG_NOTICE("build with libuv mainloop == no (Node.JS not supported)");
fi
+AC_ARG_ENABLE([appfw],
+ [AC_HELP_STRING([--enable-appfw],
+ [Builds with Tizen App framework libraries, off by default])],
+ [enable_appfw=$enableval],
+ [enable_appfw=no])
-AC_ARG_WITH([over-tizen_2_2],
- [AC_HELP_STRING([--with-over-tizen_2_2],
- [Use tizen API over ver. 2.2])],
- [with_over_tizen_2_2=yes],
- [with_over_tizen_2_2=no])
+# Option to allow building with Tizen SDK 2.2
+AC_ARG_WITH([tizen-2-2-compatibility],
+ [AC_HELP_STRING([--with-tizen-2-2-compatibility],
+ [Use Tizen SDK 2.2 compatibility])],
+ [with_tizen_2_2_compatibility=$withval],
+ [with_tizen_2_2_compatibility=no])
# Tizen Profile options
AC_ARG_ENABLE([profile],
AM_CONDITIONAL([TV_PROFILE], [test x$enable_profile = xTV])
AM_CONDITIONAL([UBUNTU_PROFILE], [test x$enable_profile = xUBUNTU])
AM_CONDITIONAL([WAYLAND], [test x$enable_wayland = xyes])
+AM_CONDITIONAL([USE_EFL], [test x$enable_efl = xyes])
+AM_CONDITIONAL([USE_APPFW], [test x$enable_appfw = xyes])
+
+AM_CONDITIONAL([ENABLE_NETWORK_LOGGING], [test x$enable_networklogging = 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.
+if test "x$enable_profile" = "xCOMMON"; then
PKG_CHECK_MODULES(OPENGLES20, glesv2 egl)
+fi
+
+if test "x$enable_profile" = "xMOBILE"; then
+PKG_CHECK_MODULES(OPENGLES20, gles20)
+enable_assimp=no
+fi
+
+if test "x$enable_profile" = "xLITE"; then
+PKG_CHECK_MODULES(OPENGLES20, gles20)
+fi
+
+if test "x$enable_profile" = "xWEARABLE"; then
+PKG_CHECK_MODULES(OPENGLES20, glesv2)
+fi
+
+if test "x$enable_profile" = "xTV"; then
+PKG_CHECK_MODULES(OPENGLES20, glesv2)
+fi
+
+if test "x$enable_profile" = "xUBUNTU"; then
+PKG_CHECK_MODULES(OPENGLES20, glesv2 egl)
+else
+
+
-if test "x$enable_profile" != "xUBUNTU"; then
-PKG_CHECK_MODULES(CAPI_APPFW_APPLICATION, capi-appfw-application)
PKG_CHECK_MODULES(DLOG, dlog)
PKG_CHECK_MODULES(SENSOR, sensor)
PKG_CHECK_MODULES(TTS, tts)
PKG_CHECK_MODULES(VCONF, vconf)
-PKG_CHECK_MODULES(CAPI_SYSTEM_SYSTEM_SETTINGS, capi-system-system-settings)
-
-if test "x$with_over_tizen_2_2" = "xyes"; then
+if test "x$enable_efl" = "xyes"; then
+if test "x$with_tizen_2_2_compatibility" = "xno"; then
PKG_CHECK_MODULES(CAPI_SYSTEM_INFO, capi-system-info)
fi
+fi
fi # ubuntu profile test
+if test "x$enable_appfw" = "xyes"; then
+PKG_CHECK_MODULES(CAPI_APPFW_APPLICATION, capi-appfw-application)
+PKG_CHECK_MODULES(CAPI_SYSTEM_SYSTEM_SETTINGS, capi-system-system-settings)
+fi
+
+# Using EFL api's for WAYLAND AND X11 to run on ecore mainloop
+if test "x$enable_efl" = "xyes"; then
if test "x$enable_wayland" = "xyes"; then
PKG_CHECK_MODULES(WAYLAND, [ecore-wayland egl wayland-egl wayland-client >= 1.2.0 xkbcommon],
- [DALI_HAS_ECOREWL=yes],
- [DALI_HAS_ECOREWL=no])
+ [DALI_USE_ECORE_WAYLAND=1],
+ [DALI_USE_ECORE_WAYLAND=0])
+
else
PKG_CHECK_MODULES(ECORE_X, [ecore-x],
- [DALI_HAS_ECOREX=yes],
- [DALI_HAS_ECOREX=no])
+ [DALI_USE_ECORE_X11=1],
+ [DALI_USE_ECORE_X11=0])
PKG_CHECK_MODULES(X11, [x11],
- [DALI_HAS_X11=yes],
- [DALI_HAS_X11=no])
+ [DALI_USE_X11=1],
+ [DALI_USE_X11=0])
+PKG_CHECK_MODULES(UTILX, utilX)
+fi
+fi
+# Using Wayland API directly ( main loop agnostic, typically for running on libuv)
+# wayland-extension-client include xdg-shell-client
+if test "x$enable_efl" = "xno"; then
+if test "x$enable_wayland" = "xyes"; then
+PKG_CHECK_MODULES(WAYLAND, [ egl wayland-egl wayland-client >= 1.2.0 xkbcommon],
+ [DALI_USE_WAYLAND=1],
+ [DALI_USE_WAYLAND=0])
+fi
+fi
+
+# remove this when we update common repos
+# common profile currently does not have wayland extensions like xdg-shell
+if test "x$enable_wayland" = "xyes"; then
+if test "x$enable_profile" != "xCOMMON"; then
+PKG_CHECK_MODULES(WAYLAND_EXTENSION, xdg-shell-client)
fi
+fi
+AM_CONDITIONAL([USE_ECORE_WAYLAND], [test "$DALI_USE_ECORE_WAYLAND" -eq 1])
if test "x$enable_feedback" = "xyes"; then
dataReadOnlyDir=${prefix}/share/dali/
fi
+if test x$FONT_CONFIGURATION_FILE != x; then
+ fontConfigurationFile=$FONT_CONFIGURATION_FILE
+fi
+
AC_SUBST(dataReadWriteDir)
AC_SUBST(dataReadOnlyDir)
AC_SUBST(DALI_ADAPTOR_CFLAGS)
AC_SUBST(DALI_PROFILE_CFLAGS)
+AC_SUBST(fontConfigurationFile)
+
# Specify the include directory for development headers
#devincludepath=${includedir}/dali/internal
adaptor/dali-adaptor-integration.pc
])
-AM_CONDITIONAL([USE_PLUGIN], [test x$enable_feedback = xyes || test x$enable_bullet = xyes])
+AM_CONDITIONAL([USE_PLUGIN], [test x$enable_feedback = xyes])
-if test "x$enable_feedback" = "xyes" || test "x$enable_bullet" = "xyes"; then
+if test "x$enable_feedback" = "xyes"; then
AC_CONFIG_FILES([
plugins/Makefile
])
Profile: $enable_profile
Data Dir (Read/Write): $dataReadWriteDir
Data Dir (Read Only): $dataReadOnlyDir
- OVERTIZEN2.2: $with_over_tizen_2_2
+ Tizen SDK 2.2 compatibility: $with_tizen_2_2_compatibility
EldBus: $eldbus_available
- Build for Node.JS (LibUV) $build_for_node_js
+ Shader Binary Cache: $enable_shaderbincache
+ Using LibUV mainloop (Node.JS) $build_for_libuv
+ Ecore Version At Least 1.13.0 $ecore_imf_1_13
+ Network logging enabled: $enable_networklogging
+ Font config file: $fontConfigurationFile
+ Building with EFL Libraries $enable_efl
+ Using Tizen APP FW libraries $enable_appfw
"
-# optional output of node.js source path if we're building for node.js
-if test "x$build_for_node_js" != "xno"; then
-echo " Node.JS LibUV header path $with_node_js"
+# optional output of node.js source path if we're building with libuv
+if test "x$build_for_libuv" != "xno"; then
+echo " LibUV header path $with_libuv"
fi