2 # Process this file with autoconf to produce a configure script.
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])
12 LT_INIT([disable-static])
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.
29 # Checks for libraries.
30 AC_CHECK_LIB([dl], [dlopen])
31 AC_CHECK_LIB([pthread], [pthread_create])
33 # Checks for header files.
34 AC_CHECK_HEADERS([fcntl.h stddef.h stdint.h stdlib.h string.h unistd.h])
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...])
42 PKG_CHECK_MODULES([TPL_ESSENTIAL], [libtbm])
46 [AS_HELP_STRING([--with-arch=armv7l|aarch64],[Set target architecture.])],
50 AS_IF([test "${with_arch}" = "aarch64"],
51 [TPL_CFLAGS+=" -DARM_ATOMIC_OPERATION "],
54 AC_ARG_WITH([wayland],
55 [AS_HELP_STRING([--with-wayland=yes|no],[Sets the backend of tpl as wayland. @<:@default=enabled@:>@])],
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 "],
68 AM_CONDITIONAL([WITH_WAYLAND], [test "${with_wayland}" = "yes" || test "${with_wayland}" = "1"])
71 [AS_HELP_STRING([--with-tbm=yes|no],[Sets the backend of tpl as tbm. @<:@default=enabled@:>@])],
75 AS_IF([test "${with_tbm}" = "yes" || test "${with_tbm}" = "1"],
76 [TPL_CFLAGS+=" -DTPL_WINSYS_TBM=1 "],
79 AM_CONDITIONAL([WITH_TBM], [test "${with_tbm}" = "yes" || test "${with_tbm}" = "1"])
81 AC_ARG_ENABLE([wayland-thread],
82 [AS_HELP_STRING([--enable-wayland-thread=yes|no],[Sets the backend of tpl as wayland-thread.])],
86 AS_IF([test "${enable_wayland_thread}" = "yes" || test "${enable_wayland_thread}" = "1"],
87 [TPL_CFLAGS+=" -DWL_THREAD_DEFAULT_ENABLE=1 "],
90 AM_CONDITIONAL([ENABLE_WAYLAND_THREAD], [test "${enable_wayland_thread}" = "yes" || test "${enable_wayland_thread}" = "1"])
93 [AS_HELP_STRING([--enable-dlog=yes|no],[Enable dlog. @<:@default=enabled@:>@])],
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"],
106 AM_CONDITIONAL([ENABLE_DLOG], [test "${enable_dlog}" = "yes" || test "${enable_dlog}" = "1"])
108 AC_ARG_ENABLE([dlog-default],
109 [AS_HELP_STRING([--enable-dlog-default=yes|no],[Enable printing dlog by default. @<:@default=disabled@:>@])],
113 AS_IF([test "${enable_dlog_default}" = "yes" || test "${enable_dlog_default}" = "1"],
114 [TPL_CFLAGS+=" -DLOG_DEFAULT_ENABLE "],
117 AM_CONDITIONAL([ENABLE_DLOG_DEFAULT], [test "${enable_dlog_default}" = "yes" || test "${enable_dlog_default}" = "1"])
119 AC_ARG_ENABLE([dump],
120 [AS_HELP_STRING([--enable-dump=yes|no],[Enable creating dump by default. @<:@default=disabled@:>@])],
124 AS_IF([test "${enable_dump}" = "yes" || test "${enable_dump}" = "1"],
125 [TPL_CFLAGS+=" -DDEFAULT_DUMP_ENABLE "],
128 AM_CONDITIONAL([ENABLE_DUMP], [test "${enable_dump}" = "yes" || test "${enable_dump}" = "1"])
130 AC_ARG_ENABLE([object-hash-check],
131 [AS_HELP_STRING([--enable-object-hash-check=yes|no],[Enable object hash check. @<:@default=disabled@:>@])],
135 AS_IF([test "${enable_object_hash_check}" = "yes" || test "${enable_object_hash_check}" = "1"],
136 [TPL_CFLAGS+=" -DOBJECT_HASH_CHECK "],
139 AM_CONDITIONAL([ENABLE_OBJECT_HASH_CHECK], [test "${enable_object_hash_check}" = "yes" || test "${enable_object_hash_check}" = "1"])
141 AC_ARG_ENABLE([ttrace],
142 [AS_HELP_STRING([--enable-ttrace=yes|no],[Enable ttrace.])],
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"],
153 AM_CONDITIONAL([ENABLE_TTRACE], [test "${enable_ttrace}" = "yes" || test "${enable_ttrace}" = "1"])
155 AC_ARG_ENABLE([tizen-feature],
156 [AS_HELP_STRING([--enable-tizen-feature=yes|no],[Enable tizen specific feature. @<:@default=enabled@:>@])],
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 "])
169 AM_CONDITIONAL([ENABLE_TIZEN_FEATURE], [test "${enable_tizen_feature}" = "yes" || test "${enable_tizen_feature}" = "1"])
173 [AS_HELP_STRING([--with-utest=yes|no],[Build tpl unit test. @<:@default=disabled@:>@])],
177 # TODO: Apply pkgconfig on gtest
178 AS_IF([test "${with_utest}" = "yes" || test "${with_utest}" = "1"],
180 TPL_TEST_LIBS+="-lgtest"],
183 AM_CONDITIONAL([WITH_UTEST], [test "${with_utest}" = "yes" || test "${with_utest}" = "1"])
185 AC_ARG_ENABLE([gcov],
186 [AS_HELP_STRING([--enable-gcov=yes|no],[Enable gcov.])],
190 # TODO: Apply pkgconfig on gcov
191 AS_IF([test "${enable_gcov}" = "yes" || test "${enable_gcov}" = "1"],
192 [TPL_CFLAGS+=" -fprofile-arcs -ftest-coverage"
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 ",
200 AM_CONDITIONAL([ENABLE_GCOV], [test "${enable_gcov}" = "yes" || test "${enable_gcov}" = "1"])
202 TPL_CFLAGS+="$TPL_ESSENTIAL_CFLAGS"
203 TPL_LIBS+=" $TPL_ESSENTIAL_LIBS"
205 AC_SUBST([TPL_CFLAGS])
208 AC_SUBST([WL_EGL_CFLAGS])
209 AC_SUBST([WL_EGL_LIBS])
211 AC_SUBST([WL_EGL_TIZEN_CFLAGS])
212 AC_SUBST([WL_EGL_TIZEN_LIBS])
214 # Checks for typedefs, structures, and compiler characteristics.
224 # Checks for library functions.
227 AC_CHECK_FUNCS([clock_gettime memset])
236 src/wayland-egl-tizen/Makefile
239 pkgconfig/wayland-egl-tizen.pc
242 AM_COND_IF([WITH_UTEST],
243 [AC_SUBST([TPL_TEST_CFLAGS])
244 AC_SUBST([TPL_TEST_LIBS])
245 AC_CONFIG_FILES([tc/Makefile])