omx cam: add test app
[glsdk/omapdrmtest.git] / configure.ac
1 #  
2 #  Copyright (C) 2011 Texas Instruments
3 #  Author: Rob Clark <rob.clark@linaro.org>
4 #  
5 #  This program is free software; you can redistribute it and/or modify it
6 #  under the terms of the GNU General Public License version 2 as published by
7 #  the Free Software Foundation.
8 #  
9 #  This program is distributed in the hope that it will be useful, but WITHOUT
10 #  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 #  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
12 #  more details.
13 #  
14 #  You should have received a copy of the GNU General Public License along with
15 #  this program.  If not, see <http://www.gnu.org/licenses/>.
16 #  
18 # Initialize Autoconf
19 AC_PREREQ([2.60])
20 AC_INIT([omapdrmtest], [1.0.0], [https://www.ti.com], [omapdrmtest])
21 AC_CONFIG_SRCDIR([Makefile.am])
22 AC_CONFIG_HEADERS([config.h])
24 # Initialize Automake
25 AM_INIT_AUTOMAKE([foreign dist-bzip2])
26 AM_MAINTAINER_MODE
28 # Enable quiet compiles on automake 1.11.
29 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
31 # Initialize libtool
32 AC_PROG_LIBTOOL
33 AC_PROG_CXX
35 # Obtain compiler/linker options for depedencies
36 PKG_CHECK_MODULES(DRM, libdrm libdrm_omap)
38 # Check for kernel headers
39 kversion=`uname -r`
40 AC_ARG_WITH([kernel-source],
41             [AS_HELP_STRING([--with-kernel-source],
42               [specify path to linux kernel source])],
43             [kernel_source="$with_kernel_source"],
44             [kernel_source="/usr/src/linux-headers-$kversion"])
46 if test -r "$kernel_source/include/linux/videodev2.h"; then
47     headers_cflags="$headers_cflags -I$kernel_source/include"
49     AC_SUBST(LIN_CFLAGS, [$headers_cflags])
50     AC_MSG_NOTICE([$kversion provides videodev2.h])
51 else
52     AC_MSG_NOTICE([Could not find $kernel_source/include/linux/videodev2.h])
53 fi
55 # Check for v4l2 dmabuf support:
56 AC_CHECK_MEMBER([struct v4l2_buffer.m.fd],
57         [HAVE_V4L2_DMABUF=yes],
58         [HAVE_V4L2_DMABUF=no],
59         [[#include <linux/videodev2.h>]])
60 if test "x$HAVE_V4L2_DMABUF" = "xyes"; then
61         AC_DEFINE(HAVE_V4L2_DMABUF, 1, [Have V4L2 DMABUF support])
62         AC_MSG_NOTICE([V4L2 DMABUF support detected])
63 else
64         AC_MSG_WARN([No V4L2 DMABUF support detected, disabling V4L2 DMABUF tests])
65 fi
66 AM_CONDITIONAL(ENABLE_V4L2_DMABUF, [test "x$HAVE_V4L2_DMABUF" = xyes])
68 # Check optional X11:
69 AC_ARG_ENABLE([x11], AS_HELP_STRING([--disable-x11], [disable x11/dri2video support]))
70 AS_IF([test "x$enable_x11" != "xno"], [PKG_CHECK_MODULES(X11, x11 dri2, [HAVE_X11=yes])])
71 if test "x$HAVE_X11" = "xyes"; then
72         AC_DEFINE(HAVE_X11, 1, [Have X11 support])
73 else
74         AC_MSG_WARN([No X11 support detected, disabling X11 support])
75 fi
76 AM_CONDITIONAL(ENABLE_X11, [test "x$HAVE_X11" = xyes])
78 # Check for libdce and libav..
79 PKG_CHECK_MODULES(DCE, libdce libavformat libavutil, [HAVE_DCE=yes], [HAVE_DCE=no])
80 if test "x$HAVE_DCE" = "xyes"; then
81         AC_DEFINE(HAVE_DCE, 1, [Have DCE support])
82         AC_MSG_NOTICE([Detected libdce and libavformat, building video codec tests])
83 else
84         AC_MSG_WARN([No libdce and/or libavformat support detected, disabling video codec tests])
85 fi
86 AM_CONDITIONAL(ENABLE_DCE, [test "x$HAVE_DCE" = xyes])
88 # Check for libdomx..
89 PKG_CHECK_MODULES(DOMX, libdomx, [HAVE_DOMX=yes], [HAVE_DOMX=no])
90 if test "x$HAVE_DOMX" = "xyes"; then
91         AC_DEFINE(HAVE_DOMX, 1, [Have DOMX support])
92         AC_MSG_NOTICE([Detected libdomx, building omx camera test])
93 else
94         AC_MSG_WARN([No libdomx support detected, disabling omx camera test])
95 fi
96 AM_CONDITIONAL(ENABLE_DOMX, [test "x$HAVE_DOMX" = xyes])
98 dnl ===========================================================================
99 dnl check compiler flags
100 AC_DEFUN([LIBDRM_CC_TRY_FLAG], [
101   AC_MSG_CHECKING([whether $CC supports $1])
103   libdrm_save_CFLAGS="$CFLAGS"
104   CFLAGS="$CFLAGS $1"
106   AC_COMPILE_IFELSE([ ], [libdrm_cc_flag=yes], [libdrm_cc_flag=no])
107   CFLAGS="$libdrm_save_CFLAGS"
109   if test "x$libdrm_cc_flag" = "xyes"; then
110     ifelse([$2], , :, [$2])
111   else
112     ifelse([$3], , :, [$3])
113   fi
114   AC_MSG_RESULT([$libdrm_cc_flag])
115 ])
117 MAYBE_WARN="-Wall -Wextra \
118 -Wsign-compare -Werror-implicit-function-declaration \
119 -Wpointer-arith -Wwrite-strings -Wstrict-prototypes \
120 -Wnested-externs \
121 -Wpacked -Wswitch-enum -Wmissing-format-attribute \
122 -Wstrict-aliasing=2 -Winit-self -Wunsafe-loop-optimizations \
123 -Wdeclaration-after-statement -Wold-style-definition \
124 -Wno-missing-field-initializers -Wno-unused-parameter \
125 -Wno-attributes -Wno-long-long -Winline"
127 # invalidate cached value if MAYBE_WARN has changed
128 if test "x$libdrm_cv_warn_maybe" != "x$MAYBE_WARN"; then
129         unset libdrm_cv_warn_cflags
130 fi
131 AC_CACHE_CHECK([for supported warning flags], libdrm_cv_warn_cflags, [
132         echo
133         WARN_CFLAGS=""
135         # Some warning options are not supported by all versions of
136         # gcc, so test all desired options against the current
137         # compiler.
138         #
139         # Note that there are some order dependencies
140         # here. Specifically, an option that disables a warning will
141         # have no net effect if a later option then enables that
142         # warnings, (perhaps implicitly). So we put some grouped
143         # options (-Wall and -Wextra) up front and the -Wno options
144         # last.
146         for W in $MAYBE_WARN; do
147                 LIBDRM_CC_TRY_FLAG([$W], [WARN_CFLAGS="$WARN_CFLAGS $W"])
148         done
150         libdrm_cv_warn_cflags=$WARN_CFLAGS
151         libdrm_cv_warn_maybe=$MAYBE_WARN
153         AC_MSG_CHECKING([which warning flags were supported])])
154 WARN_CFLAGS="$libdrm_cv_warn_cflags"
155 AC_SUBST(WARN_CFLAGS)
158 AC_CONFIG_FILES([Makefile omx_cam/Makefile util/Makefile])
159 AC_OUTPUT