X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fconfigure.ac;h=7ba17ed63dba0304a9412abb0da8e8c21d632a95;hb=3966bf849d26244bc8b9a39fa485a808272225d0;hp=2445b0daf524c2ab686462f39419ba977bbc740f;hpb=7a70932d3e04454177c456d0b42ee2f5318d6ad1;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac index 2445b0da..7ba17ed6 100644 --- a/cinelerra-5.1/configure.ac +++ b/cinelerra-5.1/configure.ac @@ -8,28 +8,85 @@ AC_LANG_CPLUSPLUS AC_LANG_C AC_PROG_CXX -CFLAGS+=" -fno-omit-frame-pointer -fno-math-errno -fno-signed-zeros" -CFLAGS+=" -pthread -Wall" -CFLAGS+=" -D__STDC_CONSTANT_MACROS" -CFLAGS+=" -D__STDC_LIMIT_MACROS" -CFLAGS+=" -DPNG_SKIP_SETJMP_CHECK=1" -CFLAGS+=" -I/usr/include/freetype2" - -CPUS=`grep -c "^proc" /proc/cpuinfo` -JOBS=`expr $CPUS + $CPUS / 2 + 2` -AC_ARG_WITH([jobs], - AC_HELP_STRING([--with-jobs],[parallel build jobs (cpus+cpus/2+2)]), - [WANT_JOBS=$withval], [WANT_JOBS=$JOBS]) -AC_SUBST(WANT_JOBS) +CFG_CFLAGS+=" -fno-omit-frame-pointer -fno-math-errno -fno-signed-zeros" +CFG_CFLAGS+=" -pthread -Wall -Wno-unused-result" +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" + +AC_DEFUN([CHECK_WITH], [ +AC_ARG_WITH([$1], + AC_HELP_STRING([--with-[$1]], [$2 ($4)]), + [WANT_$3=$withval], [WANT_$3='$4']) +AC_SUBST([WANT_$3]) +]) + +CHECK_WITH([jobs],[parallel build jobs],[JOBS],[auto]) +CHECK_WITH([exec-name],[binary executable name],[CIN],[cin]) +CHECK_WITH([single-user],[to install cin in bin],[CINBIN_BUILD],[no]) +CHECK_WITH([ladspa-build],[build ladspa library],[LADSPA_BUILD],[yes]) +CHECK_WITH([cinlib],[cinelerra library path],[CINLIB_DIR],[auto]) +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]) + +if test "x$WANT_CINBIN_BUILD" = "xyes"; then + WANT_LOCALE_DIR='$$CIN_LIB/locale' + test "x$WANT_CINDAT_DIR" = "xauto" && WANT_CINDAT_DIR='$$CIN_PATH' + test "x$WANT_CINLIB_DIR" = "xauto" && WANT_CINLIB_DIR='$$CIN_PATH' + test "x$WANT_PLUGIN_DIR" = "xauto" && WANT_PLUGIN_DIR='$$CIN_LIB/plugins' + test "x$WANT_LADSPA_DIR" = "xauto" && WANT_LADSPA_DIR='$$CIN_LIB/ladspa' + sinstall=dinstall + suninstall=duninstall +else + lcldir=`test "x$prefix" = "xNONE" && prefix=$ac_default_prefix; \ + test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"; \ + eval "dir=\"$localedir\""; eval "dir=\"$dir\""; eval "dir=\"$dir\""; \ + echo "$dir"` + usrdat=`test "x$prefix" = "xNONE" && prefix=$ac_default_prefix; \ + test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"; \ + eval "dir=\"$datadir\""; eval "dir=\"$dir\""; eval "dir=\"$dir\""; \ + echo "$dir"` + usrlib=`test "x$prefix" = "xNONE" && prefix="$ac_default_prefix"; \ + test "x$exec_prefix" = "xNONE" && exec_prefix="${prefix}"; \ + eval "dir=\"$libdir\""; eval "dir=\"$dir\""; eval "dir=\"$dir\""; \ + echo "$dir"` + test "x$usrlib" = "x/lib" -o "x$usrlib" = "x/usr/lib" -o \ + "x$usrlib" = "x/usr/local/lib" -a -e "/usr/lib64" && \ + test ! -e "/usr/lib" -o `ls -1 /usr/lib64 | wc -l` -gt `ls -1 /usr/lib | wc -l` && \ + usrlib+="64" + WANT_LOCALE_DIR="$lcldir" + test "x$WANT_CINDAT_DIR" = "xauto" && WANT_CINDAT_DIR="$usrdat/$WANT_CIN" + test "x$WANT_CINLIB_DIR" = "xauto" && WANT_CINLIB_DIR="$usrlib/$WANT_CIN" + test "x$WANT_PLUGIN_DIR" = "xauto" && WANT_PLUGIN_DIR="$WANT_CINLIB_DIR/plugins" + test "x$WANT_LADSPA_DIR" = "xauto" && WANT_LADSPA_DIR="$WANT_CINLIB_DIR/ladspa" + sinstall=cinstall + suninstall=cuninstall +fi +AC_SUBST(sinstall) +AC_SUBST(suninstall) + +if test "x$WANT_JOBS" = "xauto"; then + CPUS=`grep -c "^proc" /proc/cpuinfo` + WANT_JOBS=`expr $CPUS + $CPUS / 2 + 2` +fi + +AC_DEFUN([PKG_DEF],[ +STATIC_PKGS+=" [$1]" +ver_$1="$2" +lib_$1="$3" +inc_$1="$4" +]) AC_DEFUN([PKG_3RD],[ AC_ARG_ENABLE([$1], AC_HELP_STRING([--enable-$1],[build $1 ($2)]), [PKG_$1=$enableval], [PKG_$1=$2]) -STATIC_PKGS+=" [$1]" -ver_$1="$3" -lib_$1="$4" -inc_$1="$5" +PKG_DEF([$1],[$3],[$4],[$5]) ]) # thirdparty builds @@ -39,43 +96,36 @@ PKG_3RD([a52dec],[yes], [ liba52/.libs/liba52.a ], [ include ]) -PKG_3RD([audiofile],[auto], +PKG_3RD([djbfft],[yes], + [djbfft-0.76], + [ libdjbfft.a ], + [ . ]) + +PKG_3RD([audiofile],[no], [audiofile-0.3.6], [ libaudiofile/.libs/libaudiofile.a \ libaudiofile/modules/.libs/libmodules.a \ libaudiofile/alac/.libs/libalac.a ], [ libaudiofile ]) -PKG_3RD([encore],[yes], +PKG_3RD([encore],[no], [encore-5.0], [ \$(OBJDIR)/libencore.a ], [ . ]) -PKG_3RD([esound],[auto], +PKG_3RD([esound],[no], [esound-0.2.41], [ .libs/libesd.a \ .libs/libesddsp.a ], [ . ]) -PKG_3RD([faac],[auto], - [faac-1.28], - [ libfaac/.libs/libfaac.a \ - common/mp4v2/libmp4v2.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.4], + [fdk-aac-0.1.5], [ .libs/libfdk-aac.a ], [ libAACdec/include libAACenc/include libSYS/include ]) PKG_3RD([ffmpeg],[yes], - [ffmpeg-3.0], + [ffmpeg-3.3.4], [ libavutil/libavutil.a \ libavcodec/libavcodec.a \ libpostproc/libpostproc.a \ @@ -87,7 +137,7 @@ PKG_3RD([ffmpeg],[yes], [ . ]) PKG_3RD([fftw],[auto], - [fftw-3.3.4], + [fftw-3.3.6-pl2], [ .libs/libfftw3.a \ libbench2/libbench2.a \ rdft/scalar/r2cb/.libs/librdft_scalar_r2cb.a \ @@ -106,7 +156,7 @@ PKG_3RD([fftw],[auto], [ api ]) PKG_3RD([flac],[auto], - [flac-1.3.1], + [flac-1.3.2], [ src/libFLAC/.libs/libFLAC.a \ src/libFLAC++/.libs/libFLAC++.a \ src/share/replaygain_analysis/.libs/libreplaygain_analysis.a \ @@ -117,7 +167,7 @@ PKG_3RD([flac],[auto], [ include ]) PKG_3RD([giflib],[yes], - [giflib-5.1.2], + [giflib-5.1.4], [ lib/.libs/libgif.a \ util/libgetarg.a ], [ lib ]) @@ -131,10 +181,7 @@ PKG_3RD([ilmbase],[auto], IlmThread/.libs/libIlmThread.a ], [ Iex Half Imath config IlmThread ]) -PKG_3RD([ladspa],[auto], - [ladspa-05182015], - [], - []) +PKG_DEF([ladspa], [ladspa-0.4.17], [], []) PKG_3RD([lame],[auto], [lame-3.99.5], @@ -150,7 +197,7 @@ PKG_3RD([libavc1394],[auto], [ . ]) PKG_3RD([libraw1394],[auto], - [libraw1394-2.0.5], + [libraw1394-2.1.2], [ src/.libs/libraw1394.a ], [ . ]) @@ -165,13 +212,13 @@ PKG_3RD([libdv],[auto], [ . ]) PKG_3RD([libjpeg],[auto], - [libjpeg-turbo-1.4.0], + [libjpeg-turbo-1.5.1], [ .libs/libjpeg.a \ .libs/libturbojpeg.a \ simd/.libs/libsimd.a ], [ . ]) -PKG_3RD([openjpeg],[yes], +PKG_3RD([openjpeg],[auto], [openjpeg-2.1.0-20160221], [ bin/libopenjp2.a ], [ src/lib/openjp2 ]) @@ -182,7 +229,7 @@ PKG_3RD([libogg],[auto], [ include ]) PKG_3RD([libsndfile],[auto], - [libsndfile-1.0.26], + [libsndfile-1.0.28], [ src/.libs/libsndfile.a \ src/.libs/libcommon.a \ src/G72x/.libs/libg72x.a \ @@ -235,7 +282,7 @@ PKG_3RD([openexr],[auto], # []) # PKG_3RD([tiff],[auto], - [tiff-3.8.2], + [tiff-4.0.6], [ libtiff/.libs/libtiff.a \ libtiff/.libs/libtiffxx.a \ port/.libs/libport.a ],[ @@ -246,43 +293,35 @@ PKG_3RD([twolame],[auto], [ libtwolame/.libs/libtwolame.a ], [ libtwolame ]) -PKG_3RD([x264],[yes], - [x264-snapshot-20160220-2245-stable], +PKG_3RD([x264],[auto], + [x264-snapshot-20170426-2245], [ libx264.a ], [ . ]) -PKG_3RD([x265],[yes], - [x265_1.9], +PKG_3RD([x265],[auto], + [x265_2.5], [ libx265.a ], [ . source ]) PKG_3RD([libvpx],[auto], - [libvpx-1.5.0], + [libvpx-1.6.1], [ libvpx.a ], [ . ]) AC_SUBST(STATIC_PKGS) - -AC_DEFUN([CHECK_WITH], [ -AC_ARG_WITH([$1], - AC_HELP_STRING([--with-[$1]], [$3 ([$4])]), - [WANT_$2=$withval], [WANT_$2=[$4]]) -]) - -CHECK_WITH([ladspa], [ladspa], [build ladspa library], [yes]) - AC_DEFUN([CHECK_ENABLE], [ AC_ARG_ENABLE([$1], AC_HELP_STRING([--enable-[$1]], [$3 ([$4])]), [WANT_$2=$enableval], [WANT_$2=[$4]]) ]) -CHECK_ENABLE([static], [STATIC_BUILD], [build static], [yes]) -CHECK_ENABLE([forced], [FORCED_BUILD], [build forced], [no]) +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 + AC_DEFUN([CHECK_PROG], [ AC_CHECK_PROG([PROG_$1], [$2], [yes],[no]) ]) @@ -303,7 +342,13 @@ if test "x$FATAL_ERROR" != "x"; then AC_MSG_ERROR("fatal eror.") fi CHECK_PROG(PACTL, [pactl]) - +WANT_PACTL=$PROG_PACTL + +AC_CHECK_DECL([X_HAVE_UTF8_STRING],,[no_utf=yes],[#include ]) +if test "$no_utf" = "yes"; then + AC_MSG_ERROR([Cinelerra requires utf8 support in X Windows.]) +fi + # Checks for headers/libraries. AC_DEFUN([CHECK_HEADERS], [ @@ -368,7 +413,7 @@ CHECK_LIB([libjpeg], [jpeg], [jpeg_start_decompress]) CHECK_HEADERS([libjpeg], [jpeg headers], [stdio.h jpeglib.h]) CHECK_LIB([libogg], [ogg], [ogg_stream_init]) CHECK_HEADERS([libogg], [ogg headers], [ogg/ogg.h]) -CHECK_LIB([openjpeg], [openjpeg], [opj_version]) +CHECK_LIB([openjpeg], [openjp2], [opj_version]) CHECK_HEADERS([openjpeg], [openjpeg headers], [openjpeg.h]) CHECK_LIB([libsndfile], [sndfile], [sf_open]) CHECK_HEADERS([libsndfile], [sndfile headers], [sndfile.h]) @@ -382,6 +427,8 @@ CHECK_LIB([libvorbis], [vorbisfile], [ov_open]) CHECK_HEADERS([libvorbis], [vorbis file headers], [vorbis/vorbisfile.h]) CHECK_LIB([libvpx], [vpx], [vpx_codec_decode]) CHECK_HEADERS([libvpx], [vpx headers], [vpx/vpx_decoder.h]) +CHECK_LIB([mjpegtools], [mjpegutils], [mjpeg_info]) +CHECK_HEADERS([mjpegtools], [mjpegtools headers], [mjpegtools/mjpeg_types.h]) CHECK_LIB([tiff], [tiff], [TIFFOpen]) CHECK_HEADERS([tiff], [tiff headers], [tiff.h tiffio.h]) CHECK_LIB([twolame], [twolame], [twolame_encode_buffer_float32_interleaved]) @@ -394,49 +441,53 @@ 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]) +#if test "x$HAVE_mjpegtools" = "xyes"; then +#CFG_CFLAGS+=" -I/usr/include/mjpegtools" +#fi AC_DEFUN([CHECK_WANT], [ RESULT=yes AC_ARG_WITH(m4_tolower([$1]), - AC_HELP_STRING([m4_join([-],[--with],m4_tolower([$1]))], [$2] (auto)), - [WANT_$1=$withval],[WANT_$1=auto]) + AC_HELP_STRING([m4_join([-],[--with],m4_tolower([$1]))], [$3] (auto)), + [WANT_$1=$withval],[WANT_$1=$2]) # WANT_$1 if test "x$WANT_$1" != "xno" ; then - m4_quote($3) -fi -if test "x$RESULT" = "xno" -a "x$PKG_$1" = "x"; then - echo "=== want $1 Failed." - WANT_$1=no + m4_quote($4) + if test "x$RESULT" = "xno" -a "x$PKG_$1" = "x"; then + echo "=== want $1 Failed." + WANT_$1=no + elif test "x$WANT_$1" = "xauto" ; then + WANT_$1=yes + fi fi +CFG_WANTS+=" $1" AC_SUBST([WANT_$1]) ]) -CHECK_WANT([GL], [use opengl], [ +CHECK_WANT([GL], [auto], [use opengl], [ CHECK_LIB([GL], [GL], [glUseProgram]) CHECK_LIB([GL], [GLU], [gluOrtho2D]) CHECK_HEADERS([GL], [opengl headers], [GL/gl.h GL/glext.h GL/glu.h GL/glx.h])]) -CHECK_WANT([OSS], [use OSS audio], [ +CHECK_WANT([OSS], [auto], [use OSS audio], [ CHECK_HEADERS([OSS], [oss headers], [sys/soundcard.h])]) -CHECK_WANT([XFT], [use libXft], [ +CHECK_WANT([XFT], [auto], [use libXft], [ CHECK_LIB([XFT], [Xft], [XftInit]) CHECK_HEADERS([XFT], [Xft/freetype headers], [X11/Xlib.h X11/Xft/Xft.h])]) -CHECK_WANT([ALSA], [use libasound/alsa], [ +CHECK_WANT([ALSA], [auto], [use libasound/alsa], [ CHECK_LIB([ALSA], [asound], [snd_pcm_open]) CHECK_HEADERS([ALSA], [asound headers], [alsa/asoundlib.h])]) -CHECK_WANT([FIREWIRE], [use firewire], [ +CHECK_WANT([FIREWIRE], [auto], [use firewire], [ CHECK_LIB([libavc1394], [avc1394], [avc1394_init_target]) CHECK_HEADERS([libavc1394], [libavc1394 headers], [libavc1394/avc1394.h]) CHECK_LIB([libavc1394], [rom1394], [rom1394_get_bus_id]) @@ -446,40 +497,45 @@ CHECK_WANT([FIREWIRE], [use firewire], [ CHECK_LIB([libraw1394], [raw1394], [raw1394_iso_recv_init]) CHECK_HEADERS([libraw1394], [libraw1394 headers], [libraw1394/raw1394.h])]) -CHECK_WANT([DV], [use dv], [ +CHECK_WANT([DV], [auto], [use dv], [ CHECK_LIB([libdv], [dv], [dv_init]) CHECK_HEADERS([libdv], [libdv headers], [libdv/dv.h])]) -CHECK_WANT([DVB], [use dvb], [ +CHECK_WANT([DVB], [auto], [use dvb], [ CHECK_HEADERS([DVB], [dvb device headers], [linux/dvb/dmx.h linux/dvb/frontend.h])]) -CHECK_WANT([VIDEO4LINUX2], [use v4l2], [ +CHECK_WANT([VIDEO4LINUX2], [auto], [use v4l2], [ CHECK_HEADERS([VIDEO4LINUX2], [v4l2 system headers], [linux/kernel.h linux/types.h linux/videodev2.h])]) -CHECK_WANT([XXF86VM], [use xf86vmode], [ +CHECK_WANT([XXF86VM], [auto], [use xf86vmode], [ CHECK_HEADERS([XXF86VM], [XF86VM headers], [X11/Xlib.h X11/extensions/xf86vmode.h])]) -CHECK_WANT([ESOUND], [use esd], [ +CHECK_WANT([ESOUND], [no], [use esd], [ CHECK_LIB([esound], [esd], [esd_open_sound]) CHECK_HEADERS([esound], [esound headers], [esd.h]) CHECK_LIB([audiofile], [audiofile], [afOpenFile]) CHECK_HEADERS([audiofile], [audiofile headers], [audiofile.h])]) -CHECK_WANT([DL], [system has libdl], [ +CHECK_WANT([DL], [auto], [system has libdl], [ CHECK_LIB([DL], [dl], [dlopen])]) -CHECK_WANT([NUMA], [system has libnuma], [ - CHECK_LIB([NUMA], [numa], [numa_alloc])]) +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" @@ -494,68 +550,32 @@ 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]) - -# false=speed up -if false; then -# pointless Checks for header files. -AC_CHECK_HEADERS([assert.h fcntl.h float.h libintl.h limits.h]) -AC_CHECK_HEADERS([stdio.h stdint.h stdlib.h string.h strings.h]) -AC_CHECK_HEADERS([ctype.h dlfcn.h byteswap.h endian.h errno.h error.h]) -AC_CHECK_HEADERS([unistd.h asm/unistd.h]) -AC_CHECK_HEADERS([arpa/inet.h locale.h netdb.h netinet/in.h]) -AC_CHECK_HEADERS([sys/ioctl.h sys/socket.h sys/statfs.h sys/time.h utime.h]) - -# pointless Checks for typedefs, structures, and compiler characteristics. -AC_CHECK_HEADER_STDBOOL -AC_C_INLINE -AC_TYPE_INT16_T -AC_TYPE_INT32_T -AC_TYPE_INT64_T -AC_TYPE_INT8_T -AC_TYPE_OFF_T -AC_TYPE_PID_T -AC_TYPE_SIZE_T -AC_CHECK_MEMBERS([struct stat.st_blksize]) -AC_STRUCT_ST_BLOCKS -AC_CHECK_MEMBERS([struct stat.st_rdev]) -AC_TYPE_UINT16_T -AC_TYPE_UINT32_T -AC_TYPE_UINT64_T -AC_TYPE_UINT8_T - -# pointless Checks for library functions. -AC_FUNC_ERROR_AT_LINE -AC_FUNC_FORK -AC_FUNC_FSEEKO -AC_FUNC_MALLOC -AC_FUNC_MKTIME -AC_FUNC_MMAP -AC_FUNC_REALLOC -AC_FUNC_STRERROR_R -AC_FUNC_STRTOD -AC_CHECK_FUNCS([bzero floor getcwd gethostbyname gettimeofday inet_ntoa localtime_r]) -AC_CHECK_FUNCS([memmove memset mkdir modf munmap nl_langinfo pow putenv rint rmdir]) -AC_CHECK_FUNCS([select setenv setlocale socket sqrt]) -AC_CHECK_FUNCS([strcasecmp strchr strdup strerror strncasecmp strrchr strstr strtol strtoul]) -AC_CHECK_FUNCS([tzset uname utime]) -#end speed up -fi +]])], [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` AC_SUBST(OBJDIR) echo "AC_HELP_STRING([Reason],[Package])" echo "AC_HELP_STRING([------],[-------])" +AC_DEFUN([PKG_DISABLED],[ + PKG_$1="no" + BUILD_$1=0 + AC_SUBST(BUILD_$1) + echo "AC_HELP_STRING([disabled],[$1])" +]) AC_DEFUN([PKG_SHARED],[ BUILD_$1=0 AC_SUBST(BUILD_$1) @@ -563,6 +583,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]" @@ -570,22 +591,26 @@ AC_DEFUN([PKG_STATIC],[ ]) AC_DEFUN([PKG_FORCED],[PKG_STATIC([$1],[forced])]) +# order matters +for dep in \ + ffmpeg/twolame ffmpeg/lame ffmpeg/openjpeg \ + ffmpeg/libvorbis ffmpeg/libtheora ffmpeg/x264 ffmpeg/x265 ffmpeg/fdk \ + libiec61883/libraw1394 libavc1394/librom1394 \ + openexr/ilmbase ilmbase/libogg \ + libtheora/libogg libtheora/libvorbis ; do + lib=`dirname $dep`; needs=`basename $dep` + eval pkg_lib="\$PKG_$lib"; eval needs_lib="\$HAVE_$needs"; + if test "x$pkg_lib" != "xno"; then + eval "PKG_$needs=yes" + fi +done + AC_DEFUN([PKG_PROVIDE],[ if test "x$BUILD_$1" = "x" ; then - if test "x$2" = "xno"; then - BUILD_$1=0 - AC_SUBST(BUILD_$1) + if test "x$2" = "xno" -o "x$PKG_$1" = "xno"; then + PKG_DISABLED([$1]) elif test "x$PKG_$1" = "xyes"; then PKG_FORCED([$1]) - elif test "x$PKG_$1" = "xno"; then - if test "x$WANT_FORCED_BUILD" = "xyes"; then - BUILD_$1=0 - AC_SUBST(BUILD_$1) - elif test "x$HAVE_$1" = "xyes"; then - PKG_SHARED([$1]) - else - AC_MSG_ERROR([$1 missing and required.]) - fi elif test "x$WANT_STATIC_BUILD" = "xyes"; then PKG_STATIC([$1],[static]) elif test "x$HAVE_$1" = "xyes"; then @@ -597,18 +622,17 @@ fi ]) PKG_PROVIDE([a52dec]) +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([ladspa]) +PKG_PROVIDE([ilmbase], [$WANT_OPENEXR]) +PKG_PROVIDE([ladspa],[$WANT_LADSPA_BUILD]) PKG_PROVIDE([lame]) PKG_PROVIDE([libavc1394],[$WANT_FIREWIRE]) PKG_PROVIDE([libraw1394],[$WANT_FIREWIRE]) @@ -621,7 +645,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]) @@ -637,11 +661,12 @@ for f in $SYSTEM_LIBS; do done AC_SUBST(SYSTEM_LIBS) -echo " using: with-jobs = $WANT_JOBS" -for v in GL XFT XXF86VM OSS ALSA FIREWIRE DV DVB VIDEO4LINUX2 ESOUND; do +echo "" +for v in GL XFT XXF86VM OSS ALSA FIREWIRE DV DVB \ + VIDEO4LINUX2 ESOUND PACTL OPENEXR; do eval vv="\$WANT_$v" if test "x$vv" != "xno"; then - CFLAGS+=" -DHAVE_$v" + CFG_CFLAGS+=" -DHAVE_$v" vv=with else vv=without @@ -650,7 +675,27 @@ for v in GL XFT XXF86VM OSS ALSA FIREWIRE DV DVB VIDEO4LINUX2 ESOUND; do echo " using: $vv-$v" done +echo " using: with-jobs = $WANT_JOBS" +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 "" +echo " using: single-user = $WANT_CINBIN_BUILD" +echo " using: static-build = $WANT_STATIC_BUILD" +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 @@ -663,9 +708,8 @@ AC_SUBST(FFMPEG_EXTRA_CFG) AC_SUBST(WANT_X264_HIDEPTH) AC_SUBST(WANT_X265_HIDEPTH) -if test "x$BUILD_openexr" = "x0"; then - CFLAGS+=" -I/usr/include/OpenEXR" -fi +AC_SUBST(CFG_CFLAGS) +AC_SUBST(CFG_CXXFLAGS) AC_CONFIG_FILES([Makefile]) AC_OUTPUT @@ -674,6 +718,7 @@ exec > global_config echo "SHELL := /bin/bash" echo "export SHELL" +echo "WANT_JOBS := $WANT_JOBS" echo "" echo "OBJDIR := $OBJDIR" echo "BINDIR := \$(TOPDIR)/bin" @@ -682,36 +727,56 @@ echo "GUICAST := \$(TOPDIR)/guicast" echo "LIBZMPEG3 := \$(TOPDIR)/libzmpeg3" echo "MPEG2ENC := \$(TOPDIR)/mpeg2enc" echo "MPLEXLO := \$(TOPDIR)/mplexlo" -echo "PLUGIN_DIR := \$(BINDIR)/plugins" echo "PLUGINS := \$(TOPDIR)/plugins" echo "TDB := \$(TOPDIR)/db" echo "THIRDPARTY := \$(TOPDIR)/thirdparty" echo "EXTRA_LIBS := $EXTRA_LIBS" echo "FFMPEG_EXTRA_CFG := $FFMPEG_EXTRA_CFG" echo "export OBJDIR BINDIR CINELERRA GUICAST LIBZMPEG3" -echo "export MPEG2ENC MPLEXLO PLUGIN_DIR PLUGINS TDB" +echo "export MPEG2ENC MPLEXLO PLUGINS TDB" echo "export THIRDPARTY EXTRA_LIBS FFMPEG_EXTRA_CFG" echo "" -echo "WANT_X264_HIDEPTH := $WANT_X264_HIDEPTH" -echo "WANT_X265_HIDEPTH := $WANT_X265_HIDEPTH" -echo "export WANT_X264_HIDEPTH WANT_X265_HIDEPTH" + +echo "WANT_CIN := $WANT_CIN" +for w in $CFG_WANTS; do ww=WANT_$w; echo "WANT_$w := ${!ww}"; done echo "" -for flg in $CFLAGS; do echo "CFLAGS += $flg"; done +echo "ifndef CFLAGS_" +echo "ifdef CFLAGS" +echo "CFLAGS_ := \$(CFLAGS)" +echo "else" +echo "CFLAGS_ := ${CFLAGS:--g -O2}" +echo "endif" +echo "endif" + +echo "CFLAGS := \$(CFLAGS_)" +echo "CFLAGS += '-DCIN=\"\$(WANT_CIN)\"'" +echo "CFLAGS += '-DCINLIB_DIR=\"$WANT_CINLIB_DIR\"'" +echo "CFLAGS += '-DCINDAT_DIR=\"$WANT_CINDAT_DIR\"'" +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 $CXXFLAGS; do echo "CXXFLAGS += $flg"; done +for flg in $CFG_CXXFLAGS; do echo "CXXFLAGS += $flg"; done echo "" -echo "export CFLAGS CXXFLAGS" if test $WANT_X264_HIDEPTH = "yes" ; then - echo "x264.cfg_params:= --enable-static --bit-depth=10" + 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" + 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 @@ -750,5 +815,14 @@ echo "libraries += -Wl,--end-group" echo "libraries += \$(thirdparty_libraries)" echo "libraries += \$(system_libs)" echo "libraries += \$(EXTRA_LIBS)" -echo "export thirdparty_libraries libraries" 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 +