configure.ac

来自「Motion JPEG编解码器源代码」· AC 代码 · 共 599 行 · 第 1/2 页

AC
599
字号
dnl Process this file with autoconf to produce a configure script.AC_INIT([mjpegtools],[1.6.3-rc1],[mjpeg-developer@lists.sourceforge.net])AC_PREREQ(2.57)AC_CONFIG_SRCDIR([lavtools/lav_io.c])MJPEG_MAJOR_VERSION=1MJPEG_MINOR_VERSION=6MJPEG_MICRO_VERSION=3MJPEG_VERSION=$MJPEG_MAJOR_VERSION.$MJPEG_MINOR_VERSION.$MJPEG_MICRO_VERSIONAC_CONFIG_HEADERS([config.h])AC_CANONICAL_HOSTdnl CANONICAL-TARGET is only there because SDL's sdl.m4 is broken.  bleah.AC_CANONICAL_TARGETAM_INIT_AUTOMAKE([1.7])AM_MAINTAINER_MODE# libtool versioningLT_RELEASE=$MJPEG_MAJOR_VERSION.$MJPEG_MINOR_VERSIONLT_CURRENT=$MJPEG_MICRO_VERSIONLT_REVISION=$MJPEG_MICRO_VERSIONLT_AGE=$MJPEG_MICRO_VERSIONAC_SUBST(LT_RELEASE)AC_SUBST(LT_CURRENT)AC_SUBST(LT_REVISION)AC_SUBST(LT_AGE)dnl **********************************************************************dnl OptionsAC_ARG_ENABLE(compile-warnings,                   AC_HELP_STRING([--enable-compile-warnings],                             [Turn on compiler warnings.]))AC_ARG_ENABLE(warnings_as_errors,                 AC_HELP_STRING([--enable-warnings_as_errors],                             [Compiler warnings are errors.]))AC_ARG_ENABLE(simd-accel,              AC_HELP_STRING([--enable-simd-accel],                             [use SIMD multimedia instructions                              (MMX, AltiVec, etc.) if possible]))AC_ARG_ENABLE(zalpha,              AC_HELP_STRING([--enable-zalpha],                             [include MPEG Z/Alpha support in mplex (see                              http://www.geofront.se/products_software_mza.php)]))AC_ARG_WITH(extra-cflags,            AC_HELP_STRING([--with-extra-cflags=flags],                           [Options to be added to CFLAGS (optional)]))AC_ARG_WITH(libquicktime,            AC_HELP_STRING([--without-libquicktime],                           [Do not use libquicktime.]),            [], [with_libquicktime=yes])AC_ARG_WITH(libdv,            AC_HELP_STRING([--without-libdv], [Do not use libdv.]),            [], [with_libdv=yes])AC_ARG_WITH(libpng,            AC_HELP_STRING([--without-libpng], [Do not use libpng.]),            [], [with_libpng=yes])AC_ARG_WITH(jpeg-mmx,            AC_HELP_STRING([--with-jpeg-mmx=PFX],                           [Prefix where jpeg-mmx is installed (optional).]))AC_GNU_SOURCEdnl Initialize libtoolAM_PROG_LIBTOOLdnl Checks for programs.AC_PROG_AWKAC_PROG_CCAM_PROG_CC_STDCAC_PROG_CXXAC_PROG_INSTALLAC_PROG_LN_SAC_C_BIGENDIANAC_C_CONSTAC_C_INLINEAC_SYS_LARGEFILEdnl configure AS and ASFLAGS...AM_PROG_ASif test x"$with_extra_cflags" != "x"; then   CFLAGS="$CFLAGS $with_extra_cflags"   CXXFLAGS="$CXXFLAGS $with_extra_cflags"fidnl maddog:  What about CHECK-ALLOCA????AC_CHECK_HEADERS([fenv.h stdint.h inttypes.h sys/types.h getopt.h alloca.h sys/soundcard.h malloc.h])AX_PREFIXED_DEFINE([MJPEGTOOLS], [HAVE_STDINT_H])AX_PREFIXED_DEFINE([MJPEGTOOLS], [HAVE_INTTYPES_H])#maddog:  check for math lib, and add it to LIBS (needed for fmax, lround...)#maddog:  (How does this interact with cpml stuff below???????)AC_CHECK_LIB([m],[sin])AC_CHECK_FUNCS([posix_memalign memalign fmax lround])#maddog:  FIX UP?????????????AC_CHECK_FUNC(getopt_long,              [AC_DEFINE(HAVE_GETOPT_LONG, 1, [long getopt support])],              [ # FreeBSD and BSD/OS have a gnugetopt library for this:               AC_CHECK_LIB([gnugetopt], [getopt_long],                            [AC_DEFINE(HAVE_GETOPT_LONG, 1,                                       [long getopt support])                             LIBGETOPT_LIB="-lgnugetopt"])              ])AC_SUBST(LIBGETOPT_LIB)AC_TYPE_SIGNALAC_MSG_NOTICE([The host is $host  $host_cpu  $host_vendor  $host_os .])dnl test for alpha architecture, and Compaq Math Library (cpml) -- much fasterdnl than GNU libm on this arch.LIBM_LIBS="-lm "AC_SUBST(LIBM_LIBS)AC_MSG_CHECKING([for alpha architecture])case $host in	alpha*-*-linux-*)	    AC_MSG_RESULT([yes])	    AC_CHECK_LIB(cpml, asin,                         [ LIBM_LIBS="-lcpml"                           have_cpml=true ],,)            ;;        *)            AC_MSG_RESULT([no])            ;;esacdnl *********************************************************************dnl Some host-specific tweaks:dnl  o OS-X/Darwin needs "-no-cpp-precomp" to avoid compile errors.dnl *********************************************************************case $host in  *-apple-darwin*)   CFLAGS="$CFLAGS -no-cpp-precomp"   ;;  *-unknown-netbsdelf2.*)   LIBS="-lossaudio"   ;;esacdnl *********************************************************************dnl Test whether we're linux or not. If so, define HAVE_V4L and build thednl video4linux/hardware dependent tools. Else, undefine HAVE_V4Lhave_video4linux=falsecase $host in  *-*-linux*)  AC_CHECK_HEADER(linux/videodev.h,                  [have_video4linux=true                   AC_DEFINE(HAVE_V4L, 1,		             [Building for Linux - using the video4linux API])],                  [AC_MSG_ERROR([videodev.h not found - please install the linux kernel headers])])   ;;  *)  AC_MSG_WARN([Did not find linux platform - video4linux functionality will be disabled])   ;;esacAM_CONDITIONAL(HAVE_V4L, test x$have_video4linux = xtrue)dnl *********************************************************************dnl Figure out how to build with POSIX threads.dnl (Creates PTHREAD_LIBS, PTHREAD_CFLAGS, PTHREAD_CC,dnl  and defines HAVE_PTHREAD.)dnl *********************************************************************ACX_PTHREADdnl maddog: The following matches the original pthread-checking behaviordnl         in this script, i.e. "If a CFLAG is necessary, use it for dnl         *everything*."  Hopefully, any CFLAGs will eventually go away.dnl         The other option is to stick PTHREAD_CFLAGS/CC in Makefile.am....CFLAGS="$CFLAGS $PTHREAD_CFLAGS"CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS"CC="$PTHREAD_CC"oldLIBS="$LIBS"LIBS="$LIBS $PTHREAD_LIBS"AC_CHECK_FUNC(pthread_attr_getstacksize,              [AC_DEFINE(HAVE_PTHREADSTACKSIZE, 1,                         [pthread stack sizes accesible])])LIBS="$oldLIBS"dnl *********************************************************************dnl Check for the special mmx accelerated jpeg librarydnl At the end of this mess, JPEG_LIBS will contain the libraries and dnl flags needed to link with the jpeg library and JPEG_CFLAGS will dnl have the needed flags to compile against said libraryAC_SUBST(JPEG_LIBS)AC_SUBST(JPEG_CFLAGS)have_jpeg=falseif test x$with_jpeg_mmx = xyes ; then  AC_MSG_ERROR([*** A directory must be specified for --with-jpeg-mmx option.])fiif test x$with_jpeg_mmx = x ; then  dnl Special case for building .deb's  if test -d ../jpeg-mmx ; then    with_jpeg_mmx=`pwd`/../jpeg-mmx  else    with_jpeg_mmx=/usr/local/src/jpeg-mmx  fifidnldnl Look for the installed/specified copydnlOLD_CFLAGS="$CFLAGS"OLD_LIBS="$LIBS"LIBS="$LIBS -L$with_jpeg_mmx"CFLAGS="$CFLAGS -I$with_jpeg_mmx"AC_CHECK_LIB(jpeg-mmx, jpeg_start_compress,   [ JPEG_LIBS="$LIBS -ljpeg-mmx"     JPEG_CFLAGS="-I$with_jpeg_mmx"       have_jpeg=true ],,)  LIBS="$OLD_LIBS"  CFLAGS="$OLD_CFLAGS"dnl dnl Look for _a_ jpeg lib that will work.dnlif test x$have_jpeg = xfalse ; then  AC_CHECK_HEADER(jpeglib.h,,    AC_MSG_ERROR([jpeglib.h not found - please install the libjpeg headers]))  AC_CHECK_LIB(jpeg, jpeg_start_compress,    [ JPEG_LIBS="-ljpeg"      JPEG_CFLAGS=""      have_jpeg=true ],,)fihave_libquicktime=falseif test x$with_libquicktime != xno ; then  PKG_CHECK_MODULES(LIBQUICKTIME, [libquicktime >= 0.9.4],                    [have_libquicktime=true                     AC_DEFINE(HAVE_LIBQUICKTIME, 1, [libquicktime >= 0.9.4 present])],                    [have_libquicktime=false])fidnl *********************************************************************dnl Check for PNG librarydnl   (creates LIBPNG_CFLAGS, LIBPNG_LIBS)dnl *********************************************************************have_libpng=falseif test x$with_libpng != xno ; then  PKG_CHECK_MODULES(LIBPNG, [libpng], [have_libpng=true], [have_libpng=false])fiAM_CONDITIONAL(HAVE_LIBPNG, test x$have_libpng = xtrue)dnl *********************************************************************dnl Check for libdvdnl   (creates LIBDV_CFLAGS, LIBDV_LIBS; defines HAVE_LIBDV)dnl *********************************************************************have_libdv=falseif test x$with_libdv != xno ; then  PKG_CHECK_MODULES(LIBDV, [libdv >= 0.9],                    [have_libdv=true                     AC_DEFINE(HAVE_LIBDV, 1, [libdv is present])],                    [have_libdv=false])fidnl *********************************************************************dnl  Look for X Window System.dnl   (creates X_CFLAGS, X_PRE_LIBS, X_EXTRA_LIBS, X_LIBS;dnl    defines X_DISPLAY_MISSING if no X)dnl *********************************************************************AC_PATH_XTRAdnl maddog:  even better -- all that other stuff was unnecessary.AM_CONDITIONAL(HAVE_X, test x$have_x = xyes)dnl ********************************************************************dnl Check to see if __progname is provided by the systemdnl ********************************************************************AC_CACHE_CHECK([for __progname],               [mjt_cv_extern___progname],               [AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],                                                [[extern char *__progname;                                                  puts(__progname);]])],                               [mjt_cv_extern___progname=yes],			       [mjt_cv_extern___progname=no])])if test x$mjt_cv_extern___progname = xyes ; then  AC_DEFINE(HAVE___PROGNAME, 1, [Is __progname defined by system?])fidnl ********************************************************************dnl Check for DGA (for v4l-conf)dnl ********************************************************************AC_SUBST(V4LCONF_LIBS)AC_CHECK_LIB(Xxf86dga, XF86DGAQueryExtension,	V4LCONF_LIBS="$X_LIBS -lXxf86dga" 	AC_DEFINE(HAVE_LIBXXF86DGA,1, [libxf86dga is present]),,	$X_LIBS $X_PRE_LIBS -lXext -lX11 $X_EXTRA_LIBS)dnl ********************************************************************dnl Check for Gtk+/glib (for glav).  2.4.0 or greater required (shoulddnl not be a problem on recent distributions).

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?