[dali_1.3.38] Merge branch 'devel/master'
[platform/core/uifw/dali-toolkit.git] / build / tizen / configure.ac
1 #
2 # Copyright (c) 2016 Samsung Electronics Co., Ltd.
3 #
4 # Licensed under the Apache License, Version 2.0 (the "License");
5 # you may not use this file except in compliance with the License.
6 # You may obtain a copy of the License at
7 #
8 # http://www.apache.org/licenses/LICENSE-2.0
9 #
10 # Unless required by applicable law or agreed to in writing, software
11 # distributed under the License is distributed on an "AS IS" BASIS,
12 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 # See the License for the specific language governing permissions and
14 # limitations under the License.
15 #
16
17 m4_define([dali_version],[0.1.0])
18 AC_INIT([dali], [dali_version])
19 AM_INIT_AUTOMAKE([-Wall foreign])
20
21 AC_PROG_CXX
22 AC_PROG_LIBTOOL
23
24 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
25
26 LT_INIT
27
28 DALI_TOOLKIT_VERSION=dali_version
29 AC_SUBST(DALI_TOOLKIT_VERSION)
30
31
32 DALI_TOOLKIT_CFLAGS=-DPLATFORM_TIZEN
33
34 AC_ARG_ENABLE(exportall,
35               [AC_HELP_STRING([--enable-exportall],
36                               [enables the exporting of all the symbols in the library])],
37               [enable_exportall=yes],
38               [enable_exportall=no])
39
40 AC_ARG_ENABLE([debug],
41               [AC_HELP_STRING([--enable-debug],
42                               [Turns on debugging])],
43               [enable_debug=$enableval],
44               [enable_debug=no])
45
46 AC_ARG_ENABLE([i18n],
47               [AC_HELP_STRING([--enable-i18n],
48                               [Turns on internationalisation])],
49               [enable_i18n=$enableval],
50               [enable_i18n=no])
51
52 # option to build JavaScript plugin
53 # configure settings and output
54 # --enable-javascript        // enable_javascript = yes
55 # --enable-javascript=yes    // enable_javascript = yes
56 # --enable-javascript=no     // enable_javascript = no
57 # --disable-javascript       // enable_javascript = no
58 #  no setting                // enable_javascript = automatic ( enable if v8 present)
59 AC_ARG_ENABLE([javascript],
60               [AC_HELP_STRING([--enable-javascript],
61                 [Enable JavaScript plugin])],
62               [enable_javascript=$enableval],
63               [enable_javascript=automatic])
64
65 # option to build C# plugin
66 # configure settings and output
67 # --enable-csharp        // enable_csharp = yes
68 # --enable-csharp=yes    // enable_csharp = yes
69 # --enable-csharp=no     // enable_csharp = no
70 #  no setting            // enable_csharp = no
71 AC_ARG_ENABLE([csharp],
72               [AC_HELP_STRING([--enable-csharp],
73                 [Enable csharp plugin])],
74               [enable_csharp=$enableval],
75               [enable_csharp=automatic])
76
77 AC_ARG_ENABLE([cxx03_abi],
78               [AC_HELP_STRING([--enable-cxx03-abi],
79                               [Specify abi for the build])],
80               [enable_cxx03_abi=$enableval],
81               [enable_cxx03_abi=no])
82
83 AC_ARG_ENABLE([rename_so],
84               [AC_HELP_STRING([--enable-rename-so],
85                               [Specify whether so file is renamed or not])],
86               [enable_rename_so=$enableval],
87               [enable_rename_so=yes])
88
89 AM_CONDITIONAL([ENABLE_CXX03_ABI], [test x$enable_cxx03_abi = xyes])
90 AM_CONDITIONAL([ENABLE_RENAME_SO], [test x$enable_rename_so = xyes])
91
92 if test "x$enable_cxx03_abi" = "xyes"; then
93   DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -D_GLIBCXX_USE_CXX11_ABI=0"
94 fi
95
96 if test "x$enable_debug" = "xyes"; then
97   DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -DDEBUG_ENABLED"
98 fi
99
100 if test "x$enable_trace" = "xyes"; then
101   DALI_ADAPTOR_CFLAGS="$DALI_ADAPTOR_CFLAGS -DTRACE_ENABLED"
102 fi
103
104 if test "x$enable_debug" = "xno" -a "x$enable_exportall" = "xno"; then
105   DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -fvisibility=hidden -DHIDE_DALI_INTERNALS"
106 fi
107
108 if test "x$enable_i18n" = "xyes"; then
109   DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -DDGETTEXT_ENABLED "
110 fi
111
112 # Tizen Profile options
113 AC_ARG_ENABLE([profile],
114               [AC_HELP_STRING([--enable-profile=UBUNTU,TIZEN],
115                             [Select the variant of tizen])],
116               [dali_profile=$enableval],
117               [dali_profile=UBUNTU])
118
119 # Tizen Style Folder
120 AC_ARG_WITH(style,
121               [AC_HELP_STRING([--with-style],
122                             [Select the style folder to use])],
123               [dali_style=$withval],
124               [dali_style=480x800])
125
126 # Ensure valid profile selected
127 if test "x$dali_profile" != "xUBUNTU" -a "x$dali_profile" != "xTIZEN"; then
128   AC_MSG_ERROR([$enable_profile is an invalid profile])
129 fi
130
131 if test x$DALI_DATA_RW_DIR != x; then
132   dataReadWriteDir=${DALI_DATA_RW_DIR}/
133 else
134   dataReadWriteDir=${prefix}/share/dali/
135 fi
136
137 if test x$DALI_DATA_RO_DIR != x; then
138   dataReadOnlyDir=${DALI_DATA_RO_DIR}/
139 else
140   dataReadOnlyDir=${prefix}/share/dali/
141 fi
142
143 DALI_TOOLKIT_CFLAGS="$DALI_TOOLKIT_CFLAGS -DDALI_PROFILE_${dali_profile}"
144
145 # Style folder
146 STYLE_BASE_DIR=../../../dali-toolkit/styles
147 STYLE_DIR=$STYLE_BASE_DIR/$dali_style
148
149 AC_SUBST(STYLE_BASE_DIR)
150 AC_SUBST(STYLE_DIR)
151
152 # v8 version 4+ requires c++11
153 PKG_CHECK_MODULES(V8, v8 = 3.32.7, [ pkg_check_v8=yes ],  [ pkg_check_v8=no  ] )
154
155 # Rules for building JavaScript plugin
156 # If enable_javascript=yes and v8 installed = build javascript
157 # If enable_javascript=automatic and v8 installed = build javascript
158 # If enable_javascript=yes and v8 not installed = throw an error
159 build_javascript_plugin=no
160 if test x$enable_javascript = xyes; then
161   if test x$pkg_check_v8 = xno; then
162     [build_javascript_plugin=no]
163     AC_MSG_ERROR("V8 not found or incorrect version installed")
164     AC_MSG_NOTICE("To disable building of JavaScript plugin use --disable-javascript")
165   else
166     [build_javascript_plugin=yes]
167     AC_MSG_NOTICE(V8 library found. Building DALi JavaScript plugin)
168   fi
169 fi
170 if test x$enable_javascript = xautomatic && test x$pkg_check_v8 = xyes; then
171   [build_javascript_plugin=yes]
172   AC_MSG_NOTICE( V8 library found. Automatic building of JavaScript plugin. Use  use --disable-javascript to disable)
173 fi
174
175
176 #set a variable for the makefile to force compile the JAvaSplugin
177 AM_CONDITIONAL([ENABLE_JAVASCRIPT_PLUGIN], [test x$build_javascript_plugin = xyes])
178
179 # Platforms with highp shader support can use vector based text
180 AM_CONDITIONAL([ENABLE_VECTOR_BASED_TEXT_RENDERING], [test x$dali_profile = xUBUNTU])
181
182 AC_SUBST(dataReadWriteDir)
183 AC_SUBST(dataReadOnlyDir)
184 AC_SUBST(DALI_TOOLKIT_CFLAGS)
185
186
187 # Specify the include directory for development headers
188 #devincludepath=${includedir}/dali/internal
189 devincludepath=${includedir}
190 AC_SUBST(devincludepath)
191
192 # Doxygen paths
193 DOXYGEN_DOCS_DIR=../../../docs
194 DOXYGEN_ROOT_DIR=../../..
195 AC_SUBST(DOXYGEN_DOCS_DIR)
196 AC_SUBST(DOXYGEN_ROOT_DIR)
197
198 if test "x$enable_cxx03_abi" = "xyes"; then
199 PKG_CHECK_MODULES(DALI, dali-core-cxx03)
200 PKG_CHECK_MODULES(DALIDAPTOR, dali-adaptor-cxx03)
201 else
202 PKG_CHECK_MODULES(DALICORE, dali-core)
203 PKG_CHECK_MODULES(DALIADAPTOR, dali-adaptor)
204 fi
205
206 # Enable csharp plugin
207 build_csharp_plugin=no
208 build_ruby_flag=no
209 if test x$enable_csharp = xyes; then
210   [build_csharp_plugin=yes]
211   AC_MSG_NOTICE(Building DALi csharp plugin ...)
212   AC_PATH_PROG([SWIG], [swig])
213
214   # if gbs enable, then only use swig, without ruby or mcs
215   if test "x$dali_profile" = "xUBUNTU"; then
216     [build_ruby_flag=yes]
217     AC_PATH_PROG([RUBY], [ruby])
218     AC_PATH_PROGS([MCS], [mcs gmcs gmcs2])
219     AC_MSG_NOTICE(swig ruby mcs working ...)
220   else
221     [build_ruby_flag=no]
222     AC_PATH_PROG([RUBY], [ruby])
223     #AC_PATH_PROGS([MCS], [mcs gmcs gmcs2])
224     #AC_MSG_NOTICE(swig only working ...)
225   fi
226
227   # Set varaibles for dali-toolkit
228   DALITOOLKIT_CFLAGS="-I${prefix}/include -I${prefix}/include/dali-toolkit"
229   DALITOOLKIT_LIBS="-L${prefix}/lib -ldali-toolkit -ldali-core"
230   AC_SUBST(DALITOOLKIT_CFLAGS)
231   AC_SUBST(DALITOOLKIT_LIBS)
232 fi
233
234 #set a variable for the makefile to force compile the csharp plugin
235 AM_CONDITIONAL([ENABLE_CSHARP_PLUGIN], [test x$build_csharp_plugin = xyes])
236 AM_CONDITIONAL([ENABLE_RUBY_FLAG], [test x$build_ruby_flag = xyes])
237
238 AC_CONFIG_FILES([
239  Makefile
240  dali-toolkit/Makefile
241  plugins/javascript/Makefile
242  plugins/csharp/Makefile
243  docs/Makefile
244  docs/dali.doxy
245  docs-internal/dali-internal.doxy
246  ../../automated-tests/CMakeLists.txt
247 ])
248
249 if test "x$enable_cxx03_abi" = "xno"; then
250 AC_CONFIG_FILES([dali-toolkit.pc])
251 fi
252
253 AC_OUTPUT
254
255 echo "
256 Configuration
257 -------------
258   Prefix:                           $prefix
259   Debug Build:                      $enable_debug
260   Trace Build:                      $enable_trace
261   JavaScript support (V8 required)  $build_javascript_plugin
262   CSharp support                    $build_csharp_plugin
263   Profile:                          $dali_profile
264   Data Dir (Read/Write):            $dataReadWriteDir
265   Data Dir (Read Only):             $dataReadOnlyDir
266   Style Dir:                        $STYLE_DIR
267   Style:                            $dali_style
268   i18n:                             $enable_i18n
269 "