blob: c1285a3a8bcd7d3f0c763c58d38ac673c02df021 [file] [log] [blame]
Wind Yuan75564b12015-01-15 06:51:15 -05001# -*- Autoconf -*-
2# Process this file with autoconf to produce a configure script.
3
Wind Yuan67533742015-01-16 17:19:05 +08004m4_define([xcam_major_version], [0])
5m4_define([xcam_minor_version], [1])
6m4_define([xcam_micro_version], [0])
7m4_define([xcam_version], [xcam_major_version.xcam_minor_version.xcam_micro_version])
Wind Yuan75564b12015-01-15 06:51:15 -05008
9AC_PREREQ([2.60])
10AC_CONFIG_MACRO_DIR([m4])
11AC_INIT([libxcam], [xcam_version], [feng.yuan@intel.com], [libxcam])
12AC_CONFIG_HEADERS([config.h])
13AM_INIT_AUTOMAKE
14
Wind Yuan67533742015-01-16 17:19:05 +080015#xcam version
16XCAM_MAJOR_VERSION=xcam_major_version
17XCAM_MINOR_VERSION=xcam_minor_version
18XCAM_MICRO_VERSION=xcam_micro_version
19XCAM_VERSION=xcam_version
20XCAM_VERSION_HEX="0x$XCAM_MAJOR_VERSION$XCAM_MINOR_VERSION$XCAM_MICRO_VERSION"
21AC_DEFINE_UNQUOTED(XCAM_VERSION, $XCAM_VERSION_HEX,
22 [define libxcam version])
23AC_SUBST(XCAM_VERSION)
24
Wind Yuan75564b12015-01-15 06:51:15 -050025# Checks for programs.
26AC_PROG_CC
27AC_PROG_CXX
28AC_PROG_INSTALL
29LT_INIT
30
31AC_ARG_ENABLE(debug,
32 AS_HELP_STRING([--enable-debug],
33 [enable debug, @<:@default=no@:>@]),
34 [], [enable_debug="no"])
35AM_CONDITIONAL([DEBUG], [test "$enable_debug" = "yes"])
36
37AC_ARG_ENABLE(drm,
38 AS_HELP_STRING([--enable-drm],
39 [enable drm buffer, @<:@default=yes@:>@]),
40 [], [enable_drm="yes"])
41
42AC_ARG_ENABLE([aiq],
43 AS_HELP_STRING([--enable-aiq],
44 [enable Aiq 3A algorithm build, @<:@default=no@:>@]),
45 [], [enable_aiq="no"])
46
John Ye3fc8fc42015-03-19 14:41:01 +080047AC_ARG_ENABLE([gst],
48 AS_HELP_STRING([--enable-gst],
49 [enable gstreamer plugin build, @<:@default=no@:>@]),
50 [], [enable_gst="no"])
51
Wind Yuan4009d6c2015-02-10 18:09:48 +080052AC_ARG_ENABLE(libcl,
53 AS_HELP_STRING([--enable-libcl],
54 [enable libcl image processor, @<:@default=yes@:>@]),
55 [], [enable_libcl="yes"])
56
Wind Yuan75564b12015-01-15 06:51:15 -050057# documentation
58AC_ARG_ENABLE(docs,
59 [AC_HELP_STRING([--enable-docs],
60 [build Doxygen documentation @<:@default=no@:>@])],
61 [], [enable_docs="no"])
62
63# Check for Doxygen
64if test "$enable_docs" = "yes"; then
65 AC_CHECK_TOOL([DOXYGEN], [doxygen], [no])
66 if test "$DOXYGEN" = "no"; then
67 enable_docs="no"
68 fi
69fi
70AM_CONDITIONAL(ENABLE_DOCS, test "$enable_docs" = "yes")
71
72# check drm
73HAVE_LIBDRM=0
74if test "$enable_drm" = "yes"; then
75 PKG_CHECK_MODULES(LIBDRM, [libdrm], [HAVE_LIBDRM=1], [HAVE_LIBDRM=0])
76fi
77
Wind Yuan4009d6c2015-02-10 18:09:48 +080078# check libcl
79HAVE_LIBCL=0
80if test "$enable_libcl" = "yes"; then
81 PKG_CHECK_MODULES(LIBCL, [libcl], [HAVE_LIBCL=1], [HAVE_LIBCL=0])
82fi
83
Wind Yuan75564b12015-01-15 06:51:15 -050084# check AIQ
85HAVE_IA_AIQ=0
86USE_LOCAL_AIQ=0
87if test "$enable_aiq" = "yes"; then
88 HAVE_IA_AIQ=1
89 PKG_CHECK_MODULES(IA_AIQ, [libia_aiq], [USE_LOCAL_AIQ=0], [USE_LOCAL_AIQ=1])
90 # installed in default PATH
91 # AC_CHECK_HEADERS([ia_aiq.h], [HAVE_IA_AIQ=1], [:])
92fi
93
94# check atomisp headers
95USE_LOCAL_ATOMISP=0
96#AC_CHECK_HEADERS([linux/atomisp.h], [USE_LOCAL_ATOMISP=0], [USE_LOCAL_ATOMISP=1])
97AC_CACHE_CHECK([for linux/atomisp.h],
98 ac_cv_have_atomisp_headers, [
99 saved_CPPFLAGS="$CPPFLAGS"
100 CPPFLAGS="$CPPFLAGS"
101 saved_LIBS="$LIBS"
102 LIBS="$LIBS"
103 AC_COMPILE_IFELSE(
104 [AC_LANG_PROGRAM(
105 [[#ifndef __user
106 #define __user
107 #endif
108 #include <stdint.h>
109 #include <stdio.h>
110 #include <linux/atomisp.h>]],
111 [[struct atomisp_parm param;]]
112 )],
113 [ac_cv_have_atomisp_headers="yes"],
114 [ac_cv_have_atomisp_headers="no" USE_LOCAL_ATOMISP=1]
115 )
116 CPPFLAGS="$saved_CPPFLAGS"
117 LIBS="$saved_LIBS"
118])
119
120
John Ye3fc8fc42015-03-19 14:41:01 +0800121# build gstreamer plugin
122GST_API_VERSION=1.0
123GST_VERSION_REQUIRED=1.2.3
124ENABLE_GST=0
125if test "$enable_gst" = "yes"; then
126 ENABLE_GST=1
127 PKG_CHECK_MODULES([GST], [gstreamer-$GST_API_VERSION >= $GST_VERSION_REQUIRED])
128 PKG_CHECK_MODULES([GST_ALLOCATOR], [gstreamer-allocators-$GST_API_VERSION >= $GST_VERSION_REQUIRED])
129 PKG_CHECK_MODULES([GST_VIDEO], [gstreamer-video-$GST_API_VERSION >= $GST_VERSION_REQUIRED])
130fi
131AM_CONDITIONAL([ENABLE_GST], [test "$ENABLE_GST" -eq 1])
132
Wind Yuan75564b12015-01-15 06:51:15 -0500133dnl set XCAM_CFLAGS and XCAM_CXXFLAGS
134XCAM_CFLAGS=" -fPIC -DSTDC99 -W -Wall -D_REENTRANT"
135if test "$enable_debug" = "yes"; then
136 XCAM_CFLAGS="$XCAM_CFLAGS -g -DDEBUG"
137fi
138XCAM_CXXFLAGS="$XCAM_CFLAGS -std=c++0x"
139AC_SUBST(XCAM_CFLAGS)
140AC_SUBST(XCAM_CXXFLAGS)
141
Wind Yuan75564b12015-01-15 06:51:15 -0500142# define macor in config.h
143AC_DEFINE_UNQUOTED([HAVE_LIBDRM], $HAVE_LIBDRM,
144 [have libdrm])
145AM_CONDITIONAL([HAVE_LIBDRM], [test "$HAVE_LIBDRM" -eq 1])
146
Wind Yuan4009d6c2015-02-10 18:09:48 +0800147AC_DEFINE_UNQUOTED([HAVE_LIBCL], $HAVE_LIBCL,
148 [have libcl])
149AM_CONDITIONAL([HAVE_LIBCL], [test "$HAVE_LIBCL" -eq 1])
150
Wind Yuan75564b12015-01-15 06:51:15 -0500151#atomisp
152AM_CONDITIONAL([USE_LOCAL_ATOMISP], [test "$USE_LOCAL_ATOMISP" -eq 1])
153
154# aiq (ia_imaging)
155AC_DEFINE_UNQUOTED([HAVE_IA_AIQ], $HAVE_IA_AIQ,
156 [have aiq binary])
157AM_CONDITIONAL([HAVE_IA_AIQ], [test "$HAVE_IA_AIQ" -eq 1])
158AM_CONDITIONAL([USE_LOCAL_AIQ], [test "$USE_LOCAL_AIQ" -eq 1])
159
160AC_CONFIG_FILES([Makefile
161 xcore/Makefile
John Yee94eb962015-03-17 15:34:03 +0800162 wrapper/Makefile
163 wrapper/gstreamer/Makefile
Wind Yuan75564b12015-01-15 06:51:15 -0500164 tests/Makefile
165 pkgconfig/Makefile
166 pkgconfig/xcam_core.pc
167 ])
168
169AC_OUTPUT
170
171if test "$USE_LOCAL_AIQ" -eq 1; then use_local_aiq="yes"; else use_local_aiq="no"; fi
172if test "$USE_LOCAL_ATOMISP" -eq 1; then use_local_atomisp="yes"; else use_local_atomisp="no"; fi
Wind Yuan4009d6c2015-02-10 18:09:48 +0800173if test "$HAVE_LIBCL" -eq 1; then have_libcl="yes"; else have_libcl="no"; fi
Wind Yuan75564b12015-01-15 06:51:15 -0500174
175echo "
176 libxcam configuration summary
177 version : $XCAM_VERSION
178 enable debug : $enable_debug
179 build aiq analyzer : $enable_aiq
John Ye3fc8fc42015-03-19 14:41:01 +0800180 build GStreamer plugin : $enable_gst
Wind Yuan75564b12015-01-15 06:51:15 -0500181 use local aiq : $use_local_aiq
182 use local atomisp : $use_local_atomisp
Wind Yuan4009d6c2015-02-10 18:09:48 +0800183 have opencl lib : $have_libcl
Wind Yuan75564b12015-01-15 06:51:15 -0500184"