Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 1 | # -*- Autoconf -*- |
| 2 | # Process this file with autoconf to produce a configure script. |
| 3 | |
Wind Yuan | 6753374 | 2015-01-16 17:19:05 +0800 | [diff] [blame] | 4 | m4_define([xcam_major_version], [0]) |
| 5 | m4_define([xcam_minor_version], [1]) |
| 6 | m4_define([xcam_micro_version], [0]) |
| 7 | m4_define([xcam_version], [xcam_major_version.xcam_minor_version.xcam_micro_version]) |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 8 | |
| 9 | AC_PREREQ([2.60]) |
| 10 | AC_CONFIG_MACRO_DIR([m4]) |
| 11 | AC_INIT([libxcam], [xcam_version], [feng.yuan@intel.com], [libxcam]) |
| 12 | AC_CONFIG_HEADERS([config.h]) |
| 13 | AM_INIT_AUTOMAKE |
| 14 | |
Wind Yuan | 6753374 | 2015-01-16 17:19:05 +0800 | [diff] [blame] | 15 | #xcam version |
| 16 | XCAM_MAJOR_VERSION=xcam_major_version |
| 17 | XCAM_MINOR_VERSION=xcam_minor_version |
| 18 | XCAM_MICRO_VERSION=xcam_micro_version |
| 19 | XCAM_VERSION=xcam_version |
| 20 | XCAM_VERSION_HEX="0x$XCAM_MAJOR_VERSION$XCAM_MINOR_VERSION$XCAM_MICRO_VERSION" |
| 21 | AC_DEFINE_UNQUOTED(XCAM_VERSION, $XCAM_VERSION_HEX, |
| 22 | [define libxcam version]) |
| 23 | AC_SUBST(XCAM_VERSION) |
| 24 | |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 25 | # Checks for programs. |
| 26 | AC_PROG_CC |
| 27 | AC_PROG_CXX |
| 28 | AC_PROG_INSTALL |
| 29 | LT_INIT |
| 30 | |
| 31 | AC_ARG_ENABLE(debug, |
| 32 | AS_HELP_STRING([--enable-debug], |
| 33 | [enable debug, @<:@default=no@:>@]), |
| 34 | [], [enable_debug="no"]) |
| 35 | AM_CONDITIONAL([DEBUG], [test "$enable_debug" = "yes"]) |
| 36 | |
| 37 | AC_ARG_ENABLE(drm, |
| 38 | AS_HELP_STRING([--enable-drm], |
| 39 | [enable drm buffer, @<:@default=yes@:>@]), |
| 40 | [], [enable_drm="yes"]) |
| 41 | |
| 42 | AC_ARG_ENABLE([aiq], |
| 43 | AS_HELP_STRING([--enable-aiq], |
| 44 | [enable Aiq 3A algorithm build, @<:@default=no@:>@]), |
| 45 | [], [enable_aiq="no"]) |
| 46 | |
John Ye | 3fc8fc4 | 2015-03-19 14:41:01 +0800 | [diff] [blame] | 47 | AC_ARG_ENABLE([gst], |
| 48 | AS_HELP_STRING([--enable-gst], |
| 49 | [enable gstreamer plugin build, @<:@default=no@:>@]), |
| 50 | [], [enable_gst="no"]) |
| 51 | |
Wind Yuan | 4009d6c | 2015-02-10 18:09:48 +0800 | [diff] [blame] | 52 | AC_ARG_ENABLE(libcl, |
| 53 | AS_HELP_STRING([--enable-libcl], |
| 54 | [enable libcl image processor, @<:@default=yes@:>@]), |
| 55 | [], [enable_libcl="yes"]) |
| 56 | |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 57 | # documentation |
| 58 | AC_ARG_ENABLE(docs, |
| 59 | [AC_HELP_STRING([--enable-docs], |
| 60 | [build Doxygen documentation @<:@default=no@:>@])], |
| 61 | [], [enable_docs="no"]) |
| 62 | |
| 63 | # Check for Doxygen |
| 64 | if test "$enable_docs" = "yes"; then |
| 65 | AC_CHECK_TOOL([DOXYGEN], [doxygen], [no]) |
| 66 | if test "$DOXYGEN" = "no"; then |
| 67 | enable_docs="no" |
| 68 | fi |
| 69 | fi |
| 70 | AM_CONDITIONAL(ENABLE_DOCS, test "$enable_docs" = "yes") |
| 71 | |
| 72 | # check drm |
| 73 | HAVE_LIBDRM=0 |
| 74 | if test "$enable_drm" = "yes"; then |
| 75 | PKG_CHECK_MODULES(LIBDRM, [libdrm], [HAVE_LIBDRM=1], [HAVE_LIBDRM=0]) |
| 76 | fi |
| 77 | |
Wind Yuan | 4009d6c | 2015-02-10 18:09:48 +0800 | [diff] [blame] | 78 | # check libcl |
| 79 | HAVE_LIBCL=0 |
| 80 | if test "$enable_libcl" = "yes"; then |
| 81 | PKG_CHECK_MODULES(LIBCL, [libcl], [HAVE_LIBCL=1], [HAVE_LIBCL=0]) |
| 82 | fi |
| 83 | |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 84 | # check AIQ |
| 85 | HAVE_IA_AIQ=0 |
| 86 | USE_LOCAL_AIQ=0 |
| 87 | if 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], [:]) |
| 92 | fi |
| 93 | |
| 94 | # check atomisp headers |
| 95 | USE_LOCAL_ATOMISP=0 |
| 96 | #AC_CHECK_HEADERS([linux/atomisp.h], [USE_LOCAL_ATOMISP=0], [USE_LOCAL_ATOMISP=1]) |
| 97 | AC_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 Ye | 3fc8fc4 | 2015-03-19 14:41:01 +0800 | [diff] [blame] | 121 | # build gstreamer plugin |
| 122 | GST_API_VERSION=1.0 |
| 123 | GST_VERSION_REQUIRED=1.2.3 |
| 124 | ENABLE_GST=0 |
| 125 | if 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]) |
| 130 | fi |
| 131 | AM_CONDITIONAL([ENABLE_GST], [test "$ENABLE_GST" -eq 1]) |
| 132 | |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 133 | dnl set XCAM_CFLAGS and XCAM_CXXFLAGS |
| 134 | XCAM_CFLAGS=" -fPIC -DSTDC99 -W -Wall -D_REENTRANT" |
| 135 | if test "$enable_debug" = "yes"; then |
| 136 | XCAM_CFLAGS="$XCAM_CFLAGS -g -DDEBUG" |
| 137 | fi |
| 138 | XCAM_CXXFLAGS="$XCAM_CFLAGS -std=c++0x" |
| 139 | AC_SUBST(XCAM_CFLAGS) |
| 140 | AC_SUBST(XCAM_CXXFLAGS) |
| 141 | |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 142 | # define macor in config.h |
| 143 | AC_DEFINE_UNQUOTED([HAVE_LIBDRM], $HAVE_LIBDRM, |
| 144 | [have libdrm]) |
| 145 | AM_CONDITIONAL([HAVE_LIBDRM], [test "$HAVE_LIBDRM" -eq 1]) |
| 146 | |
Wind Yuan | 4009d6c | 2015-02-10 18:09:48 +0800 | [diff] [blame] | 147 | AC_DEFINE_UNQUOTED([HAVE_LIBCL], $HAVE_LIBCL, |
| 148 | [have libcl]) |
| 149 | AM_CONDITIONAL([HAVE_LIBCL], [test "$HAVE_LIBCL" -eq 1]) |
| 150 | |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 151 | #atomisp |
| 152 | AM_CONDITIONAL([USE_LOCAL_ATOMISP], [test "$USE_LOCAL_ATOMISP" -eq 1]) |
| 153 | |
| 154 | # aiq (ia_imaging) |
| 155 | AC_DEFINE_UNQUOTED([HAVE_IA_AIQ], $HAVE_IA_AIQ, |
| 156 | [have aiq binary]) |
| 157 | AM_CONDITIONAL([HAVE_IA_AIQ], [test "$HAVE_IA_AIQ" -eq 1]) |
| 158 | AM_CONDITIONAL([USE_LOCAL_AIQ], [test "$USE_LOCAL_AIQ" -eq 1]) |
| 159 | |
| 160 | AC_CONFIG_FILES([Makefile |
| 161 | xcore/Makefile |
John Ye | e94eb96 | 2015-03-17 15:34:03 +0800 | [diff] [blame] | 162 | wrapper/Makefile |
| 163 | wrapper/gstreamer/Makefile |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 164 | tests/Makefile |
| 165 | pkgconfig/Makefile |
| 166 | pkgconfig/xcam_core.pc |
| 167 | ]) |
| 168 | |
| 169 | AC_OUTPUT |
| 170 | |
| 171 | if test "$USE_LOCAL_AIQ" -eq 1; then use_local_aiq="yes"; else use_local_aiq="no"; fi |
| 172 | if test "$USE_LOCAL_ATOMISP" -eq 1; then use_local_atomisp="yes"; else use_local_atomisp="no"; fi |
Wind Yuan | 4009d6c | 2015-02-10 18:09:48 +0800 | [diff] [blame] | 173 | if test "$HAVE_LIBCL" -eq 1; then have_libcl="yes"; else have_libcl="no"; fi |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 174 | |
| 175 | echo " |
| 176 | libxcam configuration summary |
| 177 | version : $XCAM_VERSION |
| 178 | enable debug : $enable_debug |
| 179 | build aiq analyzer : $enable_aiq |
John Ye | 3fc8fc4 | 2015-03-19 14:41:01 +0800 | [diff] [blame] | 180 | build GStreamer plugin : $enable_gst |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 181 | use local aiq : $use_local_aiq |
| 182 | use local atomisp : $use_local_atomisp |
Wind Yuan | 4009d6c | 2015-02-10 18:09:48 +0800 | [diff] [blame] | 183 | have opencl lib : $have_libcl |
Wind Yuan | 75564b1 | 2015-01-15 06:51:15 -0500 | [diff] [blame] | 184 | " |