mirror of
https://github.com/Motion-Project/motion.git
synced 2025-12-23 23:18:21 -05:00
1278 lines
32 KiB
Plaintext
1278 lines
32 KiB
Plaintext
# Process this file with autoconf to produce a configure script
|
|
|
|
AC_INIT(motion, esyscmd(['./version.sh']))
|
|
AC_GNU_SOURCE
|
|
AC_CONFIG_SRCDIR([motion.c])
|
|
AC_CONFIG_HEADERS(config.h)
|
|
AC_PROG_CC
|
|
|
|
|
|
THREAD_CFLAGS=""
|
|
THREAD_CHECK="/usr/include/pthread.h"
|
|
|
|
Darwin=""
|
|
FreeBSD=""
|
|
|
|
LINUXTHREADS="no"
|
|
AC_ARG_WITH(linuxthreads,
|
|
[ --with-linuxthreads Use linuxthreads in BSD instead of native pthreads
|
|
]
|
|
,
|
|
LINUXTHREADS="$withval"
|
|
)
|
|
|
|
PWCBSD="no"
|
|
AC_ARG_WITH(pwcbsd,
|
|
[ --with-pwcbsd Use pwcbsd based webcams ( only BSD )
|
|
]
|
|
,
|
|
PWCBSD="$withval"
|
|
)
|
|
|
|
|
|
AC_MSG_CHECKING(for Darwin)
|
|
Darwin=`uname -a | grep "Darwin"`
|
|
|
|
if test "${Darwin}" = ""; then
|
|
AC_MSG_RESULT(no)
|
|
AC_MSG_CHECKING(for *BSD)
|
|
|
|
FreeBSD=`uname -a | grep "FreeBSD"`
|
|
if test "${FreeBSD}" = ""; then
|
|
AC_MSG_RESULT(no)
|
|
VIDEO="video.o video2.o video_common.o"
|
|
else
|
|
AC_MSG_RESULT(yes)
|
|
if test "${LINUXTHREADS}" = "no"; then
|
|
AC_MSG_CHECKING(Linuxthreads)
|
|
AC_MSG_RESULT(skipping)
|
|
else
|
|
THREAD_CHECK="/usr/local/include/pthread/linuxthreads/pthread.h"
|
|
THREAD_LIB_CHECK="/usr/local/lib/liblthread.so"
|
|
fi
|
|
|
|
if test "${PWCBSD}" != "no"; then
|
|
VIDEO="video.o video2.o video_common.o"
|
|
TEMP_CFLAGS="${CFLAGS} -I/usr/local/include -DPWCBSD"
|
|
else
|
|
VIDEO="video_freebsd.o"
|
|
TEMP_CFLAGS="${CFLAGS} -I/usr/local/include"
|
|
fi
|
|
|
|
TEMP_LDFLAGS="${LDFLAGS} -L/usr/local/lib"
|
|
TEMP_LIBS="-L/usr/local/lib"
|
|
AC_MSG_RESULT(Build with PWCBSD support $PWCBSD)
|
|
|
|
fi
|
|
else
|
|
TEMP_CFLAGS="${CFLAGS} -I/sw/include"
|
|
TEMP_LDFLAGS="${LDFLAGS} -L/sw/lib"
|
|
TEMP_LIBS="-L/sw/lib"
|
|
VIDEO="video_freebsd.o"
|
|
FINK_LIB="-L/sw/lib"
|
|
Darwin="yes"
|
|
V4L="no"
|
|
AC_MSG_RESULT($Darwin)
|
|
fi
|
|
|
|
|
|
AC_SUBST(VIDEO)
|
|
|
|
# Checks for programs.
|
|
AC_PROG_CC
|
|
|
|
TEMP_LIBS="-lm ${TEMP_LIBS}"
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} ${CFLAGS}"
|
|
TEMP_LDFLAGS="${TEMP_LDFLAGS} ${LDFLAGS}"
|
|
|
|
if test "${FreeBSD}" != "" && test "${PWCBSD}" = "no"; then
|
|
|
|
AC_MSG_CHECKING(bktr headers in /usr/include/dev/bktr)
|
|
|
|
if test -f /usr/include/dev/bktr/ioctl_meteor.h && test -f /usr/include/dev/bktr/ioctl_bt848.h; then
|
|
AC_MSG_RESULT(yes)
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DOLD_BKTR"
|
|
fi
|
|
#
|
|
# Check to Exclude BKTR
|
|
#
|
|
BKTR="yes"
|
|
AC_ARG_WITH(bktr,
|
|
[ --without-bktr Exclude to use bktr subsystem , that usually useful
|
|
for devices as network cameras ( ONLY used in *BSD).
|
|
]
|
|
,
|
|
BKTR="$withval"
|
|
)
|
|
|
|
if test "${BKTR}" = "no"; then
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DWITHOUT_V4L"
|
|
fi
|
|
|
|
else
|
|
|
|
#
|
|
# Check to Exclude V4L
|
|
#
|
|
V4L="yes"
|
|
AC_ARG_WITH(v4l,
|
|
[ --without-v4l Exclude using v4l (video4linux) subsystem.
|
|
Makes Motion so it only supports network cameras.
|
|
],
|
|
V4L="$withval"
|
|
)
|
|
|
|
fi
|
|
|
|
|
|
if test "${V4L}" = "no"; then
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DWITHOUT_V4L"
|
|
fi
|
|
|
|
|
|
if test "${FreeBSD}" != "" && test "${LINUXTHREADS}" != "no" ; then
|
|
|
|
AC_MSG_CHECKING(for linuxthreads)
|
|
|
|
#
|
|
# Check for thread header
|
|
#
|
|
if test -f "${THREAD_CHECK}"; then
|
|
HEADERS_THREAD_CFLAGS="-I/usr/local/include/pthread/linuxthreads"
|
|
THREADS="yes"
|
|
else
|
|
THREADS="no"
|
|
fi
|
|
|
|
#
|
|
# Check for thread lib
|
|
#
|
|
if test -f "${THREAD_LIB_CHECK}" ; then
|
|
THREADS="yes"
|
|
LIB_THREAD="-llthread -llgcc_r"
|
|
else
|
|
THREADS="no"
|
|
fi
|
|
|
|
# Checks for Library linuxthreads for FreeBSD
|
|
#
|
|
# linuxthreads on freeBSD, ports collection
|
|
# /usr/local/include/pthreads/linuxthreads/pthread.h
|
|
# #include <linuxthreads/pthread.h>
|
|
# /usr/local/lib/libpthread.so
|
|
#
|
|
|
|
if test "${THREADS}" = "yes"; then
|
|
TEMP_CFLAGS="${HEADERS_THREAD_CFLAGS} $TEMP_CFLAGS -DWITH_LINUXTREADS"
|
|
TEMP_LIBS="$TEMP_LIBS ${LIB_THREAD}"
|
|
THREAD_CFLAGS="-D_THREAD_SAFE"
|
|
PTHREAD_SUPPORT="yes"
|
|
AC_MSG_RESULT($THREADS)
|
|
else
|
|
PTHREAD_SUPPORT="no"
|
|
AC_MSG_RESULT($THREADS)
|
|
echo
|
|
echo "You do not have linuxthread installed"
|
|
echo
|
|
fi
|
|
|
|
elif test -f "${THREAD_CHECK}"; then
|
|
|
|
|
|
AC_MSG_CHECKING(threads)
|
|
AC_TRY_LINK([#include <pthread.h>],
|
|
[pthread_t th; pthread_join(th, 0);
|
|
pthread_attr_init(0); pthread_cleanup_push(0, 0);
|
|
pthread_create(0,0,0,0); pthread_cleanup_pop(0); ],
|
|
[PTHREAD_LIB=yes])
|
|
|
|
if test x$PTHREAD_LIB != xyes; then
|
|
|
|
if test "${FreeBSD}" != ""; then
|
|
TEMP_LIBS="$TEMP_LIBS -pthread"
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -D_REENTRANT -D_THREAD_SAFE"
|
|
else
|
|
TEMP_LIBS="$TEMP_LIBS -lpthread"
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -D_REENTRANT"
|
|
fi
|
|
PTHREAD_SUPPORT="yes"
|
|
fi
|
|
AC_MSG_RESULT($PTHREAD_SUPPORT)
|
|
|
|
else
|
|
echo
|
|
echo "You do not have threads support"
|
|
echo
|
|
fi
|
|
|
|
|
|
if test "x$PTHREAD_SUPPORT" = "xyes"; then
|
|
AC_MSG_CHECKING([[for pthread_setname_np]])
|
|
CFLAGS="$TEMP_CFLAGS"
|
|
LIBS="$TEMP_LIBS"
|
|
AC_LINK_IFELSE(
|
|
[AC_LANG_PROGRAM([[#include <pthread.h>]], [[ pthread_setname_np(pthread_self(), "name")]])],
|
|
[AC_DEFINE([[HAVE_PTHREAD_SETNAME_NP]], [[1]], [Define if you have pthread_setname_np function.])
|
|
AC_MSG_RESULT([[yes]])],
|
|
[AC_MSG_RESULT([[no]])] )
|
|
fi
|
|
|
|
#
|
|
# Check for sdl library
|
|
#
|
|
SDL_SUPPORT="no"
|
|
AC_ARG_WITH(sdl,
|
|
[ --with-sdl[=DIR] Specify the prefix for the install path for
|
|
sdl-config to get stream in SDL window (optional).
|
|
],
|
|
[],
|
|
[withval="no"])
|
|
if test "x$withval" = "xno"; then
|
|
AC_MSG_CHECKING(for sdl)
|
|
AC_MSG_RESULT(skipped)
|
|
else
|
|
AC_PATH_PROG([CONFIG_SDL], [sdl-config], [], [${PATH}:${withval}:${withval}/bin])
|
|
if test -z "`($CONFIG_SDL --version) 2>/dev/null`" ;then
|
|
echo ""
|
|
echo "****************************************************"
|
|
echo "* sdl-config could not be found. Please install it *"
|
|
echo "* and remove the --with-sdl configure argument. *"
|
|
echo "* libSDL can be found at http://www.libsdl.org *"
|
|
echo "****************************************************"
|
|
echo ""
|
|
else
|
|
SDL_SUPPORT="yes"
|
|
TEMP_LIBS="$TEMP_LIBS `${CONFIG_SDL} --libs`"
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} `${CONFIG_SDL} --cflags`"
|
|
AC_DEFINE([HAVE_SDL],1,[Define to 1 if you have SDL support])
|
|
SDL_OBJ="sdl.o"
|
|
AC_SUBST(SDL_OBJ)
|
|
fi
|
|
fi
|
|
|
|
#
|
|
# Check for the libjpeg-turbo library
|
|
#
|
|
JPEG_TURBO="no"
|
|
JPEG_TURBO_OK="not_found"
|
|
|
|
AC_ARG_WITH(jpeg-turbo,
|
|
[ --with-jpeg-turbo[=DIR] Specify the prefix for the install path for
|
|
jpeg-turbo for optimized jpeg handling (optional).
|
|
],
|
|
JPEG_TURBO="$withval"
|
|
)
|
|
|
|
if test "${JPEG_TURBO}" = "no"; then
|
|
AC_MSG_CHECKING(for libjpeg-turbo)
|
|
AC_MSG_RESULT(skipping)
|
|
else
|
|
AC_MSG_CHECKING(for libjpeg-turbo in -> [${JPEG_TURBO}] <-)
|
|
if test -f ${JPEG_TURBO}/lib/libjpeg.a -o -f ${JPEG_TURBO}/lib/libjpeg.so; then
|
|
AC_MSG_RESULT(found)
|
|
JPEG_TURBO_OK="found"
|
|
else
|
|
AC_MSG_RESULT(not found)
|
|
fi
|
|
fi
|
|
|
|
|
|
if test "${JPEG_TURBO_OK}" = "found"; then
|
|
saved_CFLAGS="$CFLAGS"
|
|
saved_LIBS="$LIBS"
|
|
saved_LDFLAGS="$LDFLAGS"
|
|
LDFLAGS="-L${JPEG_TURBO}/lib"
|
|
CFLAGS="$CFLAGS -I${JPEG_TURBO}/include"
|
|
LIBS="$LIBS -L${JPEG_TURBO}/lib -ljpeg"
|
|
AC_CHECK_LIB(jpeg, jpeg_start_compress,
|
|
[ TEMP_LIBS="$TEMP_LIBS -L${JPEG_TURBO}/lib -ljpeg"
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -I${JPEG_TURBO}/include"
|
|
TEMP_LDFLAGS="$TEMP_LDFLAGS $LDFLAGS"
|
|
JPEG_SUPPORT="yes"],,)
|
|
LIBS="$saved_LIBS"
|
|
CFLAGS="$saved_CFLAGS"
|
|
LDFLAGS="$saved_LDFLAGS"
|
|
JPEG_SUPPORT_TURBO="yes"
|
|
fi
|
|
|
|
|
|
#
|
|
# Check for the special mmx accelerated jpeg library
|
|
#
|
|
JPEG_MMX="no"
|
|
JPEG_MMX_OK="not_found"
|
|
AC_ARG_WITH(jpeg-mmx,
|
|
[ --with-jpeg-mmx[=DIR] Specify the prefix for the install path for
|
|
jpeg-mmx for optimized jpeg handling (optional).
|
|
If this is not specified motion will try to find
|
|
the library /usr/lib/libjpeg-mmx.a /usr/local/lib/libjpeg-mmx.a.
|
|
],
|
|
JPEG_MMX="$withval"
|
|
)
|
|
|
|
#
|
|
# --without-jpeg-mmx or with-jpeg-mmx=no
|
|
#
|
|
|
|
if test "${JPEG_MMX}" = "no" || test x$JPEG_SUPPORT != xyes; then
|
|
AC_MSG_CHECKING(for libjpeg-mmx)
|
|
AC_MSG_RESULT(skipping)
|
|
elif test "${JPEG_MMX}" = "yes"; then
|
|
# AUTODETECT STATIC LIB
|
|
AC_MSG_CHECKING(for libjpeg-mmx autodetecting)
|
|
|
|
if test -f /usr/lib/libjpeg-mmx.a ; then
|
|
AC_MSG_RESULT(found)
|
|
JPEG_MMX_OK="found"
|
|
JPEG_MMX="/usr/lib"
|
|
elif test -f /usr/local/lib/libjpeg-mmx.a ; then
|
|
AC_MSG_RESULT(found)
|
|
JPEG_MMX_OK="found"
|
|
JPEG_MMX="/usr/local/lib"
|
|
else
|
|
AC_MSG_RESULT(not found)
|
|
fi
|
|
else
|
|
AC_MSG_CHECKING(for libjpeg-mmx in -> [${JPEG_MMX}] <-)
|
|
if test -f ${JPEG_MMX}/libjpeg-mmx.a ; then
|
|
AC_MSG_RESULT(found)
|
|
JPEG_MMX_OK="found"
|
|
else
|
|
AC_MSG_RESULT(not found)
|
|
fi
|
|
fi
|
|
|
|
if test "${JPEG_MMX_OK}" = "found"; then
|
|
saved_CFLAGS="$CFLAGS"
|
|
saved_LIBS="$LIBS"
|
|
CFLAGS="$CFLAGS -I${JPEG_MMX}"
|
|
LIBS="$LIBS -L${JPEG_MMX}"
|
|
AC_CHECK_LIB(jpeg-mmx, jpeg_start_compress,
|
|
[ TEMP_LIBS="$TEMP_LIBS -ljpeg-mmx"
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -I${JPEG_MMX}"
|
|
JPEG_SUPPORT="yes"],,)
|
|
LIBS="$saved_LIBS"
|
|
CFLAGS="$saved_CFLAGS"
|
|
JPEG_SUPPORT_MMX="yes"
|
|
fi
|
|
|
|
#
|
|
# Look for _a_ jpeg lib that will work.
|
|
#
|
|
if test x$JPEG_SUPPORT != xyes ; then
|
|
# Checks for libraries
|
|
LDFLAGS=$TEMP_LDFLAGS
|
|
|
|
AC_CHECK_LIB(jpeg, jpeg_set_defaults, [
|
|
TEMP_LIBS="$TEMP_LIBS -ljpeg"
|
|
JPEG_SUPPORT="yes"
|
|
], [
|
|
echo
|
|
echo "You do not have libjpeg installed"
|
|
echo
|
|
]
|
|
)
|
|
fi
|
|
|
|
#
|
|
# Check for the pkg-config.
|
|
#
|
|
|
|
AC_CHECK_PROG([PKGCONFIG],[pkg-config],[yes],[no])
|
|
AM_CONDITIONAL([FOUND_PKGCONFIG], [test "x$PKGCONFIG" = xyes])
|
|
AM_COND_IF([FOUND_PKGCONFIG],,[AC_MSG_ERROR([Required package 'pkg-config' not found, please check motion_guide.html and install necessary dependencies.])])
|
|
|
|
# Check for raspberry pi mmal interface
|
|
#
|
|
WITHOUT_MMAL="no"
|
|
AC_ARG_WITH([mmal],
|
|
AS_HELP_STRING([--without-mmal],
|
|
[Compile without RaspberyPi mmal camera support]),
|
|
WITHOUT_MMAL="yes",
|
|
WITHOUT_MMAL="no")
|
|
|
|
if test "${WITHOUT_MMAL}" = "no"; then
|
|
HAVE_MMAL=""
|
|
LIBRASPBERRYPIDEVPATH="/opt/vc/include/interface/mmal"
|
|
|
|
if test -d ${LIBRASPBERRYPIDEVPATH}; then
|
|
HAVE_MMAL="yes"
|
|
fi
|
|
|
|
AS_IF([test "${HAVE_MMAL}" = "yes" ], [
|
|
AC_SUBST(MMAL_CFLAGS)
|
|
AC_SUBST(MMAL_OBJ)
|
|
AC_SUBST(MMAL_LIBS)
|
|
MMAL_OBJ="mmalcam.o raspicam/RaspiCamControl.o raspicam/RaspiCLI.o"
|
|
MMAL_CFLAGS="-std=gnu99 -DHAVE_MMAL -Irasppicam -I/opt/vc/include"
|
|
MMAL_LIBS="-L/opt/vc/lib -lmmal_core -lmmal_util -lmmal_vc_client -lvcos -lvchostif -lvchiq_arm"
|
|
AC_DEFINE([HAVE_MMAL], 1, [Define to 1 if we want MMAL])
|
|
])
|
|
fi
|
|
|
|
#
|
|
# Check for libavcodec and libavformat from ffmpeg
|
|
#
|
|
FFMPEG_OBJ=""
|
|
AC_ARG_WITH([ffmpeg],
|
|
AS_HELP_STRING([--with-ffmpeg[=DIR]], [Build with FFMPEG support]),
|
|
[with_ffmpeg=$withval],
|
|
[with_ffmpeg=yes])
|
|
|
|
AS_IF([test "x$with_ffmpeg" != "xno"], [
|
|
AS_IF([test "x$with_ffmpeg" != "xyes"], [
|
|
PKG_CONFIG_PATH=${with_ffmpeg}/lib/pkgconfig:$PKG_CONFIG_PATH
|
|
export PKG_CONFIG_PATH
|
|
])
|
|
|
|
AC_SUBST(FFMPEG_LIBS)
|
|
AC_SUBST(FFMPEG_CFLAGS)
|
|
FFMPEG_DEPS="libavutil libavformat libavcodec libswscale"
|
|
if pkg-config $FFMPEG_DEPS; then
|
|
FFMPEG_CFLAGS=`pkg-config --cflags $FFMPEG_DEPS`
|
|
FFMPEG_LIBS=`pkg-config --libs $FFMPEG_DEPS`
|
|
HAVE_FFMPEG="yes"
|
|
else
|
|
AC_MSG_ERROR([Required ffmpeg packages 'libavutil-dev libavformat-dev libavcodec-dev libswscale-dev' were not found. Please check motion_guide.html and install necessary dependencies or use the '--without-ffmpeg' configuration option.])
|
|
fi
|
|
])
|
|
|
|
AS_IF([test "${HAVE_FFMPEG}" = "yes" ], [
|
|
FFMPEG_OBJ="ffmpeg.o"
|
|
AC_DEFINE([HAVE_FFMPEG], 1, [Define to 1 if FFMPEG is around])
|
|
])
|
|
AC_SUBST(FFMPEG_OBJ)
|
|
|
|
#
|
|
# Check SQLITE3
|
|
#
|
|
|
|
SQLITE3_SUPPORT="no"
|
|
AC_ARG_WITH(sqlite3,
|
|
[ --without-sqlite3 Disable sqlite3 support in motion.
|
|
],
|
|
SQLITE3="$withval"
|
|
# if not given argument, assume standard
|
|
)
|
|
|
|
if test "${SQLITE3}" = "no"; then
|
|
AC_MSG_CHECKING(for sqlite3)
|
|
AC_MSG_RESULT(skipping)
|
|
else
|
|
saved_CFLAGS=$CFLAGS
|
|
saved_LIBS=$LIBS
|
|
|
|
# first we check to see if the sqlite3 amalgamation (sqlite3.c), is in with our source
|
|
# this is the preferred way to use sqlite
|
|
if test -f sqlite3.c; then
|
|
SQLITE3_SUPPORT="yes"
|
|
VIDEO="$VIDEO sqlite3.o"
|
|
TEMP_LIBS="$TEMP_LIBS -ldl"
|
|
AC_DEFINE([HAVE_SQLITE3],1,[Define to 1 if you have SQLITE3])
|
|
AC_DEFINE([HAVE_SQLITE3_EMBEDDED],1,[Define to 1 if you have SQLITE3 embedded support])
|
|
else
|
|
# if sqlite3.c is not found then we look for the shared library
|
|
AC_CHECK_LIB(sqlite3, sqlite3_open,
|
|
[
|
|
TEMP_LIBS="$TEMP_LIBS -lsqlite3"
|
|
SQLITE3_SUPPORT="yes"
|
|
AC_DEFINE([HAVE_SQLITE3],1,[Define to 1 if you have SQLITE3 shared library support])
|
|
]
|
|
)
|
|
fi
|
|
|
|
CFLAGS=$saved_CFLAGS
|
|
LIBS=$saved_LIBS
|
|
fi
|
|
|
|
|
|
#
|
|
# Check Mysql
|
|
#
|
|
|
|
MYSQL="yes"
|
|
MYSQL_SUPPORT="no"
|
|
MYSQL_HEADERS="yes"
|
|
MYSQL_LIBS="yes"
|
|
|
|
AC_MSG_CHECKING(for mysql support)
|
|
|
|
AC_ARG_WITH(mysql,
|
|
[ --without-mysql Disable mysql support in motion.
|
|
],
|
|
MYSQL="$withval"
|
|
# if not given argument, assume standard
|
|
)
|
|
|
|
AC_ARG_WITH(mysql-lib,
|
|
[ --with-mysql-lib[=DIR] Normally, configure will scan all possible default
|
|
installation paths for mysql libs. When it fails, use
|
|
this command to tell configure where mysql libs
|
|
installation root directory is.
|
|
],
|
|
MYSQL_LIBS="$withval"
|
|
# if not given argument, assume standard
|
|
)
|
|
|
|
|
|
AC_ARG_WITH(mysql-include,
|
|
[ --with-mysql-include[=DIR] Normally, configure will scan all possible default
|
|
installation paths for mysql include. When it fails, use
|
|
this command to tell configure where mysql include
|
|
installation root directory is.
|
|
],
|
|
MYSQL_HEADERS="$withval"
|
|
# if not given argument, assume standard
|
|
)
|
|
|
|
|
|
if test "${MYSQL}" = "no"; then
|
|
AC_MSG_RESULT(skipped)
|
|
else
|
|
AC_MSG_RESULT(testing)
|
|
# ******* Search mysql headers *******
|
|
|
|
if test "${MYSQL_HEADERS}" = "yes"; then
|
|
AC_MSG_CHECKING(autodect mysql headers)
|
|
# Autodetect
|
|
for w in /usr/include /usr/local/include /usr/mysql /usr/local/mysql /usr/local/mysql/include /opt /opt/mysql; do
|
|
# check for plain setups
|
|
if test -f $w/mysql.h; then
|
|
MYSQL_INCDIR=$w
|
|
break
|
|
fi
|
|
# check for "/usr/include/<packagename>" type setups
|
|
if test -f $w/mysql/mysql.h; then
|
|
MYSQL_INCDIR=$w/mysql
|
|
break
|
|
fi
|
|
# check for "/usr/<packagename>/include" type setups
|
|
if test -f $w/mysql/include/mysql.h; then
|
|
MYSQL_INCDIR=$w/mysql/include
|
|
break
|
|
fi
|
|
done
|
|
elif test "${MYSQL_HEADERS}" = "no"; then
|
|
AC_MSG_CHECKING(for mysql headers)
|
|
AC_MSG_RESULT(skipped)
|
|
else
|
|
AC_MSG_CHECKING(for mysql headers in $MYSQL_HEADERS)
|
|
# Manual detection for <withval>
|
|
if test -f $MYSQL_HEADERS/mysql.h; then
|
|
MYSQL_INCDIR=$MYSQL_HEADERS
|
|
fi
|
|
fi
|
|
|
|
if test -z "$MYSQL_INCDIR" ; then
|
|
MYSQL_HEADERS="no"
|
|
AC_MSG_RESULT(not found)
|
|
echo "Invalid MySQL directory - unable to find mysql.h."
|
|
else
|
|
AC_MSG_RESULT($MYSQL_INCDIR yes)
|
|
MYSQL_HEADERS="yes"
|
|
fi
|
|
|
|
|
|
if test "${MYSQL_HEADERS}" = "yes"; then
|
|
|
|
# ******* Search mysql libs *********
|
|
if test "${MYSQL_LIBS}" = "yes"; then
|
|
AC_MSG_CHECKING(autodect mysql libs)
|
|
# Autodetect
|
|
for w in /usr/lib64 /usr/lib /usr/local/lib /usr/mysql /usr/local/mysql /usr/local/mysql/lib /opt /opt/mysql /usr/lib/x86_64-linux-gnu; do
|
|
# check for plain setups
|
|
if test -f $w/libmysqlclient.a -o -f $w/libmysqlclient.so; then
|
|
MYSQL_LIBDIR=$w
|
|
break
|
|
fi
|
|
# check for "/usr/lib/<packagename>" type setups
|
|
if test -f $w/mysql/libmysqlclient.a -o -f $w/mysql/libmysqlclient.so; then
|
|
MYSQL_LIBDIR=$w/mysql
|
|
break
|
|
fi
|
|
# check for "/usr/<packagename>/lib" type setups
|
|
if test -f $w/mysql/lib/libmysqlclient.a -o -f $w/mysql/lib/libmysqlclient.so; then
|
|
MYSQL_LIBDIR=$w/mysql/lib
|
|
break
|
|
fi
|
|
done
|
|
elif test "${MYSQL_LIBS}" = "no"; then
|
|
AC_MSG_CHECKING(for mysql libs)
|
|
AC_MSG_RESULT(skipped)
|
|
else
|
|
AC_MSG_CHECKING(for mysql libs in $MYSQL_LIBS)
|
|
# Manual detection for <withval>
|
|
if test -f $MYSQL_LIBS/libmysqlclient.a -o -f $MYSQL_LIBS/libmysqlclient.so; then
|
|
MYSQL_LIBDIR=$MYSQL_LIBS
|
|
fi
|
|
fi
|
|
|
|
|
|
if test -z "$MYSQL_LIBDIR" ; then
|
|
AC_MSG_RESULT(not found)
|
|
echo "Invalid MySQL directory - unable to find libmysqlclient.a or libmysqlclient.so."
|
|
else
|
|
AC_MSG_RESULT($MYSQL_LIBDIR)
|
|
#LDFLAGS="-L$MYSQL_LIBDIR"
|
|
saved_CFLAGS=$CFLAGS
|
|
saved_LIBS=$LIBS
|
|
CFLAGS="-I$MYSQL_INCDIR"
|
|
LIBS="-L$MYSQL_LIBDIR"
|
|
AC_CHECK_LIB(mysqlclient,mysql_init,[
|
|
TEMP_LIBS="$TEMP_LIBS -L$MYSQL_LIBDIR -lmysqlclient -lz"
|
|
TEMP_CFLAGS="$TEMP_CFLAGS -I$MYSQL_INCDIR"
|
|
MYSQL_SUPPORT="yes"
|
|
AC_DEFINE([HAVE_MYSQL],1,[Define to 1 if you have MySQL support])
|
|
],
|
|
AC_MSG_ERROR(MySQL support can't build without MySQL libraries))
|
|
CFLAGS=$saved_CFLAGS
|
|
LIBS=$saved_LIBS
|
|
fi
|
|
|
|
# end mysql-include , mysql-libs
|
|
fi
|
|
|
|
# end Mysql detection
|
|
fi
|
|
|
|
|
|
#
|
|
# Check PostgreSQL
|
|
#
|
|
PGSQL="yes"
|
|
PGSQL_SUPPORT="no"
|
|
PGSQL_HEADERS="yes"
|
|
PGSQL_LIBS="yes"
|
|
|
|
AC_DEFUN([PGSQL_INC_CHK],[if test -r $i$1/libpq-fe.h; then PGSQL_DIR=$i; PGSQL_INCDIR=$i$1])
|
|
|
|
AC_ARG_WITH(pgsql,
|
|
[ --without-pgsql Disable PostgreSQL support in motion.
|
|
],
|
|
PGSQL="$withval"
|
|
# if not given argument, assume standard
|
|
)
|
|
|
|
AC_ARG_WITH(pgsql-lib,
|
|
[ --with-pgsql-lib[=DIR] Normally, configure will scan all possible default
|
|
installation paths for pgsql libs. When it fails, use
|
|
this command to tell configure where pgsql libs
|
|
installation root directory is.
|
|
],
|
|
PGSQL_LIBS="$withval"
|
|
# if not given argument, assume standard
|
|
)
|
|
|
|
AC_ARG_WITH(pgsql-include,
|
|
[ --with-pgsql-include[=DIR] Normally, configure will scan all possible default
|
|
installation paths for pgsql include. When it fails, use
|
|
this command to tell configure where pgsql include
|
|
installation root directory is.
|
|
],
|
|
PGSQL_HEADERS="$withval"
|
|
# if not given argument, assume standard
|
|
)
|
|
|
|
AC_MSG_CHECKING(for PostgreSQL)
|
|
|
|
if test "${PGSQL}" = "no"; then
|
|
AC_MSG_RESULT(skipped)
|
|
else
|
|
AC_MSG_RESULT(testing)
|
|
|
|
# ******* Search pgsql headers *******
|
|
if test "${PGSQL_HEADERS}" = "yes"; then
|
|
|
|
AC_MSG_CHECKING(autodect pgsql headers)
|
|
# Autodetect
|
|
for i in /usr /usr/local /usr/local/pgsql $PHP_PGSQL; do
|
|
PGSQL_INC_CHK(/include)
|
|
el[]PGSQL_INC_CHK(/include/pgsql)
|
|
el[]PGSQL_INC_CHK(/include/postgresql)
|
|
fi
|
|
done
|
|
|
|
elif test "${PGSQL_HEADERS}" = "no"; then
|
|
AC_MSG_CHECKING(for pgsql headers)
|
|
AC_MSG_RESULT(skipped)
|
|
else
|
|
AC_MSG_CHECKING(for pgsql headers in $PGSQL_HEADERS)
|
|
# Manual detection for <withval>
|
|
if test -f $PGSQL_HEADERS/libpq-fe.h; then
|
|
PGSQL_INCDIR=$PGSQL_HEADERS
|
|
fi
|
|
fi
|
|
|
|
if test -z "$PGSQL_INCDIR" ; then
|
|
PGSQL_HEADERS="no"
|
|
AC_MSG_RESULT(not found)
|
|
echo "Invalid PostgreSQL directory - unable to find libpq-fe.h."
|
|
else
|
|
AC_MSG_RESULT(yes [$PGSQL_INCDIR])
|
|
PGSQL_HEADERS="yes"
|
|
fi
|
|
|
|
|
|
if test "${PGSQL_HEADERS}" = "yes"; then
|
|
|
|
# ******* Search pgsql libs *********
|
|
if test "${PGSQL_LIBS}" = "yes"; then
|
|
AC_MSG_CHECKING(autodect pgsql libs)
|
|
# Autodetect
|
|
PGSQL_INCLUDE="-I$PGSQL_INCDIR"
|
|
PGSQL_LIBDIR=$PGSQL_DIR/lib
|
|
|
|
if test -f /usr/lib64/libpq.so ; then
|
|
PGSQL_LIBDIR=/usr/lib64
|
|
elif test -f $PGSQL_DIR/lib/pgsql/libpq.so ; then
|
|
PGSQL_LIBDIR=$PGSQL_DIR/lib/pgsql
|
|
elif test -f $PGSQL_DIR/lib/postgresql/libpq.so ; then
|
|
PGSQL_LIBDIR=$PGSQL_DIR/lib/postgresql
|
|
elif test -f $PGSQL_DIR/lib/libpq.so ; then
|
|
PGSQL_LIBDIR=$PGSQL_DIR/lib
|
|
else
|
|
PGSQL_LIBDIR=""
|
|
fi
|
|
|
|
AC_MSG_RESULT($PGSQL_LIBDIR)
|
|
|
|
elif test "${PGSQL_LIBS}" = "no"; then
|
|
AC_MSG_CHECKING(for pgsql libs)
|
|
AC_MSG_RESULT(skipped)
|
|
else
|
|
AC_MSG_CHECKING(for pgsql libs in $PGSQL_LIBS)
|
|
# Manual detection for <withval>
|
|
if test -f $PGSQL_LIBS/libpq.a -o -f $PGSQL_LIBS/libpq.so; then
|
|
PGSQL_LIBDIR=$PGSQL_LIBS
|
|
fi
|
|
fi
|
|
|
|
|
|
if test -z "$PGSQL_LIBDIR" ; then
|
|
AC_MSG_RESULT(not found)
|
|
echo "Invalid PostgreSQL directory [$PGSQL_LIBDIR] - unable to find libpq.a or libpq.so."
|
|
else
|
|
#LDFLAGS="$TEMP_LDFLAGS -L$PGSQL_LIBDIR"
|
|
saved_CFLAGS=$CFLAGS
|
|
saved_LIBS=$LIBS
|
|
CFLAGS="-I$PGSQL_INCDIR"
|
|
LIBS="-L$PGSQL_LIBDIR"
|
|
AC_CHECK_LIB(pq, PQconnectStart, [
|
|
PGSQL_SUPPORT="yes"
|
|
TEMP_LIBS="$TEMP_LIBS -L$PGSQL_LIBDIR -lpq"
|
|
TEMP_CFLAGS="$TEMP_CFLAGS -I$PGSQL_INCDIR"
|
|
AC_DEFINE([HAVE_PGSQL],1,[Define to 1 if you have PostgreSQL support])
|
|
],
|
|
AC_MSG_ERROR(PostgreSQL support can't build without PostgreSQL libraries))
|
|
LDFLAGS=""
|
|
CFLAGS=$saved_CFLAGS
|
|
LIBS=$saved_LIBS
|
|
fi
|
|
|
|
fi # end pgsql-include , pgsql-libs
|
|
|
|
# end PostgreSQL detection
|
|
fi
|
|
|
|
|
|
#Checks for header files.
|
|
AC_HEADER_STDC
|
|
AC_CHECK_HEADERS(stdio.h unistd.h stdint.h fcntl.h time.h signal.h sys/ioctl.h sys/mman.h linux/videodev.h linux/videodev2.h sys/param.h sys/types.h sys/videoio.h)
|
|
|
|
AC_CHECK_FUNCS(get_current_dir_name)
|
|
|
|
# Check if v4l2 is available
|
|
SUPPORTED_V4L2=false
|
|
SUPPORTED_V4L2_old=false
|
|
|
|
if test "${V4L}" = "no"; then
|
|
AC_MSG_CHECKING(for V42L support)
|
|
AC_MSG_RESULT(skipping)
|
|
else
|
|
AC_CHECK_TYPE([struct v4l2_buffer],
|
|
[SUPPORTED_V4L2=true],
|
|
[SUPPORTED_V4L2=false],
|
|
[#include <sys/time.h>
|
|
#ifdef HAVE_LINUX_VIDEODEV_H
|
|
#include <linux/videodev.h>
|
|
#elif HAVE_SYS_VIDEOIO_H
|
|
#include <sys/videoio.h>
|
|
#endif])
|
|
AC_MSG_CHECKING(for V42L support)
|
|
if test x$SUPPORTED_V4L2 = xtrue; then
|
|
AC_MSG_RESULT(yes)
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DMOTION_V4L2"
|
|
else
|
|
AC_MSG_RESULT(no)
|
|
fi
|
|
|
|
# linux/videodev.h doesn't include videodev2.h
|
|
if test x$SUPPORTED_V4L2 = xfalse; then
|
|
AC_MSG_CHECKING(for V42L *old* support)
|
|
AC_MSG_RESULT(testing)
|
|
AC_CHECK_HEADERS(linux/videodev2.h,[SUPPORTED_V4L2_old=true],[], [#include <asm/types.h>])
|
|
fi
|
|
|
|
|
|
if test x$SUPPORTED_V4L2_old = xtrue; then
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DMOTION_V4L2 -DMOTION_V4L2_OLD"
|
|
SUPPORTED_V4L2=true
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
# Check sizes of integer types
|
|
AC_CHECK_SIZEOF(short)
|
|
AC_CHECK_SIZEOF(int)
|
|
AC_CHECK_SIZEOF(long int)
|
|
AC_CHECK_SIZEOF(long long)
|
|
AC_CHECK_SIZEOF(int *)
|
|
AC_CHECK_SIZEOF(void *)
|
|
|
|
if test "$ac_cv_sizeof_short" = "4"; then
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DTYPE_32BIT=\"short\""
|
|
else
|
|
if test "$ac_cv_sizeof_int" = "4"; then
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DTYPE_32BIT=\"int\""
|
|
else
|
|
if test "$ac_cv_sizeof_long_int" = "4"; then
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DTYPE_32BIT=\"long int\""
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
|
|
OPTIMIZECPU="yes"
|
|
|
|
AC_ARG_WITH(optimizecpu,
|
|
[ --without-optimizecpu Exclude autodetecting platform and cpu type.
|
|
This will disable the compilation of gcc
|
|
optimizing code by platform and cpu.
|
|
],
|
|
OPTIMIZECPU="$withval"
|
|
)
|
|
|
|
DEVELOPER_FLAGS="no"
|
|
|
|
AC_ARG_WITH(developer-flags,
|
|
[ --with-developer-flags Causes practically all of the possible gcc
|
|
warning flags to be set. This may produce
|
|
a large amount of warnings.],
|
|
DEVELOPER_FLAGS="$withval"
|
|
)
|
|
|
|
# Checks for typedefs, structures, and compiler characteristics.
|
|
AC_C_CONST
|
|
|
|
if test "${FreeBSD}" != ""; then
|
|
OPTIMIZECPU=""
|
|
fi
|
|
|
|
if test "${OPTIMIZECPU}" = "yes"; then
|
|
|
|
# Try to autodetect cpu type
|
|
CPU_NAME="unknown"
|
|
CPU_TYPE="unknown"
|
|
if test -e "/proc/device-tree/model"; then
|
|
# explicit test for RPI3 as /proc/cpuinfo reports armv7 even though
|
|
# it is armv8
|
|
RPI3=`grep "Raspberry Pi 3 Model" /proc/device-tree/model`
|
|
if test "x${RPI3}" != "x"; then
|
|
CPU_NAME="Raspberry Pi 3"
|
|
CPU_TYPE="Raspberry Pi 3"
|
|
CPU_OPTIONS="-mcpu=cortex-a53 -mfpu=neon-fp-armv8"
|
|
fi
|
|
fi
|
|
|
|
if test "x${CPU_TYPE}" = "xunknown" && test -e "/proc/cpuinfo" ; then
|
|
intel[[30]]="-march=i386"
|
|
intel[[32]]="-march=i386"
|
|
intel[[34]]="-march=i386"
|
|
intel[[40]]="-march=i486"
|
|
intel[[41]]="-march=i486"
|
|
intel[[42]]="-march=i486"
|
|
intel[[43]]="-march=i486"
|
|
intel[[44]]="-march=i486"
|
|
intel[[45]]="-march=i486"
|
|
intel[[47]]="-march=i486"
|
|
intel[[48]]="-march=i486"
|
|
intel[[51]]="-march=pentium"
|
|
intel[[52]]="-march=pentium"
|
|
intel[[54]]="-march=pentium-mmx"
|
|
intel[[56]]="-march=pentium-mmx"
|
|
intel[[61]]="-march=pentiumpro"
|
|
intel[[63]]="-march=pentium2"
|
|
intel[[65]]="-march=pentium2"
|
|
intel[[66]]="-march=pentium2"
|
|
intel[[67]]="-march=pentium3"
|
|
intel[[68]]="-march=pentium3"
|
|
intel[[610]]="-march=pentium3"
|
|
intel[[611]]="-march=pentium3"
|
|
intel[[150]]="-march=pentium4"
|
|
intel[[151]]="-march=pentium4"
|
|
intel[[152]]="-march=pentium4"
|
|
intel[[154]]="-march=pentium4"
|
|
intel[[614]]="-march=prescott"
|
|
intel[[628]]="-march=core2"
|
|
amd[[50]]="-march=i586"
|
|
amd[[51]]="-march=i586"
|
|
amd[[52]]="-march=i586"
|
|
amd[[53]]="-march=i586"
|
|
amd[[56]]="-march=k6"
|
|
amd[[57]]="-march=k6"
|
|
amd[[58]]="-march=k6-2"
|
|
amd[[510]]="-march=k6-2"
|
|
amd[[59]]="-march=k6-3"
|
|
amd[[513]]="-march=k6-3"
|
|
amd[[61]]="-march=athlon"
|
|
amd[[62]]="-march=athlon"
|
|
amd[[63]]="-march=athlon"
|
|
amd[[64]]="-march=athlon"
|
|
amd[[66]]="-march=athlon"
|
|
amd[[67]]="-march=athlon"
|
|
amd[[68]]="-march=athlon"
|
|
amd[[610]]="-march=athlon"
|
|
amd[[158]]="-march=athlon-xp"
|
|
amd[[154]]="-march=k8"
|
|
amd[[155]]="-march=athlon64"
|
|
amd[[1543]]="-march=athlon64"
|
|
amd[[1544]]="-march=athlon64"
|
|
amd[[1565]]="-march=opteron"
|
|
amd[[1572]]="-march=k8"
|
|
via[[67]]="-march=c3"
|
|
via[[68]]="-march=c3"
|
|
via[[69]]="-march=i686"
|
|
via[[610]]="-march=i686"
|
|
|
|
CPU_TYPE="known"
|
|
CPU_FAMILY=`cat /proc/cpuinfo | grep "cpu family" | head -n1`
|
|
CPU_MODEL=`cat /proc/cpuinfo | grep model[[^\ ]] | head -n1`
|
|
CPU_NAME=`cat /proc/cpuinfo | grep "model name" | head -n1`
|
|
CPU_FLAGS=`cat /proc/cpuinfo | grep "flags" | head -n1`
|
|
CPU_VENDOR=`cat /proc/cpuinfo | grep "vendor_id" | head -n1`
|
|
CPU_FAMILY=${CPU_FAMILY#*: }
|
|
CPU_MODEL=${CPU_MODEL#*: }
|
|
CPU_NAME=${CPU_NAME#*: }
|
|
CPU_FLAGS=${CPU_FLAGS#*: }
|
|
CPU_VENDOR=${CPU_VENDOR#*: }
|
|
if test "x${CPU_VENDOR}" = "xGenuineIntel" ; then
|
|
CPU_OPTIONS=${intel[[$CPU_FAMILY$CPU_MODEL]]}
|
|
fi
|
|
if test "x${CPU_VENDOR}" = "xAuthenticAMD" ; then
|
|
CPU_OPTIONS=${amd[[$CPU_FAMILY$CPU_MODEL]]}
|
|
fi
|
|
if test "x${CPU_VENDOR}" = "xCentaurHauls"; then
|
|
CPU_OPTIONS=${via[[$CPU_FAMILY$CPU_MODEL]]}
|
|
fi
|
|
if test "x${CPU_OPTIONS}" = "x" ; then
|
|
CPU_TYPE="unknown"
|
|
fi
|
|
CPU_EXT=""
|
|
for i in $CPU_FLAGS ; do
|
|
case $i in
|
|
fpu)
|
|
CPU_FPU="-mfpmath=387"
|
|
;;
|
|
mmx)
|
|
CPU_EXT="$CPU_EXT -mmmx"
|
|
;;
|
|
sse)
|
|
CPU_FPU="-mfpmath=sse -msse"
|
|
;;
|
|
sse2)
|
|
CPU_FPU="-mfpmath=sse -msse2"
|
|
;;
|
|
sse3)
|
|
CPU_FPU="-msse3"
|
|
;;
|
|
ssse3)
|
|
CPU_FPU="-mfpmath=sse -msse2 -mssse3"
|
|
;;
|
|
3dnow)
|
|
CPU_EXT="$CPU_EXT -m3dnow"
|
|
;;
|
|
esac
|
|
done
|
|
CPU_OPTIONS="$CPU_OPTIONS $CPU_FPU $CPU_EXT"
|
|
fi
|
|
if test "x${CPU_TYPE}" = "xunknown"; then
|
|
CPU_TYPE=`( uname -p ) 2>&1`
|
|
case $CPU_TYPE in
|
|
i386)
|
|
CPU_OPTIONS="-march=i386"
|
|
;;
|
|
i486)
|
|
CPU_OPTIONS="-march=i486"
|
|
;;
|
|
Pentium2)
|
|
CPU_OPTIONS="-march=pentium2"
|
|
;;
|
|
Pentiumpro)
|
|
CPU_OPTIONS="-march=pentiumpro"
|
|
;;
|
|
Pentium*)
|
|
CPU_OPTIONS="-march=pentium"
|
|
;;
|
|
k6)
|
|
CPU_OPTIONS="-march=k6"
|
|
;;
|
|
k6-2)
|
|
CPU_OPTIONS="-march=k6-2"
|
|
;;
|
|
k6-3)
|
|
CPU_OPTIONS="-march=k6-3"
|
|
;;
|
|
"VIA C3 Ezra")
|
|
CPU_OPTIONS="-march=c3"
|
|
CPU_TYPE="known"
|
|
;;
|
|
*)
|
|
CPU_OPTIONS=""
|
|
CPU_TYPE="unknown"
|
|
;;
|
|
esac
|
|
if test "x${CPU_TYPE}" = "xunknown"; then
|
|
CPU_TYPE=`( uname -m ) 2>&1`
|
|
case $CPU_TYPE in
|
|
i386)
|
|
CPU_OPTIONS="-march=i386"
|
|
;;
|
|
i486)
|
|
CPU_OPTIONS="-march=i486"
|
|
;;
|
|
i586)
|
|
CPU_OPTIONS="-march=i586"
|
|
;;
|
|
i686)
|
|
CPU_OPTIONS="-march=i686"
|
|
;;
|
|
Pentium2)
|
|
CPU_OPTIONS="-march=pentium2"
|
|
;;
|
|
Pentiumpro)
|
|
CPU_OPTIONS="-march=pentiumpro"
|
|
;;
|
|
k6)
|
|
CPU_OPTIONS="-march=k6"
|
|
;;
|
|
k6-2)
|
|
CPU_OPTIONS="-march=k6-2"
|
|
;;
|
|
k6-3)
|
|
CPU_OPTIONS="-march=k6-3"
|
|
;;
|
|
*)
|
|
CPU_OPTIONS="-march=native -mtune=native"
|
|
;;
|
|
esac
|
|
fi
|
|
fi
|
|
echo "Detected CPU: $CPU_NAME"
|
|
# Now we check if the compiler supports the detected cpu
|
|
COMPILER=$CC
|
|
for I in "$TMPDIR" "$TEMPDIR" "/tmp" ; do
|
|
test "$I" && break
|
|
done
|
|
TMPC="$I/cpu_test-$RANDOM-$$.c"
|
|
TMPO="$I/cpu_test-$RANDOM-$$.o"
|
|
cat > $TMPC << EOF
|
|
int main(void) { return 0; }
|
|
EOF
|
|
( $COMPILER $CPU_OPTIONS -o $TMPO $TMPC ) 2>&1
|
|
TMP="$?"
|
|
rm -f $TMPO
|
|
rm -f $TMPC
|
|
|
|
|
|
if test "x${TMP}" = "x0" ; then
|
|
echo "CPU optimization: $CPU_OPTIONS"
|
|
else
|
|
CPU_OPTIONS=""
|
|
echo "No CPU optimizations will be added"
|
|
fi
|
|
|
|
else
|
|
CPU_OPTIONS=""
|
|
fi
|
|
|
|
|
|
AC_MSG_CHECKING(for bswap instruction)
|
|
AC_LINK_IFELSE([
|
|
AC_LANG_PROGRAM([ ],
|
|
[unsigned int __x=0;
|
|
register unsigned int __v;
|
|
__asm("bswap %0" : "=r" (__v) : "0" (__x));])
|
|
],
|
|
[
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -DHAVE_BSWAP"
|
|
AC_MSG_RESULT(yes)
|
|
],
|
|
[
|
|
AC_MSG_RESULT(no)
|
|
])
|
|
|
|
|
|
if test "${DEVELOPER_FLAGS}" = "yes"; then
|
|
TEMP_CFLAGS="${TEMP_CFLAGS} -W -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wnested-externs -Winline -Wredundant-decls -Wno-long-long -ggdb -g3"
|
|
fi
|
|
|
|
CFLAGS="${TEMP_CFLAGS} $UNAME_DEFS $CPU_OPTIONS"
|
|
|
|
LIBS="${TEMP_LIBS}"
|
|
LDFLAGS="${TEMP_LDFLAGS}"
|
|
|
|
|
|
#
|
|
# Add the right exec path for rc scripts
|
|
#
|
|
if test $prefix = "NONE";then
|
|
BIN_PATH="$ac_default_prefix"
|
|
if test $exec_prefix = "NONE"; then
|
|
BIN_PATH="$BIN_PATH/bin"
|
|
else
|
|
BIN_PATH="$BIN_PATH/$bindir"
|
|
fi
|
|
else
|
|
if test $exec_prefix = "NONE";then
|
|
BIN_PATH="$prefix/bin"
|
|
else
|
|
BIN_PATH="$prefix/$bindir"
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(BIN_PATH)
|
|
|
|
AC_CONFIG_FILES([
|
|
camera1-dist.conf
|
|
camera2-dist.conf
|
|
camera3-dist.conf
|
|
camera4-dist.conf
|
|
motion-dist.conf
|
|
motion.init-FreeBSD.sh
|
|
motion.init-Debian
|
|
motion.service
|
|
motion.spec
|
|
Makefile
|
|
])
|
|
AC_OUTPUT
|
|
|
|
echo ""
|
|
echo " **************************"
|
|
echo " Configure status "
|
|
echo " ${PACKAGE_NAME} ${PACKAGE_VERSION}"
|
|
echo " **************************"
|
|
echo
|
|
|
|
|
|
if test "${Darwin}" != ""; then
|
|
echo "OS : Darwin"
|
|
elif test "${FreeBSD}" != ""; then
|
|
echo "OS : *BSD"
|
|
else
|
|
echo "OS : Linux"
|
|
fi
|
|
|
|
if test "${PTHREAD_SUPPORT}" = "yes"; then
|
|
echo "pthread support: Yes"
|
|
else
|
|
echo "pthread support: No"
|
|
echo "**********************************************"
|
|
echo "** Fatal Error YOU MUST HAVE pthread Support *"
|
|
echo "**********************************************"
|
|
fi
|
|
|
|
|
|
if test "${JPEG_SUPPORT_TURBO}" = "yes"; then
|
|
echo "jpeg turbo support: Yes"
|
|
elif test "${JPEG_SUPPORT_MMX}" = "yes"; then
|
|
echo "jpeg-mmx support: Yes"
|
|
elif test "${JPEG_SUPPORT}" = "yes"; then
|
|
echo "jpeg support: Yes"
|
|
else
|
|
echo "jpeg support: No"
|
|
echo "**********************************************"
|
|
echo "** Fatal Error YOU MUST HAVE jpeg Support ***"
|
|
echo "**********************************************"
|
|
fi
|
|
|
|
if test "${FreeBSD}" != ""; then
|
|
if test "${BKTR}" = "yes"; then
|
|
echo "BKTR included: Yes"
|
|
else
|
|
echo "BKTR included: No"
|
|
fi
|
|
|
|
if test "${PWCBSD}" = "yes"; then
|
|
echo "PWCBSD include: Yes"
|
|
else
|
|
echo "PWCBSD include: No"
|
|
fi
|
|
|
|
else
|
|
if test "${V4L}" = "yes"; then
|
|
echo "V4L support: Yes"
|
|
else
|
|
echo "V4L support: No"
|
|
fi
|
|
|
|
if test x$SUPPORTED_V4L2 = xtrue; then
|
|
echo "V4L2 support: Yes"
|
|
else
|
|
echo "V4L2 support: No"
|
|
fi
|
|
fi
|
|
|
|
if test "${SDL_SUPPORT}" = "yes"; then
|
|
echo "SDL support: Yes"
|
|
else
|
|
echo "SDL support: No"
|
|
fi
|
|
|
|
if test "${HAVE_MMAL}" = "yes"; then
|
|
echo "MMAL support: Yes"
|
|
echo " ... MMAL_CFLAGS: $MMAL_CFLAGS"
|
|
echo " ... MMAL_OBJ: $MMAL_OBJ"
|
|
echo " ... MMAL_LIBS: $MMAL_LIBS"
|
|
elif test "${WITHOUT_MMAL}" = "yes"; then
|
|
echo "MMAL support: disabled"
|
|
else
|
|
echo "MMAL support: No"
|
|
echo " ... libraspberrypi-dev package not installed"
|
|
fi
|
|
|
|
if test "${HAVE_FFMPEG}" = "yes"; then
|
|
echo "FFmpeg support: Yes"
|
|
echo " ... FFMPEG_CFLAGS: $FFMPEG_CFLAGS"
|
|
echo " ... FFMPEG_LIBS: $FFMPEG_LIBS"
|
|
else
|
|
echo "FFmpeg support: No"
|
|
fi
|
|
|
|
if test "${SQLITE3_SUPPORT}" = "yes"; then
|
|
echo "SQLite3 support: Yes"
|
|
else
|
|
echo "SQLite3 support: No"
|
|
fi
|
|
|
|
if test "${MYSQL_SUPPORT}" = "yes"; then
|
|
echo "MYSQL support: Yes"
|
|
else
|
|
echo "MYSQL support: No"
|
|
fi
|
|
|
|
if test "${PGSQL_SUPPORT}" = "yes"; then
|
|
echo "PostgreSQL support: Yes"
|
|
else
|
|
echo "PostgreSQL support: No"
|
|
fi
|
|
echo
|
|
echo "CFLAGS: $CFLAGS"
|
|
echo "LIBS: $LIBS"
|
|
echo "LDFLAGS: $LDFLAGS"
|
|
echo
|
|
echo "Install prefix: $prefix"
|
|
echo
|