X-Git-Url: https://git.cinelerra-gg.org/git/?p=goodguy%2Fcinelerra.git;a=blobdiff_plain;f=cinelerra-5.1%2Fconfigure.ac;h=1c9f289d0dc5063cc91e0233729ce3e833ee5293;hp=9ecd9c87a6b15404d9a62bdf79d7706e5fc66a3f;hb=2ff681c423ff0f83efbaed49aa37195a3b37f6db;hpb=9eedb4cc7bbccda7978b1f2a6225c7ae1465757a diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac index 9ecd9c87..1c9f289d 100644 --- a/cinelerra-5.1/configure.ac +++ b/cinelerra-5.1/configure.ac @@ -1,18 +1,22 @@ AC_PREREQ([2.69]) -AC_INIT([cinelerra], [5.1], [mail@lists.cinelerra-gg.org]) +AC_INIT([cinelerra],[5.1],[mail@lists.cinelerra-gg.org]) + +# Put autogenerated stuff in subdir m4, which must be created +# externally. This macro must be set before calling AC_INIT_AUTOMAKE +AC_CONFIG_AUX_DIR(m4) AM_INIT_AUTOMAKE([foreign]) AM_PROG_AS -AC_LANG_CPLUSPLUS -AC_LANG_C +AC_LANG([C++]) +AC_LANG([C]) AC_PROG_CXX CFG_CFLAGS+=" -fno-omit-frame-pointer -fno-math-errno -fno-signed-zeros" CFG_CFLAGS+=" -pthread -Wall" # misguided pedantic warnings # this is extra work, not a gain... -CFG_CFLAGS+=" -Wno-unknown-warning-option" +#CFG_CFLAGS+=" -Wno-unknown-warning-option" CFG_CFLAGS+=" -Wno-attributes" CFG_CFLAGS+=" -Wno-unused-result" CFG_CFLAGS+=" -Wno-stringop-overflow" @@ -25,13 +29,16 @@ 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 -I/usr/local/include" +CFG_CFLAGS+=" -I/data/data/com.termux/files/usr/include/a52dec -I/usr/include/a52dec" CFG_CFLAGS+=" -I/usr/include/freetype2 -I/usr/local/include/freetype2" +CFG_CFLAGS+=" -I/data/data/com.termux/files/usr/include/freetype2" CFG_CFLAGS+=" -I/usr/include/uuid -I/usr/local/include/uuid" +CFG_CFLAGS+=" -I/data/data/com.termux/files/usr/include/uuid -I/usr/local/include/uuid" CFG_CFLAGS+=" -I/usr/include/mjpegtools -I/usr/local/include/mjpegtools" AC_DEFUN([CHECK_WITH], [ AC_ARG_WITH([$1], - AC_HELP_STRING([--with-[$1]], [$2 ($4)]), + AS_HELP_STRING([--with-[$1]],[$2 ($4)]), [WANT_$3=$withval], [WANT_$3='$4']) AC_SUBST([WANT_$3]) ]) @@ -53,6 +60,7 @@ CHECK_WITH([git-ffmpeg],[git ffmpeg using url],[GIT_FFMPEG],[no]) CHECK_WITH([noelision],[use noelision/libpthread],[NOELISION],[auto]) CHECK_WITH([booby],[window lock trace booby trap],[BOOBY],[no]) CHECK_WITH([libzmpeg],[build libzmpeg],[LIBZMPEG],[yes]) +CHECK_WITH([libdpx],[build libdpx],[LIBDPX],[auto]) CHECK_WITH([commercial],[enable commercial capture],[COMMERCIAL],[no]) CHECK_WITH([thirdparty],[use thirdparty build],[CIN_3RDPARTY],[yes]) CHECK_WITH([shuttle],[shuttle device],[SHUTTLE],[yes]) @@ -63,6 +71,7 @@ CHECK_WITH([vdpau],[video decode+presentation api for unix],[VDPAU],[yes]) CHECK_WITH([nv],[nvenc/nvdec ffnvcodec api],[NV],[yes]) CHECK_WITH([cuda],[nv cuda plugins],[CUDA],[auto]) CHECK_WITH([clang],[use clang instead of gcc/g++],[CLANG],[no]) +CHECK_WITH([filegif],[enable filegif i/o], [GIFLIB],[yes]) if test "x$WANT_LV2" != "xno"; then GTK2_LIBS=`pkg-config --libs gtk+-2.0` @@ -77,6 +86,12 @@ fi if test "x$WANT_COMMERCIAL" = "xyes" -a "x$WANT_LIBZMPEG" != "xyes" ; then AC_MSG_ERROR([commercial requires libzmpeg support.]) fi +if test "x$WANT_VIDEO4LINUX2" = "xyes" -a "x$WANT_LIBZMPEG" != "xyes" ; then + AC_MSG_ERROR([video4linux2 currently requires libzmpeg support.]) +fi +if test "x$WANT_DVB" = "xyes" -a "x$WANT_LIBZMPEG" != "xyes" ; then + AC_MSG_ERROR([dvb currently requires libzmpeg support.]) +fi if test "x$WANT_CINBIN_BUILD" = "xyes"; then WANT_LOCALE_DIR='$$CIN_LIB/locale' @@ -140,7 +155,8 @@ AC_SUBST(MAK_INSTALLS) AC_SUBST(MAK_UNINSTALLS) if test "x$WANT_JOBS" = "xauto"; then - CPUS=`grep -c "^proc" /proc/cpuinfo` +# CPUS=`grep -c "^proc" /proc/cpuinfo` + CPUS=`nproc` WANT_JOBS=`expr $CPUS + $CPUS / 2 + 2` fi @@ -153,7 +169,7 @@ inc_$1="$4" AC_DEFUN([PKG_3RD],[ AC_ARG_ENABLE([$1], - AC_HELP_STRING([--enable-$1],[build $1 ($2)]), + AS_HELP_STRING([--enable-$1],[build $1 ($2)]), [PKG_$1=$enableval], [PKG_$1=$2]) PKG_DEF([$1],[$3],[$4],[$5]) ]) @@ -193,7 +209,6 @@ PKG_3RD([ffmpeg],[yes], [ libavutil/libavutil.a \ libavcodec/libavcodec.a \ libpostproc/libpostproc.a \ - libavdevice/libavdevice.a \ libavformat/libavformat.a \ libswscale/libswscale.a \ libavfilter/libavfilter.a \ @@ -205,7 +220,7 @@ if test "x$WANT_GIT_FFMPEG" != "xno" ; then fi PKG_3RD([fftw],[auto], - [fftw-3.3.8], + [fftw-3.3.10], [ .libs/libfftw3.a \ libbench2/libbench2.a \ rdft/scalar/r2cb/.libs/librdft_scalar_r2cb.a \ @@ -270,7 +285,7 @@ PKG_3RD([libdv],[auto], [ . ]) PKG_3RD([libjpeg],[auto], - [libjpeg-turbo-2.1.0], + [libjpeg-turbo-2.1.2], [ build/libjpeg.a \ build/libturbojpeg.a ], [ opt/libjpeg-turbo/include ]) @@ -281,12 +296,12 @@ PKG_3RD([opus],[auto], [ include ]) PKG_3RD([openjpeg],[auto], - [openjpeg-2.4.0], + [openjpeg-2.5.0], [ bin/libopenjp2.a ], [ src/lib/openjp2 ]) PKG_3RD([libogg],[auto], - [libogg-1.3.4], + [libogg-1.3.5], [ src/.libs/libogg.a ], [ include ]) @@ -317,6 +332,13 @@ PKG_3RD([libvorbis],[auto], lib/.libs/libvorbisfile.a ], [ include . ]) +## arch dep tests +ARCH=[`uname -m`] +I86=[`expr "x$ARCH" : 'xi[346]86.*'`] +X86=[`expr "x$ARCH" : 'x..._64*'`] + +if test "x$I86$X86" != "x00" ; then + PKG_3RD([mjpegtools],[yes], [mjpegtools-2.1.0], [ utils/mmxsse/.libs/libmmxsse.a \ @@ -328,6 +350,20 @@ PKG_3RD([mjpegtools],[yes], mpeg2enc/.libs/libmpeg2encpp.a ], [ . lavtools utils ]) +else + +PKG_3RD([mjpegtools],[yes], + [mjpegtools-2.1.0], + [ utils/.libs/libmjpegutils.a \ + lavtools/.libs/liblavfile.a \ + lavtools/.libs/liblavjpeg.a \ + mplex/.libs/libmplex2.a \ + yuvfilters/.libs/libyuvfilters.a \ + mpeg2enc/.libs/libmpeg2encpp.a ], + [ . lavtools utils ]) + +fi + PKG_3RD([openexr],[auto], [openexr-2.4.1], [ usr/local/lib/libHalf.a \ @@ -352,7 +388,7 @@ PKG_3RD([ilmBase],[auto], [ilmBase], [] []) # []) # PKG_3RD([tiff],[auto], - [tiff-4.1.0], + [tiff-4.3.0], [ libtiff/.libs/libtiff.a \ libtiff/.libs/libtiffxx.a \ port/.libs/libport.a ],[ @@ -374,7 +410,7 @@ PKG_3RD([x265],[auto], [ . source ]) PKG_3RD([libvpx],[auto], - [libvpx-1.8.2], + [libvpx-1.11.0], [ libvpx.a ], [ . ]) @@ -428,11 +464,25 @@ PKG_3RD([ffnvcodec],[auto], [ ], [ . ]) +PKG_3RD([libdpx],[auto], + [libdpx], + [ libdpx/libdpx.a ], + [ libdpx ]) + +if test [ "$(uname -o)"] = "Android" ; then + +PKG_3RD([libbthread],[auto], + [libbthread-master], + [ *.a ], + [ . ]) +fi + + AC_SUBST(STATIC_PKGS) AC_DEFUN([CHECK_ENABLE], [ AC_ARG_ENABLE([$1], - AC_HELP_STRING([--enable-[$1]], [$3 ([$4])]), + AS_HELP_STRING([--enable-[$1]],[$3 ([$4])]), [WANT_$2=$enableval], [WANT_$2=[$4]]) ]) @@ -476,6 +526,10 @@ if test "x$I86$X86" != "x00" ; then REQUIRE_PROG(YASM, [yasm]) fi +if test "x$I86$X86" == "x00"; then + CFG_CFLAGS+=" -DNO_CTX -DNO_GDB -DNO_BTRACE" +fi + ## end arch dep tests REQUIRE_PROG(OBJCOPY, [objcopy]) @@ -528,6 +582,8 @@ if test "x$HAVE_$1" != "xno"; then fi ]) +IMMATH_HEADERS=$(pkg-config --cflags Imath) + CHECK_LIB([X11], [X11], [XOpenDisplay]) CHECK_HEADERS([X11], [X11 headers], [X11/X.h X11/Xlib.h X11/Xutil.h X11/cursorfont.h]) CHECK_HEADERS([X11], [X11 headers], [X11/keysym.h X11/Sunkeysym.h X11/Xatom.h X11/XF86keysym.h]) @@ -535,7 +591,16 @@ CHECK_LIB([XEXT], [Xext], [XShmQueryExtension]) CHECK_HEADERS([XEXT], [Xlib XShm extention], [X11/Xlib.h X11/extensions/XShm.h X11/extensions/shape.h]) CHECK_LIB([XINERAMA], [Xinerama], [XineramaQueryExtension]) CHECK_HEADERS([XINERAMA], [Xinerama headers], [X11/extensions/Xinerama.h]) + +if test "x$HAVE_XINERAMA" != "xyes"; then + AC_MSG_ERROR([requires Xinerama support.]) +fi + CHECK_LIB([XFIXES], [Xfixes], [XFixesQueryVersion]) +if test "x$HAVE_XFIXES" != "xyes"; then + AC_MSG_ERROR([requires XFixes support.]) +fi + CHECK_LIB([BZ2], [bz2], [BZ2_bzDecompress]) CHECK_LIB([FONTCONFIG], [fontconfig], [FcInit]) CHECK_LIB([FREETYPE], [freetype], [FT_Init_FreeType]) @@ -561,6 +626,7 @@ CHECK_LIB([libsndfile], [sndfile], [sf_open]) CHECK_HEADERS([libsndfile], [sndfile headers], [sndfile.h]) CHECK_LIB([ilmbase], [IlmImf], [ImfOpenInputFile]) CHECK_HEADERS([ilmbase], [IlmImf headers], [OpenEXR/ImfCRgbaFile.h]) +CHECK_LIB([Imath], [Imath], [ImfOpenInputFile]) CHECK_LIB([libvpx], [vpx], [vpx_codec_decode]) CHECK_HEADERS([libvpx], [vpx headers], [vpx/vpx_decoder.h]) CHECK_LIB([mjpegtools], [mjpegutils], [mjpeg_info]) @@ -582,7 +648,7 @@ CHECK_HEADERS([dav1d], [libdav1d headers], [dav1d/dav1d.h]) CHECK_LIB([libwebp], [webp], [WebPGetEncoderVersion]) CHECK_HEADERS([libwebp], [libwebp headers], [webp/encode.h]) CHECK_LIB([a52dec], [a52], [a52_init]) -CHECK_HEADERS([a52dec], [a52 headers], [stdint.h a52.h]) +CHECK_HEADERS([a52dec], [a52 headers], [stdint.h a52dec/a52.h]) CHECK_LIB([encore], [encore], [encore]) CHECK_HEADERS([encore], [encore headers], [encore.h]) CHECK_LIB([giflib], [gif], [DGifOpen]) @@ -615,7 +681,7 @@ AC_DEFUN([CHECK_WANT], [ RESULT=yes # WANT_$1 AC_ARG_WITH(m4_tolower([$1]), - AC_HELP_STRING([m4_join([-],[--with],m4_tolower([$1]))], [$3] (auto)), + AS_HELP_STRING([m4_join([-],[--with],m4_tolower([$1]))],[$3 (auto)]), [WANT_$1=$withval],[WANT_$1=$2]) m4_quote($4) if test "x$WANT_$1" = "xauto" ; then @@ -730,19 +796,29 @@ CHECK_WANT([SHUTTLE_USB], [yes], [use libusb-1.0], [ CHECK_HEADERS([libusbx], [libusb headers], [libusb-1.0/libusb.h])]) CHECK_WANT([LV2], [auto], [use lv2], [ + AC_MSG_CHECKING([for lv2 availability]) + saved_LIBS="$LIBS" saved_CFLAGS="$CFLAGS" + LIBS=" $(pkg-config --libs lilv-0)" CHECK_LIB([lilv], [lilv-0], [lilv_world_new]) CHECK_LIB([sord], [sord-0], [sord_world_new]) CHECK_LIB([serd], [serd-0], [serd_reader_new]) CHECK_LIB([sratom], [sratom-0], [sratom_new]) - CFLAGS="-I/usr/include/lilv-0 -I/usr/local/include/lilv-0" - CHECK_HEADERS([lv2], [lilv headers], [lilv/lilv.h]) + CFLAGS="-I/usr/include/lilv-0 -I/usr/local/include/lilv-0 `pkg-config --cflags lilv-0`" + CHECK_HEADERS([lilv], [lilv headers], [lilv/lilv.h]) + CFLAGS="-I/usr/include/serd-0 -I/usr/local/include/serd-0 `pkg-config --cflags serd-0`" + CHECK_HEADERS([serd], [serd headers], [serd/serd.h]) + CFLAGS="-I/usr/include/sord-0 -I/usr/local/include/sord-0 `pkg-config --cflags sord-0`" + CHECK_HEADERS([sord], [sord headers], [sord/sord.h]) + CFLAGS="-I/usr/include/sratom-0 -I/usr/local/include/sratom-0 `pkg-config --cflags sratom-0`" + CHECK_HEADERS([sratom], [sratom headers], [sratom/sratom.h]) CHECK_LIB([suil], [suil-0], [suil_instance_new]) - CFLAGS="-I/usr/include/suil-0 -I/usr/local/include/suil-0" - CHECK_HEADERS([lv2], [suil headers], [suil/suil.h]) + CFLAGS="-I/usr/include/suil-0 -I/usr/local/include/suil-0 `pkg-config --cflags suil-0`" + CHECK_HEADERS([suil], [suil headers], [suil/suil.h]) + CFG_CFLAGS+=" $(pkg-config --cflags lilv-0) $(pkg-config --cflags suil-0)" + LIBS="$saved_LIBS" CFLAGS="$saved_CFLAGS"]) # have all or none -test "x$HAVE_lv2" = "xyes" && \ test "x$HAVE_lilv" = "xyes" && \ test "x$HAVE_sord" = "xyes" && \ test "x$HAVE_serd" = "xyes" && \ @@ -774,8 +850,13 @@ CHECK_WANT([OPENEXR], [auto], [use openexr], [ saved_LIBS="$LIBS" saved_CXXFLAGS="$CXXFLAGS" # ilmbase libs + if test "xHAVE_Imath"="xyes"; then + LIBS=" -lImath -lIlmThread -lIex -lpthread" + else LIBS=" -lIlmImf -lIlmThread -lIex -lpthread" + fi CXXFLAGS="-I/usr/include/OpenEXR -I/usr/local/include/OpenEXR" + CXXFLAGS+=" $(pkg-config --cflags OpenEXR)" AC_LANG_PUSH(C++) AC_LINK_IFELSE([AC_LANG_PROGRAM([[ #include "ImfChannelList.h" @@ -801,13 +882,22 @@ EXROStream() : Imf::OStream("mypath") {} }; SHARED_openexr="$LIBS" SHARED_LIBS+=" $LIBS" CFG_CFLAGS+=" -I/usr/include/OpenEXR -I/usr/local/include/OpenEXR" + CFG_CFLAGS+=" $(pkg-config --cflags OpenEXR)" fi + CFG_CFLAGS+=" $(pkg-config --cflags OpenEXR)" fi LIBS="$saved_LIBS" CXXFLAGS="$saved_CXXFLAGS" AC_LANG_POP(C++) AC_MSG_RESULT([$HAVE_OPENEXR]) ]) + +if test "x$WANT_CIN_3RDPARTY" = "xno"; then + if test "x$HAVE_OPENEXR" != "xyes" -a "x$WANT_OPENEXR" = "xyes"; then + AC_MSG_ERROR([requires OpenEXR but OpenEXR not found.]) + fi +fi + AC_SUBST([HAVE_OPENEXR]) # have all or none test "x$HAVE_openexr" = "xyes" && \ @@ -817,18 +907,24 @@ HAVE_openexr=no \ HAVE_ilmbase=no \ HAVE_OPENEXR=no +if test "x$WANT_CIN_3RDPARTY" = "xno"; then + if test "x$HAVE_LV2" != "xyes" -a "x$WANT_LV2" = "xyes"; then + AC_MSG_ERROR([lv2 requested but no lv2 headers found]) + fi +fi + # build global_config OBJDIR=`uname -m` AC_SUBST(OBJDIR) -echo "AC_HELP_STRING([Reason],[Package])" -echo "AC_HELP_STRING([------],[-------])" +echo "AS_HELP_STRING([Reason],[Package])" +echo "AS_HELP_STRING([------],[-------])" AC_DEFUN([PKG_DISABLED],[ PKG_$1="no" BUILD_$1=0 AC_SUBST(BUILD_$1) - echo "AC_HELP_STRING([disabled],[$1])" + echo "AS_HELP_STRING([disabled],[$1])" ]) AC_DEFUN([PKG_SHARED],[ PKG_$1="shared" @@ -843,7 +939,7 @@ AC_DEFUN([PKG_STATIC],[ BUILD_$1=1 AC_SUBST(BUILD_$1) STATIC_BLDS+=" [$1]" - echo "AC_HELP_STRING([$2],[$1])" + echo "AS_HELP_STRING([$2],[$1])" fi ]) @@ -885,6 +981,7 @@ if test "x$BUILD_$1" = "x" ; then fi ]) +PKG_PROVIDE([libbthread]) PKG_PROVIDE([a52dec]) PKG_PROVIDE([djbfft]) PKG_PROVIDE([encore]) @@ -893,7 +990,7 @@ PKG_PROVIDE([esound],[$WANT_ESOUND]) PKG_PROVIDE([ffmpeg]) PKG_PROVIDE([fftw]) PKG_PROVIDE([flac]) -PKG_PROVIDE([giflib]) +PKG_PROVIDE([giflib], [$WANT_GIFLIB]) PKG_PROVIDE([ilmBase], [$WANT_OPENEXR]) PKG_PROVIDE([ladspa],[$WANT_LADSPA_BUILD]) PKG_PROVIDE([lame]) @@ -927,6 +1024,7 @@ PKG_PROVIDE([serd], [$WANT_LV2]) PKG_PROVIDE([sord], [$WANT_LV2]) PKG_PROVIDE([suil], [$WANT_LV2]) PKG_PROVIDE([ffnvcodec], [$WANT_NV]) +PKG_PROVIDE([libdpx]) if test "x$WANT_LV2" = "xyes"; then if test "x$HAVE_lv2" = "xyes" -a "x$BUILD_lilv" = "x0"; then @@ -937,11 +1035,11 @@ fi AC_SUBST(STATIC_BLDS) for f in $SHARED_LIBS; do - echo "AC_HELP_STRING([shared],[$f])" + echo "AS_HELP_STRING([shared],[$f])" done AC_SUBST(SHARED_LIBS) for f in $SYSTEM_LIBS; do - echo "AC_HELP_STRING([system],[$f])" + echo "AS_HELP_STRING([system],[$f])" done AC_SUBST(SYSTEM_LIBS) @@ -951,7 +1049,7 @@ if test "x$WANT_CIN_3RDPARTY" != "xno"; then fi for v in GL XFT XXF86VM OSS ALSA FIREWIRE OGG DV DVB LADSPA \ VIDEO4LINUX2 ESOUND PULSE PACTL OPENEXR LV2 \ - COMMERCIAL LIBZMPEG SHUTTLE SHUTTLE_USB XV \ + COMMERCIAL GIFLIB LIBZMPEG LIBDPX SHUTTLE SHUTTLE_USB XV \ VAAPI VDPAU CUDA NV WINTV X10TV; do eval vv="\$WANT_$v" if test "x$vv" != "xno"; then @@ -979,12 +1077,12 @@ fi FFMPEG_EXTRA_LDFLAGS="" if test "x$WANT_VAAPI" != "xno" -a "x$HAVE_VAAPI" = "xyes"; then - FFMPEG_EXTRA_LDFLAGS+=' -lva' - EXTRA_LIBS+=' -lva' + FFMPEG_EXTRA_LDFLAGS+=' -lva `pkg-config --libs libva`' + EXTRA_LIBS+=' -lva ' WANT_VAAPI="yes" if test "x$HAVE_vaapi_x11" = "xyes"; then FFMPEG_EXTRA_LDFLAGS+=' -lva-x11' - EXTRA_LIBS+=' -lva-x11' + EXTRA_LIBS+=' -lva-x11 `pkg-config --libs x11`' fi if test "x$HAVE_vaapi_drm" = "xyes"; then FFMPEG_EXTRA_LDFLAGS+=' -lva-drm' @@ -1015,6 +1113,11 @@ if test "x$WANT_BOOBY" != "xno"; then CFG_CFLAGS+=" -DBOOBY" fi +if test [ "$(uname -o)"] = "Android" ; then +# termux +EXTRA_LIBS+=' -liconv -landroid-shmem' +fi + # intel lock elision bugs if test "x$WANT_NOELISION" != "xno"; then CFG_RPATH=`ls -1fd 2> /dev/null \