GraphicsMagick: 2 new changesets

GraphicsMagick Commits <[email protected]> Tue, 28 Nov 2023 09:13:53 -0600
Newsgroups gmane.comp.video.graphicsmagick.cvs
Message-ID <mailman.7196.1701184450.7794.graphicsmagick-commit@lists.sourceforge.net>
changeset e40e1ea66c6d in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=e40e1ea66c6d
summary: Hg ignore generated common.shi and PerlMagick/t/features.pl

changeset 4f171c233ba4 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=4f171c233ba4
summary: configure.ac: Fix many bugs related to building library dependency list

diffstat:

 .hgignore                              |    2 +
 ChangeLog                              |    9 +
 VisualMagick/installer/inc/version.isx |    4 +-
 configure                              |  214 +++++++++++++++++++++++++++-----
 configure.ac                           |   39 +++--
 fuzzing/oss-fuzz-build.sh              |  147 +++++++++++++++-------
 magick/version.h                       |    4 +-
 www/Changelog.html                     |   10 +
 8 files changed, 329 insertions(+), 100 deletions(-)

diffs (truncated from 798 to 500 lines):

diff -r 0217b1ed1784 -r 4f171c233ba4 .hgignore
--- a/.hgignore	Sat Nov 25 08:37:00 2023 -0600
+++ b/.hgignore	Tue Nov 28 09:13:51 2023 -0600
@@ -18,6 +18,7 @@
 .*__pycache__.*
 
 ^autom4te\.cache
+^common\.shi
 ^config/delegates\.mgk
 ^config/type-ghostscript\.mgk
 ^config/type-solaris\.mgk
@@ -168,6 +169,7 @@
 ^PerlMagick/t/.*_tmp\..*
 ^PerlMagick/blib/.*
 ^PerlMagick/t/.*output.*
+^PerlMagick/t/features\.pl
 ^contrib/win32/ATL7/ImageMagickObject/ImageMagickObject\.dll
 ^contrib/win32/ATL7/ImageMagickObject/ImageMagickObject\.exp
 ^contrib/win32/ATL7/ImageMagickObject/ImageMagickObject\.h
diff -r 0217b1ed1784 -r 4f171c233ba4 ChangeLog
--- a/ChangeLog	Sat Nov 25 08:37:00 2023 -0600
+++ b/ChangeLog	Tue Nov 28 09:13:51 2023 -0600
@@ -1,3 +1,12 @@
+2023-11-28  Bob Friesenhahn  <[email protected]>
+
+	* fuzzing/oss-fuzz-build.sh: Continued work on the oss-fuzz build
+	script.  Still not there yet, but closer.
+
+	* configure.ac: Fix many bugs related to building library
+	dependency list.  Much thanks to Tobias Mark for a patch to fix
+	the library dependency order.
+
 2023-11-24  Bob Friesenhahn  <[email protected]>
 
 	* configure.ac: Eliminate redundant check for HEIF library.
diff -r 0217b1ed1784 -r 4f171c233ba4 VisualMagick/installer/inc/version.isx
--- a/VisualMagick/installer/inc/version.isx	Sat Nov 25 08:37:00 2023 -0600
+++ b/VisualMagick/installer/inc/version.isx	Tue Nov 28 09:13:51 2023 -0600
@@ -10,5 +10,5 @@
 
 #define public MagickPackageName "GraphicsMagick"
 #define public MagickPackageVersion "1.4"
-#define public MagickPackageVersionAddendum ".020231124"
-#define public MagickPackageReleaseDate "snapshot-20231124"
+#define public MagickPackageVersionAddendum ".020231128"
+#define public MagickPackageReleaseDate "snapshot-20231128"
diff -r 0217b1ed1784 -r 4f171c233ba4 configure
--- a/configure	Sat Nov 25 08:37:00 2023 -0600
+++ b/configure	Tue Nov 28 09:13:51 2023 -0600
@@ -1881,7 +1881,6 @@
   --without-zstd          disable Zstd support
   --with-libstdc=DIR      use libstdc++ in DIR (for GNU C++)
   --with-x                use the X Window System
-  --without-png           disable PNG support
 
 Some influential environment variables:
   CC          C compiler command
@@ -22888,8 +22887,13 @@
        esac
     done
     # -l
+    reverse_pkg_libs=""
     for token in $pkg_libs
     do
+        reverse_pkg_libs="$token $reverse_pkg_libs"
+    done
+    for token in $reverse_pkg_libs
+    do
         case $token in
             -l*)
                 # Add token to LIBS if not already present
@@ -23713,8 +23717,9 @@
   LIB_MATH="-lm"
 fi
 
+LIB_MATH='-lm'
 LIBS="$LIB_MATH $LIBS"
-
+#printf "LIBS=${LIBS}\n"
 
 
 #
@@ -26567,19 +26572,11 @@
 
 have_png='no'
 LIB_PNG=''
-if test "$have_zlib" = 'yes'
+if test "$have_zlib" = 'yes' -a "$with_png" = 'yes'
 then
   #
   # Check for PNG delegate library.
   #
-
-# Check whether --with-png was given.
-if test "${with_png+set}" = set; then :
-  withval=$with_png; with_png=$withval
-else
-  with_png='yes'
-fi
-
   OLD_CPPFLAGS=$CPPFLAGS
   OLD_LDFLAGS=$LDFLAGS
   OLD_LIBS=$LIBS
@@ -27059,21 +27056,22 @@
     failed=0
     passed=0
 
+    #PKG_CHECK_MODULES([JPEG], [libturbojpeg, libjpeg], [passed=`expr $passed + 1`], [failed=`expr $failed + 1`])
 
 pkg_failed=no
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libturbojpeg, libjpeg" >&5
-$as_echo_n "checking for libturbojpeg, libjpeg... " >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libturbojpeg" >&5
+$as_echo_n "checking for libturbojpeg... " >&6; }
 
 if test -n "$JPEG_CFLAGS"; then
     pkg_cv_JPEG_CFLAGS="$JPEG_CFLAGS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libturbojpeg, libjpeg\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libturbojpeg, libjpeg") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_JPEG_CFLAGS=`$PKG_CONFIG --cflags "libturbojpeg, libjpeg" 2>/dev/null`
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libturbojpeg\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libturbojpeg") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_JPEG_CFLAGS=`$PKG_CONFIG --cflags "libturbojpeg" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -27085,12 +27083,12 @@
     pkg_cv_JPEG_LIBS="$JPEG_LIBS"
  elif test -n "$PKG_CONFIG"; then
     if test -n "$PKG_CONFIG" && \
-    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libturbojpeg, libjpeg\""; } >&5
-  ($PKG_CONFIG --exists --print-errors "libturbojpeg, libjpeg") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-  pkg_cv_JPEG_LIBS=`$PKG_CONFIG --libs "libturbojpeg, libjpeg" 2>/dev/null`
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libturbojpeg\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libturbojpeg") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_JPEG_LIBS=`$PKG_CONFIG --libs "libturbojpeg" 2>/dev/null`
 		      test "x$?" != "x0" && pkg_failed=yes
 else
   pkg_failed=yes
@@ -27111,9 +27109,68 @@
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        JPEG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libturbojpeg, libjpeg" 2>&1`
+	        JPEG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libturbojpeg" 2>&1`
         else
-	        JPEG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libturbojpeg, libjpeg" 2>&1`
+	        JPEG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libturbojpeg" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$JPEG_PKG_ERRORS" >&5
+
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libjpeg" >&5
+$as_echo_n "checking for libjpeg... " >&6; }
+
+if test -n "$JPEG_CFLAGS"; then
+    pkg_cv_JPEG_CFLAGS="$JPEG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libjpeg\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libjpeg") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_JPEG_CFLAGS=`$PKG_CONFIG --cflags "libjpeg" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$JPEG_LIBS"; then
+    pkg_cv_JPEG_LIBS="$JPEG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libjpeg\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libjpeg") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_JPEG_LIBS=`$PKG_CONFIG --libs "libjpeg" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        JPEG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libjpeg" 2>&1`
+        else
+	        JPEG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libjpeg" 2>&1`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$JPEG_PKG_ERRORS" >&5
@@ -27130,6 +27187,87 @@
 $as_echo "yes" >&6; }
 	passed=`expr $passed + 1`
 fi
+elif test $pkg_failed = untried; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+pkg_failed=no
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libjpeg" >&5
+$as_echo_n "checking for libjpeg... " >&6; }
+
+if test -n "$JPEG_CFLAGS"; then
+    pkg_cv_JPEG_CFLAGS="$JPEG_CFLAGS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libjpeg\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libjpeg") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_JPEG_CFLAGS=`$PKG_CONFIG --cflags "libjpeg" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+if test -n "$JPEG_LIBS"; then
+    pkg_cv_JPEG_LIBS="$JPEG_LIBS"
+ elif test -n "$PKG_CONFIG"; then
+    if test -n "$PKG_CONFIG" && \
+    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libjpeg\""; } >&5
+  ($PKG_CONFIG --exists --print-errors "libjpeg") 2>&5
+  ac_status=$?
+  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
+  test $ac_status = 0; }; then
+  pkg_cv_JPEG_LIBS=`$PKG_CONFIG --libs "libjpeg" 2>/dev/null`
+		      test "x$?" != "x0" && pkg_failed=yes
+else
+  pkg_failed=yes
+fi
+ else
+    pkg_failed=untried
+fi
+
+
+
+if test $pkg_failed = yes; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+
+if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
+        _pkg_short_errors_supported=yes
+else
+        _pkg_short_errors_supported=no
+fi
+        if test $_pkg_short_errors_supported = yes; then
+	        JPEG_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libjpeg" 2>&1`
+        else
+	        JPEG_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libjpeg" 2>&1`
+        fi
+	# Put the nasty error message in config.log where it belongs
+	echo "$JPEG_PKG_ERRORS" >&5
+
+	failed=`expr $failed + 1`
+elif test $pkg_failed = untried; then
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+	failed=`expr $failed + 1`
+else
+	JPEG_CFLAGS=$pkg_cv_JPEG_CFLAGS
+	JPEG_LIBS=$pkg_cv_JPEG_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	passed=`expr $passed + 1`
+fi
+else
+	JPEG_CFLAGS=$pkg_cv_JPEG_CFLAGS
+	JPEG_LIBS=$pkg_cv_JPEG_LIBS
+        { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+	passed=`expr $passed + 1`
+fi
     #printf "JPEG_LIBS=${JPEG_LIBS}\n"
     #printf "JPEG_CFLAGS=${JPEG_CFLAGS}\n"
     if test $failed -eq 0 ; then
@@ -27550,6 +27688,12 @@
     # libwebpmux depends on webp
     # libwebp depends on libsharpyuv
 
+    # FIXME: For static build to succeed the link order needs to be
+    # "-lwebp -lwebpmux -lsharpyuv" but "-lsharpyuv -lwebp -lwebpmux"
+    # is being produced! Order is reversed!  Maybe fixed now.
+    # WEBPMUX_LIBS=-L/work/lib -lwebpmux -lm -lwebp -lm -lsharpyuv -lm
+    # WEBP_LIBS=-L/work/lib -lwebp -lm -lsharpyuv -lm
+
     # Need to add libsharp    libsharpyuv.pc
 
     # libwebp, libwebpmux, libwebpdemux
@@ -27644,8 +27788,8 @@
 $as_echo "yes" >&6; }
 
 fi
-    printf "WEBPMUX_LIBS=${WEBPMUX_LIBS}\n"
-    printf "WEBPMUX_CFLAGS=${WEBPMUX_CFLAGS}\n"
+    #printf "WEBPMUX_LIBS=${WEBPMUX_LIBS}\n"
+    #printf "WEBPMUX_CFLAGS=${WEBPMUX_CFLAGS}\n"
     if test $failed -eq 0 ; then
        pkg_config_to_flags 'libwebpmux' "${WEBPMUX_LIBS}" "${WEBPMUX_CFLAGS}"
     fi
@@ -27731,8 +27875,8 @@
 $as_echo "yes" >&6; }
 	passed=`expr $passed + 1`
 fi
-    printf "WEBP_LIBS=${WEBP_LIBS}\n"
-    printf "WEBP_CFLAGS=${WEBP_CFLAGS}\n"
+    #printf "WEBP_LIBS=${WEBP_LIBS}\n"
+    #printf "WEBP_CFLAGS=${WEBP_CFLAGS}\n"
     if test $failed -eq 0 ; then
        pkg_config_to_flags 'libwebp' "${WEBP_LIBS}" "${WEBP_CFLAGS}"
     fi
@@ -28910,7 +29054,6 @@
     OLD_LIBS=$LIBS
     failed=0
     passed=0
-    heif_libs=''
     heif_cflags=''
     # Use pkg-config to handle different optional codec libs
     # and if pkg-config is not available fallback to manual search.
@@ -29004,7 +29147,7 @@
   $as_echo_n "(cached) " >&6
 else
   ac_check_lib_save_LIBS=$LIBS
-LIBS="-lheif $heif_libs $LIBS"
+LIBS="-lheif ${HEIF_LIBS} $LIBS"
 cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 /* end confdefs.h.  */
 
@@ -29064,8 +29207,9 @@
         CPPFLAGS=$OLD_CPPFLAGS
         LDFLAGS=$OLD_LDFLAGS
         LIBS=$OLD_LIBS
-    else
-        LIB_HEIF="$heif_libs"
+        LIB_HEIF=''
+    else
+        LIB_HEIF="${HEIF_LIBS}"
         #LIBS="$LIB_HEIF $LIBS"
         for flag in $heif_cflags
         do
diff -r 0217b1ed1784 -r 4f171c233ba4 configure.ac
--- a/configure.ac	Sat Nov 25 08:37:00 2023 -0600
+++ b/configure.ac	Tue Nov 28 09:13:51 2023 -0600
@@ -1547,8 +1547,13 @@
        esac
     done
     # -l
+    reverse_pkg_libs=""
     for token in $pkg_libs
     do
+        reverse_pkg_libs="$token $reverse_pkg_libs"
+    done
+    for token in $reverse_pkg_libs
+    do
         case $token in
             -l*)
                 # Add token to LIBS if not already present
@@ -1762,10 +1767,11 @@
 #
 LIB_MATH=''
 AC_CHECK_LIB([m],[sqrt],[LIB_MATH="-lm"],,)
+LIB_MATH='-lm'
 LIBS="$LIB_MATH $LIBS"
+#printf "LIBS=${LIBS}\n"
 AC_SUBST([LIB_MATH])
 
-
 #
 # If vsnprintf is missing, look for TRIO
 #
@@ -2341,15 +2347,11 @@
 
 have_png='no'
 LIB_PNG=''
-if test "$have_zlib" = 'yes'
+if test "$have_zlib" = 'yes' -a "$with_png" = 'yes'
 then
   #
   # Check for PNG delegate library.
   #
-  AC_ARG_WITH([png],
-      [AS_HELP_STRING([--without-png],[disable PNG support])],
-      [with_png=$withval],
-      [with_png='yes'])
   OLD_CPPFLAGS=$CPPFLAGS
   OLD_LDFLAGS=$LDFLAGS
   OLD_LIBS=$LIBS
@@ -2477,7 +2479,10 @@
     failed=0
     passed=0
 
-    PKG_CHECK_MODULES([JPEG], [libturbojpeg, libjpeg], [passed=`expr $passed + 1`], [failed=`expr $failed + 1`])
+    #PKG_CHECK_MODULES([JPEG], [libturbojpeg, libjpeg], [passed=`expr $passed + 1`], [failed=`expr $failed + 1`])
+    PKG_CHECK_MODULES([JPEG], [libturbojpeg], [passed=`expr $passed + 1`],
+                              [PKG_CHECK_MODULES([JPEG], [libjpeg], [passed=`expr $passed + 1`],
+                                                         [failed=`expr $failed + 1`])])
     #printf "JPEG_LIBS=${JPEG_LIBS}\n"
     #printf "JPEG_CFLAGS=${JPEG_CFLAGS}\n"
     if test $failed -eq 0 ; then
@@ -2663,12 +2668,18 @@
     # libwebpmux depends on webp
     # libwebp depends on libsharpyuv
 
+    # FIXME: For static build to succeed the link order needs to be
+    # "-lwebp -lwebpmux -lsharpyuv" but "-lsharpyuv -lwebp -lwebpmux"
+    # is being produced! Order is reversed!  Maybe fixed now.
+    # WEBPMUX_LIBS=-L/work/lib -lwebpmux -lm -lwebp -lm -lsharpyuv -lm
+    # WEBP_LIBS=-L/work/lib -lwebp -lm -lsharpyuv -lm
+
     # Need to add libsharp    libsharpyuv.pc
 
     # libwebp, libwebpmux, libwebpdemux
     PKG_CHECK_MODULES([WEBPMUX], [libwebpmux], [], [])
-    printf "WEBPMUX_LIBS=${WEBPMUX_LIBS}\n"
-    printf "WEBPMUX_CFLAGS=${WEBPMUX_CFLAGS}\n"
+    #printf "WEBPMUX_LIBS=${WEBPMUX_LIBS}\n"
+    #printf "WEBPMUX_CFLAGS=${WEBPMUX_CFLAGS}\n"
     if test $failed -eq 0 ; then
        pkg_config_to_flags 'libwebpmux' "${WEBPMUX_LIBS}" "${WEBPMUX_CFLAGS}"
     fi
@@ -2684,8 +2695,8 @@
     # pkg-config libwebp --static --libs
     #-L/work/lib -lwebp -lm -lsharpyuv -lm
     PKG_CHECK_MODULES([WEBP], [libwebp], [passed=`expr $passed + 1`], [failed=`expr $failed + 1`])
-    printf "WEBP_LIBS=${WEBP_LIBS}\n"
-    printf "WEBP_CFLAGS=${WEBP_CFLAGS}\n"
+    #printf "WEBP_LIBS=${WEBP_LIBS}\n"
+    #printf "WEBP_CFLAGS=${WEBP_CFLAGS}\n"
     if test $failed -eq 0 ; then
        pkg_config_to_flags 'libwebp' "${WEBP_LIBS}" "${WEBP_CFLAGS}"
     fi
@@ -2971,7 +2982,6 @@
     OLD_LIBS=$LIBS
     failed=0
     passed=0
-    heif_libs=''
     heif_cflags=''
     # Use pkg-config to handle different optional codec libs
     # and if pkg-config is not available fallback to manual search.
@@ -2982,7 +2992,7 @@
        pkg_config_to_flags 'libheif' "${HEIF_LIBS}" "${HEIF_CFLAGS}"
     fi
     AC_CHECK_HEADER([libheif/heif.h],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`])
-    AC_CHECK_LIB([heif],[heif_context_alloc],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[$heif_libs])
+    AC_CHECK_LIB([heif],[heif_context_alloc],[passed=`expr $passed + 1`],[failed=`expr $failed + 1`],[${HEIF_LIBS}])
     AC_CHECK_FUNCS([heif_init heif_deinit])
     AC_MSG_CHECKING([if HEIF package is complete])
     if test $passed -gt 0
@@ -2994,8 +3004,9 @@
         CPPFLAGS=$OLD_CPPFLAGS
         LDFLAGS=$OLD_LDFLAGS
         LIBS=$OLD_LIBS
+        LIB_HEIF=''
     else
-        LIB_HEIF="$heif_libs"
+        LIB_HEIF="${HEIF_LIBS}"
         #LIBS="$LIB_HEIF $LIBS"
         for flag in $heif_cflags
         do
diff -r 0217b1ed1784 -r 4f171c233ba4 fuzzing/oss-fuzz-build.sh
--- a/fuzzing/oss-fuzz-build.sh	Sat Nov 25 08:37:00 2023 -0600
+++ b/fuzzing/oss-fuzz-build.sh	Tue Nov 28 09:13:51 2023 -0600
@@ -3,6 +3,16 @@
 # This is intended to be run from OSS-Fuzz's build environment. We intend to