delete stray line in last checkin
[goodguy/history.git] / cinelerra-5.1 / configure.ac
index 9eed445c3855d0c78cf1d90b4fe17f34fa140210..d54d490547e7dcd79c14b83353fd1d7cc010454b 100644 (file)
@@ -9,7 +9,13 @@ 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"
+# misguided pedantic warnings
+CFG_CFLAGS+=" -Wno-unused-result"
+CFG_CFLAGS+=" -Wno-stringop-truncation"
+CFG_CFLAGS+=" -Wno-stringop-overflow"
+CFG_CFLAGS+=" -Wno-format-truncation"
+CFG_CFLAGS+=" -Wno-format-overflow"
 CFG_CFLAGS+=" -D__STDC_CONSTANT_MACROS"
 CFG_CFLAGS+=" -D__STDC_LIMIT_MACROS"
 CFG_CFLAGS+=" -DPNG_SKIP_SETJMP_CHECK=1"
@@ -33,6 +39,7 @@ 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'
@@ -125,7 +132,7 @@ PKG_3RD([fdk],[auto],
   [ libAACdec/include libAACenc/include libSYS/include ])
 
 PKG_3RD([ffmpeg],[yes],
-  [ffmpeg-3.3.4],
+  [ffmpeg-3.4.1],
   [ libavutil/libavutil.a \
     libavcodec/libavcodec.a \
     libpostproc/libpostproc.a \
@@ -136,8 +143,12 @@ 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],
+  [fftw-3.3.7],
   [ .libs/libfftw3.a \
     libbench2/libbench2.a \
     rdft/scalar/r2cb/.libs/librdft_scalar_r2cb.a \
@@ -151,8 +162,7 @@ PKG_3RD([fftw],[auto],
     dft/scalar/.libs/libdft_scalar.a \
     dft/.libs/libdft.a \
     kernel/.libs/libkernel.a \
-    simd-support/.libs/libsimd_support.a \
-    simd-support/.libs/libsimd_sse2_nonportable.a ],
+    simd-support/.libs/libsimd_support.a ],
   [ api ])
 
 PKG_3RD([flac],[auto],
@@ -173,7 +183,7 @@ PKG_3RD([giflib],[yes],
   [ lib ])
 
 PKG_3RD([ilmbase],[auto],
-  [ilmbase-2.2.0],
+  [ilmbase-2.2.1],
   [ Iex/.libs/libIex.a \
     IexMath/.libs/libIexMath.a \
     Half/.libs/libHalf.a \
@@ -184,7 +194,7 @@ PKG_3RD([ilmbase],[auto],
 PKG_DEF([ladspa], [ladspa-0.4.17], [], [])
 
 PKG_3RD([lame],[auto],
-  [lame-3.99.5],
+  [lame-3.100],
   [ libmp3lame/.libs/libmp3lame.a \
     mpglib/.libs/libmpgdecoder.a ],
   [ include ])
@@ -218,6 +228,11 @@ PKG_3RD([libjpeg],[auto],
     simd/.libs/libsimd.a ],
   [ . ])
 
+PKG_3RD([opus],[auto],
+  [opus-1.2.1],
+  [ .libs/libopus.a ],
+  [ include ])
+
 PKG_3RD([openjpeg],[auto],
   [openjpeg-2.1.0-20160221],
   [ bin/libopenjp2.a ],
@@ -267,7 +282,7 @@ PKG_3RD([mjpegtools],[yes],
   [ .  lavtools utils ])
 
 PKG_3RD([openexr],[auto],
-  [openexr-2.2.0],
+  [openexr-2.2.1],
   [ IlmImf/.libs/libIlmImf.a \
     IlmImfUtil/.libs/libIlmImfUtil.a ],
   [ IlmImf config ])
@@ -282,7 +297,7 @@ PKG_3RD([openexr],[auto],
 #  [])
 #
 PKG_3RD([tiff],[auto],
-  [tiff-4.0.6],
+  [tiff-4.0.9],
   [ libtiff/.libs/libtiff.a \
     libtiff/.libs/libtiffxx.a \
     port/.libs/libport.a ],[
@@ -294,12 +309,12 @@ PKG_3RD([twolame],[auto],
   [  libtwolame ])
 
 PKG_3RD([x264],[auto],
-  [x264-snapshot-20170426-2245],
+  [x264-snapshot-20180118-2245],
   [ libx264.a ],
   [ . ])
 
 PKG_3RD([x265],[auto],
-  [x265_2.5],
+  [x265_v2.6],
   [ libx265.a ],
   [ . source ])
 
@@ -318,7 +333,6 @@ AC_ARG_ENABLE([$1],
 
 CHECK_ENABLE([static-build], [STATIC_BUILD], [build static], [auto])
 CHECK_ENABLE([x264_hidepth], [X264_HIDEPTH], [build x264 10bit], [no])
-CHECK_ENABLE([x265_hidepth], [X265_HIDEPTH], [build x265 10/12bit], [no])
 
 test "x$WANT_STATIC_BUILD" = "xauto" && WANT_STATIC_BUILD=$WANT_CINBIN_BUILD
 
@@ -344,6 +358,19 @@ fi
 CHECK_PROG(PACTL, [pactl])
 WANT_PACTL=$PROG_PACTL
 
+# libx264 nasm fix
+AC_MSG_CHECKING([nasm x264 compatible])
+echo "vmovdqa32 [[eax]]{k1}{z}, zmm0" > conftest.asm
+nasm conftest.asm -o conftest.o > /dev/null 2>&1
+if test $? != 0 ; then
+ AC_MSG_RESULT([no])
+ AC_MSG_WARN([libx264 built without assembly code])
+ X264_CFG_PARAMS="$X264_CFG_PARAMS --disable-asm"
+else
+ AC_MSG_RESULT([yes])
+fi
+rm -f conftest.asm conftest.o
+
 AC_CHECK_DECL([X_HAVE_UTF8_STRING],,[no_utf=yes],[#include <X11/Xlib.h>])
 if test "$no_utf" = "yes"; then
   AC_MSG_ERROR([Cinelerra requires utf8 support in X Windows.])
@@ -392,6 +419,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])
@@ -516,12 +544,16 @@ CHECK_WANT([ESOUND], [no], [use esd], [
  CHECK_LIB([audiofile], [audiofile], [afOpenFile])
  CHECK_HEADERS([audiofile], [audiofile headers], [audiofile.h])])
 
+CHECK_WANT([LIBOPUS], [auto], [use libopus], [
+ CHECK_LIB([opus], [opus], [opus_multistream_decoder_create])
+ CHECK_HEADERS([opus], [libopus headers], [opus/opus_multistream.h])])
+
 CHECK_WANT([DL], [auto], [system has libdl], [
  CHECK_LIB([DL], [dl], [dlopen])])
 
 CHECK_WANT([EXR], [auto], [use exr], [])
-CHECK_WANT([FINDOBJECT], [no], [findobject=sys/sta/dyn], [
- WANT_FINDOBJECT="$withval"
+CHECK_WANT([OPENCV], [no], [opencv=sys/sta/dyn,git/tar=url], [
+ WANT_OPENCV="$withval"
 ])
 
 CHECK_WANT([NUMA], [auto], [system has libnuma], [
@@ -532,7 +564,7 @@ CHECK_WANT([OPENEXR], [auto], [use openexr], [
  saved_LIBS="$LIBS"
  saved_CXXFLAGS="$CXXFLAGS"
  # ilmbase libs
- LIBS=" -lIlmImf -lIlmThread -lIex"
+ LIBS=" -lIlmImf -lIlmThread -lIex -lpthread"
  CXXFLAGS="-I/usr/include/OpenEXR"
  AC_LANG_PUSH(C++)
  AC_LINK_IFELSE([AC_LANG_PROGRAM([[
@@ -652,6 +684,7 @@ PKG_PROVIDE([twolame])
 PKG_PROVIDE([x264])
 PKG_PROVIDE([x265])
 PKG_PROVIDE([libvpx])
+PKG_PROVIDE([opus], [$WANT_OPUS])
 
 AC_SUBST(STATIC_BLDS)
 AC_SUBST(SHARED_LIBS)
@@ -683,7 +716,8 @@ 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-findobject = $WANT_FINDOBJECT"
+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"
@@ -703,10 +737,15 @@ 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)
-AC_SUBST(WANT_X265_HIDEPTH)
 
 AC_SUBST(CFG_CFLAGS)
 AC_SUBST(CFG_CXXFLAGS)
@@ -764,10 +803,7 @@ for flg in $CFG_CXXFLAGS; do echo "CXXFLAGS += $flg"; done
 echo ""
 
 if test  $WANT_X264_HIDEPTH = "yes" ; then
-  echo "x264.cfg_params := --enable-static --bit-depth=10"
-fi
-if test  $WANT_X265_HIDEPTH = "yes" ; then
-  echo "x265.cfg_params := -DENABLE_SHARED=no -DHIGH_BIT_DEPTH:BOOL=ON" # -DMAIN12:BOOL=ON"
+  X264_CFG_PARAMS="$X264_CFG_PARAMS --bit-depth=10"
 fi
 
 for pkg in $STATIC_PKGS; do
@@ -826,3 +862,12 @@ if test "x$HAVE_tiff" = "xyes"; then
   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
+if test "x$X264_CFG_PARAMS" != "x" ; then
+  echo "x264.cfg_params :=$X264_CFG_PARAMS --enable-static --enable-pic"
+fi