revert openexr-2.4.0, breaks most builds, req cmake past baseline, bad configure...
authorroot <root@localhost.localdomain>
Mon, 30 Sep 2019 14:41:50 +0000 (08:41 -0600)
committerroot <root@localhost.localdomain>
Mon, 30 Sep 2019 14:41:50 +0000 (08:41 -0600)
cinelerra-5.1/cinelerra/file.C
cinelerra-5.1/cinelerra/fileexr.C
cinelerra-5.1/configure.ac
cinelerra-5.1/thirdparty/Makefile
cinelerra-5.1/thirdparty/downloads.txt
cinelerra-5.1/thirdparty/src/openexr-2.2.1.tar.xz [moved from cinelerra-5.1/thirdparty/src/openexr-2.4.0.tar.xz with 57% similarity]

index fe5b9f5..ad8cf7f 100644 (file)
@@ -422,7 +422,7 @@ int File::probe()
                        else continue;
                        return FILE_OK;
                }
-#ifdef HAVE_OPENEXR
+#ifdef HAVE_EXR
                if( !strcmp(pref->name,"EXR") ) { // EXR file
                        if( !FileEXR::check_sig(this->asset, data)) continue;
                        file = new FileEXR(this->asset, this);
index 78f339c..351da2a 100644 (file)
 #include "mwindow.inc"
 #include "vframe.h"
 
-#include "OpenEXR/ImfChannelList.h"
-#include "OpenEXR/ImfChromaticities.h"
-#include "OpenEXR/ImfCompression.h"
-#include "OpenEXR/ImfIO.h"
-#include "OpenEXR/ImfInputFile.h"
-#include "OpenEXR/ImfOutputFile.h"
-#include "OpenEXR/ImfPixelType.h"
-#include "OpenEXR/ImfRgbaFile.h"
-#include "OpenEXR/ImfRgbaYca.h"
-#include "OpenEXR/ImfVersion.h"
+#include "ImfChannelList.h"
+#include "ImfChromaticities.h"
+#include "ImfCompression.h"
+#include "ImfIO.h"
+#include "ImfInputFile.h"
+#include "ImfOutputFile.h"
+#include "ImfPixelType.h"
+#include "ImfRgbaFile.h"
+#include "ImfRgbaYca.h"
+#include "ImfVersion.h"
 
 class EXRIStream : public Imf::IStream
 {
index e6ee56a..7d4cdca 100644 (file)
@@ -236,6 +236,15 @@ PKG_3RD([giflib],[yes],
   [ libgif.a ],
   [ . ])
 
+PKG_3RD([ilmbase],[auto],
+  [ilmbase-2.2.1],
+  [ Iex/.libs/libIex.a \
+    IexMath/.libs/libIexMath.a \
+    Half/.libs/libHalf.a \
+    Imath/.libs/libImath.a \
+    IlmThread/.libs/libIlmThread.a ],
+  [ Iex Half Imath config IlmThread ])
+
 PKG_DEF([ladspa], [ladspa-0.4.17], [], [])
 
 PKG_3RD([lame],[auto],
@@ -327,15 +336,10 @@ PKG_3RD([mjpegtools],[yes],
   [ .  lavtools utils ])
 
 PKG_3RD([openexr],[auto],
-  [openexr-2.4.0],
-  [ build/usr/local/lib/libIlmImfUtil.a \
-    build/usr/local/lib/libIlmImf.a \
-    build/usr/local/lib/libIlmThread.a \
-    build/usr/local/lib/libImath.a \
-    build/usr/local/lib/libIexMath.a \
-    build/usr/local/lib/libIex.a \
-    build/usr/local/lib/libHalf.a ],
-  [ build/usr/local/include ])
+  [openexr-2.2.1],
+  [ IlmImf/.libs/libIlmImf.a \
+    IlmImfUtil/.libs/libIlmImfUtil.a ],
+  [ IlmImf config ])
 
 #PKG_3RD([festival],[no],
 #  [festival],
@@ -558,6 +562,8 @@ 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])
+CHECK_LIB([ilmbase], [IlmImf], [ImfOpenInputFile])
+CHECK_HEADERS([ilmbase], [IlmImf headers], [OpenEXR/ImfCRgbaFile.h])
 CHECK_LIB([libtheora], [theora], [theora_info_init], [-ltheoraenc -ltheoradec -logg])
 CHECK_HEADERS([libtheora], [threora headers], [theora/theoraenc.h])
 CHECK_LIB([libvorbis], [vorbisenc], [vorbis_encode_init], [-lvorbis -lvorbisfile -logg])
@@ -708,6 +714,8 @@ CHECK_WANT([CUDA], [auto], [build cuda plugins], [
 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], [
 ])
 
@@ -718,6 +726,7 @@ CHECK_WANT([OPENEXR], [auto], [use openexr], [
  AC_MSG_CHECKING([for openexr available])
  saved_LIBS="$LIBS"
  saved_CXXFLAGS="$CXXFLAGS"
+ # ilmbase libs
  LIBS=" -lIlmImf -lIlmThread -lIex -lpthread"
  CXXFLAGS="-I/usr/include/OpenEXR -I/usr/local/include/OpenEXR"
  AC_LANG_PUSH(C++)
@@ -737,9 +746,8 @@ EXRIStream() : Imf::IStream("mypath") {} };
 class EXROStream : public Imf::OStream { public: 
 EXROStream() : Imf::OStream("mypath") {} };
 ]])], [HAVE_OPENEXR=yes], [HAVE_OPENEXR=no])
- HAVE_openexr="$HAVE_OPENEXR"
  RESULT="$HAVE_OPENEXR"
- if test "x$RESULT" = "xyes" -a "x$WANT_STATIC_BUILD" = "xno"; then
+ if test "x$RESULT" = "xyes"; then
    SHARED_openexr="$LIBS"
    CFG_CFLAGS+=" -I/usr/include/OpenEXR -I/usr/local/include/OpenEXR"
  fi
@@ -788,6 +796,7 @@ for dep in \
         ffmpeg/twolame ffmpeg/lame ffmpeg/openjpeg \
         ffmpeg/libvorbis ffmpeg/libtheora ffmpeg/x264 ffmpeg/x265 \
         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";
@@ -822,6 +831,7 @@ PKG_PROVIDE([ffmpeg])
 PKG_PROVIDE([fftw])
 PKG_PROVIDE([flac])
 PKG_PROVIDE([giflib])
+PKG_PROVIDE([ilmbase], [$WANT_OPENEXR])
 PKG_PROVIDE([ladspa],[$WANT_LADSPA_BUILD])
 PKG_PROVIDE([lame])
 PKG_PROVIDE([libavc1394],[$WANT_FIREWIRE])
index 27c3b9a..846a843 100644 (file)
@@ -191,6 +191,9 @@ audiofile.mak_params?=LIBS="-lm -lstdc++"
 flac.cfg_params?= --enable-shared=no
 flac.cflags?="$(call inc_path,libogg) $(call ld_path,libogg,src/.libs)"
 giflib.cfg_params=echo "exec true" > ./configure; chmod +x ./configure;
+ilmbase.cfg_vars= CFLAGS+=" -Wno-narrowing" CXXFLAGS+=" -Wno-narrowing"
+ilmbase.cfg_params?=--prefix=$(call bld_path,ilmbase,usr)
+ilmbase.mak_params?=; $(MAKE) -C ilmbase* install; cd $(call bld_path,ilmbase); ln -sf lib64 usr/lib
 lame.cfg_vars?= CFLAGS+=" -O"
 lame.cfg_params?=--enable-shared=no
 lame.mak_params?= ; cd $(call bld_path,lame,include); ln -sf . lame
@@ -232,14 +235,8 @@ openjpeg.cfg_vars?=$(call cmake_config,.)
 openjpeg.mak_params?= ; cd $(call bld_path,openjpeg,src/lib/openjp2); ln -sf . openjpeg-2.1
 opencv.cfg_vars?=$(call cmake_config,.)
 opencv.cfg_params?= -DBUILD_SHARED_LIBS:BOOL=OFF
-openexr.cfg_params?=\
- -DILMBASE_BUILD_BOTH_STATIC_SHARED:BOOL=ON \
- -DOPENEXR_BUILD_BOTH_STATIC_SHARED:BOOL=ON \
- -DILMBASE_LIB_SUFFIX= -DILMBASE_STATIC_LIB_SUFFIX= \
- -DOPENEXR_LIB_SUFFIX= -DOPENEXR_STATIC_LIB_SUFFIX= \
- -DCMAKE_INSTALL_LIBDIR=lib
-openexr.cfg_vars?= mkdir build && cd build && $(call cmake_config,..)
-openexr.mak_params?= -C build install DESTDIR=.
+openexr.cfg_vars?=LD_LIBRARY_PATH=$(call bld_path,ilmbase,usr/lib)
+openexr.cfg_params?=--enable-shared=no --with-ilmbase-prefix=$(call bld_path,ilmbase,usr)
 speech_tools.mak_params?=-j1
 tiff.cfg_params+= --enable-shared=no --disable-zstd $(call if_npkg,libwebp,--without-webp)
 twolame.cfg_params?=--enable-shared=no
@@ -321,6 +318,7 @@ $(call rules,$(call std-build,ffmpeg, twolame lame openjpeg opus \
 $(call rules,$(call std-build,fftw))
 $(call rules,$(call std-build,flac,libogg))
 $(call rules,$(call std-build,giflib))
+$(call rules,$(call std-build,ilmbase))
 $(call rules,$(call std-build,ladspa))
 $(call rules,$(call std-build,lame))
 $(call rules,$(call std-build,libaom))
@@ -338,7 +336,7 @@ $(call rules,$(call std-build,libuuid))
 $(call rules,$(call std-build,libvorbis))
 $(call rules,$(call std-build,mjpegtools, libjpeg))
 $(call rules,$(call std-build,opencv))
-$(call rules,$(call std-build,openexr))
+$(call rules,$(call std-build,openexr, ilmbase))
 $(call rules,$(call std-build,openjpeg))
 $(call rules,$(call std-build,opus))
 $(call rules,$(call std-build,speech_tools))
index 8bdf6ce..142cc17 100644 (file)
@@ -1,7 +1,6 @@
 https://www.cybercom.net/~dcoffin/dcraw/dcraw.c
 http://download-mirror.savannah.gnu.org/releases//openexr/ilmbase-2.2.1.tar.gz
 http://gnu.mirrors.pair.com/savannah/savannah//openexr/openexr-2.2.1.tar.gz
-https://github.com/openexr/openexr/releases/tag/v2.4.0
 https://sourceforge.net/projects/opencvlibrary/files/latest/download?source=directory = 3.2.0
 #https://sourceforge.net/projects/opencore-amr/files/fdk-aac/fdk-aac-2.2.0.tar.gz/download
 http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz
similarity index 57%
rename from cinelerra-5.1/thirdparty/src/openexr-2.4.0.tar.xz
rename to cinelerra-5.1/thirdparty/src/openexr-2.2.1.tar.xz
index 45745ca..80cc3d6 100644 (file)
Binary files a/cinelerra-5.1/thirdparty/src/openexr-2.4.0.tar.xz and b/cinelerra-5.1/thirdparty/src/openexr-2.2.1.tar.xz differ