sams last ladspa icons, libopus/vp9, mixer fixer, plugin resets, fmt frmsz, shm fixes
[goodguy/history.git] / cinelerra-5.1 / configure.ac
index 99975baea917810f70d88683ce756bf88a1e2ca4..4fe5c0f00c12ae664999e0f20b97fba8d556056c 100644 (file)
@@ -9,13 +9,12 @@ AC_LANG_C
 AC_PROG_CXX
 
 CFG_CFLAGS+=" -fno-omit-frame-pointer -fno-math-errno -fno-signed-zeros"
-CFG_CFLAGS+=" -pthread -Wall -Wno-unused-result"
+CFG_CFLAGS+=" -pthread -Wall -Wno-unused-result -Wno-format-truncation"
 CFG_CFLAGS+=" -D__STDC_CONSTANT_MACROS"
 CFG_CFLAGS+=" -D__STDC_LIMIT_MACROS"
 CFG_CFLAGS+=" -DPNG_SKIP_SETJMP_CHECK=1"
 CFG_CFLAGS+=" -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64"
 CFG_CFLAGS+=" -I/usr/include/freetype2"
-CFG_CFLAGS+=" -I/usr/include/OpenEXR"
 
 AC_DEFUN([CHECK_WITH], [
 AC_ARG_WITH([$1],
@@ -33,6 +32,8 @@ CHECK_WITH([cindat],[cinelerra share path],[CINDAT_DIR],[auto])
 CHECK_WITH([plugin-dir],[plugin install dir],[PLUGIN_DIR],[auto])
 CHECK_WITH([ladspa-dir],[ladspa install dir],[LADSPA_DIR],[auto])
 CHECK_WITH([config-dir],[.bcast config dir],[CONFIG_DIR],[$$HOME/.bcast5])
+CHECK_WITH([browser],[cin_browser path],[CIN_BROWSER],[firefox])
+CHECK_WITH([git-ffmpeg],[git ffmpeg using url],[GIT_FFMPEG],[no])
 
 if test "x$WANT_CINBIN_BUILD" = "xyes"; then
   WANT_LOCALE_DIR='$$CIN_LIB/locale'
@@ -119,24 +120,13 @@ PKG_3RD([esound],[no],
     .libs/libesddsp.a ],
   [ . ])
 
-PKG_3RD([faac],[auto],
-  [faac-1.28],
-  [ libfaac/.libs/libfaac.a ],
-  [ include ])
-
-PKG_3RD([faad2],[auto],
-  [faad2-2.7],
-  [ libfaad/.libs/libfaad.a \
-    common/mp4ff/libmp4ff.a ],
-  [ include ])
-
 PKG_3RD([fdk],[auto],
   [fdk-aac-0.1.5],
   [ .libs/libfdk-aac.a ],
   [ libAACdec/include libAACenc/include libSYS/include ])
 
 PKG_3RD([ffmpeg],[yes],
-  [ffmpeg-3.3],
+  [ffmpeg-3.3.4],
   [ libavutil/libavutil.a \
     libavcodec/libavcodec.a \
     libpostproc/libpostproc.a \
@@ -147,6 +137,10 @@ PKG_3RD([ffmpeg],[yes],
     libswresample/libswresample.a ],
   [ . ])
 
+if test "x$WANT_GIT_FFMPEG" != "xno" ; then
+  ver_ffmpeg="ffmpeg.git"
+fi
+
 PKG_3RD([fftw],[auto],
   [fftw-3.3.6-pl2],
   [ .libs/libfftw3.a \
@@ -192,7 +186,7 @@ PKG_3RD([ilmbase],[auto],
     IlmThread/.libs/libIlmThread.a ],
   [ Iex Half Imath config IlmThread ])
 
-PKG_DEF([ladspa], [ladspa-05182015], [], [])
+PKG_DEF([ladspa], [ladspa-0.4.17], [], [])
 
 PKG_3RD([lame],[auto],
   [lame-3.99.5],
@@ -305,12 +299,12 @@ PKG_3RD([twolame],[auto],
   [  libtwolame ])
 
 PKG_3RD([x264],[auto],
-  [x264-snapshot-20170416-2245-stable],
+  [x264-snapshot-20170426-2245],
   [ libx264.a ],
   [ . ])
 
 PKG_3RD([x265],[auto],
-  [x265_2.3],
+  [x265_2.5],
   [ libx265.a ],
   [ . source ])
 
@@ -403,6 +397,7 @@ CHECK_LIB([XINERAMA], [Xinerama], [XineramaQueryExtension])
 CHECK_HEADERS([XINERAMA], [Xinerama headers], [X11/extensions/Xinerama.h])
 CHECK_LIB([XV], [Xv], [XvQueryExtension])
 CHECK_HEADERS([XV], [Xlib Xv extention], [X11/Xlib.h X11/extensions/Xvlib.h])
+CHECK_LIB([XFIXES], [Xfixes], [XFixesQueryVersion])
 CHECK_LIB([BZ2], [bz2], [BZ2_bzDecompress])
 CHECK_LIB([FONTCONFIG], [fontconfig], [FcInit])
 CHECK_LIB([FREETYPE], [freetype], [FT_Init_FreeType])
@@ -452,14 +447,14 @@ CHECK_LIB([a52dec], [a52], [a52_init])
 CHECK_HEADERS([a52dec], [a52 headers], [a52.h])
 CHECK_LIB([encore], [encore], [encore])
 CHECK_HEADERS([encore], [encore headers], [encore.h])
-CHECK_LIB([faac], [faac], [faacEncOpen])
-CHECK_HEADERS([faac], [faac headers], [faac.h])
-CHECK_LIB([faad2], [faad], [faacDecInit])
-CHECK_HEADERS([faad2], [faad headers], [faad.h])
 CHECK_LIB([giflib], [gif], [DGifOpen])
 CHECK_HEADERS([giflib], [gif lib headers], [gif_lib.h])
 CHECK_LIB([fdk], [fdk-aac], [faacDecInit])
 CHECK_HEADERS([fdk], [fdk headers], [fdk-aac/genericStds.h])
+CHECK_LIB([jbig], [jbig], [jbg_dec_init])
+CHECK_LIB([vdpau], [vdpau], [vdp_device_create_x11])
+CHECK_LIB([opus], [opus], [opus_multistream_decoder_create])
+CHECK_HEADERS([opus], [libopus headers], [opus/opus_multistream.h])
 
 #if test "x$HAVE_mjpegtools" = "xyes"; then
 #CFG_CFLAGS+=" -I/usr/include/mjpegtools"
@@ -476,7 +471,7 @@ if test "x$WANT_$1" != "xno" ; then
  if test "x$RESULT" = "xno" -a "x$PKG_$1" = "x"; then
   echo "=== want $1 Failed."
   WANT_$1=no
- else
+ elif test "x$WANT_$1" = "xauto" ; then
   WANT_$1=yes
  fi
 fi
@@ -532,18 +527,23 @@ CHECK_WANT([ESOUND], [no], [use esd], [
 CHECK_WANT([DL], [auto], [system has libdl], [
  CHECK_LIB([DL], [dl], [dlopen])])
 
+CHECK_WANT([EXR], [auto], [use exr], [])
+CHECK_WANT([OPENCV], [no], [opencv=sys/sta/dyn,git/tar=url], [
+ WANT_OPENCV="$withval"
+])
+
 CHECK_WANT([NUMA], [auto], [system has libnuma], [
  CHECK_LIB([NUMA], [numa], [numa_alloc])])
 
-
-AC_MSG_CHECKING([for openexr available])
-saved_LIBS="$LIBS"
-saved_CXXFLAGS="$CXXFLAGS"
-# ilmbase libs
-LIBS=" -lIlmImf -lIlmThread -lIex"
-CXXFLAGS="-I/usr/include/OpenEXR"
-AC_LANG_PUSH(C++)
-AC_LINK_IFELSE([AC_LANG_PROGRAM([[
+CHECK_WANT([OPENEXR], [auto], [use openexr], [
+ AC_MSG_CHECKING([for openexr available])
+ saved_LIBS="$LIBS"
+ saved_CXXFLAGS="$CXXFLAGS"
+ # ilmbase libs
+ LIBS=" -lIlmImf -lIlmThread -lIex"
+ CXXFLAGS="-I/usr/include/OpenEXR"
+ AC_LANG_PUSH(C++)
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([[
 #include "ImfChannelList.h"
 #include "ImfChromaticities.h"
 #include "ImfCompression.h"
@@ -558,15 +558,18 @@ class EXRIStream : public Imf::IStream { public:
 EXRIStream() : Imf::IStream("mypath") {} };
 class EXROStream : public Imf::OStream { public: 
 EXROStream() : Imf::OStream("mypath") {} };
-]])], [HAVE_openexr=yes], [HAVE_openexr=no])
-if test "x$HAVE_openexr" = "xyes"; then
-  SHARED_openexr="$LIBS"
-fi
-LIBS="$saved_LIBS"
-CXXFLAGS="$saved_CXXFLAGS"
-AC_LANG_POP(C++)
-AC_MSG_RESULT([$HAVE_openexr])
-AC_SUBST([HAVE_openexr])
+]])], [HAVE_OPENEXR=yes], [HAVE_OPENEXR=no])
+ RESULT="$HAVE_OPENEXR"
+ if test "x$RESULT" = "xyes"; then
+   SHARED_openexr="$LIBS"
+   CFG_CFLAGS+=" -I/usr/include/OpenEXR"
+ fi
+ LIBS="$saved_LIBS"
+ CXXFLAGS="$saved_CXXFLAGS"
+ AC_LANG_POP(C++)
+ AC_MSG_RESULT([$HAVE_OPENEXR])
+])
+AC_SUBST([HAVE_OPENEXR])
 
 # build global_config
 OBJDIR=`uname -m`
@@ -576,9 +579,10 @@ echo "AC_HELP_STRING([Reason],[Package])"
 echo "AC_HELP_STRING([------],[-------])"
 
 AC_DEFUN([PKG_DISABLED],[
-  BUILD_$1=0
-  AC_SUBST(BUILD_$1)
-  echo "AC_HELP_STRING([disabled],[$1])"
+ PKG_$1="no"
+ BUILD_$1=0
+ AC_SUBST(BUILD_$1)
+ echo "AC_HELP_STRING([disabled],[$1])"
 ])
 AC_DEFUN([PKG_SHARED],[
  BUILD_$1=0
@@ -587,6 +591,7 @@ AC_DEFUN([PKG_SHARED],[
  echo "AC_HELP_STRING([shared],[$1])"
 ])
 AC_DEFUN([PKG_STATIC],[
+ PKG_$1="yes"
  BUILD_$1=1
  AC_SUBST(BUILD_$1)
  STATIC_BLDS+=" [$1]"
@@ -596,7 +601,7 @@ AC_DEFUN([PKG_FORCED],[PKG_STATIC([$1],[forced])])
 
 # order matters
 for dep in \
-        ffmpeg/faac ffmpeg/faad2 ffmpeg/twolame ffmpeg/lame ffmpeg/openjpeg \
+        ffmpeg/twolame ffmpeg/lame ffmpeg/openjpeg \
         ffmpeg/libvorbis ffmpeg/libtheora ffmpeg/x264 ffmpeg/x265 ffmpeg/fdk \
         libiec61883/libraw1394 libavc1394/librom1394 \
         openexr/ilmbase ilmbase/libogg \
@@ -629,14 +634,12 @@ PKG_PROVIDE([djbfft])
 PKG_PROVIDE([encore])
 PKG_PROVIDE([audiofile],[$WANT_ESOUND])
 PKG_PROVIDE([esound],[$WANT_ESOUND])
-PKG_PROVIDE([faac])
-PKG_PROVIDE([faad2])
 PKG_PROVIDE([fdk])
 PKG_PROVIDE([ffmpeg])
 PKG_PROVIDE([fftw])
 PKG_PROVIDE([flac])
 PKG_PROVIDE([giflib])
-PKG_PROVIDE([ilmbase])
+PKG_PROVIDE([ilmbase], [$WANT_OPENEXR])
 PKG_PROVIDE([ladspa],[$WANT_LADSPA_BUILD])
 PKG_PROVIDE([lame])
 PKG_PROVIDE([libavc1394],[$WANT_FIREWIRE])
@@ -650,7 +653,7 @@ PKG_PROVIDE([libtheora])
 PKG_PROVIDE([libuuid])
 PKG_PROVIDE([libvorbis])
 PKG_PROVIDE([mjpegtools])
-PKG_PROVIDE([openexr])
+PKG_PROVIDE([openexr], [$WANT_OPENEXR])
 PKG_PROVIDE([openjpeg])
 PKG_PROVIDE([tiff])
 PKG_PROVIDE([twolame])
@@ -668,7 +671,7 @@ AC_SUBST(SYSTEM_LIBS)
 
 echo ""
 for v in GL XFT XXF86VM OSS ALSA FIREWIRE DV DVB \
-        VIDEO4LINUX2 ESOUND PACTL; do
+        VIDEO4LINUX2 ESOUND PACTL OPENEXR; do
   eval vv="\$WANT_$v"
   if test "x$vv" != "xno"; then
     CFG_CFLAGS+=" -DHAVE_$v"
@@ -685,8 +688,11 @@ echo "  using: exec-name = $WANT_CIN"
 echo "  using: with-cinlib = $WANT_CINLIB_DIR"
 echo "  using: with-cindat = $WANT_CINDAT_DIR"
 echo "  using: with-config-dir = $WANT_CONFIG_DIR"
+echo "  using: with-browser = $WANT_CIN_BROWSER"
 echo "  using: with-plugin-dir = $WANT_PLUGIN_DIR"
 echo "  using: with-ladspa-dir = $WANT_LADSPA_DIR"
+echo "  using: with-opencv = $WANT_OPENCV"
+echo "  using: with-git-ffmpeg = $WANT_GIT_FFMPEG"
 echo ""
 echo "  using: single-user  = $WANT_CINBIN_BUILD"
 echo "  using: static-build = $WANT_STATIC_BUILD"
@@ -694,6 +700,11 @@ echo "  using: ladspa-build = $WANT_LADSPA_BUILD"
 echo ""
 
 # build extras
+if test "x$HAVE_tiff" = "xyes"; then
+  if test "x$HAVE_jbig" = "xyes"; then
+    EXTRA_LIBS+=' -ljbig'
+  fi
+fi
 if test "x$HAVE_NUMA" = "xyes"; then
   EXTRA_LIBS+=' -lnuma'
 fi
@@ -701,6 +712,12 @@ if test "x$HAVE_DL" = "xyes"; then
   EXTRA_LIBS+=' -ldl'
   FFMPEG_EXTRA_CFG+=' --extra-ldflags="-ldl"'
 fi
+if test "x$HAVE_opus" = "xyes"; then
+  EXTRA_LIBS+=' -lopus'
+  CFG_CFLAGS+=' -I/usr/include/opus'
+  FFMPEG_EXTRA_CFG+=' --enable-libopus'
+fi
+
 AC_SUBST(EXTRA_LIBS)
 AC_SUBST(FFMPEG_EXTRA_CFG)
 AC_SUBST(WANT_X264_HIDEPTH)
@@ -755,6 +772,7 @@ echo "CFLAGS += '-DCONFIG_DIR=\"$WANT_CONFIG_DIR\"'"
 echo "CFLAGS += '-DPLUGIN_DIR=\"$WANT_PLUGIN_DIR\"'"
 echo "CFLAGS += '-DLOCALE_DIR=\"$WANT_LOCALE_DIR\"'"
 echo "CFLAGS += '-DLADSPA_DIR=\"$WANT_LADSPA_DIR\"'"
+echo "CFLAGS += '-DCIN_BROWSER=\"$WANT_CIN_BROWSER\"'"
 for flg in $CFG_CFLAGS; do echo "CFLAGS += $flg"; done
 echo ""
 for flg in $CFG_CXXFLAGS; do echo "CXXFLAGS += $flg"; done
@@ -767,8 +785,13 @@ if test  $WANT_X265_HIDEPTH = "yes" ; then
   echo "x265.cfg_params := -DENABLE_SHARED=no -DHIGH_BIT_DEPTH:BOOL=ON" # -DMAIN12:BOOL=ON"
 fi
 
-for pkg in $STATIC_PKGS; do echo "static_pkgs += $pkg"; done
+for pkg in $STATIC_PKGS; do
+  eval pkg_lib="\$PKG_$pkg"
+  if test "x$pkg_lib" = "xno"; then continue; fi;
+  echo "static_pkgs += $pkg"
+done
 echo ""
+
 for pkg in $STATIC_BLDS; do
   echo "static_blds += $pkg"
   ver_pkg=ver_$pkg
@@ -811,3 +834,16 @@ echo ""
 echo "export thirdparty_libraries libraries"
 echo "export CFLAGS_ CXXFLAGS_ LDFLAGS_"
 echo "unexport CFLAGS CXXFLAGS LDFLAGS"
+
+if test "x$HAVE_tiff" = "xyes"; then
+  if test "x$HAVE_jbig" != "xyes"; then
+    echo "tiff.cfg_params+= --disable-jbig"
+  fi
+fi
+
+if test "x$WANT_GIT_FFMPEG" != "xno"; then
+echo "ffmpeg.git := $WANT_GIT_FFMPEG"
+fi
+if test "x$HAVE_opus" = "xyes"; then
+echo 'ffmpeg.cflags+=" -I/usr/include/opus"'
+fi