libtiff: Merge branch 'opengl-option' into 'master'

From 36c8177fe852d9a909da421da0ccb88ba1151795 Mon Sep 17 00:00:00 2001
From: Roger Leigh <[EMAIL REDACTED]>
Date: Sun, 29 May 2022 11:17:30 +0100
Subject: [PATCH 1/2] cmake: Add tiff-opengl option

---
 CMakeLists.txt           | 2 +-
 cmake/OpenGLChecks.cmake | 7 +++++++
 tools/CMakeLists.txt     | 2 +-
 3 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 770b0fac..e886e3a5 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -197,5 +197,5 @@ message(STATUS "")
 message(STATUS "  C++ support:                        ${cxx} (requested) ${CXX_SUPPORT} (availability)")
 message(STATUS "")
 # message(STATUS "  X Athena Widgets support:           ${HAVE_XAW}")
-message(STATUS "  OpenGL support:                     ${HAVE_OPENGL}")
+message(STATUS "  OpenGL support:                     Requested:${tiff-opengl} Availability:${HAVE_OPENGL} Support:${OPENGL_SUPPORT}")
 message(STATUS "")
diff --git a/cmake/OpenGLChecks.cmake b/cmake/OpenGLChecks.cmake
index 8d4142aa..4b11d70f 100644
--- a/cmake/OpenGLChecks.cmake
+++ b/cmake/OpenGLChecks.cmake
@@ -29,6 +29,7 @@ set(OpenGL_GL_PREFERENCE LEGACY)
 find_package(OpenGL COMPONENTS OpenGL)
 find_package(GLUT)
 
+set(OPENGL_SUPPORT FALSE)
 set(HAVE_OPENGL FALSE)
 if(OPENGL_FOUND AND OPENGL_GLU_FOUND AND GLUT_FOUND)
     set(HAVE_OPENGL TRUE)
@@ -41,3 +42,9 @@ check_include_file(GL/glut.h HAVE_GL_GLUT_H)
 check_include_file(GLUT/glut.h HAVE_GLUT_GLUT_H)
 check_include_file(OpenGL/gl.h HAVE_OPENGL_GL_H)
 check_include_file(OpenGL/glu.h HAVE_OPENGL_GLU_H)
+
+option(tiff-opengl "use OpenGL (required for tiffgt viewer)" ${HAVE_OPENGL})
+
+if (tiff-opengl AND HAVE_OPENGL)
+    set(OPENGL_SUPPORT TRUE)
+endif()
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index ac64bd84..e0feaebe 100755
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -124,7 +124,7 @@ install(TARGETS fax2ps
                 tiffsplit
         RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
 
-if(HAVE_OPENGL)
+if(OPENGL_SUPPORT)
   add_executable(tiffgt ../placeholder.h)
   target_sources(tiffgt PRIVATE tiffgt.c)
   target_link_libraries(tiffgt PRIVATE tiff port)

From b63e40603b709767084657fef75aab00fb9a26e4 Mon Sep 17 00:00:00 2001
From: Roger Leigh <rleigh@codelibre.net>
Date: Sun, 29 May 2022 12:05:27 +0100
Subject: [PATCH 2/2] autoconf: Add --disable-opengl option

---
 configure.ac | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index 23e834a2..7706011b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -927,22 +927,28 @@ dnl ---------------------------------------------------------------------------
 
 HAVE_OPENGL=no
 
+AC_ARG_ENABLE(opengl,
+	      AS_HELP_STRING([--disable-opengl],
+			     [disable OpenGL usage (required by tiffgt, enabled by default)]),,)
 
-AC_PATH_XTRA
+if test "x$enable_opengl" != "xno" ; then
 
-dnl AX_CHECK_GL sets GL_CFLAGS & GL_LIBS.  Also PTHREAD_LIBS,
-dnl PTHREAD_CFLAGS, & PTHREAD_CC as a side-effect
-AX_CHECK_GL
+  AC_PATH_XTRA
 
-dnl AX_CHECK_GLU sets GLU_CFLAGS & GLU_LIBS
-AX_CHECK_GLU
+  dnl AX_CHECK_GL sets GL_CFLAGS & GL_LIBS.  Also PTHREAD_LIBS,
+  dnl PTHREAD_CFLAGS, & PTHREAD_CC as a side-effect
+  AX_CHECK_GL
 
-dnl AX_CHECK_GLUT sets GLUT_CFLAGS & GLUT_LIBS
-AX_CHECK_GLUT
+  dnl AX_CHECK_GLU sets GLU_CFLAGS & GLU_LIBS
+  AX_CHECK_GLU
 
-if test "$no_x" != "yes" -a "$no_gl" != "yes" \
-	-a "$no_glu" != "yes" -a "$no_glut" != "yes" ; then
-  HAVE_OPENGL=yes
+  dnl AX_CHECK_GLUT sets GLUT_CFLAGS & GLUT_LIBS
+  AX_CHECK_GLUT
+
+  if test "$no_x" != "yes" -a "$no_gl" != "yes" \
+      -a "$no_glu" != "yes" -a "$no_glut" != "yes" ; then
+    HAVE_OPENGL=yes
+  fi
 fi
 
 AM_CONDITIONAL(HAVE_OPENGL, test "$HAVE_OPENGL" = "yes")