📄 configure.in
字号:
# Process this file with autoconf to produce a configure scriptAC_INIT(motion,3.2.10.1)AC_CONFIG_SRCDIR([motion.c])AC_CONFIG_HEADERS(config.h)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 "BSD"` 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) fielse 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)fiAC_SUBST(VIDEO)# Checks for programs.AC_PROG_CCTEMP_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" fielse## 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")fiif test "${V4L}" = "no"; then TEMP_CFLAGS="${TEMP_CFLAGS} -DWITHOUT_V4L"fiif test "${FreeBSD}" != "" && test "${LINUXTHREADS}" != "no" ; thenAC_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 fielif test -f "${THREAD_CHECK}"; thenAC_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## 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"; 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) fielse 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) fifiif 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 mjpegtools -lmjpegutils -llavjpeg#MJPEG_SUPPORT="no"MJPEG_HEADER1_SUPPORT="no"MJPEG_HEADER2_SUPPORT="no"AC_CHECK_HEADER(mjpegtools/jpegutils.h, ,MJPEG_HEADER1_SUPPORT="yes")AC_CHECK_HEADER(mjpegtools/mjpeg_types.h, ,MJPEG_HEADER2_SUPPORT="yes")if test x$MJPEG_HEADER1_SUPPORT != xyes && test x$MJPEG_HEADER2_SUPPORT != xyes; then LDFLAGS=$TEMP_LDFLAGS AC_CHECK_LIB(lavjpeg, decode_jpeg_raw,[ TEMP_LDFLAGS="$TEMP_LDFLAGS -lmjpegutils -llavjpeg" MJPEG_SUPPORT="yes" TEMP_CFLAGS="$TEMP_CFLAGS -DMJPEGT" ], , -lmjpegutils)fiAC_MSG_CHECKING(mjpegtools)AC_MSG_RESULT($MJPEG_SUPPORT)## Check for libavcodec and libavformat from ffmpeg#FFMPEG="yes"FFMPEG_OK="no_found"FFMPEG_OBJ=""AC_ARG_WITH(ffmpeg,[ --with-ffmpeg[=DIR] Specify the prefix for the install path for libavcodec/libavformat (part of ffmpeg) be able to encode mpeg movies realtime. If this is not specified motion will try to find the libraries in /usr and /usr/local. ],FFMPEG="$withval")## --without-ffmpeg or with-ffmpeg=no#if test "${FFMPEG}" = "no"; then AC_MSG_CHECKING(for ffmpeg) AC_MSG_RESULT(skipping)## with-ffmpeg=<dir> or nothing#else if test "${FFMPEG}" = "yes"; then # AUTODETECT STATIC/SHARED LIB AC_MSG_CHECKING(for ffmpeg autodetecting)# weird hack to fix debian problem TO BE REMOVED if test -f /usr/bin/ffmpeg-config; then FFMPEG_LIBS_DEB="`ffmpeg-config --libs avformat`" FFMPEG_CFLAGS_DEB="`ffmpeg-config --cflags`" FFMPEG_OK="found" AC_MSG_RESULT(found for debian) elif test -f /usr/lib64/libavcodec.a -o -f /usr/lib64/libavcodec.so && test -f /usr/lib64/libavformat.a -o -f /usr/lib64/libavformat.so ; then AC_MSG_RESULT(found in /usr/lib64) FFMPEG_OK="found" FFMPEG="/usr/lib64" elif test -f /usr/lib/libavcodec.a -o -f /usr/lib/libavcodec.so && test -f /usr/lib/libavformat.a -o -f /usr/lib/libavformat.so ; then AC_MSG_RESULT(found in /usr/lib) FFMPEG_OK="found" FFMPEG="/usr/lib" elif test -f /usr/local/lib/libavcodec.a -o -f /usr/local/lib/libavcodec.so && test -f /usr/local/lib/libavformat.a -o -f /usr/local/lib/libavformat.so ; then AC_MSG_RESULT(found in /usr/local/lib) FFMPEG_OK="found" FFMPEG="/usr/local/lib" else AC_MSG_RESULT(not found) echo "" echo "**********************************************" echo "* libavcodec.a or libavcodec.so or *" echo "* libavformat.a or libavformat.so not found: *" echo "* ALL FFMPEG FEATURES DISABLED *" echo "* *" echo "* Please read the Motion Guide for help: *" echo "* http://motion.sourceforge.net *" echo "**********************************************" echo "" fi else AC_MSG_CHECKING(for ffmpeg in -> [${FFMPEG}] <-) if test -f ${FFMPEG}/lib/libavcodec.a -o -f ${FFMPEG}/lib/libavcodec.so && test -f ${FFMPEG}/lib/libavformat.a -o -f ${FFMPEG}/lib/libavformat.so ; then AC_MSG_RESULT(found) FFMPEG_OK="found" FFMPEG="${FFMPEG}/lib" elif test -f ${FFMPEG}/libavcodec.a -o -f ${FFMPEG}/libavcodec.so && test -f ${FFMPEG}/libavformat.a -o -f ${FFMPEG}/libavformat.so ; then AC_MSG_RESULT(found) FFMPEG_OK="found" else AC_MSG_RESULT(not found) if test "${FFMPEG}" != "no"; then echo "" echo "**********************************************" echo "* libavcodec.a or libavcodec.so or *" echo "* libavformat.a or libavformat.so not found: *" echo "* ALL FFMPEG FEATURES DISABLED *" echo "* *" echo "* Please read the Motion Guide for help: *" echo "* http://motion.sourceforge.net *" echo "**********************************************" echo "" fi fifi## Now check for ffmpeg headers ( avformat.h ) if ffmpeg libs were found#if test "${FFMPEG_OK}" = "found"; then AC_MSG_CHECKING(for ffmpeg headers) if test "${FFMPEG_CFLAGS_DEB}" != "" ; then FFMPEG_CFLAGS="${FFMPEG_CFLAGS_DEB}"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -