GraphicsMagick: Re-vamp configure script to be more closely tied...
GraphicsMagick Commits <[email protected]> Fri, 24 Nov 2023 14:42:45 -0600
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.6061.1700858580.1716.graphicsmagick-commit@lists.sourceforge.net> |
changeset 4c88eec00a57 in /hg/GraphicsMagick details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=4c88eec00a57 summary: Re-vamp configure script to be more closely tied to pkg-config. diffstat: ChangeLog | 13 + Makefile.in | 32 +- VisualMagick/installer/inc/version.isx | 4 +- configure | 3811 ++++++++++++++++++++----------- configure.ac | 947 ++++--- fuzzing/oss-fuzz-build.sh | 39 + magick/GraphicsMagick.pc.in | 1 + magick/version.h | 4 +- www/Changelog.html | 12 + www/INSTALL-unix.html | 3 + www/INSTALL-unix.rst | 5 + 11 files changed, 3160 insertions(+), 1711 deletions(-) diffs (truncated from 6122 to 500 lines): diff -r 1c41908b4bc3 -r 4c88eec00a57 ChangeLog --- a/ChangeLog Tue Nov 21 17:30:04 2023 -0600 +++ b/ChangeLog Fri Nov 24 14:42:41 2023 -0600 @@ -1,3 +1,16 @@ +2023-11-24 Bob Friesenhahn <[email protected]> + + * www/INSTALL-unix.rst: Document how to get a maximally-static + build using `PKG_CONFIG='pkg-config --static' ./configure`. + + * fuzzing/oss-fuzz-build.sh: Continued work to try to accomplish a + static oss-fuzz build. Not quite successful yet. + + * magick/GraphicsMagick.pc.in (Description): Added project URL. + + * configure.ac: Major change to require/trust pkg-config much more + than before. Deleted outdated code. + 2023-11-21 Bob Friesenhahn <[email protected]> * magick/GraphicsMagick.pc.in: Add OpenMP runtime library as a diff -r 1c41908b4bc3 -r 4c88eec00a57 Makefile.in --- a/Makefile.in Tue Nov 21 17:30:04 2023 -0600 +++ b/Makefile.in Fri Nov 24 14:42:41 2023 -0600 @@ -2471,8 +2471,8 @@ EditorDelegate = @EditorDelegate@ FGREP = @FGREP@ FIGDecodeDelegate = @FIGDecodeDelegate@ -FT_CFLAGS = @FT_CFLAGS@ -FT_LIBS = @FT_LIBS@ +FREETYPE_CFLAGS = @FREETYPE_CFLAGS@ +FREETYPE_LIBS = @FREETYPE_LIBS@ GMDelegate = @GMDelegate@ GPG = @GPG@ GRAPHICSMAGICK_SNAPSHOT_COPY = @GRAPHICSMAGICK_SNAPSHOT_COPY@ @@ -2508,10 +2508,20 @@ INT64_F = @INT64_F@ INT64_T = @INT64_T@ INT8_T = @INT8_T@ +JASPER_CFLAGS = @JASPER_CFLAGS@ +JASPER_LIBS = @JASPER_LIBS@ +JPEG_CFLAGS = @JPEG_CFLAGS@ +JPEG_LIBS = @JPEG_LIBS@ +LCMS2_CFLAGS = @LCMS2_CFLAGS@ +LCMS2_LIBS = @LCMS2_LIBS@ LD = @LD@ LDFLAGS = @LDFLAGS@ LFS_CPPFLAGS = @LFS_CPPFLAGS@ LIBEXEC_DIR = @LIBEXEC_DIR@ +LIBJXL_CFLAGS = @LIBJXL_CFLAGS@ +LIBJXL_LIBS = @LIBJXL_LIBS@ +LIBJXL_THREADS_CFLAGS = @LIBJXL_THREADS_CFLAGS@ +LIBJXL_THREADS_LIBS = @LIBJXL_THREADS_LIBS@ LIBOBJS = @LIBOBJS@ LIBRARY_EXTRA_CPPFLAGS = @LIBRARY_EXTRA_CPPFLAGS@ LIBS = @LIBS@ @@ -2559,6 +2569,8 @@ LPRDelegate = @LPRDelegate@ LTLIBOBJS = @LTLIBOBJS@ LT_SYS_LIBRARY_PATH = @LT_SYS_LIBRARY_PATH@ +LZMA_CFLAGS = @LZMA_CFLAGS@ +LZMA_LIBS = @LZMA_LIBS@ LaunchDelegate = @LaunchDelegate@ MAGICKLIB = @MAGICKLIB@ MAGICKLIBDIR = @MAGICKLIBDIR@ @@ -2641,6 +2653,8 @@ PKG_CONFIG = @PKG_CONFIG@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ +PNG_CFLAGS = @PNG_CFLAGS@ +PNG_LIBS = @PNG_LIBS@ PREFIX_DIR = @PREFIX_DIR@ PSDelegate = @PSDelegate@ PTHREAD_CC = @PTHREAD_CC@ @@ -2664,6 +2678,8 @@ SYSCONF_DIR = @SYSCONF_DIR@ ShowImageDelegate = @ShowImageDelegate@ SysCtlDelegate = @SysCtlDelegate@ +TIFF_CFLAGS = @TIFF_CFLAGS@ +TIFF_LIBS = @TIFF_LIBS@ TXT2HTML = @TXT2HTML@ UINT16_T = @UINT16_T@ UINT32_F = @UINT32_F@ @@ -2676,6 +2692,12 @@ UINTPTR_F = @UINTPTR_F@ UINTPTR_T = @UINTPTR_T@ VERSION = @VERSION@ +WEBPDEMUX_CFLAGS = @WEBPDEMUX_CFLAGS@ +WEBPDEMUX_LIBS = @WEBPDEMUX_LIBS@ +WEBPMUX_CFLAGS = @WEBPMUX_CFLAGS@ +WEBPMUX_LIBS = @WEBPMUX_LIBS@ +WEBP_CFLAGS = @WEBP_CFLAGS@ +WEBP_LIBS = @WEBP_LIBS@ WinPathScript = @WinPathScript@ XMKMF = @XMKMF@ XML_CFLAGS = @XML_CFLAGS@ @@ -2685,6 +2707,10 @@ X_LIBS = @X_LIBS@ X_PRE_LIBS = @X_PRE_LIBS@ ZIP = @ZIP@ +ZLIB_CFLAGS = @ZLIB_CFLAGS@ +ZLIB_LIBS = @ZLIB_LIBS@ +ZSTD_CFLAGS = @ZSTD_CFLAGS@ +ZSTD_LIBS = @ZSTD_LIBS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -2711,7 +2737,6 @@ docdir = @docdir@ dvidir = @dvidir@ exec_prefix = @exec_prefix@ -freetype_config = @freetype_config@ ghostscript_font_dir = @ghostscript_font_dir@ host = @host@ host_alias = @host_alias@ @@ -2744,7 +2769,6 @@ top_srcdir_native = @top_srcdir_native@ type_include_files = @type_include_files@ windows_font_dir = @windows_font_dir@ -xml2_config = @xml2_config@ # Don't require all the GNU mandated files # Use XZ_OPT (a environment variable) to tune xz compression levels (e.g. XZ_OPT=-8e) diff -r 1c41908b4bc3 -r 4c88eec00a57 VisualMagick/installer/inc/version.isx --- a/VisualMagick/installer/inc/version.isx Tue Nov 21 17:30:04 2023 -0600 +++ b/VisualMagick/installer/inc/version.isx Fri Nov 24 14:42:41 2023 -0600 @@ -10,5 +10,5 @@ #define public MagickPackageName "GraphicsMagick" #define public MagickPackageVersion "1.4" -#define public MagickPackageVersionAddendum ".020231121" -#define public MagickPackageReleaseDate "snapshot-20231121" +#define public MagickPackageVersionAddendum ".020231124" +#define public MagickPackageReleaseDate "snapshot-20231124" diff -r 1c41908b4bc3 -r 4c88eec00a57 configure --- a/configure Tue Nov 21 17:30:04 2023 -0600 +++ b/configure Fri Nov 24 14:42:41 2023 -0600 @@ -725,55 +725,64 @@ LIB_GDI32 HasWINGDI32_FALSE HasWINGDI32_TRUE -LIB_WMF_DEPS -LIB_WMF -HasWMF_FALSE -HasWMF_TRUE -LIB_XML_DEPS -LIB_XML -HasXML_FALSE -HasXML_TRUE -XML_LIBS -XML_CFLAGS -xml2_config +LIB_JP2 +HasJP2_FALSE +HasJP2_TRUE +JASPER_LIBS +JASPER_CFLAGS LIB_HEIF HasHEIF_FALSE HasHEIF_TRUE HEIF_LIBS HEIF_CFLAGS -LIB_WEBP -HasWEBP_FALSE -HasWEBP_TRUE +LIB_WMF_DEPS +LIB_WMF +HasWMF_FALSE +HasWMF_TRUE LIB_JXL HasJXL_FALSE HasJXL_TRUE +LIBJXL_LIBS +LIBJXL_CFLAGS +LIBJXL_THREADS_LIBS +LIBJXL_THREADS_CFLAGS +LIB_TIFF +HasTIFF_FALSE +HasTIFF_TRUE +TIFF_LIBS +TIFF_CFLAGS LIB_JBIG HasJBIG_FALSE HasJBIG_TRUE -LIB_TIFF -HasTIFF_FALSE -HasTIFF_TRUE +LIB_WEBP +HasWEBP_FALSE +HasWEBP_TRUE +WEBP_LIBS +WEBP_CFLAGS +WEBPDEMUX_LIBS +WEBPDEMUX_CFLAGS +WEBPMUX_LIBS +WEBPMUX_CFLAGS LIB_TTF HasTTF_FALSE HasTTF_TRUE -FT_LIBS -FT_CFLAGS -PKG_CONFIG_LIBDIR -PKG_CONFIG_PATH -PKG_CONFIG -freetype_config -LIB_JP2 -HasJP2_FALSE -HasJP2_TRUE +FREETYPE_LIBS +FREETYPE_CFLAGS LIB_JPEG HasJPEG_FALSE HasJPEG_TRUE +JPEG_LIBS +JPEG_CFLAGS LIB_PNG HasPNG_FALSE HasPNG_TRUE +PNG_LIBS +PNG_CFLAGS LIB_LCMS HasLCMS_FALSE HasLCMS_TRUE +LCMS2_LIBS +LCMS2_CFLAGS LIB_FPX HasFPX_FALSE HasFPX_TRUE @@ -790,18 +799,30 @@ X_PRE_LIBS X_CFLAGS XMKMF +LIB_XML_DEPS +LIB_XML +HasXML_FALSE +HasXML_TRUE +XML_LIBS +XML_CFLAGS LIB_ZSTD HasZSTD_FALSE HasZSTD_TRUE +ZSTD_LIBS +ZSTD_CFLAGS LIB_LZMA HasLZMA_FALSE HasLZMA_TRUE +LZMA_LIBS +LZMA_CFLAGS LIB_BZLIB HasBZLIB_FALSE HasBZLIB_TRUE LIB_ZLIB HasZLIB_FALSE HasZLIB_TRUE +ZLIB_LIBS +ZLIB_CFLAGS WITH_LTDL_FALSE WITH_LTDL_TRUE LIB_TRIO @@ -888,6 +909,9 @@ AS LFS_CPPFLAGS OPENMP_CFLAGS +PKG_CONFIG_LIBDIR +PKG_CONFIG_PATH +PKG_CONFIG PTHREAD_CFLAGS PTHREAD_LIBS PTHREAD_CXX @@ -1112,21 +1136,47 @@ LIBS CPPFLAGS CPP +PKG_CONFIG +PKG_CONFIG_PATH +PKG_CONFIG_LIBDIR LT_SYS_LIBRARY_PATH CXX CXXFLAGS CCC CXXCPP +ZLIB_CFLAGS +ZLIB_LIBS +LZMA_CFLAGS +LZMA_LIBS +ZSTD_CFLAGS +ZSTD_LIBS +XML_CFLAGS +XML_LIBS XMKMF -PKG_CONFIG -PKG_CONFIG_PATH -PKG_CONFIG_LIBDIR -FT_CFLAGS -FT_LIBS +LCMS2_CFLAGS +LCMS2_LIBS +PNG_CFLAGS +PNG_LIBS +JPEG_CFLAGS +JPEG_LIBS +FREETYPE_CFLAGS +FREETYPE_LIBS +WEBPMUX_CFLAGS +WEBPMUX_LIBS +WEBPDEMUX_CFLAGS +WEBPDEMUX_LIBS +WEBP_CFLAGS +WEBP_LIBS +TIFF_CFLAGS +TIFF_LIBS +LIBJXL_THREADS_CFLAGS +LIBJXL_THREADS_LIBS +LIBJXL_CFLAGS +LIBJXL_LIBS HEIF_CFLAGS HEIF_LIBS -XML_CFLAGS -XML_LIBS' +JASPER_CFLAGS +JASPER_LIBS' # Initialize some variables set by options. @@ -1846,23 +1896,60 @@ CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if you have headers in a nonstandard directory <include dir> CPP C preprocessor + PKG_CONFIG path to pkg-config utility + PKG_CONFIG_PATH + directories to add to pkg-config's search path + PKG_CONFIG_LIBDIR + path overriding pkg-config's built-in search path LT_SYS_LIBRARY_PATH User-defined run-time library search path. CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor + ZLIB_CFLAGS C compiler flags for ZLIB, overriding pkg-config + ZLIB_LIBS linker flags for ZLIB, overriding pkg-config + LZMA_CFLAGS C compiler flags for LZMA, overriding pkg-config + LZMA_LIBS linker flags for LZMA, overriding pkg-config + ZSTD_CFLAGS C compiler flags for ZSTD, overriding pkg-config + ZSTD_LIBS linker flags for ZSTD, overriding pkg-config + XML_CFLAGS C compiler flags for XML, overriding pkg-config + XML_LIBS linker flags for XML, overriding pkg-config XMKMF Path to xmkmf, Makefile generator for X Window System - PKG_CONFIG path to pkg-config utility - PKG_CONFIG_PATH - directories to add to pkg-config's search path - PKG_CONFIG_LIBDIR - path overriding pkg-config's built-in search path - FT_CFLAGS C compiler flags for FT, overriding pkg-config - FT_LIBS linker flags for FT, overriding pkg-config + LCMS2_CFLAGS + C compiler flags for LCMS2, overriding pkg-config + LCMS2_LIBS linker flags for LCMS2, overriding pkg-config + PNG_CFLAGS C compiler flags for PNG, overriding pkg-config + PNG_LIBS linker flags for PNG, overriding pkg-config + JPEG_CFLAGS C compiler flags for JPEG, overriding pkg-config + JPEG_LIBS linker flags for JPEG, overriding pkg-config + FREETYPE_CFLAGS + C compiler flags for FREETYPE, overriding pkg-config + FREETYPE_LIBS + linker flags for FREETYPE, overriding pkg-config + WEBPMUX_CFLAGS + C compiler flags for WEBPMUX, overriding pkg-config + WEBPMUX_LIBS + linker flags for WEBPMUX, overriding pkg-config + WEBPDEMUX_CFLAGS + C compiler flags for WEBPDEMUX, overriding pkg-config + WEBPDEMUX_LIBS + linker flags for WEBPDEMUX, overriding pkg-config + WEBP_CFLAGS C compiler flags for WEBP, overriding pkg-config + WEBP_LIBS linker flags for WEBP, overriding pkg-config + TIFF_CFLAGS C compiler flags for TIFF, overriding pkg-config + TIFF_LIBS linker flags for TIFF, overriding pkg-config + LIBJXL_THREADS_CFLAGS + C compiler flags for LIBJXL_THREADS, overriding pkg-config + LIBJXL_THREADS_LIBS + linker flags for LIBJXL_THREADS, overriding pkg-config + LIBJXL_CFLAGS + C compiler flags for LIBJXL, overriding pkg-config + LIBJXL_LIBS linker flags for LIBJXL, overriding pkg-config HEIF_CFLAGS C compiler flags for HEIF, overriding pkg-config HEIF_LIBS linker flags for HEIF, overriding pkg-config - XML_CFLAGS C compiler flags for XML, overriding pkg-config - XML_LIBS linker flags for XML, overriding pkg-config + JASPER_CFLAGS + C compiler flags for JASPER, overriding pkg-config + JASPER_LIBS linker flags for JASPER, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -3169,7 +3256,6 @@ ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. - # Include the TAP driver @@ -3190,6 +3276,7 @@ . ${srcdir}/version.sh echo "configuring ${PACKAGE_NAME} ${PACKAGE_VERSION}${PACKAGE_VERSION_ADDENDUM}" + # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 @@ -7383,6 +7470,128 @@ fi fi +# Search for the pkg-config tool and set the PKG_CONFIG variable to first found in the path. + + + + + + + +if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then + if test -n "$ac_tool_prefix"; then + # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. +set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + +fi +if test -z "$ac_cv_path_PKG_CONFIG"; then + ac_pt_PKG_CONFIG=$PKG_CONFIG + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : + $as_echo_n "(cached) " >&6 +else + case $ac_pt_PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then + ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + ;; +esac +fi +ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG +if test -n "$ac_pt_PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 +$as_echo "$ac_pt_PKG_CONFIG" >&6; }