fix 64bits build-errors
[platform/core/uifw/libtpl-egl.git] / configure.ac
1 #                                               -*- Autoconf -*-
2 # Process this file with autoconf to produce a configure script.
3
4 AC_PREREQ([2.69])
5 AC_INIT([libtpl-egl], [TPL_VERSION_MAJOR.TPL_VERSION_MINOR.TPL_VERSION_PATCH])
6 AC_CONFIG_SRCDIR([src/tpl.c])
7 AC_CONFIG_HEADERS([config.h])
8 AM_INIT_AUTOMAKE([foreign dist-bzip2 subdir-objects])
9
10 # Initialize libtool
11 LT_PREREQ([2.2])
12 LT_INIT([disable-static])
13
14 # Initialize version macros
15 AC_SUBST(TPL_VERSION_MAJOR)
16 AC_SUBST(TPL_VERSION_MINOR)
17 AC_SUBST(TPL_VERSION_PATCH)
18 AC_SUBST(WL_EGL_VERSION_MAJOR)
19 AC_SUBST(WL_EGL_VERSION_MINOR)
20 AC_SUBST(WL_EGL_VERSION_PATCH)
21 AC_SUBST(WL_EGL_TIZEN_VERSION_MAJOR)
22 AC_SUBST(WL_EGL_TIZEN_VERSION_MINOR)
23 AC_SUBST(WL_EGL_TIZEN_VERSION_PATCH)
24 # Checks for programs.
25 AC_PROG_CXX
26 AC_PROG_CC
27
28
29 # Checks for libraries.
30 AC_CHECK_LIB([dl], [dlopen])
31 AC_CHECK_LIB([pthread], [pthread_create])
32
33 # Checks for header files.
34 AC_CHECK_HEADERS([fcntl.h stddef.h stdint.h stdlib.h string.h unistd.h])
35
36 # pkg-config
37 PKG_PROG_PKG_CONFIG
38 if test "${PKG_CONFIG}" = "" ; then
39    AC_MSG_ERROR([pkg-config tool not found. Install it or set PKG_CONFIG environment variable to that path tool. Exiting...])
40 fi
41
42 PKG_CHECK_MODULES([TPL_ESSENTIAL], [libtbm])
43
44 # Checks for features
45 AC_ARG_WITH([arch],
46    [AS_HELP_STRING([--with-arch=armv7l|aarch64],[Set target architecture.])],
47    [],
48    [])
49
50 AS_IF([test "${with_arch}" = "aarch64"],
51           [TPL_CFLAGS+=" -DARM_ATOMIC_OPERATION "],
52           [])
53
54 AC_ARG_WITH([wayland],
55    [AS_HELP_STRING([--with-wayland=yes|no],[Sets the backend of tpl as wayland. @<:@default=enabled@:>@])],
56    [],
57    [with_wayland=yes])
58
59 AS_IF([test "${with_wayland}" = "yes" || test "${with_wayland}" = "1"],
60           [PKG_CHECK_MODULES([TPL_WL],
61            [libtdm-client wayland-tbm-client wayland-tbm-server
62             glib-2.0 wayland-egl wayland-egl-backend])
63            TPL_CFLAGS+="$TPL_WL_CFLAGS"
64            TPL_CFLAGS+=" -DTPL_WINSYS_WL=1 "
65            TPL_LIBS+="$TPL_WL_LIBS "],
66            [])
67
68 AM_CONDITIONAL([WITH_WAYLAND], [test "${with_wayland}" = "yes" || test "${with_wayland}" = "1"])
69
70 AC_ARG_WITH([tbm],
71    [AS_HELP_STRING([--with-tbm=yes|no],[Sets the backend of tpl as tbm. @<:@default=enabled@:>@])],
72    [],
73    [with_tbm=yes])
74
75 AS_IF([test "${with_tbm}" = "yes" || test "${with_tbm}" = "1"],
76           [TPL_CFLAGS+=" -DTPL_WINSYS_TBM=1 "],
77           [])
78
79 AM_CONDITIONAL([WITH_TBM], [test "${with_tbm}" = "yes" || test "${with_tbm}" = "1"])
80
81 AC_ARG_ENABLE([wayland-thread],
82    [AS_HELP_STRING([--enable-wayland-thread=yes|no],[Sets the backend of tpl as wayland-thread.])],
83    [],
84    [])
85
86 AS_IF([test "${enable_wayland_thread}" = "yes" || test "${enable_wayland_thread}" = "1"],
87           [TPL_CFLAGS+=" -DWL_THREAD_DEFAULT_ENABLE=1 "],
88           [])
89
90 AM_CONDITIONAL([ENABLE_WAYLAND_THREAD], [test "${enable_wayland_thread}" = "yes" || test "${enable_wayland_thread}" = "1"])
91
92 AC_ARG_ENABLE([dlog],
93    [AS_HELP_STRING([--enable-dlog=yes|no],[Enable dlog. @<:@default=enabled@:>@])],
94    [],
95    [enable_dlog=yes])
96
97 AS_IF([test "${enable_dlog}" = "yes" || test "${enable_dlog}" = "1"],
98           [PKG_CHECK_MODULES([DLOG], [dlog])
99            TPL_CFLAGS+="$DLOG_CFLAGS"
100            TPL_CFLAGS+=" -DDLOG_DEFAULT_ENABLE "
101            TPL_LIBS+="$DLOG_LIBS"
102            WL_EGL_TIZEN_CFLAGS+="$DLOG_CFLAGS"
103            WL_EGL_TIZEN_LIBS+="$DLOG_LIBS"],
104           [])
105
106 AM_CONDITIONAL([ENABLE_DLOG], [test "${enable_dlog}" = "yes" || test "${enable_dlog}" = "1"])
107
108 AC_ARG_ENABLE([dlog-default],
109    [AS_HELP_STRING([--enable-dlog-default=yes|no],[Enable printing dlog by default. @<:@default=disabled@:>@])],
110    [],
111    [])
112
113 AS_IF([test "${enable_dlog_default}" = "yes" || test "${enable_dlog_default}" = "1"],
114           [TPL_CFLAGS+=" -DLOG_DEFAULT_ENABLE "],
115           [])
116
117 AM_CONDITIONAL([ENABLE_DLOG_DEFAULT], [test "${enable_dlog_default}" = "yes" || test "${enable_dlog_default}" = "1"])
118
119 AC_ARG_ENABLE([dump],
120    [AS_HELP_STRING([--enable-dump=yes|no],[Enable creating dump by default. @<:@default=disabled@:>@])],
121    [],
122    [])
123
124 AS_IF([test "${enable_dump}" = "yes" || test "${enable_dump}" = "1"],
125           [TPL_CFLAGS+=" -DDEFAULT_DUMP_ENABLE "],
126           [])
127
128 AM_CONDITIONAL([ENABLE_DUMP], [test "${enable_dump}" = "yes" || test "${enable_dump}" = "1"])
129
130 AC_ARG_ENABLE([object-hash-check],
131    [AS_HELP_STRING([--enable-object-hash-check=yes|no],[Enable object hash check. @<:@default=disabled@:>@])],
132    [],
133    [])
134
135 AS_IF([test "${enable_object_hash_check}" = "yes" || test "${enable_object_hash_check}" = "1"],
136           [TPL_CFLAGS+=" -DOBJECT_HASH_CHECK "],
137           [])
138
139 AM_CONDITIONAL([ENABLE_OBJECT_HASH_CHECK], [test "${enable_object_hash_check}" = "yes" || test "${enable_object_hash_check}" = "1"])
140
141 AC_ARG_ENABLE([ttrace],
142    [AS_HELP_STRING([--enable-ttrace=yes|no],[Enable ttrace.])],
143    [],
144    [])
145
146 AS_IF([test "${enable_ttrace}" = "yes" || test "${enable_ttrace}" = "1"],
147           [PKG_CHECK_MODULES([TTRACE], [ttrace])
148           TPL_CFLAGS+="$TTRACE_CFLAGS"
149           TPL_CFLAGS+=" -DTTRACE_ENABLE=1 "
150           TPL_LIBS+="$TTRACE_LIBS"],
151           [])
152
153 AM_CONDITIONAL([ENABLE_TTRACE], [test "${enable_ttrace}" = "yes" || test "${enable_ttrace}" = "1"])
154
155 AC_ARG_ENABLE([tizen-feature],
156    [AS_HELP_STRING([--enable-tizen-feature=yes|no],[Enable tizen specific feature. @<:@default=enabled@:>@])],
157    [],
158    [])
159
160 AS_IF([test "${enable_tizen_feature}" = "yes" || test "${enable_tizen_feature}" = "1"],
161           [PKG_CHECK_MODULES([TIZEN_FEATURE],
162            [tizen-surface-client presentation-time-client
163            linux-explicit-synchronization-unstable-v1-client])
164            TPL_CFLAGS+="$TIZEN_FEATURE_CFLAGS"
165            TPL_CFLAGS+=" -DTIZEN_FEATURE_ENABLE=1 "
166            TPL_LIBS+="$TIZEN_FEATURE_LIBS"],
167           [TPL_CFLAGS+=" -DTIZEN_FEATURE_ENABLE=0 "])
168
169 AM_CONDITIONAL([ENABLE_TIZEN_FEATURE], [test "${enable_tizen_feature}" = "yes" || test "${enable_tizen_feature}" = "1"])
170
171
172 AC_ARG_WITH([utest],
173    [AS_HELP_STRING([--with-utest=yes|no],[Build tpl unit test. @<:@default=disabled@:>@])],
174    [],
175    [])
176
177 # TODO: Apply pkgconfig on gtest
178 AS_IF([test "${with_utest}" = "yes" || test "${with_utest}" = "1"],
179           [TPL_TEST_CFLAGS=
180            TPL_TEST_LIBS+="-lgtest"],
181           [])
182
183 AM_CONDITIONAL([WITH_UTEST], [test "${with_utest}" = "yes" || test "${with_utest}" = "1"])
184
185 AC_ARG_ENABLE([gcov],
186    [AS_HELP_STRING([--enable-gcov=yes|no],[Enable gcov.])],
187    [],
188    [])
189
190 # TODO: Apply pkgconfig on gcov
191 AS_IF([test "${enable_gcov}" = "yes" || test "${enable_gcov}" = "1"],
192           [TPL_CFLAGS+=" -fprofile-arcs -ftest-coverage"
193            TPL_LIBS+=" -lgcov "
194            WL_EGL_CFLAGS+=" -fprofile-arcs -ftest-coverage"
195            WL_EGL_LIBS+=" -lgcov "
196            WL_EGL_TIZEN_CFLAGS+=" -fprofile-arcs -ftest-coverage"
197            WL_EGL_TIZENLIBS+=" -lgcov ",
198           ])
199
200 AM_CONDITIONAL([ENABLE_GCOV], [test "${enable_gcov}" = "yes" || test "${enable_gcov}" = "1"])
201
202 TPL_CFLAGS+="$TPL_ESSENTIAL_CFLAGS"
203 TPL_LIBS+="$TPL_ESSENTIAL_LIBS"
204
205 AC_SUBST([TPL_CFLAGS])
206 AC_SUBST([TPL_LIBS])
207
208 AC_SUBST([WL_EGL_CFLAGS])
209 AC_SUBST([WL_EGL_LIBS])
210
211 AC_SUBST([WL_EGL_TIZEN_CFLAGS])
212 AC_SUBST([WL_EGL_TIZEN_LIBS])
213
214 # Checks for typedefs, structures, and compiler characteristics.
215 AC_C_INLINE
216 AC_TYPE_INT32_T
217 AC_TYPE_INT64_T
218 AC_TYPE_SIZE_T
219 AC_TYPE_SSIZE_T
220 AC_TYPE_UINT32_T
221 AC_TYPE_UINT64_T
222 AC_TYPE_UINT8_T
223
224 # Checks for library functions.
225 AC_FUNC_MALLOC
226 AC_FUNC_STRERROR_R
227 AC_CHECK_FUNCS([clock_gettime memset])
228
229 AC_SUBST(LIBDIR)
230
231 # Set output files
232 AC_CONFIG_FILES([
233                                  Makefile
234                                  src/Makefile
235                                  src/wayland-egl-tizen/Makefile
236                                  pkgconfig/Makefile
237                                  pkgconfig/tpl-egl.pc
238                                  pkgconfig/wayland-egl-tizen.pc
239                                  ])
240
241 AM_COND_IF([WITH_UTEST],
242                    [AC_SUBST([TPL_TEST_CFLAGS])
243                         AC_SUBST([TPL_TEST_LIBS])
244                         AC_CONFIG_FILES([tc/Makefile])
245                    ])
246
247 AC_OUTPUT
248