From da517c576d1e1fcb2c580c134593a5aba687bca5 Mon Sep 17 00:00:00 2001
From: Andrew Randrianasulu <randrianasulu@gmail.com>
Date: Wed, 6 Apr 2022 23:00:03 +0300
Subject: [PATCH 1/3] Make filegif optional

---
 cinelerra-5.1/cinelerra/file.C    | 7 ++++++-
 cinelerra-5.1/cinelerra/filegif.C | 3 ++-
 cinelerra-5.1/configure.ac        | 5 +++--
 3 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/cinelerra-5.1/cinelerra/file.C b/cinelerra-5.1/cinelerra/file.C
index 3e7b2e14..946cca1e 100644
--- a/cinelerra-5.1/cinelerra/file.C
+++ b/cinelerra-5.1/cinelerra/file.C
@@ -387,7 +387,9 @@ const char *File::default_probes[] = {
 	"PNG",
 	"PPM",
 	"JPEG",
+#ifdef HAVE_GIFLIB
 	"GIF",
+#endif
 	"DPX",
 #ifdef HAVE_OPENEXR
 	"EXR",
@@ -465,6 +467,7 @@ int File::probe()
 			file = new FileJPEG(this->asset, this);
 			return FILE_OK;
 		}
+#ifdef HAVE_GIFLIB
 		if( !strcmp(pref->name,"GIF") ) { // GIF file
 			if( FileGIFList::check_sig(this->asset) )
 				file = new FileGIFList(this->asset, this);
@@ -473,6 +476,7 @@ int File::probe()
 			else continue;
 			return FILE_OK;
 		}
+#endif
 #ifdef HAVE_LIBDPX
 		if( !strcmp(pref->name,"DPX") ) { // DPX file
 			if( !FileDPX::check_sig(this->asset, data) ) continue;
@@ -599,13 +603,14 @@ int File::open_file(Preferences *preferences,
 	case FILE_JPEG_LIST:
 		file = new FileJPEG(this->asset, this);
 		break;
-
+#ifdef HAVE_GIFLIB
 	case FILE_GIF:
 		file = new FileGIF(this->asset, this);
 		break;
 	case FILE_GIF_LIST:
 		file = new FileGIFList(this->asset, this);
 		break;
+#endif
 #ifdef HAVE_LIBDPX
 	case FILE_DPX:
 	case FILE_DPX_LIST:
diff --git a/cinelerra-5.1/cinelerra/filegif.C b/cinelerra-5.1/cinelerra/filegif.C
index bb6ac623..87b81aeb 100644
--- a/cinelerra-5.1/cinelerra/filegif.C
+++ b/cinelerra-5.1/cinelerra/filegif.C
@@ -18,7 +18,7 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  *
  */
-
+#ifdef HAVE_GIFLIB
 #include "asset.h"
 #include "bcsignals.h"
 #include "file.h"
@@ -887,3 +887,4 @@ GIFUnit::~GIFUnit()
 	delete temp_frame;
 }
 
+#endif
\ No newline at end of file
diff --git a/cinelerra-5.1/configure.ac b/cinelerra-5.1/configure.ac
index 67297d4e..7e377065 100644
--- a/cinelerra-5.1/configure.ac
+++ b/cinelerra-5.1/configure.ac
@@ -70,6 +70,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`
@@ -955,7 +956,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])
@@ -1014,7 +1015,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 LIBDPX 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
-- 
2.35.1

