tbm_module: add tbm_backend_surface_data structure
[platform/core/uifw/libtbm.git] / configure.ac
1 #
2 #  Permission is hereby granted, free of charge, to any person obtaining a
3 #  copy of this software and associated documentation files (the "Software"),
4 #  to deal in the Software without restriction, including without limitation
5 #  on the rights to use, copy, modify, merge, publish, distribute, sub
6 #  license, and/or sell copies of the Software, and to permit persons to whom
7 #  the Software is furnished to do so, subject to the following conditions:
8 #
9 #  The above copyright notice and this permission notice (including the next
10 #  paragraph) shall be included in all copies or substantial portions of the
11 #  Software.
12 #
13 #  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14 #  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15 #  FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.  IN NO EVENT SHALL
16 #  ADAM JACKSON BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
17 #  IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
18 #  CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
20 AC_PREREQ(2.60)
21 AC_INIT(libtbm, 3.0.0)
22 AC_USE_SYSTEM_EXTENSIONS
23 AC_CONFIG_SRCDIR([Makefile.am])
24 AM_INIT_AUTOMAKE([dist-bzip2])
25
26 AM_CONFIG_HEADER([config.h])
27
28 AC_DISABLE_STATIC
29 AC_PROG_LIBTOOL
30 AC_PROG_CC
31 AC_PROG_CXX
32
33 AC_HEADER_STDC
34 AC_SYS_LARGEFILE
35 AC_FUNC_ALLOCA
36
37 # Enable quiet compiles on automake 1.11.
38 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
39
40 dnl Make sure the pkg-config macros are defined
41 m4_ifndef([PKG_PROG_PKG_CONFIG],
42     [m4_fatal([Could not locate the pkg-config autoconf macros.
43   These are usually located in /usr/share/aclocal/pkg.m4. If your macros
44   are in a different location, try setting the environment variable
45   ACLOCAL="aclocal -I/other/macro/dir" before running autoreconf.])])
46 PKG_PROG_PKG_CONFIG()
47
48 # set the dir for the tbm module
49 DEFAULT_BUFMGR_MODULE_PATH="${libdir}/bufmgr"
50 AC_ARG_WITH(bufmgr-module-path, AS_HELP_STRING([--with-bufmgr-module-path=PATH], [tbm bufmgr module dir]),
51                                 [ BUFMGR_MODULE_PATH="$withval" ],
52                                 [ BUFMGR_MODULE_PATH="${DEFAULT_BUFMGR_MODULE_PATH}" ])
53
54 AC_ARG_WITH(haltests, AS_HELP_STRING([--with-haltests=yes/no], [whether build/run unit tests or not]),
55                                 [ haltests="$withval" ],
56                                 [ haltests="no" ])
57
58 AM_CONDITIONAL(HAVE_HALTESTS, test "x$haltests" = "xyes")
59
60 #AC_DEFINE(BUFMGR_MODULE_DIR, "${BUFMGR_MODULE_PATH}", [Directory for the modules of tbm_bufmgr])
61 AC_DEFINE_UNQUOTED(BUFMGR_MODULE_DIR, "${BUFMGR_MODULE_PATH}", [Directory for the modules of tbm_bufmgr])
62
63 AC_CHECK_FUNCS([clock_gettime], [CLOCK_LIB=],
64                [AC_CHECK_LIB([rt], [clock_gettime], [CLOCK_LIB=-lrt],
65                              [AC_MSG_ERROR([Couldn't find clock_gettime])])])
66 AC_SUBST([CLOCK_LIB])
67
68 AC_PATH_PROG([wayland_scanner], [wayland-scanner])
69 if test x$wayland_scanner = x; then
70       AC_MSG_ERROR([wayland-scanner is needed to compile wayland-tbm])
71 fi
72
73 PKG_CHECK_MODULES(CAPI, [capi-base-common >= 0.1.1], [capi_0_1_1=yes], [capi_0_1_1=no])
74 if test x"$capi_0_1_1" = xyes; then
75         AC_DEFINE(HAVE_CAPI_0_1_1,1,[The version of capi-base-common is over 0.1.1])
76 fi
77
78 PKG_CHECK_MODULES(HAL_API_TBM, hal-api-tbm)
79 PKG_CHECK_MODULES(LIBDRM, libdrm)
80 PKG_CHECK_MODULES(WL_CLIENT, wayland-client)
81 PKG_CHECK_MODULES(WL_SERVER, wayland-server)
82 PKG_CHECK_MODULES(WL_SCANNER, wayland-scanner)
83 PKG_CHECK_MODULES(LIBPNG, libpng)
84 PKG_CHECK_MODULES(LIBPIXMAN, pixman-1)
85 PKG_CHECK_MODULES(GMOCK, gmock)
86
87 LIBTBM_CFLAGS+="$LIBTBM_CFALGS $HAL_API_TBM_CFLAGS $LIBDRM_CFLAGS $CAPI_CFLAGS $WL_CLIENT_CFLAGS $WL_SERVER_CFLAGS $LIBPNG_CFLAGS $LIBPIXMAN_CFLAGS "
88 LIBTBM_LIBS+="$LIBTBM_LIBS $HAL_API_TBM_LIBS $LIBDRM_LIBS $CAPI_LIBS $WL_CLIENT_LIBS $WL_SERVER_LIBS $LIBPNG_LIBS $LIBPIXMAN_LIBS "
89
90 LIBTBM_TEST_CFLAGS="$GMOCK_CFLAGS"
91 LIBTBM_TEST_LIBS="$GMOCK_LIBS"
92
93 PKG_CHECK_EXISTS([dlog], [have_dlog="yes"], [have_dlog="no"])
94 AC_MSG_CHECKING([Have dlog logger])
95 AC_MSG_RESULT([${have_dlog}])
96 if test "x${have_dlog}" = "xyes"; then
97     AC_DEFINE([HAVE_DLOG], [1], [Define to 1 if you have dlog])
98
99     PKG_CHECK_MODULES(DLOG, dlog)
100
101     LIBTBM_CFLAGS+="$DLOG_CFLAGS "
102     LIBTBM_LIBS+="$DLOG_LIBS "
103 fi
104
105 AC_SUBST(LIBTBM_CFLAGS)
106 AC_SUBST(LIBTBM_LIBS)
107 AC_SUBST(LIBTBM_TEST_CFLAGS)
108 AC_SUBST(LIBTBM_TEST_LIBS)
109
110 HOST_CPU_X86_64=no
111 case $host_cpu in
112   x86_64*|amd64*)
113     HOST_CPU_X86_64=yes
114 esac
115
116 AM_CONDITIONAL(HOST_CPU_X86_64, test "x$HOST_CPU_X86_64" = "xyes")
117
118 AC_OUTPUT([
119         include/Makefile
120         src/Makefile
121         Makefile
122         libtbm.pc
123         haltests/Makefile])
124
125 echo ""
126 echo "CFLAGS            : $CFLAGS"
127 echo "LDFLAGS           : $LDFLAGS"
128 echo "LIBTBM_CFLAGS     : $LIBTBM_CFLAGS"
129 echo "LIBTBM_LIBS       : $LIBTBM_LIBS"
130 echo "BUFMGR_MODULE_DIR : $BUFMGR_MODULE_PATH"
131 echo ""
132