texlive[73360] Build/source/libs: libpng 1.6.45
commits+kakuto at tug.org
commits+kakuto at tug.org
Wed Jan 8 07:35:22 CET 2025
Revision: 73360
https://tug.org/svn/texlive?view=revision&revision=73360
Author: kakuto
Date: 2025-01-08 07:35:22 +0100 (Wed, 08 Jan 2025)
Log Message:
-----------
libpng 1.6.45
Modified Paths:
--------------
trunk/Build/source/libs/README
trunk/Build/source/libs/libpng/README
trunk/Build/source/libs/libpng/TLpatches/ChangeLog
trunk/Build/source/libs/libpng/TLpatches/TL-Changes
trunk/Build/source/libs/libpng/configure
trunk/Build/source/libs/libpng/libpng-src/ANNOUNCE
trunk/Build/source/libs/libpng/libpng-src/AUTHORS
trunk/Build/source/libs/libpng/libpng-src/CHANGES
trunk/Build/source/libs/libpng/libpng-src/CMakeLists.txt
trunk/Build/source/libs/libpng/libpng-src/INSTALL
trunk/Build/source/libs/libpng/libpng-src/LICENSE
trunk/Build/source/libs/libpng/libpng-src/README
trunk/Build/source/libs/libpng/libpng-src/TODO
trunk/Build/source/libs/libpng/libpng-src/arm/arm_init.c
trunk/Build/source/libs/libpng/libpng-src/arm/filter_neon.S
trunk/Build/source/libs/libpng/libpng-src/arm/filter_neon_intrinsics.c
trunk/Build/source/libs/libpng/libpng-src/arm/palette_neon_intrinsics.c
trunk/Build/source/libs/libpng/libpng-src/ci/ci_lint.sh
trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_cmake.sh
trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_configure.sh
trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_version.sh
trunk/Build/source/libs/libpng/libpng-src/configure.ac
trunk/Build/source/libs/libpng/libpng-src/contrib/.editorconfig
trunk/Build/source/libs/libpng/libpng-src/contrib/README.txt
trunk/Build/source/libs/libpng/libpng-src/contrib/examples/README.txt
trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngimage.c
trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngstest.c
trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngunknown.c
trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngvalid.c
trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/readpng.c
trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/tarith.c
trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/timepng.c
trunk/Build/source/libs/libpng/libpng-src/contrib/mips-mmi/linux.c
trunk/Build/source/libs/libpng/libpng-src/contrib/mips-msa/linux.c
trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/Dockerfile
trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/README.txt
trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/build.sh
trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/libpng_read_fuzzer.cc
trunk/Build/source/libs/libpng/libpng-src/contrib/pngexif/.editorconfig
trunk/Build/source/libs/libpng/libpng-src/contrib/pngminim/README
trunk/Build/source/libs/libpng/libpng-src/contrib/pngminus/CHANGES.txt
trunk/Build/source/libs/libpng/libpng-src/contrib/pngminus/LICENSE.txt
trunk/Build/source/libs/libpng/libpng-src/contrib/pngsuite/README
trunk/Build/source/libs/libpng/libpng-src/contrib/pngsuite/interlaced/README
trunk/Build/source/libs/libpng/libpng-src/contrib/visupng/.editorconfig
trunk/Build/source/libs/libpng/libpng-src/example.c
trunk/Build/source/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c
trunk/Build/source/libs/libpng/libpng-src/intel/intel_init.c
trunk/Build/source/libs/libpng/libpng-src/libpng-manual.txt
trunk/Build/source/libs/libpng/libpng-src/libpng.3
trunk/Build/source/libs/libpng/libpng-src/libpngpf.3
trunk/Build/source/libs/libpng/libpng-src/mips/filter_msa_intrinsics.c
trunk/Build/source/libs/libpng/libpng-src/mips/mips_init.c
trunk/Build/source/libs/libpng/libpng-src/png.5
trunk/Build/source/libs/libpng/libpng-src/png.c
trunk/Build/source/libs/libpng/libpng-src/png.h
trunk/Build/source/libs/libpng/libpng-src/pngconf.h
trunk/Build/source/libs/libpng/libpng-src/pngdebug.h
trunk/Build/source/libs/libpng/libpng-src/pngerror.c
trunk/Build/source/libs/libpng/libpng-src/pngget.c
trunk/Build/source/libs/libpng/libpng-src/pnginfo.h
trunk/Build/source/libs/libpng/libpng-src/pnglibconf.h
trunk/Build/source/libs/libpng/libpng-src/pngmem.c
trunk/Build/source/libs/libpng/libpng-src/pngpread.c
trunk/Build/source/libs/libpng/libpng-src/pngpriv.h
trunk/Build/source/libs/libpng/libpng-src/pngread.c
trunk/Build/source/libs/libpng/libpng-src/pngrio.c
trunk/Build/source/libs/libpng/libpng-src/pngrtran.c
trunk/Build/source/libs/libpng/libpng-src/pngrutil.c
trunk/Build/source/libs/libpng/libpng-src/pngset.c
trunk/Build/source/libs/libpng/libpng-src/pngstruct.h
trunk/Build/source/libs/libpng/libpng-src/pngtest.c
trunk/Build/source/libs/libpng/libpng-src/pngtest.png
trunk/Build/source/libs/libpng/libpng-src/pngtrans.c
trunk/Build/source/libs/libpng/libpng-src/pngwio.c
trunk/Build/source/libs/libpng/libpng-src/pngwrite.c
trunk/Build/source/libs/libpng/libpng-src/pngwtran.c
trunk/Build/source/libs/libpng/libpng-src/pngwutil.c
trunk/Build/source/libs/libpng/libpng-src/powerpc/powerpc_init.c
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/libpng/libpng.vcxproj
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pnglibconf/pnglibconf.vcxproj
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngstest/pngstest.vcxproj
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngtest/pngtest.vcxproj
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngunknown/pngunknown.vcxproj
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngvalid/pngvalid.vcxproj
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/zlib/zlib.vcxproj
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/zlib.props
trunk/Build/source/libs/libpng/libpng-src/scripts/README.txt
trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/libtool.m4
trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltoptions.m4
trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltsugar.m4
trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltversion.m4
trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/lt~obsolete.m4
trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGConfig.cmake
trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/test.cmake.in
trunk/Build/source/libs/libpng/libpng-src/scripts/descrip.mms
trunk/Build/source/libs/libpng/libpng-src/scripts/intprefix.c
trunk/Build/source/libs/libpng/libpng-src/scripts/libpng-config-body.in
trunk/Build/source/libs/libpng/libpng-src/scripts/libpng-config-head.in
trunk/Build/source/libs/libpng/libpng-src/scripts/libpng.pc.in
trunk/Build/source/libs/libpng/libpng-src/scripts/pnglibconf.dfa
trunk/Build/source/libs/libpng/libpng-src/scripts/pnglibconf.h.prebuilt
trunk/Build/source/libs/libpng/libpng-src/scripts/prefix.c
trunk/Build/source/libs/libpng/libpng-src/scripts/sym.c
trunk/Build/source/libs/libpng/libpng-src/scripts/symbols.c
trunk/Build/source/libs/libpng/libpng-src/scripts/symbols.def
trunk/Build/source/libs/libpng/libpng-src/scripts/vers.c
trunk/Build/source/libs/libpng/libpng-src/tests/pngtest-all
trunk/Build/source/libs/libpng/version.ac
Added Paths:
-----------
trunk/Build/source/libs/libpng/libpng-src/contrib/testpngs/png-3/
trunk/Build/source/libs/libpng/libpng-src/contrib/testpngs/png-3/cicp-display-p3_reencoded.png
trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/build.bat
trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGGenConfig.cmake
trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGTest.cmake
Modified: trunk/Build/source/libs/README
===================================================================
--- trunk/Build/source/libs/README 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/README 2025-01-08 06:35:22 UTC (rev 73360)
@@ -37,7 +37,7 @@
libpaper 1.1.29 - checked 07jan24
https://ftp.debian.org/debian/pool/main/libp/libpaper/
-libpng 1.6.44 - checked 13sep24
+libpng 1.6.45 - checked 08jan25
https://sourceforge.net/projects/libpng/files/ - used by many
lua 5.2.4
Modified: trunk/Build/source/libs/libpng/README
===================================================================
--- trunk/Build/source/libs/libpng/README 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/README 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,4 @@
- Building libpng-1.6.44 as part of the TL tree
+ Building libpng-1.6.45 as part of the TL tree
=============================================
This directory libs/libpng/ uses a proxy Makefile.am to build the libpng library
@@ -14,4 +14,4 @@
=============================
2009-07-23 Peter Breitenlohner <peb at mppmu.mpg.de>
-2024-09-13 Akira Kakuto <kakuto at jcom.zaq.ne.jp>
+2025-01-08 Akira Kakuto <kakuto at jcom.zaq.ne.jp>
Modified: trunk/Build/source/libs/libpng/TLpatches/ChangeLog
===================================================================
--- trunk/Build/source/libs/libpng/TLpatches/ChangeLog 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/TLpatches/ChangeLog 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,3 +1,7 @@
+2025-01-08 Akira Kakuto <kakuto at jcom.zaq.ne.jp>
+
+ Import libpng-1.6.45.
+
2024-09-13 Akira Kakuto <kakuto at jcom.zaq.ne.jp>
Import libpng-1.6.44.
Modified: trunk/Build/source/libs/libpng/TLpatches/TL-Changes
===================================================================
--- trunk/Build/source/libs/libpng/TLpatches/TL-Changes 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/TLpatches/TL-Changes 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,5 +1,5 @@
-Changes applied to the libpng-1.6.44/ tree as obtained from:
- https://sourceforge.net/projects/libpng/files/libpng16/1.6.44/
+Changes applied to the libpng-1.6.45/ tree as obtained from:
+ https://sourceforge.net/projects/libpng/files/libpng16/1.6.45/
Copied:
scripts/pnglibconf.h.prebuilt -> pnglibconf.h
@@ -7,7 +7,9 @@
Removed:
.github (dir)
.appveyor.yml
+ .cmake-format.yaml
.editorconfig
+ .editorconfig-checker.json
.gitignore
.travis.yml
.yamllint.yml
Modified: trunk/Build/source/libs/libpng/configure
===================================================================
--- trunk/Build/source/libs/libpng/configure 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/configure 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.72 for libpng (TeX Live) 1.6.44.
+# Generated by GNU Autoconf 2.72 for libpng (TeX Live) 1.6.45.
#
# Report bugs to <tex-k at tug.org>.
#
@@ -604,8 +604,8 @@
# Identity of this package.
PACKAGE_NAME='libpng (TeX Live)'
PACKAGE_TARNAME='libpng--tex-live-'
-PACKAGE_VERSION='1.6.44'
-PACKAGE_STRING='libpng (TeX Live) 1.6.44'
+PACKAGE_VERSION='1.6.45'
+PACKAGE_STRING='libpng (TeX Live) 1.6.45'
PACKAGE_BUGREPORT='tex-k at tug.org'
PACKAGE_URL=''
@@ -1342,7 +1342,7 @@
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-'configure' configures libpng (TeX Live) 1.6.44 to adapt to many kinds of systems.
+'configure' configures libpng (TeX Live) 1.6.45 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1414,7 +1414,7 @@
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of libpng (TeX Live) 1.6.44:";;
+ short | recursive ) echo "Configuration of libpng (TeX Live) 1.6.45:";;
esac
cat <<\_ACEOF
@@ -1534,7 +1534,7 @@
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-libpng (TeX Live) configure 1.6.44
+libpng (TeX Live) configure 1.6.45
generated by GNU Autoconf 2.72
Copyright (C) 2023 Free Software Foundation, Inc.
@@ -1861,7 +1861,7 @@
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by libpng (TeX Live) $as_me 1.6.44, which was
+It was created by libpng (TeX Live) $as_me 1.6.45, which was
generated by GNU Autoconf 2.72. Invocation command line was
$ $0$ac_configure_args_raw
@@ -4822,7 +4822,7 @@
# Define the identity of the package.
PACKAGE='libpng--tex-live-'
- VERSION='1.6.44'
+ VERSION='1.6.45'
printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h
@@ -7996,7 +7996,7 @@
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by libpng (TeX Live) $as_me 1.6.44, which was
+This file was extended by libpng (TeX Live) $as_me 1.6.45, which was
generated by GNU Autoconf 2.72. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -8064,7 +8064,7 @@
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config='$ac_cs_config_escaped'
ac_cs_version="\\
-libpng (TeX Live) config.status 1.6.44
+libpng (TeX Live) config.status 1.6.45
configured by $0, generated by GNU Autoconf 2.72,
with options \\"\$ac_cs_config\\"
Modified: trunk/Build/source/libs/libpng/libpng-src/ANNOUNCE
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/ANNOUNCE 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/ANNOUNCE 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,5 +1,5 @@
-libpng 1.6.44 - September 12, 2024
-==================================
+libpng 1.6.45 - January 7, 2025
+===============================
This is a public release of libpng, intended for use in production code.
@@ -9,13 +9,13 @@
Source files with LF line endings (for Unix/Linux):
- * libpng-1.6.44.tar.xz (LZMA-compressed, recommended)
- * libpng-1.6.44.tar.gz (deflate-compressed)
+ * libpng-1.6.45.tar.xz (LZMA-compressed, recommended)
+ * libpng-1.6.45.tar.gz (deflate-compressed)
Source files with CRLF line endings (for Windows):
- * lpng1644.7z (LZMA-compressed, recommended)
- * lpng1644.zip (deflate-compressed)
+ * lpng1645.7z (LZMA-compressed, recommended)
+ * lpng1645.zip (deflate-compressed)
Other information:
@@ -25,29 +25,18 @@
* TRADEMARK.md
-Changes from version 1.6.43 to version 1.6.44
+Changes from version 1.6.44 to version 1.6.45
---------------------------------------------
- * Hardened calculations in chroma handling to prevent overflows, and
- relaxed a constraint in cHRM validation to accomodate the standard
- ACES AP1 set of color primaries.
+ * Added support for the cICP chunk.
+ (Contributed by Lucas Chollet and John Bowler)
+ * Adjusted and improved various checks in colorspace calculations.
(Contributed by John Bowler)
- * Removed the ASM implementation of ARM Neon optimizations and updated
- the build accordingly. Only the remaining C implementation shall be
- used from now on, thus ensuring the support of the PAC/BTI security
- features on ARM64.
- (Contributed by Ross Burton and John Bowler)
- * Fixed the pickup of the PNG_HARDWARE_OPTIMIZATIONS option in the
- CMake build on FreeBSD/amd64. This is an important performance fix
- on this platform.
- * Applied various fixes and improvements to the CMake build.
- (Contributed by Eric Riff, Benjamin Buch and Erik Scholz)
- * Added fuzzing targets for the simplified read API.
- (Contributed by Mikhail Khachayants)
- * Fixed a build error involving pngtest.c under a custom config.
- This was a regression introduced in a code cleanup in libpng-1.6.43.
- (Contributed by Ben Wagner)
- * Fixed and improved the config files for AppVeyor CI and Travis CI.
+ * Rearranged the write order of colorspace chunks for better conformance
+ with the PNG v3 draft specification.
+ (Contributed by John Bowler)
+ * Raised the minimum required CMake version from 3.6 to 3.14.
+ * Forked off a development branch for libpng version 1.8.
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
Modified: trunk/Build/source/libs/libpng/libpng-src/AUTHORS
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/AUTHORS 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/AUTHORS 2025-01-08 06:35:22 UTC (rev 73360)
@@ -17,6 +17,7 @@
* James Yu
* John Bowler
* Kevin Bracey
+ * Lucas Chollet
* Magnus Holmgren
* Mandar Sahastrabuddhe
* Mans Rullgard
Modified: trunk/Build/source/libs/libpng/libpng-src/CHANGES
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/CHANGES 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/CHANGES 2025-01-08 06:35:22 UTC (rev 73360)
@@ -6218,6 +6218,17 @@
(Contributed by Ben Wagner)
Fixed and improved the config files for AppVeyor CI and Travis CI.
+Version 1.6.45 [January 7, 2025]
+ Added support for the cICP chunk.
+ (Contributed by Lucas Chollet and John Bowler)
+ Adjusted and improved various checks in colorspace calculations.
+ (Contributed by John Bowler)
+ Rearranged the write order of colorspace chunks for better conformance
+ with the PNG v3 draft specification.
+ (Contributed by John Bowler)
+ Raised the minimum required CMake version from 3.6 to 3.14.
+ Forked off a development branch for libpng version 1.8.
+
Send comments/corrections/commendations to png-mng-implement at lists.sf.net.
Subscription is required; visit
https://lists.sourceforge.net/lists/listinfo/png-mng-implement
Modified: trunk/Build/source/libs/libpng/libpng-src/CMakeLists.txt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/CMakeLists.txt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/CMakeLists.txt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,9 +1,8 @@
-
# CMakeLists.txt - CMake lists for libpng
#
-# Copyright (c) 2018-2024 Cosmin Truta.
-# Copyright (c) 2007-2018 Glenn Randers-Pehrson.
-# Originally written by Christian Ehrlicher, 2007.
+# Copyright (c) 2018-2025 Cosmin Truta
+# Copyright (c) 2007-2018 Glenn Randers-Pehrson
+# Originally written by Christian Ehrlicher, 2007
#
# Use, modification and distribution are subject to
# the same licensing terms and conditions as libpng.
@@ -15,11 +14,11 @@
#
# SPDX-License-Identifier: libpng-2.0
-cmake_minimum_required(VERSION 3.6)
+cmake_minimum_required(VERSION 3.14)
set(PNGLIB_MAJOR 1)
set(PNGLIB_MINOR 6)
-set(PNGLIB_REVISION 44)
+set(PNGLIB_REVISION 45)
set(PNGLIB_SUBREVISION 0)
#set(PNGLIB_SUBREVISION "git")
set(PNGLIB_VERSION ${PNGLIB_MAJOR}.${PNGLIB_MINOR}.${PNGLIB_REVISION})
@@ -30,11 +29,6 @@
VERSION ${PNGLIB_VERSION}
LANGUAGES C ASM)
-if(POLICY CMP0074)
- # Allow find_package() to use the ZLIB_ROOT variable, if available.
- cmake_policy(SET CMP0074 NEW)
-endif()
-
include(CheckCSourceCompiles)
include(GNUInstallDirs)
@@ -69,7 +63,7 @@
# Same as above, but for the third-party tools.
# Although these tools are targetted at development environments only,
# the users are allowed to override the option to build by default.
-if (ANDROID OR IOS)
+if(ANDROID OR IOS)
option(PNG_TOOLS "Build the libpng tools" OFF)
else()
option(PNG_TOOLS "Build the libpng tools" ON)
@@ -98,7 +92,7 @@
# to check CMAKE_OSX_ARCHITECTURES to identify which hardware-specific flags to
# enable. Note that this will fail if you attempt to build a universal binary
# in a single CMake invocation.
-if (APPLE AND CMAKE_OSX_ARCHITECTURES)
+if(APPLE AND CMAKE_OSX_ARCHITECTURES)
string(TOLOWER "${CMAKE_OSX_ARCHITECTURES}" PNG_TARGET_ARCHITECTURE)
else()
string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" PNG_TARGET_ARCHITECTURE)
@@ -106,24 +100,25 @@
message(STATUS "Building for target architecture: ${PNG_TARGET_ARCHITECTURE}")
# Allow the users to specify a custom location of zlib.
-# This option is deprecated, and no longer needed with CMake 3.12 and newer.
-# Under the CMake policy CMP0074, if zlib is being built alongside libpng as a
-# subproject, its location can be passed on to CMake via the ZLIB_ROOT variable.
-option(PNG_BUILD_ZLIB "Custom zlib location, else find_package is used" OFF)
-if(NOT PNG_BUILD_ZLIB)
- find_package(ZLIB REQUIRED)
-elseif(POLICY CMP0074)
+# With CMake 3.12 and newer, this option is no longer necessary.
+option(PNG_BUILD_ZLIB "[Deprecated; please use ZLIB_ROOT]" OFF)
+if(PNG_BUILD_ZLIB)
if("x${ZLIB_ROOT}" STREQUAL "x")
- message(DEPRECATION
- "The option PNG_BUILD_ZLIB has been deprecated; please use ZLIB_ROOT instead")
+ message(SEND_ERROR
+ "The option PNG_BUILD_ZLIB=${PNG_BUILD_ZLIB} is no longer supported; "
+ "please use ZLIB_ROOT instead")
else()
message(SEND_ERROR
- "The option PNG_BUILD_ZLIB=${PNG_BUILD_ZLIB} and "
- "the variable ZLIB_ROOT=\"${ZLIB_ROOT}\" are mutually exclusive")
+ "The option PNG_BUILD_ZLIB=${PNG_BUILD_ZLIB} is no longer supported; "
+ "using ZLIB_ROOT=\"${ZLIB_ROOT}\"")
endif()
endif()
-if(UNIX AND NOT APPLE AND NOT BEOS AND NOT HAIKU AND NOT EMSCRIPTEN)
+find_package(ZLIB REQUIRED)
+
+if(UNIX
+ AND NOT (APPLE OR BEOS OR HAIKU)
+ AND NOT EMSCRIPTEN)
find_library(M_LIBRARY m)
if(M_LIBRARY)
set(M_LIBRARY m)
@@ -136,188 +131,188 @@
if(PNG_HARDWARE_OPTIMIZATIONS)
-# Set definitions and sources for ARM.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(arm|aarch)")
- if(PNG_TARGET_ARCHITECTURE MATCHES "^(arm64|aarch64)")
- set(PNG_ARM_NEON_POSSIBLE_VALUES on off)
- set(PNG_ARM_NEON "on"
- CACHE STRING "Enable ARM NEON optimizations: on|off; on is default")
- else()
- set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
- set(PNG_ARM_NEON "off"
- CACHE STRING "Enable ARM NEON optimizations: check|on|off; off is default")
- endif()
- set_property(CACHE PNG_ARM_NEON
- PROPERTY STRINGS ${PNG_ARM_NEON_POSSIBLE_VALUES})
- list(FIND PNG_ARM_NEON_POSSIBLE_VALUES ${PNG_ARM_NEON} index)
- if(index EQUAL -1)
- message(FATAL_ERROR "PNG_ARM_NEON must be one of [${PNG_ARM_NEON_POSSIBLE_VALUES}]")
- elseif(NOT PNG_ARM_NEON STREQUAL "off")
- set(libpng_arm_sources
- arm/arm_init.c
- arm/filter_neon_intrinsics.c
- arm/palette_neon_intrinsics.c)
- if(PNG_ARM_NEON STREQUAL "on")
- add_definitions(-DPNG_ARM_NEON_OPT=2)
- elseif(PNG_ARM_NEON STREQUAL "check")
- add_definitions(-DPNG_ARM_NEON_CHECK_SUPPORTED)
+ # Set definitions and sources for ARM.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(arm|aarch)")
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(arm64|aarch64)")
+ set(PNG_ARM_NEON_POSSIBLE_VALUES on off)
+ set(PNG_ARM_NEON "on"
+ CACHE STRING "Enable ARM NEON optimizations: on|off; on is default")
+ else()
+ set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
+ set(PNG_ARM_NEON "off"
+ CACHE STRING "Enable ARM NEON optimizations: check|on|off; off is default")
endif()
- else()
- add_definitions(-DPNG_ARM_NEON_OPT=0)
+ set_property(CACHE PNG_ARM_NEON
+ PROPERTY STRINGS ${PNG_ARM_NEON_POSSIBLE_VALUES})
+ list(FIND PNG_ARM_NEON_POSSIBLE_VALUES ${PNG_ARM_NEON} index)
+ if(index EQUAL -1)
+ message(FATAL_ERROR "PNG_ARM_NEON must be one of [${PNG_ARM_NEON_POSSIBLE_VALUES}]")
+ elseif(NOT PNG_ARM_NEON STREQUAL "off")
+ set(libpng_arm_sources
+ arm/arm_init.c
+ arm/filter_neon_intrinsics.c
+ arm/palette_neon_intrinsics.c)
+ if(PNG_ARM_NEON STREQUAL "on")
+ add_definitions(-DPNG_ARM_NEON_OPT=2)
+ elseif(PNG_ARM_NEON STREQUAL "check")
+ add_definitions(-DPNG_ARM_NEON_CHECK_SUPPORTED)
+ endif()
+ else()
+ add_definitions(-DPNG_ARM_NEON_OPT=0)
+ endif()
endif()
-endif()
-# Set definitions and sources for PowerPC.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(powerpc|ppc64)")
- set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off)
- set(PNG_POWERPC_VSX "on"
- CACHE STRING "Enable POWERPC VSX optimizations: on|off; on is default")
- set_property(CACHE PNG_POWERPC_VSX
- PROPERTY STRINGS ${PNG_POWERPC_VSX_POSSIBLE_VALUES})
- list(FIND PNG_POWERPC_VSX_POSSIBLE_VALUES ${PNG_POWERPC_VSX} index)
- if(index EQUAL -1)
- message(FATAL_ERROR "PNG_POWERPC_VSX must be one of [${PNG_POWERPC_VSX_POSSIBLE_VALUES}]")
- elseif(NOT PNG_POWERPC_VSX STREQUAL "off")
- set(libpng_powerpc_sources
- powerpc/powerpc_init.c
- powerpc/filter_vsx_intrinsics.c)
- if(PNG_POWERPC_VSX STREQUAL "on")
- add_definitions(-DPNG_POWERPC_VSX_OPT=2)
+ # Set definitions and sources for PowerPC.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(powerpc|ppc64)")
+ set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off)
+ set(PNG_POWERPC_VSX "on"
+ CACHE STRING "Enable POWERPC VSX optimizations: on|off; on is default")
+ set_property(CACHE PNG_POWERPC_VSX
+ PROPERTY STRINGS ${PNG_POWERPC_VSX_POSSIBLE_VALUES})
+ list(FIND PNG_POWERPC_VSX_POSSIBLE_VALUES ${PNG_POWERPC_VSX} index)
+ if(index EQUAL -1)
+ message(FATAL_ERROR "PNG_POWERPC_VSX must be one of [${PNG_POWERPC_VSX_POSSIBLE_VALUES}]")
+ elseif(NOT PNG_POWERPC_VSX STREQUAL "off")
+ set(libpng_powerpc_sources
+ powerpc/powerpc_init.c
+ powerpc/filter_vsx_intrinsics.c)
+ if(PNG_POWERPC_VSX STREQUAL "on")
+ add_definitions(-DPNG_POWERPC_VSX_OPT=2)
+ endif()
+ else()
+ add_definitions(-DPNG_POWERPC_VSX_OPT=0)
endif()
- else()
- add_definitions(-DPNG_POWERPC_VSX_OPT=0)
endif()
-endif()
-# Set definitions and sources for Intel.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(i[3-6]86|x86|amd64)")
- set(PNG_INTEL_SSE_POSSIBLE_VALUES on off)
- set(PNG_INTEL_SSE "on"
- CACHE STRING "Enable INTEL_SSE optimizations: on|off; on is default")
- set_property(CACHE PNG_INTEL_SSE
- PROPERTY STRINGS ${PNG_INTEL_SSE_POSSIBLE_VALUES})
- list(FIND PNG_INTEL_SSE_POSSIBLE_VALUES ${PNG_INTEL_SSE} index)
- if(index EQUAL -1)
- message(FATAL_ERROR "PNG_INTEL_SSE must be one of [${PNG_INTEL_SSE_POSSIBLE_VALUES}]")
- elseif(NOT PNG_INTEL_SSE STREQUAL "off")
- set(libpng_intel_sources
- intel/intel_init.c
- intel/filter_sse2_intrinsics.c)
- if(PNG_INTEL_SSE STREQUAL "on")
- add_definitions(-DPNG_INTEL_SSE_OPT=1)
+ # Set definitions and sources for Intel.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(i[3-6]86|x86|amd64)")
+ set(PNG_INTEL_SSE_POSSIBLE_VALUES on off)
+ set(PNG_INTEL_SSE "on"
+ CACHE STRING "Enable INTEL_SSE optimizations: on|off; on is default")
+ set_property(CACHE PNG_INTEL_SSE
+ PROPERTY STRINGS ${PNG_INTEL_SSE_POSSIBLE_VALUES})
+ list(FIND PNG_INTEL_SSE_POSSIBLE_VALUES ${PNG_INTEL_SSE} index)
+ if(index EQUAL -1)
+ message(FATAL_ERROR "PNG_INTEL_SSE must be one of [${PNG_INTEL_SSE_POSSIBLE_VALUES}]")
+ elseif(NOT PNG_INTEL_SSE STREQUAL "off")
+ set(libpng_intel_sources
+ intel/intel_init.c
+ intel/filter_sse2_intrinsics.c)
+ if(PNG_INTEL_SSE STREQUAL "on")
+ add_definitions(-DPNG_INTEL_SSE_OPT=1)
+ endif()
+ else()
+ add_definitions(-DPNG_INTEL_SSE_OPT=0)
endif()
- else()
- add_definitions(-DPNG_INTEL_SSE_OPT=0)
endif()
-endif()
-# Set definitions and sources for MIPS.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(mipsel|mips64el)")
- set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
- set(PNG_MIPS_MSA "on"
- CACHE STRING "Enable MIPS_MSA optimizations: on|off; on is default")
- set_property(CACHE PNG_MIPS_MSA
- PROPERTY STRINGS ${PNG_MIPS_MSA_POSSIBLE_VALUES})
- list(FIND PNG_MIPS_MSA_POSSIBLE_VALUES ${PNG_MIPS_MSA} index_msa)
- if(index_msa EQUAL -1)
- message(FATAL_ERROR "PNG_MIPS_MSA must be one of [${PNG_MIPS_MSA_POSSIBLE_VALUES}]")
- endif()
+ # Set definitions and sources for MIPS.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(mipsel|mips64el)")
+ set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
+ set(PNG_MIPS_MSA "on"
+ CACHE STRING "Enable MIPS_MSA optimizations: on|off; on is default")
+ set_property(CACHE PNG_MIPS_MSA
+ PROPERTY STRINGS ${PNG_MIPS_MSA_POSSIBLE_VALUES})
+ list(FIND PNG_MIPS_MSA_POSSIBLE_VALUES ${PNG_MIPS_MSA} index_msa)
+ if(index_msa EQUAL -1)
+ message(FATAL_ERROR "PNG_MIPS_MSA must be one of [${PNG_MIPS_MSA_POSSIBLE_VALUES}]")
+ endif()
- set(PNG_MIPS_MMI_POSSIBLE_VALUES on off)
- set(PNG_MIPS_MMI "on"
- CACHE STRING "Enable MIPS_MMI optimizations: on|off; on is default")
- set_property(CACHE PNG_MIPS_MMI
- PROPERTY STRINGS ${PNG_MIPS_MMI_POSSIBLE_VALUES})
- list(FIND PNG_MIPS_MMI_POSSIBLE_VALUES ${PNG_MIPS_MMI} index_mmi)
- if(index_mmi EQUAL -1)
- message(FATAL_ERROR "PNG_MIPS_MMI must be one of [${PNG_MIPS_MMI_POSSIBLE_VALUES}]")
- endif()
+ set(PNG_MIPS_MMI_POSSIBLE_VALUES on off)
+ set(PNG_MIPS_MMI "on"
+ CACHE STRING "Enable MIPS_MMI optimizations: on|off; on is default")
+ set_property(CACHE PNG_MIPS_MMI
+ PROPERTY STRINGS ${PNG_MIPS_MMI_POSSIBLE_VALUES})
+ list(FIND PNG_MIPS_MMI_POSSIBLE_VALUES ${PNG_MIPS_MMI} index_mmi)
+ if(index_mmi EQUAL -1)
+ message(FATAL_ERROR "PNG_MIPS_MMI must be one of [${PNG_MIPS_MMI_POSSIBLE_VALUES}]")
+ endif()
- if(PNG_MIPS_MSA STREQUAL "on" AND PNG_MIPS_MMI STREQUAL "on")
- set(libpng_mips_sources
- mips/mips_init.c
- mips/filter_msa_intrinsics.c
- mips/filter_mmi_inline_assembly.c)
- add_definitions(-DPNG_MIPS_MSA_OPT=2)
- add_definitions(-DPNG_MIPS_MMI_OPT=1)
- elseif(PNG_MIPS_MSA STREQUAL "on")
- set(libpng_mips_sources
- mips/mips_init.c
- mips/filter_msa_intrinsics.c)
- add_definitions(-DPNG_MIPS_MSA_OPT=2)
- add_definitions(-DPNG_MIPS_MMI_OPT=0)
- elseif(PNG_MIPS_MMI STREQUAL "on")
- set(libpng_mips_sources
- mips/mips_init.c
- mips/filter_mmi_inline_assembly.c)
- add_definitions(-DPNG_MIPS_MSA_OPT=0)
- add_definitions(-DPNG_MIPS_MMI_OPT=1)
+ if(PNG_MIPS_MSA STREQUAL "on" AND PNG_MIPS_MMI STREQUAL "on")
+ set(libpng_mips_sources
+ mips/mips_init.c
+ mips/filter_msa_intrinsics.c
+ mips/filter_mmi_inline_assembly.c)
+ add_definitions(-DPNG_MIPS_MSA_OPT=2)
+ add_definitions(-DPNG_MIPS_MMI_OPT=1)
+ elseif(PNG_MIPS_MSA STREQUAL "on")
+ set(libpng_mips_sources
+ mips/mips_init.c
+ mips/filter_msa_intrinsics.c)
+ add_definitions(-DPNG_MIPS_MSA_OPT=2)
+ add_definitions(-DPNG_MIPS_MMI_OPT=0)
+ elseif(PNG_MIPS_MMI STREQUAL "on")
+ set(libpng_mips_sources
+ mips/mips_init.c
+ mips/filter_mmi_inline_assembly.c)
+ add_definitions(-DPNG_MIPS_MSA_OPT=0)
+ add_definitions(-DPNG_MIPS_MMI_OPT=1)
else()
- add_definitions(-DPNG_MIPS_MSA_OPT=0)
- add_definitions(-DPNG_MIPS_MMI_OPT=0)
+ add_definitions(-DPNG_MIPS_MSA_OPT=0)
+ add_definitions(-DPNG_MIPS_MMI_OPT=0)
endif()
-endif()
+ endif()
-# Set definitions and sources for LoongArch.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(loongarch)")
- include(CheckCCompilerFlag)
- set(PNG_LOONGARCH_LSX_POSSIBLE_VALUES on off)
- set(PNG_LOONGARCH_LSX "on"
- CACHE STRING "Enable LOONGARCH_LSX optimizations: on|off; on is default")
- set_property(CACHE PNG_LOONGARCH_LSX
- PROPERTY STRINGS ${PNG_LOONGARCH_LSX_POSSIBLE_VALUES})
- list(FIND PNG_LOONGARCH_LSX_POSSIBLE_VALUES ${PNG_LOONGARCH_LSX} index)
- if(index EQUAL -1)
- message(FATAL_ERROR "PNG_LOONGARCH_LSX must be one of [${PNG_LOONGARCH_LSX_POSSIBLE_VALUES}]")
- elseif(NOT PNG_LOONGARCH_LSX STREQUAL "off")
- CHECK_C_COMPILER_FLAG("-mlsx" COMPILER_SUPPORTS_LSX)
- if(COMPILER_SUPPORTS_LSX)
- set(libpng_loongarch_sources
- loongarch/loongarch_lsx_init.c
- loongarch/filter_lsx_intrinsics.c)
- set_source_files_properties(${libpng_loongarch_sources}
- PROPERTIES
- COMPILE_FLAGS "-mlsx")
- add_definitions(-DPNG_LOONGARCH_LSX_OPT=1)
+ # Set definitions and sources for LoongArch.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(loongarch)")
+ include(CheckCCompilerFlag)
+ set(PNG_LOONGARCH_LSX_POSSIBLE_VALUES on off)
+ set(PNG_LOONGARCH_LSX "on"
+ CACHE STRING "Enable LOONGARCH_LSX optimizations: on|off; on is default")
+ set_property(CACHE PNG_LOONGARCH_LSX
+ PROPERTY STRINGS ${PNG_LOONGARCH_LSX_POSSIBLE_VALUES})
+ list(FIND PNG_LOONGARCH_LSX_POSSIBLE_VALUES ${PNG_LOONGARCH_LSX} index)
+ if(index EQUAL -1)
+ message(FATAL_ERROR "PNG_LOONGARCH_LSX must be one of [${PNG_LOONGARCH_LSX_POSSIBLE_VALUES}]")
+ elseif(NOT PNG_LOONGARCH_LSX STREQUAL "off")
+ CHECK_C_COMPILER_FLAG("-mlsx" COMPILER_SUPPORTS_LSX)
+ if(COMPILER_SUPPORTS_LSX)
+ set(libpng_loongarch_sources
+ loongarch/loongarch_lsx_init.c
+ loongarch/filter_lsx_intrinsics.c)
+ set_source_files_properties(${libpng_loongarch_sources}
+ PROPERTIES
+ COMPILE_FLAGS "-mlsx")
+ add_definitions(-DPNG_LOONGARCH_LSX_OPT=1)
+ else()
+ message(FATAL_ERROR "Compiler does not support -mlsx option")
+ endif()
else()
- message(FATAL_ERROR "Compiler does not support -mlsx option")
+ add_definitions(-DPNG_LOONGARCH_LSX_OPT=0)
endif()
- else()
- add_definitions(-DPNG_LOONGARCH_LSX_OPT=0)
endif()
-endif()
else(PNG_HARDWARE_OPTIMIZATIONS)
-# Set definitions and sources for ARM.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(arm|aarch)")
- add_definitions(-DPNG_ARM_NEON_OPT=0)
-endif()
+ # Set definitions and sources for ARM.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(arm|aarch)")
+ add_definitions(-DPNG_ARM_NEON_OPT=0)
+ endif()
-# Set definitions and sources for PowerPC.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(powerpc|ppc64)")
- add_definitions(-DPNG_POWERPC_VSX_OPT=0)
-endif()
+ # Set definitions and sources for PowerPC.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(powerpc|ppc64)")
+ add_definitions(-DPNG_POWERPC_VSX_OPT=0)
+ endif()
-# Set definitions and sources for Intel.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(i[3-6]86|x86|amd64)")
- add_definitions(-DPNG_INTEL_SSE_OPT=0)
-endif()
+ # Set definitions and sources for Intel.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(i[3-6]86|x86|amd64)")
+ add_definitions(-DPNG_INTEL_SSE_OPT=0)
+ endif()
-# Set definitions and sources for MIPS.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(mipsel|mips64el)")
- add_definitions(-DPNG_MIPS_MSA_OPT=0)
-endif()
+ # Set definitions and sources for MIPS.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(mipsel|mips64el)")
+ add_definitions(-DPNG_MIPS_MSA_OPT=0)
+ endif()
-# Set definitions and sources for LoongArch.
-if(PNG_TARGET_ARCHITECTURE MATCHES "^(loongarch)")
- add_definitions(-DPNG_LOONGARCH_LSX_OPT=0)
-endif()
+ # Set definitions and sources for LoongArch.
+ if(PNG_TARGET_ARCHITECTURE MATCHES "^(loongarch)")
+ add_definitions(-DPNG_LOONGARCH_LSX_OPT=0)
+ endif()
endif(PNG_HARDWARE_OPTIMIZATIONS)
option(ld-version-script "Enable linker version script" ON)
-if(ld-version-script AND NOT ANDROID AND NOT APPLE)
+if(ld-version-script AND NOT (ANDROID OR APPLE))
# Check if LD supports linker scripts.
file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/conftest.map" "
VERS_1 { global: sym1; local: *; };
@@ -363,12 +358,15 @@
message(STATUS "Could not find an AWK-compatible program")
endif()
-if(NOT AWK OR ANDROID OR IOS)
+if(NOT AWK OR (ANDROID OR IOS))
# No awk available to generate sources; use pre-built pnglibconf.h
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.h.prebuilt
${CMAKE_CURRENT_BINARY_DIR}/pnglibconf.h)
add_custom_target(png_genfiles)
else()
+ # Include the internal module PNGGenConfig.cmake
+ include(${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/PNGGenConfig.cmake)
+
# Copy the awk scripts, converting their line endings to Unix (LF)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/scripts/checksym.awk
${CMAKE_CURRENT_BINARY_DIR}/scripts/checksym.awk
@@ -383,93 +381,6 @@
@ONLY
NEWLINE_STYLE LF)
- # Generate .chk from .out with awk:
- # generate_chk(INPUT inputfile OUTPUT outputfile [DEPENDS dep1 [dep2...]])
- function(generate_chk)
- set(options)
- set(oneValueArgs INPUT OUTPUT)
- set(multiValueArgs DEPENDS)
- cmake_parse_arguments(_GC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- if(NOT _GC_INPUT)
- message(FATAL_ERROR "generate_chk: Missing INPUT argument")
- endif()
- if(NOT _GC_OUTPUT)
- message(FATAL_ERROR "generate_chk: Missing OUTPUT argument")
- endif()
-
- add_custom_command(OUTPUT "${_GC_OUTPUT}"
- COMMAND "${CMAKE_COMMAND}"
- "-DINPUT=${_GC_INPUT}"
- "-DOUTPUT=${_GC_OUTPUT}"
- -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/cmake/genchk.cmake"
- DEPENDS "${_GC_INPUT}" ${_GC_DEPENDS}
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
- endfunction()
-
- # Generate .out from .c with awk
- # generate_out(INPUT inputfile OUTPUT outputfile [DEPENDS dep1 [dep2...]])
- function(generate_out)
- set(options)
- set(oneValueArgs INPUT OUTPUT)
- set(multiValueArgs DEPENDS)
- cmake_parse_arguments(_GO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- if(NOT _GO_INPUT)
- message(FATAL_ERROR "generate_out: Missing INPUT argument")
- endif()
- if(NOT _GO_OUTPUT)
- message(FATAL_ERROR "generate_out: Missing OUTPUT argument")
- endif()
-
- add_custom_command(OUTPUT "${_GO_OUTPUT}"
- COMMAND "${CMAKE_COMMAND}"
- "-DINPUT=${_GO_INPUT}"
- "-DOUTPUT=${_GO_OUTPUT}"
- -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/cmake/genout.cmake"
- DEPENDS "${_GO_INPUT}" ${_GO_DEPENDS}
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
- endfunction()
-
- # Generate specific source file with awk
- # generate_source(OUTPUT outputfile [DEPENDS dep1 [dep2...]])
- function(generate_source)
- set(options)
- set(oneValueArgs OUTPUT)
- set(multiValueArgs DEPENDS)
- cmake_parse_arguments(_GSO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- if(NOT _GSO_OUTPUT)
- message(FATAL_ERROR "generate_source: Missing OUTPUT argument")
- endif()
-
- add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_GSO_OUTPUT}"
- COMMAND "${CMAKE_COMMAND}"
- "-DOUTPUT=${_GSO_OUTPUT}"
- -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/cmake/gensrc.cmake"
- DEPENDS ${_GSO_DEPENDS}
- WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
- endfunction()
-
- # Copy file
- # generate_copy(INPUT inputfile OUTPUT outputfile [DEPENDS dep1 [dep2...]])
- function(generate_copy)
- set(options)
- set(oneValueArgs INPUT OUTPUT)
- set(multiValueArgs DEPENDS)
- cmake_parse_arguments(_GCO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- if(NOT _GCO_INPUT)
- message(FATAL_ERROR "generate_copy: Missing INPUT argument")
- endif()
- if(NOT _GCO_OUTPUT)
- message(FATAL_ERROR "generate_copy: Missing OUTPUT argument")
- endif()
-
- add_custom_command(OUTPUT "${_GCO_OUTPUT}"
- COMMAND "${CMAKE_COMMAND}"
- -E remove "${_GCO_OUTPUT}"
- COMMAND "${CMAKE_COMMAND}"
- -E copy "${_GCO_INPUT}" "${_GCO_OUTPUT}"
- DEPENDS "${source}" ${_GCO_DEPENDS})
- endfunction()
-
# Generate scripts/pnglibconf.h
generate_source(OUTPUT "scripts/pnglibconf.c"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/scripts/pnglibconf.dfa"
@@ -591,7 +502,7 @@
"${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.chk" png_scripts_symbols_chk
"${CMAKE_CURRENT_BINARY_DIR}/scripts/symbols.out" png_scripts_symbols_out
"${CMAKE_CURRENT_BINARY_DIR}/scripts/vers.out" png_scripts_vers_out)
-endif(NOT AWK OR ANDROID OR IOS)
+endif(NOT AWK OR (ANDROID OR IOS))
# List the source code files.
set(libpng_public_hdrs
@@ -605,7 +516,7 @@
pnginfo.h
pngstruct.h
)
-if(AWK AND NOT ANDROID AND NOT IOS)
+if(AWK AND NOT (ANDROID OR IOS))
list(APPEND libpng_private_hdrs "${CMAKE_CURRENT_BINARY_DIR}/pngprefix.h")
endif()
set(libpng_sources
@@ -776,31 +687,9 @@
if(PNG_TESTS AND PNG_SHARED)
enable_testing()
- function(png_add_test)
- set(options)
- set(oneValueArgs NAME COMMAND)
- set(multiValueArgs OPTIONS FILES)
- cmake_parse_arguments(_PAT "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
- if(NOT _PAT_NAME)
- message(FATAL_ERROR "png_add_test: Missing NAME argument")
- endif()
- if(NOT _PAT_COMMAND)
- message(FATAL_ERROR "png_add_test: Missing COMMAND argument")
- endif()
+ # Include the internal module PNGTest.cmake
+ include(${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/PNGTest.cmake)
- set(TEST_OPTIONS "${_PAT_OPTIONS}")
- set(TEST_FILES "${_PAT_FILES}")
-
- configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/test.cmake.in"
- "${CMAKE_CURRENT_BINARY_DIR}/tests/${_PAT_NAME}.cmake"
- @ONLY)
- add_test(NAME "${_PAT_NAME}"
- COMMAND "${CMAKE_COMMAND}"
- "-DLIBPNG=$<TARGET_FILE:png_shared>"
- "-DTEST_COMMAND=$<TARGET_FILE:${_PAT_COMMAND}>"
- -P "${CMAKE_CURRENT_BINARY_DIR}/tests/${_PAT_NAME}.cmake")
- endfunction()
-
# Find test PNG files by globbing, but sort lists to ensure
# consistency between different filesystems.
file(GLOB PNGSUITE_PNGS "${CMAKE_CURRENT_SOURCE_DIR}/contrib/pngsuite/*.png")
@@ -807,6 +696,8 @@
list(SORT PNGSUITE_PNGS)
file(GLOB TEST_PNGS "${CMAKE_CURRENT_SOURCE_DIR}/contrib/testpngs/*.png")
list(SORT TEST_PNGS)
+ file(GLOB TEST_PNG3_PNGS "${CMAKE_CURRENT_SOURCE_DIR}/contrib/testpngs/png-3/*.png")
+ list(SORT TEST_PNG3_PNGS)
set(PNGTEST_PNG "${CMAKE_CURRENT_SOURCE_DIR}/pngtest.png")
@@ -817,6 +708,10 @@
COMMAND pngtest
FILES "${PNGTEST_PNG}")
+ png_add_test(NAME pngtest-png-3
+ COMMAND pngtest
+ FILES "${TEST_PNG3_PNGS}")
+
add_executable(pngvalid ${pngvalid_sources})
target_link_libraries(pngvalid PRIVATE png_shared)
@@ -973,9 +868,14 @@
list(APPEND PNG_BIN_TARGETS png-fix-itxt)
endif()
-# Create a symlink from src to dest (if possible), or, alternatively,
-# copy src to dest if different.
+# Create a symlink that points to a target file (if symlinking is possible),
+# or make a copy of the target file (if symlinking is not possible):
+# create_symlink(<destfile> [FILE <file> | TARGET <target>])
function(create_symlink DEST_FILE)
+ # TODO:
+ # Replace this implementation with CMake's built-in create_symlink function,
+ # which has been fully functional on all platforms, including Windows, since
+ # CMake version 3.13.
cmake_parse_arguments(_SYM "" "FILE;TARGET" "" ${ARGN})
if(NOT _SYM_FILE AND NOT _SYM_TARGET)
message(FATAL_ERROR "create_symlink: Missing FILE or TARGET argument")
Modified: trunk/Build/source/libs/libpng/libpng-src/INSTALL
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/INSTALL 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/INSTALL 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
Installing libpng
Contents
Modified: trunk/Build/source/libs/libpng/libpng-src/LICENSE
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/LICENSE 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/LICENSE 2025-01-08 06:35:22 UTC (rev 73360)
@@ -4,8 +4,8 @@
PNG Reference Library License version 2
---------------------------------------
- * Copyright (c) 1995-2024 The PNG Reference Library Authors.
- * Copyright (c) 2018-2024 Cosmin Truta.
+ * Copyright (c) 1995-2025 The PNG Reference Library Authors.
+ * Copyright (c) 2018-2025 Cosmin Truta.
* Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* Copyright (c) 1996-1997 Andreas Dilger.
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
Modified: trunk/Build/source/libs/libpng/libpng-src/README
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/README 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/README 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,4 @@
-README for libpng version 1.6.44
+README for libpng version 1.6.45
================================
See the note about version numbers near the top of `png.h`.
@@ -157,8 +157,6 @@
"PNG: The Definitive Guide" by Greg Roelofs,
O'Reilly, 1999
libtests/ => Test programs
- oss-fuzz/ => Files used by the OSS-Fuzz project for fuzz-testing
- libpng
pngexif/ => Program to inspect the EXIF information in PNG files
pngminim/ => Minimal decoder, encoder, and progressive decoder
programs demonstrating the use of pngusr.dfa
Modified: trunk/Build/source/libs/libpng/libpng-src/TODO
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/TODO 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/TODO 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,23 +1,22 @@
-TODO - list of things to do for libpng:
+TODO list for libpng
+--------------------
-* Fix all defects (duh!)
-* Better C++ wrapper / full C++ implementation (?)
-* Fix the problems with C++ and 'extern "C"'.
-* cHRM transformation.
-* Palette creation.
-* "grayscale->palette" transformation and "palette->grayscale" detection.
-* Improved dithering.
-* Multi-lingual error and warning message support.
-* Complete sRGB transformation. (Currently it simply uses gamma=0.45455.)
-* Man pages for function calls.
-* Better documentation.
-* Better filter selection
- (e.g., counting huffman bits/precompression; filter inertia; filter costs).
-* Histogram creation.
-* Text conversion between different code pages (e.g., Latin-1 -> Mac).
-* Avoid building gamma tables whenever possible.
-* Greater precision in changing to linear gamma for compositing against
- background, and in doing rgb-to-gray transformations.
-* Investigate pre-incremented loop counters and other loop constructions.
-* Interpolated method of handling interlacing.
-* More validations for libpng transformations.
+ * Fix all defects (duh!)
+ * cHRM transformation.
+ * Palette creation.
+ * "grayscale->palette" transformation and "palette->grayscale" detection.
+ * Improved dithering.
+ * Multi-lingual error and warning message support.
+ * Complete sRGB transformation. (Currently it simply uses gamma=0.45455.)
+ * Man pages for function calls.
+ * Better documentation.
+ * Better filter selection
+ (e.g., counting huffman bits/precompression; filter inertia; filter costs).
+ * Histogram creation.
+ * Text conversion between different code pages (e.g., Latin-1 to Mac).
+ * Avoid building gamma tables whenever possible.
+ * Greater precision in changing to linear gamma for compositing against
+ background, and in doing rgb-to-gray transformations.
+ * Investigate pre-incremented loop counters and other loop constructions.
+ * Interpolated method of handling interlacing.
+ * More validations for libpng transformations.
Modified: trunk/Build/source/libs/libpng/libpng-src/arm/arm_init.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/arm/arm_init.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/arm/arm_init.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* arm_init.c - NEON optimised filter functions
*
* Copyright (c) 2018-2022 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/arm/filter_neon.S
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/arm/filter_neon.S 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/arm/filter_neon.S 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* filter_neon.S - placeholder file
*
* Copyright (c) 2024 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/arm/filter_neon_intrinsics.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/arm/filter_neon_intrinsics.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/arm/filter_neon_intrinsics.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* filter_neon_intrinsics.c - NEON optimised filter functions
*
* Copyright (c) 2018 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/arm/palette_neon_intrinsics.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/arm/palette_neon_intrinsics.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/arm/palette_neon_intrinsics.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* palette_neon_intrinsics.c - NEON optimised palette expansion functions
*
* Copyright (c) 2018-2019 Cosmin Truta
@@ -64,7 +63,7 @@
{
png_uint_32 row_width = row_info->width;
const png_uint_32 *riffled_palette =
- (const png_uint_32 *)png_ptr->riffled_palette;
+ png_aligncastconst(png_const_uint_32p, png_ptr->riffled_palette);
const png_uint_32 pixels_per_chunk = 4;
png_uint_32 i;
Modified: trunk/Build/source/libs/libpng/libpng-src/ci/ci_lint.sh
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/ci/ci_lint.sh 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/ci/ci_lint.sh 2025-01-08 06:35:22 UTC (rev 73360)
@@ -80,7 +80,7 @@
}
ci_info "## LINTING: text files ##"
ci_spawn "$CI_EDITORCONFIG_CHECKER" --version
- ci_spawn "$CI_EDITORCONFIG_CHECKER" || {
+ ci_spawn "$CI_EDITORCONFIG_CHECKER" --config .editorconfig-checker.json || {
# Linting failed.
return 1
}
@@ -93,7 +93,9 @@
}
ci_info "## LINTING: YAML files ##"
ci_spawn "$CI_YAMLLINT" --version
- find . \( -iname "*.yml" -o -iname "*.yaml" \) -not -path "./out/*" | {
+ # Considering that the YAML format is an extension of the JSON format,
+ # we can lint both the YAML files and the plain JSON files here.
+ find . \( -iname "*.yml" -o -iname "*.yaml" -o -iname "*.json" \) -not -path "./out/*" | {
local my_file
while IFS="" read -r my_file
do
Modified: trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_cmake.sh
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_cmake.sh 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_cmake.sh 2025-01-08 06:35:22 UTC (rev 73360)
@@ -17,12 +17,6 @@
CI_BUILD_DIR="$CI_OUT_DIR/ci_verify_cmake.$CI_TARGET_SYSTEM.$CI_TARGET_ARCH.build"
CI_INSTALL_DIR="$CI_OUT_DIR/ci_verify_cmake.$CI_TARGET_SYSTEM.$CI_TARGET_ARCH.install"
-# Keep the following relative paths in sync with the absolute paths.
-# We use them for the benefit of native Windows tools that might be
-# otherwise confused by the path encoding used by Bash-on-Windows.
-CI_BUILD_TO_SRC_RELDIR="../.."
-CI_BUILD_TO_INSTALL_RELDIR="../ci_verify_cmake.$CI_TARGET_SYSTEM.$CI_TARGET_ARCH.install"
-
function ci_init_build {
# Ensure that the mandatory variables are initialized.
CI_CMAKE="${CI_CMAKE:-cmake}"
@@ -148,33 +142,26 @@
all_cmake_build_flags+=($CI_CMAKE_BUILD_FLAGS)
all_ctest_flags+=($CI_CTEST_FLAGS)
# And... build!
- # Use $CI_BUILD_TO_SRC_RELDIR and $CI_BUILD_TO_INSTALL_RELDIR
- # instead of $CI_SRC_DIR and $CI_INSTALL_DIR from this point onwards.
ci_spawn mkdir -p "$CI_BUILD_DIR"
- ci_spawn cd "$CI_BUILD_DIR"
- [[ $CI_BUILD_TO_SRC_RELDIR -ef $CI_SRC_DIR ]] || {
- ci_err_internal "bad or missing \$CI_BUILD_TO_SRC_RELDIR"
- }
- ci_spawn mkdir -p "$CI_INSTALL_DIR"
- [[ $CI_BUILD_TO_INSTALL_RELDIR -ef $CI_INSTALL_DIR ]] || {
- ci_err_internal "bad or missing \$CI_BUILD_TO_INSTALL_RELDIR"
- }
# Spawn "cmake ...".
- ci_spawn "$CI_CMAKE" -DCMAKE_INSTALL_PREFIX="$CI_BUILD_TO_INSTALL_RELDIR" \
- "${all_cmake_vars[@]}" \
- "$CI_BUILD_TO_SRC_RELDIR"
+ ci_spawn "$CI_CMAKE" -B "$CI_BUILD_DIR" \
+ -S . \
+ -DCMAKE_INSTALL_PREFIX="$CI_INSTALL_DIR" \
+ "${all_cmake_vars[@]}"
# Spawn "cmake --build ...".
- ci_spawn "$CI_CMAKE" --build . \
+ ci_spawn "$CI_CMAKE" --build "$CI_BUILD_DIR" \
--config "$CI_CMAKE_BUILD_TYPE" \
"${all_cmake_build_flags[@]}"
ci_expr $((CI_NO_TEST)) || {
# Spawn "ctest" if testing is not disabled.
+ ci_spawn pushd "$CI_BUILD_DIR"
ci_spawn "$CI_CTEST" --build-config "$CI_CMAKE_BUILD_TYPE" \
"${all_ctest_flags[@]}"
+ ci_spawn popd
}
ci_expr $((CI_NO_INSTALL)) || {
# Spawn "cmake --build ... --target install" if installation is not disabled.
- ci_spawn "$CI_CMAKE" --build . \
+ ci_spawn "$CI_CMAKE" --build "$CI_BUILD_DIR" \
--config "$CI_CMAKE_BUILD_TYPE" \
--target install \
"${all_cmake_build_flags[@]}"
@@ -181,7 +168,7 @@
}
ci_expr $((CI_NO_CLEAN)) || {
# Spawn "make --build ... --target clean" if cleaning is not disabled.
- ci_spawn "$CI_CMAKE" --build . \
+ ci_spawn "$CI_CMAKE" --build "$CI_BUILD_DIR" \
--config "$CI_CMAKE_BUILD_TYPE" \
--target clean \
"${all_cmake_build_flags[@]}"
Modified: trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_configure.sh
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_configure.sh 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_configure.sh 2025-01-08 06:35:22 UTC (rev 73360)
@@ -122,6 +122,10 @@
ci_spawn export CFLAGS="${CFLAGS:-"-O2"} -fsanitize=$CI_SANITIZERS"
ci_spawn export LDFLAGS="${LDFLAGS}${LDFLAGS:+" "}-fsanitize=$CI_SANITIZERS"
}
+ # Spawn "autogen.sh" if the configure script is not available.
+ [[ -x "$CI_SRC_DIR/configure" ]] || {
+ ci_spawn "$CI_SRC_DIR/autogen.sh" --maintainer
+ }
# And... build!
ci_spawn mkdir -p "$CI_BUILD_DIR"
ci_spawn cd "$CI_BUILD_DIR"
Modified: trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_version.sh
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_version.sh 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/ci/ci_verify_version.sh 2025-01-08 06:35:22 UTC (rev 73360)
@@ -89,9 +89,9 @@
fi
if [[ $PNG_LIBPNG_BUILD_BASE_TYPE -eq $PNG_LIBPNG_BUILD_STABLE ]]
then
- ci_info "matched: \$PNG_LIBPNG_BUILD_BASE_TYPE -eq \$PNG_LIBPNG_BUILD_BETA"
+ ci_info "matched: \$PNG_LIBPNG_BUILD_BASE_TYPE -eq \$PNG_LIBPNG_BUILD_STABLE"
else
- ci_err "mismatched: \$PNG_LIBPNG_BUILD_BASE_TYPE -ne \$PNG_LIBPNG_BUILD_BETA"
+ ci_err "mismatched: \$PNG_LIBPNG_BUILD_BASE_TYPE -ne \$PNG_LIBPNG_BUILD_STABLE"
fi
elif [[ "$PNG_LIBPNG_VER_STRING" == "$my_expect".git ]]
then
@@ -101,11 +101,11 @@
else
ci_err "mismatched: \$PNG_LIBPNG_VER_BUILD -eq 0"
fi
- if [[ $PNG_LIBPNG_BUILD_BASE_TYPE -eq $PNG_LIBPNG_BUILD_BETA ]]
+ if [[ $PNG_LIBPNG_BUILD_BASE_TYPE -ne $PNG_LIBPNG_BUILD_STABLE ]]
then
- ci_info "matched: \$PNG_LIBPNG_BUILD_BASE_TYPE -eq \$PNG_LIBPNG_BUILD_BETA"
+ ci_info "matched: \$PNG_LIBPNG_BUILD_BASE_TYPE -ne \$PNG_LIBPNG_BUILD_STABLE"
else
- ci_err "mismatched: \$PNG_LIBPNG_BUILD_BASE_TYPE -ne \$PNG_LIBPNG_BUILD_BETA"
+ ci_err "mismatched: \$PNG_LIBPNG_BUILD_BASE_TYPE -eq \$PNG_LIBPNG_BUILD_STABLE"
fi
else
ci_err "unexpected: \$PNG_LIBPNG_VER_STRING == '$PNG_LIBPNG_VER_STRING'"
Modified: trunk/Build/source/libs/libpng/libpng-src/configure.ac
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/configure.ac 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/configure.ac 2025-01-08 06:35:22 UTC (rev 73360)
@@ -25,7 +25,7 @@
dnl Version number stuff here:
-AC_INIT([libpng],[1.6.44],[png-mng-implement at lists.sourceforge.net])
+AC_INIT([libpng],[1.6.45],[png-mng-implement at lists.sourceforge.net])
AC_CONFIG_MACRO_DIR([scripts/autoconf])
# libpng does not follow GNU file name conventions (hence 'foreign')
@@ -46,10 +46,10 @@
dnl AM_PREREQ([1.11.2])
dnl stop configure from automagically running automake
-PNGLIB_VERSION=1.6.44
+PNGLIB_VERSION=1.6.45
PNGLIB_MAJOR=1
PNGLIB_MINOR=6
-PNGLIB_RELEASE=44
+PNGLIB_RELEASE=45
dnl End of version number stuff
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/.editorconfig
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/.editorconfig 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/.editorconfig 2025-01-08 06:35:22 UTC (rev 73360)
@@ -3,5 +3,7 @@
root = false
[*.[ch]]
+indent_size = unset
+indent_style = unset
max_doc_length = unset
max_line_length = unset
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/README.txt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/README.txt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/README.txt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,3 +1,5 @@
+External contributions to libpng
+--------------------------------
This "contrib" directory contains contributions which are not necessarily under
the libpng license, although all are open source. They are not part of
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/examples/README.txt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/examples/README.txt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/examples/README.txt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
This directory (contrib/examples) contains examples of libpng usage.
NO COPYRIGHT RIGHTS ARE CLAIMED TO ANY OF THE FILES IN THIS DIRECTORY.
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngimage.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngimage.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngimage.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngimage.c
*
* Copyright (c) 2021 Cosmin Truta
@@ -1019,7 +1018,12 @@
C(height);
C(bit_depth);
C(color_type);
- C(interlace_method);
+# ifdef PNG_WRITE_INTERLACING_SUPPORTED
+ /* If write interlace has been disabled, the PNG file is still
+ * written correctly, but as a regular (not-interlaced) PNG.
+ */
+ C(interlace_method);
+# endif
C(compression_method);
C(filter_method);
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngstest.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngstest.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngstest.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngstest.c
*
* Copyright (c) 2021 Cosmin Truta
@@ -3500,7 +3499,7 @@
int retval = 0;
int c;
-#if PNG_LIBPNG_VER >= 10700
+#if PNG_LIBPNG_VER == 10700
/* This error should not exist in 1.7 or later: */
opts |= GBG_ERROR;
#endif
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngunknown.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngunknown.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngunknown.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngunknown.c - test the read side unknown chunk handling
*
* Copyright (c) 2021 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngvalid.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngvalid.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/pngvalid.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngvalid.c - validate libpng by constructing then reading png files.
*
* Copyright (c) 2021 Cosmin Truta
@@ -304,13 +303,13 @@
#if defined PNG_READ_SUPPORTED || defined PNG_WRITE_tRNS_SUPPORTED ||\
defined PNG_WRITE_FILTER_SUPPORTED
static void
-randomize(void *pv, size_t size)
+randomize_bytes(void *pv, size_t size)
{
static png_uint_32 random_seed[2] = {0x56789abc, 0xd};
make_random_bytes(random_seed, pv, size);
}
-#define R8(this) randomize(&(this), sizeof (this))
+#define R8(this) randomize_bytes(&(this), sizeof (this))
#ifdef PNG_READ_SUPPORTED
static png_byte
@@ -317,7 +316,7 @@
random_byte(void)
{
unsigned char b1[1];
- randomize(b1, sizeof b1);
+ randomize_bytes(b1, sizeof b1);
return b1[0];
}
#endif /* READ */
@@ -326,7 +325,7 @@
random_u16(void)
{
unsigned char b2[2];
- randomize(b2, sizeof b2);
+ randomize_bytes(b2, sizeof b2);
return png_get_uint_16(b2);
}
@@ -336,7 +335,7 @@
random_u32(void)
{
unsigned char b4[4];
- randomize(b4, sizeof b4);
+ randomize_bytes(b4, sizeof b4);
return png_get_uint_32(b4);
}
#endif /* READ_FILLER || READ_RGB_TO_GRAY */
@@ -2574,7 +2573,7 @@
* in the rgb_to_gray check, replacing it with an exact copy of the libpng 1.5
* algorithm.
*/
-#define DIGITIZE PNG_LIBPNG_VER < 10700
+#define DIGITIZE PNG_LIBPNG_VER != 10700
/* If pm->calculations_use_input_precision is set then operations will happen
* with the precision of the input, not the precision of the output depth.
@@ -3986,7 +3985,7 @@
# define check_interlace_type(type) ((void)(type))
# define set_write_interlace_handling(pp,type) png_set_interlace_handling(pp)
# define do_own_interlace 0
-#elif PNG_LIBPNG_VER < 10700
+#elif PNG_LIBPNG_VER != 10700
# define set_write_interlace_handling(pp,type) (1)
static void
check_interlace_type(int const interlace_type)
@@ -4014,7 +4013,7 @@
# define do_own_interlace 1
#endif /* WRITE_INTERLACING tests */
-#if PNG_LIBPNG_VER >= 10700 || defined PNG_WRITE_INTERLACING_SUPPORTED
+#if PNG_LIBPNG_VER == 10700 || defined PNG_WRITE_INTERLACING_SUPPORTED
# define CAN_WRITE_INTERLACE 1
#else
# define CAN_WRITE_INTERLACE 0
@@ -4633,10 +4632,10 @@
{
/* no warnings makes these errors undetectable prior to 1.7.0 */
{ sBIT0_error_fn, "sBIT(0): failed to detect error",
- PNG_LIBPNG_VER < 10700 },
+ PNG_LIBPNG_VER != 10700 },
{ sBIT_error_fn, "sBIT(too big): failed to detect error",
- PNG_LIBPNG_VER < 10700 },
+ PNG_LIBPNG_VER != 10700 },
};
static void
@@ -6236,7 +6235,7 @@
{
if (this->colour_type == PNG_COLOR_TYPE_GRAY)
{
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
if (!for_background && this->bit_depth < 8)
this->bit_depth = this->sample_depth = 8;
# endif
@@ -6246,7 +6245,7 @@
/* After 1.7 the expansion of bit depth only happens if there is a
* tRNS chunk to expand at this point.
*/
-# if PNG_LIBPNG_VER >= 10700
+# if PNG_LIBPNG_VER == 10700
if (!for_background && this->bit_depth < 8)
this->bit_depth = this->sample_depth = 8;
# endif
@@ -7127,7 +7126,7 @@
image_pixel *that, png_const_structp pp,
const transform_display *display)
{
-#if PNG_LIBPNG_VER < 10700
+#if PNG_LIBPNG_VER != 10700
/* LIBPNG BUG: this always forces palette images to RGB. */
if (that->colour_type == PNG_COLOR_TYPE_PALETTE)
image_pixel_convert_PLTE(that);
@@ -7137,13 +7136,13 @@
* convert to an alpha channel.
*/
if (that->have_tRNS)
-# if PNG_LIBPNG_VER >= 10700
+# if PNG_LIBPNG_VER == 10700
if (that->colour_type != PNG_COLOR_TYPE_PALETTE &&
(that->colour_type & PNG_COLOR_MASK_ALPHA) == 0)
# endif
image_pixel_add_alpha(that, &display->this, 0/*!for background*/);
-#if PNG_LIBPNG_VER < 10700
+#if PNG_LIBPNG_VER != 10700
/* LIBPNG BUG: otherwise libpng still expands to 8 bits! */
else
{
@@ -7172,7 +7171,7 @@
* any action on a palette image.
*/
return
-# if PNG_LIBPNG_VER >= 10700
+# if PNG_LIBPNG_VER == 10700
colour_type != PNG_COLOR_TYPE_PALETTE &&
# endif
(colour_type & PNG_COLOR_MASK_ALPHA) == 0;
@@ -7313,7 +7312,7 @@
const image_transform *this, image_pixel *that, png_const_structp pp,
const transform_display *display)
{
-#if PNG_LIBPNG_VER < 10700
+#if PNG_LIBPNG_VER != 10700
image_transform_png_set_expand_mod(this, that, pp, display);
#else
/* Only expand grayscale of bit depth less than 8: */
@@ -7329,7 +7328,7 @@
image_transform_png_set_expand_gray_1_2_4_to_8_add(image_transform *this,
const image_transform **that, png_byte colour_type, png_byte bit_depth)
{
-#if PNG_LIBPNG_VER < 10700
+#if PNG_LIBPNG_VER != 10700
return image_transform_png_set_expand_add(this, that, colour_type,
bit_depth);
#else
@@ -7359,7 +7358,7 @@
png_set_expand_16(pp);
/* NOTE: prior to 1.7 libpng does SET_EXPAND as well, so tRNS is expanded. */
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
if (that->this.has_tRNS)
that->this.is_transparent = 1;
# endif
@@ -7412,7 +7411,7 @@
transform_display *that, png_structp pp, png_infop pi)
{
png_set_scale_16(pp);
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
/* libpng will limit the gamma table size: */
that->max_gamma_8 = PNG_MAX_GAMMA_8;
# endif
@@ -7460,7 +7459,7 @@
transform_display *that, png_structp pp, png_infop pi)
{
png_set_strip_16(pp);
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
/* libpng will limit the gamma table size: */
that->max_gamma_8 = PNG_MAX_GAMMA_8;
# endif
@@ -7647,7 +7646,7 @@
else
{
/* The default (built in) coefficients, as above: */
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
data.red_coefficient = 6968 / 32768.;
data.green_coefficient = 23434 / 32768.;
data.blue_coefficient = 2366 / 32768.;
@@ -7730,7 +7729,7 @@
* conversion adds another +/-2 in the 16-bit case and
* +/-(1<<(15-PNG_MAX_GAMMA_8)) in the 8-bit case.
*/
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
if (that->this.bit_depth < 16)
that->max_gamma_8 = PNG_MAX_GAMMA_8;
# endif
@@ -7907,7 +7906,7 @@
{
double gray, err;
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
if (that->colour_type == PNG_COLOR_TYPE_PALETTE)
image_pixel_convert_PLTE(that);
# endif
@@ -8094,7 +8093,7 @@
double b = that->bluef;
double be = that->bluee;
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
/* The true gray case involves no math in earlier versions (not
* true, there was some if gamma correction was happening too.)
*/
@@ -9873,7 +9872,7 @@
* lost. This can result in up to a +/-1 error in the presence of
* an sbit less than the bit depth.
*/
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
# define SBIT_ERROR .5
# else
# define SBIT_ERROR 1.
@@ -10733,7 +10732,7 @@
# ifndef PNG_MAX_GAMMA_8
# define PNG_MAX_GAMMA_8 11
# endif
-# if defined PNG_MAX_GAMMA_8 || PNG_LIBPNG_VER < 10700
+# if defined PNG_MAX_GAMMA_8 || PNG_LIBPNG_VER != 10700
# define SBIT_16_TO_8 PNG_MAX_GAMMA_8
# else
# define SBIT_16_TO_8 16
@@ -11736,7 +11735,7 @@
* code that 16-bit arithmetic is used for 8-bit samples when it would make a
* difference.
*/
- pm.assume_16_bit_calculations = PNG_LIBPNG_VER >= 10700;
+ pm.assume_16_bit_calculations = PNG_LIBPNG_VER == 10700;
/* Currently 16 bit expansion happens at the end of the pipeline, so the
* calculations are done in the input bit depth not the output.
@@ -11760,13 +11759,13 @@
pm.test_lbg_gamma_threshold = 1;
pm.test_lbg_gamma_transform = PNG_LIBPNG_VER >= 10600;
pm.test_lbg_gamma_sbit = 1;
- pm.test_lbg_gamma_composition = PNG_LIBPNG_VER >= 10700;
+ pm.test_lbg_gamma_composition = PNG_LIBPNG_VER == 10700;
/* And the test encodings */
pm.encodings = test_encodings;
pm.nencodings = ARRAY_SIZE(test_encodings);
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
pm.sbitlow = 8U; /* because libpng doesn't do sBIT below 8! */
# else
pm.sbitlow = 1U;
@@ -11796,7 +11795,7 @@
pm.maxout16 = .499; /* Error in *encoded* value */
pm.maxabs16 = .00005;/* 1/20000 */
pm.maxcalc16 =1./65535;/* +/-1 in 16 bits for compose errors */
-# if PNG_LIBPNG_VER < 10700
+# if PNG_LIBPNG_VER != 10700
pm.maxcalcG = 1./((1<<PNG_MAX_GAMMA_8)-1);
# else
pm.maxcalcG = 1./((1<<16)-1);
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/readpng.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/readpng.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/readpng.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* readpng.c
*
* Copyright (c) 2013 John Cunningham Bowler
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/tarith.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/tarith.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/tarith.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* tarith.c
*
* Copyright (c) 2021 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/timepng.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/timepng.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/libtests/timepng.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* timepng.c
*
* Copyright (c) 2013,2016 John Cunningham Bowler
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/mips-mmi/linux.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/mips-mmi/linux.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/mips-mmi/linux.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* contrib/mips-mmi/linux.c
*
* Copyright (c) 2024 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/mips-msa/linux.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/mips-msa/linux.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/mips-msa/linux.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* contrib/mips-msa/linux.c
*
* Copyright (c) 2020-2023 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/Dockerfile
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/Dockerfile 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/Dockerfile 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,5 +1,3 @@
-# Copyright 2024 Cosmin Truta
-# Copyright 2017 Glenn Randers-Pehrson
# Copyright 2016 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,12 +15,11 @@
################################################################################
FROM gcr.io/oss-fuzz-base/base-builder
-
+MAINTAINER glennrp at gmail.com
RUN apt-get update && \
- apt-get install -y make autoconf automake libtool zlib1g-dev
+ apt-get install -y make autoconf automake libtool
-RUN git clone --depth=1 https://github.com/pnggroup/libpng.git && \
- git clone --depth=1 https://github.com/madler/zlib.git && \
- cp libpng/contrib/oss-fuzz/build.sh $SRC
-
-WORKDIR /home/libpng
+RUN git clone --depth 1 https://github.com/madler/zlib.git
+RUN git clone --depth 1 https://github.com/glennrp/libpng.git
+RUN cp libpng/contrib/oss-fuzz/build.sh $SRC
+WORKDIR libpng
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/README.txt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/README.txt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/README.txt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,7 +1,3 @@
-libpng additions to oss-fuzz
-============================
-
-Copyright (c) 2024 Cosmin Truta
Copyright (c) 2017 Glenn Randers-Pehrson
This code is released under the libpng license.
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/build.sh
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/build.sh 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/build.sh 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,8 +1,6 @@
-#!/usr/bin/env bash
-set -eu
+#!/bin/bash -eu
-# Copyright 2024 Cosmin Truta
-# Copyright 2017 Glenn Randers-Pehrson
+# Copyright 2017-2018 Glenn Randers-Pehrson
# Copyright 2016 Google Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
@@ -17,31 +15,36 @@
# See the License for the specific language governing permissions and
# limitations under the License.
#
+# Revisions by Glenn Randers-Pehrson, 2017:
+# 1. Build only the library, not the tools (changed "make -j$(nproc) all" to
+# "make -j$(nproc) libpng16.la").
+# 2. Disabled WARNING and WRITE options in pnglibconf.dfa.
+# 3. Build zlib alongside libpng
################################################################################
# Disable logging via library build configuration control.
-sed -e "s/option STDIO/option STDIO disabled/" \
- -e "s/option WARNING /option WARNING disabled/" \
- -e "s/option WRITE enables WRITE_INT_FUNCTIONS/option WRITE disabled/" \
- scripts/pnglibconf.dfa >scripts/pnglibconf.dfa.tmp
-mv -f scripts/pnglibconf.dfa.tmp scripts/pnglibconf.dfa
+cat scripts/pnglibconf.dfa | \
+ sed -e "s/option STDIO/option STDIO disabled/" \
+ -e "s/option WARNING /option WARNING disabled/" \
+ -e "s/option WRITE enables WRITE_INT_FUNCTIONS/option WRITE disabled/" \
+> scripts/pnglibconf.dfa.temp
+mv scripts/pnglibconf.dfa.temp scripts/pnglibconf.dfa
-# Build the libpng library ("libpng16.la"), excluding the auxiliary tools.
+# build the libpng library.
autoreconf -f -i
./configure --with-libpng-prefix=OSS_FUZZ_
make -j$(nproc) clean
make -j$(nproc) libpng16.la
-# Build libpng_read_fuzzer.
+# build libpng_read_fuzzer.
$CXX $CXXFLAGS -std=c++11 -I. \
$SRC/libpng/contrib/oss-fuzz/libpng_read_fuzzer.cc \
-o $OUT/libpng_read_fuzzer \
-lFuzzingEngine .libs/libpng16.a -lz
-# Add seed corpus.
+# add seed corpus.
find $SRC/libpng -name "*.png" | grep -v crashers | \
xargs zip $OUT/libpng_read_fuzzer_seed_corpus.zip
cp $SRC/libpng/contrib/oss-fuzz/*.dict \
- $SRC/libpng/contrib/oss-fuzz/*.options \
- $OUT/
+ $SRC/libpng/contrib/oss-fuzz/*.options $OUT/
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/libpng_read_fuzzer.cc
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/libpng_read_fuzzer.cc 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/oss-fuzz/libpng_read_fuzzer.cc 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
// libpng_read_fuzzer.cc
// Copyright 2017-2018 Glenn Randers-Pehrson
// Copyright 2015 The Chromium Authors. All rights reserved.
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/pngexif/.editorconfig
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/pngexif/.editorconfig 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/pngexif/.editorconfig 2025-01-08 06:35:22 UTC (rev 73360)
@@ -4,6 +4,7 @@
[*]
charset = utf-8
+indent_size = 4
indent_style = space
insert_final_newline = true
max_doc_length = 79
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/pngminim/README
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/pngminim/README 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/pngminim/README 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
This demonstrates the use of PNG_USER_CONFIG, pngusr.h and pngusr.dfa
to build minimal decoder, encoder, and progressive reader applications.
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/pngminus/CHANGES.txt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/pngminus/CHANGES.txt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/pngminus/CHANGES.txt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
pnm2png / png2pnm --- conversion from PBM/PGM/PPM-file to PNG-file
copyright (C) 1999-2019 by Willem van Schaik <willem at schaik dot com>
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/pngminus/LICENSE.txt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/pngminus/LICENSE.txt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/pngminus/LICENSE.txt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
pnm2png / png2pnm --- conversion from PBM/PGM/PPM-file to PNG-file
copyright (C) 1999-2019 by Willem van Schaik <willem at schaik dot com>
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/pngsuite/README
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/pngsuite/README 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/pngsuite/README 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
pngsuite
--------
Copyright (c) Willem van Schaik, 1999, 2011, 2012
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/pngsuite/interlaced/README
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/pngsuite/interlaced/README 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/pngsuite/interlaced/README 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,2 +1 @@
-
These images fail the "pngimage-quick" and "pngimage-full" tests.
Added: trunk/Build/source/libs/libpng/libpng-src/contrib/testpngs/png-3/cicp-display-p3_reencoded.png
===================================================================
(Binary files differ)
Index: trunk/Build/source/libs/libpng/libpng-src/contrib/testpngs/png-3/cicp-display-p3_reencoded.png
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/testpngs/png-3/cicp-display-p3_reencoded.png 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/testpngs/png-3/cicp-display-p3_reencoded.png 2025-01-08 06:35:22 UTC (rev 73360)
Property changes on: trunk/Build/source/libs/libpng/libpng-src/contrib/testpngs/png-3/cicp-display-p3_reencoded.png
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Modified: trunk/Build/source/libs/libpng/libpng-src/contrib/visupng/.editorconfig
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/contrib/visupng/.editorconfig 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/contrib/visupng/.editorconfig 2025-01-08 06:35:22 UTC (rev 73360)
@@ -5,7 +5,8 @@
[*]
charset = utf-8
end_of_line = unset
-indent_style = unset
+indent_size = 4
+indent_style = space
insert_final_newline = true
max_doc_length = 80
max_line_length = 100
Modified: trunk/Build/source/libs/libpng/libpng-src/example.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/example.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/example.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
#if 0 /* in case someone actually tries to compile this */
/* example.c - an example of using libpng
Modified: trunk/Build/source/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/intel/filter_sse2_intrinsics.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* filter_sse2_intrinsics.c - SSE2 optimized filter functions
*
* Copyright (c) 2018 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/intel/intel_init.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/intel/intel_init.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/intel/intel_init.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* intel_init.c - SSE2 optimized filter functions
*
* Copyright (c) 2018 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/libpng-manual.txt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/libpng-manual.txt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/libpng-manual.txt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
libpng-manual.txt - A description on how to use and modify libpng
- Copyright (c) 2018-2024 Cosmin Truta
+ Copyright (c) 2018-2025 Cosmin Truta
Copyright (c) 1998-2018 Glenn Randers-Pehrson
This document is released under the libpng license.
@@ -9,9 +9,9 @@
Based on:
- libpng version 1.6.36, December 2018, through 1.6.44 - September 2024
+ libpng version 1.6.36, December 2018, through 1.6.45 - January 2025
Updated and distributed by Cosmin Truta
- Copyright (c) 2018-2024 Cosmin Truta
+ Copyright (c) 2018-2025 Cosmin Truta
libpng versions 0.97, January 1998, through 1.6.35 - July 2018
Updated and distributed by Glenn Randers-Pehrson
@@ -5173,7 +5173,7 @@
it possible to skip IDAT chunks in the sequential reader.
The machine-generated configure files are no longer included in branches
-libpng16 and later of the GIT repository. They continue to be included
+libpng17 and later of the GIT repository. They continue to be included
in the tarball releases, however.
Libpng-1.6.0 through 1.6.2 used the CMF bytes at the beginning of the IDAT
Modified: trunk/Build/source/libs/libpng/libpng-src/libpng.3
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/libpng.3 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/libpng.3 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
-.TH LIBPNG 3 "September 12, 2024"
+.TH LIBPNG 3 "January 7, 2025"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.6.44
+libpng \- Portable Network Graphics (PNG) Reference Library 1.6.45
.SH SYNOPSIS
\fB#include <png.h>\fP
@@ -519,7 +519,7 @@
.SH LIBPNG.TXT
libpng-manual.txt - A description on how to use and modify libpng
- Copyright (c) 2018-2024 Cosmin Truta
+ Copyright (c) 2018-2025 Cosmin Truta
Copyright (c) 1998-2018 Glenn Randers-Pehrson
This document is released under the libpng license.
@@ -528,9 +528,9 @@
Based on:
- libpng version 1.6.36, December 2018, through 1.6.44 - September 2024
+ libpng version 1.6.36, December 2018, through 1.6.45 - January 2025
Updated and distributed by Cosmin Truta
- Copyright (c) 2018-2024 Cosmin Truta
+ Copyright (c) 2018-2025 Cosmin Truta
libpng versions 0.97, January 1998, through 1.6.35 - July 2018
Updated and distributed by Glenn Randers-Pehrson
@@ -5692,7 +5692,7 @@
it possible to skip IDAT chunks in the sequential reader.
The machine-generated configure files are no longer included in branches
-libpng16 and later of the GIT repository. They continue to be included
+libpng17 and later of the GIT repository. They continue to be included
in the tarball releases, however.
Libpng-1.6.0 through 1.6.2 used the CMF bytes at the beginning of the IDAT
Modified: trunk/Build/source/libs/libpng/libpng-src/libpngpf.3
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/libpngpf.3 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/libpngpf.3 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
-.TH LIBPNGPF 3 "September 12, 2024"
+.TH LIBPNGPF 3 "January 7, 2025"
.SH NAME
-libpng \- Portable Network Graphics (PNG) Reference Library 1.6.44
+libpng \- Portable Network Graphics (PNG) Reference Library 1.6.45
(private functions)
.SH SYNOPSIS
Modified: trunk/Build/source/libs/libpng/libpng-src/mips/filter_msa_intrinsics.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/mips/filter_msa_intrinsics.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/mips/filter_msa_intrinsics.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* filter_msa_intrinsics.c - MSA optimised filter functions
*
* Copyright (c) 2018-2024 Cosmin Truta
@@ -47,7 +46,7 @@
uint8_t *psrc_lw_m = (uint8_t *) (psrc); \
uint32_t val_m; \
\
- asm volatile ( \
+ __asm__ volatile ( \
"lw %[val_m], %[psrc_lw_m] \n\t" \
\
: [val_m] "=r" (val_m) \
@@ -62,7 +61,7 @@
uint8_t *pdst_sh_m = (uint8_t *) (pdst); \
uint16_t val_m = (val); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"sh %[val_m], %[pdst_sh_m] \n\t" \
\
: [pdst_sh_m] "=m" (*pdst_sh_m) \
@@ -75,7 +74,7 @@
uint8_t *pdst_sw_m = (uint8_t *) (pdst); \
uint32_t val_m = (val); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"sw %[val_m], %[pdst_sw_m] \n\t" \
\
: [pdst_sw_m] "=m" (*pdst_sw_m) \
@@ -83,13 +82,13 @@
); \
}
- #if (__mips == 64)
+ #if __mips == 64
#define SD(val, pdst) \
{ \
uint8_t *pdst_sd_m = (uint8_t *) (pdst); \
uint64_t val_m = (val); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"sd %[val_m], %[pdst_sd_m] \n\t" \
\
: [pdst_sd_m] "=m" (*pdst_sd_m) \
@@ -96,7 +95,7 @@
: [val_m] "r" (val_m) \
); \
}
- #else
+ #else
#define SD(val, pdst) \
{ \
uint8_t *pdst_sd_m = (uint8_t *) (pdst); \
@@ -108,17 +107,17 @@
SW(val0_m, pdst_sd_m); \
SW(val1_m, pdst_sd_m + 4); \
}
- #endif
+ #endif /* __mips == 64 */
#else
#define MSA_SRLI_B(a, b) (a >> b)
-#if (__mips_isa_rev >= 6)
+#if __mips_isa_rev >= 6
#define LW(psrc) \
( { \
uint8_t *psrc_lw_m = (uint8_t *) (psrc); \
uint32_t val_m; \
\
- asm volatile ( \
+ __asm__ volatile ( \
"lw %[val_m], %[psrc_lw_m] \n\t" \
\
: [val_m] "=r" (val_m) \
@@ -133,7 +132,7 @@
uint8_t *pdst_sh_m = (uint8_t *) (pdst); \
uint16_t val_m = (val); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"sh %[val_m], %[pdst_sh_m] \n\t" \
\
: [pdst_sh_m] "=m" (*pdst_sh_m) \
@@ -146,7 +145,7 @@
uint8_t *pdst_sw_m = (uint8_t *) (pdst); \
uint32_t val_m = (val); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"sw %[val_m], %[pdst_sw_m] \n\t" \
\
: [pdst_sw_m] "=m" (*pdst_sw_m) \
@@ -154,13 +153,13 @@
); \
}
- #if (__mips == 64)
+ #if __mips == 64
#define SD(val, pdst) \
{ \
uint8_t *pdst_sd_m = (uint8_t *) (pdst); \
uint64_t val_m = (val); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"sd %[val_m], %[pdst_sd_m] \n\t" \
\
: [pdst_sd_m] "=m" (*pdst_sd_m) \
@@ -167,7 +166,7 @@
: [val_m] "r" (val_m) \
); \
}
- #else
+ #else
#define SD(val, pdst) \
{ \
uint8_t *pdst_sd_m = (uint8_t *) (pdst); \
@@ -179,14 +178,14 @@
SW(val0_m, pdst_sd_m); \
SW(val1_m, pdst_sd_m + 4); \
}
- #endif
-#else // !(__mips_isa_rev >= 6)
+ #endif /* __mips == 64 */
+#else
#define LW(psrc) \
( { \
uint8_t *psrc_lw_m = (uint8_t *) (psrc); \
uint32_t val_m; \
\
- asm volatile ( \
+ __asm__ volatile ( \
"ulw %[val_m], %[psrc_lw_m] \n\t" \
\
: [val_m] "=r" (val_m) \
@@ -201,7 +200,7 @@
uint8_t *pdst_sh_m = (uint8_t *) (pdst); \
uint16_t val_m = (val); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"ush %[val_m], %[pdst_sh_m] \n\t" \
\
: [pdst_sh_m] "=m" (*pdst_sh_m) \
@@ -214,7 +213,7 @@
uint8_t *pdst_sw_m = (uint8_t *) (pdst); \
uint32_t val_m = (val); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"usw %[val_m], %[pdst_sw_m] \n\t" \
\
: [pdst_sw_m] "=m" (*pdst_sw_m) \
@@ -222,7 +221,7 @@
); \
}
- #define SD(val, pdst) \
+ #define SD(val, pdst) \
{ \
uint8_t *pdst_sd_m = (uint8_t *) (pdst); \
uint32_t val0_m, val1_m; \
@@ -238,7 +237,7 @@
{ \
uint8_t *pdst_m = (uint8_t *) (pdst); \
\
- asm volatile ( \
+ __asm__ volatile ( \
"usw $0, %[pdst_m] \n\t" \
\
: [pdst_m] "=m" (*pdst_m) \
@@ -245,7 +244,7 @@
: \
); \
}
-#endif // (__mips_isa_rev >= 6)
+#endif /* __mips_isa_rev >= 6 */
#endif
#define LD_B(RTYPE, psrc) *((RTYPE *) (psrc))
Modified: trunk/Build/source/libs/libpng/libpng-src/mips/mips_init.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/mips/mips_init.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/mips/mips_init.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* mips_init.c - MSA optimised filter functions
*
* Copyright (c) 2018-2024 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/png.5
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/png.5 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/png.5 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,4 @@
-.TH PNG 5 "September 12, 2024"
+.TH PNG 5 "January 7, 2025"
.SH NAME
png \- Portable Network Graphics (PNG) format
@@ -20,6 +20,11 @@
.SH "SEE ALSO"
.BR "libpng"(3), " zlib"(3), " deflate"(5), " " and " zlib"(5)
.LP
+PNG Specification (Third Edition) Candidate Recommendation Draft, July 2024:
+.IP
+.br
+https://www.w3.org/TR/2024/CRD-png-3-20240718/
+.LP
PNG Specification (Second Edition), November 2003:
.IP
.br
Modified: trunk/Build/source/libs/libpng/libpng-src/png.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/png.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/png.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,7 +1,6 @@
-
/* png.c - location for general purpose libpng functions
*
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -14,7 +13,7 @@
#include "pngpriv.h"
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_6_44 Your_png_h_is_not_version_1_6_44;
+typedef png_libpng_version_1_6_45 Your_png_h_is_not_version_1_6_45;
/* Tells libpng that we have already handled the first "num_bytes" bytes
* of the PNG file signature. If the PNG data is embedded into another
@@ -794,8 +793,8 @@
return PNG_STRING_COPYRIGHT
#else
return PNG_STRING_NEWLINE \
- "libpng version 1.6.44" PNG_STRING_NEWLINE \
- "Copyright (c) 2018-2024 Cosmin Truta" PNG_STRING_NEWLINE \
+ "libpng version 1.6.45" PNG_STRING_NEWLINE \
+ "Copyright (c) 2018-2025 Cosmin Truta" PNG_STRING_NEWLINE \
"Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson" \
PNG_STRING_NEWLINE \
"Copyright (c) 1996-1997 Andreas Dilger" PNG_STRING_NEWLINE \
@@ -1203,24 +1202,68 @@
#endif /* GAMMA */
#ifdef PNG_COLORSPACE_SUPPORTED
-static int
-png_safe_add(png_int_32 *addend0_and_result, png_int_32 addend1,
- png_int_32 addend2) {
- /* Safely add three integers. Returns 0 on success, 1 on overlow.
+static png_int_32
+png_fp_add(png_int_32 addend0, png_int_32 addend1, int *error)
+{
+ /* Safely add two fixed point values setting an error flag and returning 0.5
+ * on overflow.
* IMPLEMENTATION NOTE: ANSI requires signed overflow not to occur, therefore
* relying on addition of two positive values producing a negative one is not
* safe.
*/
- int addend0 = *addend0_and_result;
- if (0x7fffffff - addend0 < addend1)
- return 1;
- addend0 += addend1;
- if (0x7fffffff - addend1 < addend2)
- return 1;
- *addend0_and_result = addend0 + addend2;
- return 0;
+ if (addend0 > 0)
+ {
+ if (0x7fffffff - addend0 >= addend1)
+ return addend0+addend1;
+ }
+ else if (addend0 < 0)
+ {
+ if (-0x7fffffff - addend0 <= addend1)
+ return addend0+addend1;
+ }
+ else
+ return addend1;
+
+ *error = 1;
+ return PNG_FP_1/2;
}
+static png_int_32
+png_fp_sub(png_int_32 addend0, png_int_32 addend1, int *error)
+{
+ /* As above but calculate addend0-addend1. */
+ if (addend1 > 0)
+ {
+ if (-0x7fffffff + addend1 <= addend0)
+ return addend0-addend1;
+ }
+ else if (addend1 < 0)
+ {
+ if (0x7fffffff + addend1 >= addend0)
+ return addend0-addend1;
+ }
+ else
+ return addend0;
+
+ *error = 1;
+ return PNG_FP_1/2;
+}
+
+static int
+png_safe_add(png_int_32 *addend0_and_result, png_int_32 addend1,
+ png_int_32 addend2)
+{
+ /* Safely add three integers. Returns 0 on success, 1 on overflow. Does not
+ * set the result on overflow.
+ */
+ int error = 0;
+ int result = png_fp_add(*addend0_and_result,
+ png_fp_add(addend1, addend2, &error),
+ &error);
+ if (!error) *addend0_and_result = result;
+ return error;
+}
+
/* Added at libpng-1.5.5 to support read and write of true CIEXYZ values for
* cHRM, as opposed to using chromaticities. These internal APIs return
* non-zero on a parameter error. The X, Y and Z values are required to be
@@ -1229,7 +1272,7 @@
static int
png_xy_from_XYZ(png_xy *xy, const png_XYZ *XYZ)
{
- png_int_32 d, dred, dgreen, dwhite, whiteX, whiteY;
+ png_int_32 d, dred, dgreen, dblue, dwhite, whiteX, whiteY;
/* 'd' in each of the blocks below is just X+Y+Z for each component,
* x, y and z are X,Y,Z/(X+Y+Z).
@@ -1237,44 +1280,52 @@
d = XYZ->red_X;
if (png_safe_add(&d, XYZ->red_Y, XYZ->red_Z))
return 1;
- if (png_muldiv(&xy->redx, XYZ->red_X, PNG_FP_1, d) == 0)
+ dred = d;
+ if (png_muldiv(&xy->redx, XYZ->red_X, PNG_FP_1, dred) == 0)
return 1;
- if (png_muldiv(&xy->redy, XYZ->red_Y, PNG_FP_1, d) == 0)
+ if (png_muldiv(&xy->redy, XYZ->red_Y, PNG_FP_1, dred) == 0)
return 1;
- dred = d;
- whiteX = XYZ->red_X;
- whiteY = XYZ->red_Y;
d = XYZ->green_X;
if (png_safe_add(&d, XYZ->green_Y, XYZ->green_Z))
return 1;
- if (png_muldiv(&xy->greenx, XYZ->green_X, PNG_FP_1, d) == 0)
+ dgreen = d;
+ if (png_muldiv(&xy->greenx, XYZ->green_X, PNG_FP_1, dgreen) == 0)
return 1;
- if (png_muldiv(&xy->greeny, XYZ->green_Y, PNG_FP_1, d) == 0)
+ if (png_muldiv(&xy->greeny, XYZ->green_Y, PNG_FP_1, dgreen) == 0)
return 1;
- dgreen = d;
- whiteX += XYZ->green_X;
- whiteY += XYZ->green_Y;
d = XYZ->blue_X;
if (png_safe_add(&d, XYZ->blue_Y, XYZ->blue_Z))
return 1;
- if (png_muldiv(&xy->bluex, XYZ->blue_X, PNG_FP_1, d) == 0)
+ dblue = d;
+ if (png_muldiv(&xy->bluex, XYZ->blue_X, PNG_FP_1, dblue) == 0)
return 1;
- if (png_muldiv(&xy->bluey, XYZ->blue_Y, PNG_FP_1, d) == 0)
+ if (png_muldiv(&xy->bluey, XYZ->blue_Y, PNG_FP_1, dblue) == 0)
return 1;
- whiteX += XYZ->blue_X;
- whiteY += XYZ->blue_Y;
/* The reference white is simply the sum of the end-point (X,Y,Z) vectors so
* the fillowing calculates (X+Y+Z) of the reference white (media white,
* encoding white) itself:
*/
+ d = dblue;
if (png_safe_add(&d, dred, dgreen))
return 1;
-
dwhite = d;
+ /* Find the white X,Y values from the sum of the red, green and blue X,Y
+ * values.
+ */
+ d = XYZ->red_X;
+ if (png_safe_add(&d, XYZ->green_X, XYZ->blue_X))
+ return 1;
+ whiteX = d;
+
+ d = XYZ->red_Y;
+ if (png_safe_add(&d, XYZ->green_Y, XYZ->blue_Y))
+ return 1;
+ whiteY = d;
+
if (png_muldiv(&xy->whitex, whiteX, PNG_FP_1, dwhite) == 0)
return 1;
if (png_muldiv(&xy->whitey, whiteY, PNG_FP_1, dwhite) == 0)
@@ -1289,6 +1340,29 @@
png_fixed_point red_inverse, green_inverse, blue_scale;
png_fixed_point left, right, denominator;
+ /* Check xy and, implicitly, z. Note that wide gamut color spaces typically
+ * have end points with 0 tristimulus values (these are impossible end
+ * points, but they are used to cover the possible colors). We check
+ * xy->whitey against 5, not 0, to avoid a possible integer overflow.
+ *
+ * The limits here will *not* accept ACES AP0, where bluey is -7700
+ * (-0.0770) because the PNG spec itself requires the xy values to be
+ * unsigned. whitey is also required to be 5 or more to avoid overflow.
+ *
+ * Instead the upper limits have been relaxed to accomodate ACES AP1 where
+ * redz ends up as -600 (-0.006). ProPhotoRGB was already "in range."
+ * The new limit accomodates the AP0 and AP1 ranges for z but not AP0 redy.
+ */
+ const png_fixed_point fpLimit = PNG_FP_1+(PNG_FP_1/10);
+ if (xy->redx < 0 || xy->redx > fpLimit) return 1;
+ if (xy->redy < 0 || xy->redy > fpLimit-xy->redx) return 1;
+ if (xy->greenx < 0 || xy->greenx > fpLimit) return 1;
+ if (xy->greeny < 0 || xy->greeny > fpLimit-xy->greenx) return 1;
+ if (xy->bluex < 0 || xy->bluex > fpLimit) return 1;
+ if (xy->bluey < 0 || xy->bluey > fpLimit-xy->bluex) return 1;
+ if (xy->whitex < 0 || xy->whitex > fpLimit) return 1;
+ if (xy->whitey < 5 || xy->whitey > fpLimit-xy->whitex) return 1;
+
/* The reverse calculation is more difficult because the original tristimulus
* value had 9 independent values (red,green,blue)x(X,Y,Z) however only 8
* derived values were recorded in the cHRM chunk;
@@ -1432,18 +1506,23 @@
* (green-x - blue-x)*(red-y - blue-y)-(green-y - blue-y)*(red-x - blue-x)
*
* Accuracy:
- * The input values have 5 decimal digits of accuracy. The values are all in
- * the range 0 < value < 1, so simple products are in the same range but may
- * need up to 10 decimal digits to preserve the original precision and avoid
- * underflow. Because we are using a 32-bit signed representation we cannot
- * match this; the best is a little over 9 decimal digits, less than 10.
+ * The input values have 5 decimal digits of accuracy.
*
+ * In the previous implementation the values were all in the range 0 < value
+ * < 1, so simple products are in the same range but may need up to 10
+ * decimal digits to preserve the original precision and avoid underflow.
+ * Because we are using a 32-bit signed representation we cannot match this;
+ * the best is a little over 9 decimal digits, less than 10.
+ *
+ * This range has now been extended to allow values up to 1.1, or 110,000 in
+ * fixed point.
+ *
* The approach used here is to preserve the maximum precision within the
* signed representation. Because the red-scale calculation above uses the
- * difference between two products of values that must be in the range -1..+1
- * it is sufficient to divide the product by 7; ceil(100,000/32767*2). The
- * factor is irrelevant in the calculation because it is applied to both
- * numerator and denominator.
+ * difference between two products of values that must be in the range
+ * -1.1..+1.1 it is sufficient to divide the product by 8;
+ * ceil(121,000/32767*2). The factor is irrelevant in the calculation
+ * because it is applied to both numerator and denominator.
*
* Note that the values of the differences of the products of the
* chromaticities in the above equations tend to be small, for example for
@@ -1465,19 +1544,25 @@
* Adobe Wide Gamut RGB
* 0.258728243040113 0.724682314948566 0.016589442011321
*/
- /* By the argument, above overflow should be impossible here. The return
- * value of 2 indicates an internal error to the caller.
+ int error = 0;
+
+ /* By the argument above overflow should be impossible here, however the
+ * code now simply returns a failure code. The xy subtracts in the arguments
+ * to png_muldiv are *not* checked for overflow because the checks at the
+ * start guarantee they are in the range 0..110000 and png_fixed_point is a
+ * 32-bit signed number.
*/
- if (png_muldiv(&left, xy->greenx-xy->bluex, xy->redy - xy->bluey, 7) == 0)
+ if (png_muldiv(&left, xy->greenx-xy->bluex, xy->redy - xy->bluey, 8) == 0)
return 1;
- if (png_muldiv(&right, xy->greeny-xy->bluey, xy->redx - xy->bluex, 7) == 0)
+ if (png_muldiv(&right, xy->greeny-xy->bluey, xy->redx - xy->bluex, 8) == 0)
return 1;
- denominator = left - right;
+ denominator = png_fp_sub(left, right, &error);
+ if (error) return 1;
/* Now find the red numerator. */
- if (png_muldiv(&left, xy->greenx-xy->bluex, xy->whitey-xy->bluey, 7) == 0)
+ if (png_muldiv(&left, xy->greenx-xy->bluex, xy->whitey-xy->bluey, 8) == 0)
return 1;
- if (png_muldiv(&right, xy->greeny-xy->bluey, xy->whitex-xy->bluex, 7) == 0)
+ if (png_muldiv(&right, xy->greeny-xy->bluey, xy->whitex-xy->bluex, 8) == 0)
return 1;
/* Overflow is possible here and it indicates an extreme set of PNG cHRM
@@ -1485,16 +1570,18 @@
* scale value because this allows us to delay the multiplication of white-y
* into the denominator, which tends to produce a small number.
*/
- if (png_muldiv(&red_inverse, xy->whitey, denominator, left-right) == 0 ||
+ if (png_muldiv(&red_inverse, xy->whitey, denominator,
+ png_fp_sub(left, right, &error)) == 0 || error ||
red_inverse <= xy->whitey /* r+g+b scales = white scale */)
return 1;
/* Similarly for green_inverse: */
- if (png_muldiv(&left, xy->redy-xy->bluey, xy->whitex-xy->bluex, 7) == 0)
+ if (png_muldiv(&left, xy->redy-xy->bluey, xy->whitex-xy->bluex, 8) == 0)
return 1;
- if (png_muldiv(&right, xy->redx-xy->bluex, xy->whitey-xy->bluey, 7) == 0)
+ if (png_muldiv(&right, xy->redx-xy->bluex, xy->whitey-xy->bluey, 8) == 0)
return 1;
- if (png_muldiv(&green_inverse, xy->whitey, denominator, left-right) == 0 ||
+ if (png_muldiv(&green_inverse, xy->whitey, denominator,
+ png_fp_sub(left, right, &error)) == 0 || error ||
green_inverse <= xy->whitey)
return 1;
@@ -1501,13 +1588,17 @@
/* And the blue scale, the checks above guarantee this can't overflow but it
* can still produce 0 for extreme cHRM values.
*/
- blue_scale = png_reciprocal(xy->whitey) - png_reciprocal(red_inverse) -
- png_reciprocal(green_inverse);
- if (blue_scale <= 0)
+ blue_scale = png_fp_sub(png_fp_sub(png_reciprocal(xy->whitey),
+ png_reciprocal(red_inverse), &error),
+ png_reciprocal(green_inverse), &error);
+ if (error || blue_scale <= 0)
return 1;
- /* And fill in the png_XYZ: */
+ /* And fill in the png_XYZ. Again the subtracts are safe because of the
+ * checks on the xy values at the start (the subtracts just calculate the
+ * corresponding z values.)
+ */
if (png_muldiv(&XYZ->red_X, xy->redx, PNG_FP_1, red_inverse) == 0)
return 1;
if (png_muldiv(&XYZ->red_Y, xy->redy, PNG_FP_1, red_inverse) == 0)
Modified: trunk/Build/source/libs/libpng/libpng-src/png.h
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/png.h 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/png.h 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,9 +1,8 @@
-
/* png.h - header file for PNG reference library
*
- * libpng version 1.6.44
+ * libpng version 1.6.45
*
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -15,7 +14,7 @@
* libpng versions 0.89, June 1996, through 0.96, May 1997: Andreas Dilger
* libpng versions 0.97, January 1998, through 1.6.35, July 2018:
* Glenn Randers-Pehrson
- * libpng versions 1.6.36, December 2018, through 1.6.44, September 2024:
+ * libpng versions 1.6.36, December 2018, through 1.6.45, January 2025:
* Cosmin Truta
* See also "Contributing Authors", below.
*/
@@ -27,8 +26,8 @@
* PNG Reference Library License version 2
* ---------------------------------------
*
- * * Copyright (c) 1995-2024 The PNG Reference Library Authors.
- * * Copyright (c) 2018-2024 Cosmin Truta.
+ * * Copyright (c) 1995-2025 The PNG Reference Library Authors.
+ * * Copyright (c) 2018-2025 Cosmin Truta.
* * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson.
* * Copyright (c) 1996-1997 Andreas Dilger.
* * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -239,7 +238,7 @@
* ...
* 1.5.30 15 10530 15.so.15.30[.0]
* ...
- * 1.6.44 16 10644 16.so.16.44[.0]
+ * 1.6.45 16 10645 16.so.16.45[.0]
*
* Henceforth the source version will match the shared-library major and
* minor numbers; the shared-library major version number will be used for
@@ -275,7 +274,7 @@
*/
/* Version information for png.h - this should match the version in png.c */
-#define PNG_LIBPNG_VER_STRING "1.6.44"
+#define PNG_LIBPNG_VER_STRING "1.6.45"
#define PNG_HEADER_VERSION_STRING " libpng version " PNG_LIBPNG_VER_STRING "\n"
/* The versions of shared library builds should stay in sync, going forward */
@@ -286,7 +285,7 @@
/* These should match the first 3 components of PNG_LIBPNG_VER_STRING: */
#define PNG_LIBPNG_VER_MAJOR 1
#define PNG_LIBPNG_VER_MINOR 6
-#define PNG_LIBPNG_VER_RELEASE 44
+#define PNG_LIBPNG_VER_RELEASE 45
/* This should be zero for a public release, or non-zero for a
* development version.
@@ -317,7 +316,7 @@
* From version 1.0.1 it is:
* XXYYZZ, where XX=major, YY=minor, ZZ=release
*/
-#define PNG_LIBPNG_VER 10644 /* 1.6.44 */
+#define PNG_LIBPNG_VER 10645 /* 1.6.45 */
/* Library configuration: these options cannot be changed after
* the library has been built.
@@ -427,7 +426,7 @@
/* This triggers a compiler error in png.c, if png.c and png.h
* do not agree upon the version number.
*/
-typedef char* png_libpng_version_1_6_44;
+typedef char* png_libpng_version_1_6_45;
/* Basic control structions. Read libpng-manual.txt or libpng.3 for more info.
*
@@ -745,6 +744,7 @@
#define PNG_INFO_sCAL 0x4000U /* ESR, 1.0.6 */
#define PNG_INFO_IDAT 0x8000U /* ESR, 1.0.6 */
#define PNG_INFO_eXIf 0x10000U /* GR-P, 1.6.31 */
+#define PNG_INFO_cICP 0x20000U
/* This is used for the transformation routines, as some of them
* change these values for the row. It also should enable using
@@ -1974,6 +1974,17 @@
png_fixed_point int_blue_Z))
#endif
+#ifdef PNG_cICP_SUPPORTED
+PNG_EXPORT(250, png_uint_32, png_get_cICP, (png_const_structrp png_ptr,
+ png_inforp info_ptr, png_bytep colour_primaries,
+ png_bytep transfer_function, png_bytep matrix_coefficients,
+ png_bytep video_full_range_flag));
+PNG_EXPORT(251, void, png_set_cICP, (png_const_structrp png_ptr,
+ png_inforp info_ptr, png_byte colour_primaries,
+ png_byte transfer_function, png_byte matrix_coefficients,
+ png_byte video_full_range_flag));
+#endif
+
#ifdef PNG_eXIf_SUPPORTED
PNG_EXPORT(246, png_uint_32, png_get_eXIf, (png_const_structrp png_ptr,
png_inforp info_ptr, png_bytep *exif));
@@ -3238,7 +3249,7 @@
* one to use is one more than this.)
*/
#ifdef PNG_EXPORT_LAST_ORDINAL
- PNG_EXPORT_LAST_ORDINAL(249);
+ PNG_EXPORT_LAST_ORDINAL(251);
#endif
#ifdef __cplusplus
Modified: trunk/Build/source/libs/libpng/libpng-src/pngconf.h
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngconf.h 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngconf.h 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,9 +1,8 @@
-
/* pngconf.h - machine-configurable file for libpng
*
- * libpng version 1.6.44
+ * libpng version 1.6.45
*
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2016,2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
Modified: trunk/Build/source/libs/libpng/libpng-src/pngdebug.h
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngdebug.h 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngdebug.h 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngdebug.h - Debugging macros for libpng, also used in pngtest.c
*
* Copyright (c) 2018 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngerror.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngerror.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngerror.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngerror.c - stub functions for i/o and memory allocation
*
* Copyright (c) 2018-2024 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngget.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngget.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngget.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngget.c - retrieval of values from info struct
*
* Copyright (c) 2018-2024 Cosmin Truta
@@ -785,6 +784,31 @@
}
#endif
+#ifdef PNG_cICP_SUPPORTED
+png_uint_32 PNGAPI
+png_get_cICP(png_const_structrp png_ptr,
+ png_inforp info_ptr, png_bytep colour_primaries,
+ png_bytep transfer_function, png_bytep matrix_coefficients,
+ png_bytep video_full_range_flag)
+{
+ png_debug1(1, "in %s retrieval function", "cICP");
+
+ if (png_ptr != NULL && info_ptr != NULL &&
+ (info_ptr->valid & PNG_INFO_cICP) != 0 &&
+ colour_primaries != NULL && transfer_function != NULL &&
+ matrix_coefficients != NULL && video_full_range_flag != NULL)
+ {
+ *colour_primaries = info_ptr->cicp_colour_primaries;
+ *transfer_function = info_ptr->cicp_transfer_function;
+ *matrix_coefficients = info_ptr->cicp_matrix_coefficients;
+ *video_full_range_flag = info_ptr->cicp_video_full_range_flag;
+ return (PNG_INFO_cICP);
+ }
+
+ return (0);
+}
+#endif
+
#ifdef PNG_eXIf_SUPPORTED
png_uint_32 PNGAPI
png_get_eXIf(png_const_structrp png_ptr, png_inforp info_ptr,
Modified: trunk/Build/source/libs/libpng/libpng-src/pnginfo.h
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pnginfo.h 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pnginfo.h 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pnginfo.h - header file for PNG reference library
*
* Copyright (c) 2018 Cosmin Truta
@@ -101,6 +100,14 @@
png_colorspace colorspace;
#endif
+#ifdef PNG_cICP_SUPPORTED
+ /* cICP chunk data */
+ png_byte cicp_colour_primaries;
+ png_byte cicp_transfer_function;
+ png_byte cicp_matrix_coefficients;
+ png_byte cicp_video_full_range_flag;
+#endif
+
#ifdef PNG_iCCP_SUPPORTED
/* iCCP chunk data. */
png_charp iccp_name; /* profile name */
Modified: trunk/Build/source/libs/libpng/libpng-src/pnglibconf.h
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pnglibconf.h 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pnglibconf.h 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,8 +1,8 @@
/* pnglibconf.h - library build configuration */
-/* libpng version 1.6.44 */
+/* libpng version 1.6.45 */
-/* Copyright (c) 2018-2024 Cosmin Truta */
+/* Copyright (c) 2018-2025 Cosmin Truta */
/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
/* This code is released under the libpng license. */
@@ -88,6 +88,7 @@
#define PNG_READ_USER_TRANSFORM_SUPPORTED
#define PNG_READ_bKGD_SUPPORTED
#define PNG_READ_cHRM_SUPPORTED
+#define PNG_READ_cICP_SUPPORTED
#define PNG_READ_eXIf_SUPPORTED
#define PNG_READ_gAMA_SUPPORTED
#define PNG_READ_hIST_SUPPORTED
@@ -158,6 +159,7 @@
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
#define PNG_WRITE_bKGD_SUPPORTED
#define PNG_WRITE_cHRM_SUPPORTED
+#define PNG_WRITE_cICP_SUPPORTED
#define PNG_WRITE_eXIf_SUPPORTED
#define PNG_WRITE_gAMA_SUPPORTED
#define PNG_WRITE_hIST_SUPPORTED
@@ -176,6 +178,7 @@
#define PNG_WRITE_zTXt_SUPPORTED
#define PNG_bKGD_SUPPORTED
#define PNG_cHRM_SUPPORTED
+#define PNG_cICP_SUPPORTED
#define PNG_eXIf_SUPPORTED
#define PNG_gAMA_SUPPORTED
#define PNG_hIST_SUPPORTED
Modified: trunk/Build/source/libs/libpng/libpng-src/pngmem.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngmem.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngmem.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngmem.c - stub functions for memory allocation
*
* Copyright (c) 2018 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngpread.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngpread.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngpread.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngpread.c - read a png file in push mode
*
* Copyright (c) 2018-2024 Cosmin Truta
@@ -32,6 +31,21 @@
if (png_ptr->buffer_size < N) \
{ png_push_save_buffer(png_ptr); return; }
+#ifdef PNG_READ_INTERLACING_SUPPORTED
+/* Arrays to facilitate interlacing - use pass (0 - 6) as index. */
+
+/* Start of interlace block */
+static const png_byte png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
+/* Offset to next interlace block */
+static const png_byte png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
+/* Start of interlace block in the y direction */
+static const png_byte png_pass_ystart[7] = {0, 0, 4, 0, 2, 0, 1};
+/* Offset to next interlace block in the y direction */
+static const png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
+
+/* TODO: Move these arrays to a common utility module to avoid duplication. */
+#endif
+
void PNGAPI
png_process_data(png_structrp png_ptr, png_inforp info_ptr,
png_bytep buffer, size_t buffer_size)
@@ -295,6 +309,14 @@
}
#endif
+#ifdef PNG_READ_cICP_SUPPORTED
+ else if (png_ptr->chunk_name == png_cICP)
+ {
+ PNG_PUSH_SAVE_BUFFER_IF_FULL
+ png_handle_cICP(png_ptr, info_ptr, png_ptr->push_length);
+ }
+
+#endif
#ifdef PNG_READ_eXIf_SUPPORTED
else if (png_ptr->chunk_name == png_eXIf)
{
@@ -976,27 +998,6 @@
void /* PRIVATE */
png_read_push_finish_row(png_structrp png_ptr)
{
-#ifdef PNG_READ_INTERLACING_SUPPORTED
- /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
-
- /* Start of interlace block */
- static const png_byte png_pass_start[] = {0, 4, 0, 2, 0, 1, 0};
-
- /* Offset to next interlace block */
- static const png_byte png_pass_inc[] = {8, 8, 4, 4, 2, 2, 1};
-
- /* Start of interlace block in the y direction */
- static const png_byte png_pass_ystart[] = {0, 0, 4, 0, 2, 0, 1};
-
- /* Offset to next interlace block in the y direction */
- static const png_byte png_pass_yinc[] = {8, 8, 8, 4, 4, 2, 2};
-
- /* Height of interlace block. This is not currently used - if you need
- * it, uncomment it here and in png.h
- static const png_byte png_pass_height[] = {8, 8, 4, 4, 2, 2, 1};
- */
-#endif
-
png_ptr->row_number++;
if (png_ptr->row_number < png_ptr->num_rows)
return;
Modified: trunk/Build/source/libs/libpng/libpng-src/pngpriv.h
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngpriv.h 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngpriv.h 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngpriv.h - private declarations for use inside libpng
*
* Copyright (c) 2018-2024 Cosmin Truta
@@ -835,6 +834,7 @@
#define png_PLTE PNG_U32( 80, 76, 84, 69)
#define png_bKGD PNG_U32( 98, 75, 71, 68)
#define png_cHRM PNG_U32( 99, 72, 82, 77)
+#define png_cICP PNG_U32( 99, 73, 67, 80)
#define png_eXIf PNG_U32(101, 88, 73, 102) /* registered July 2017 */
#define png_fRAc PNG_U32(102, 82, 65, 99) /* registered, not defined */
#define png_gAMA PNG_U32(103, 65, 77, 65)
@@ -1131,6 +1131,12 @@
/* The xy value must have been previously validated */
#endif
+#ifdef PNG_WRITE_cICP_SUPPORTED
+PNG_INTERNAL_FUNCTION(void,png_write_cICP,(png_structrp png_ptr,
+ png_byte colour_primaries, png_byte transfer_function,
+ png_byte matrix_coefficients, png_byte video_full_range_flag), PNG_EMPTY);
+#endif
+
#ifdef PNG_WRITE_sRGB_SUPPORTED
PNG_INTERNAL_FUNCTION(void,png_write_sRGB,(png_structrp png_ptr,
int intent),PNG_EMPTY);
@@ -1474,6 +1480,11 @@
png_inforp info_ptr, png_uint_32 length),PNG_EMPTY);
#endif
+#ifdef PNG_READ_cICP_SUPPORTED
+PNG_INTERNAL_FUNCTION(void,png_handle_cICP,(png_structrp png_ptr,
+ png_inforp info_ptr, png_uint_32 length),PNG_EMPTY);
+#endif
+
#ifdef PNG_READ_eXIf_SUPPORTED
PNG_INTERNAL_FUNCTION(void,png_handle_eXIf,(png_structrp png_ptr,
png_inforp info_ptr, png_uint_32 length),PNG_EMPTY);
Modified: trunk/Build/source/libs/libpng/libpng-src/pngread.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngread.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngread.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,7 +1,6 @@
-
/* pngread.c - read a PNG file
*
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -175,6 +174,11 @@
png_handle_cHRM(png_ptr, info_ptr, length);
#endif
+#ifdef PNG_READ_cICP_SUPPORTED
+ else if (chunk_name == png_cICP)
+ png_handle_cICP(png_ptr, info_ptr, length);
+#endif
+
#ifdef PNG_READ_eXIf_SUPPORTED
else if (chunk_name == png_eXIf)
png_handle_eXIf(png_ptr, info_ptr, length);
@@ -852,6 +856,11 @@
png_handle_cHRM(png_ptr, info_ptr, length);
#endif
+#ifdef PNG_READ_cICP_SUPPORTED
+ else if (chunk_name == png_cICP)
+ png_handle_cICP(png_ptr, info_ptr, length);
+#endif
+
#ifdef PNG_READ_eXIf_SUPPORTED
else if (chunk_name == png_eXIf)
png_handle_eXIf(png_ptr, info_ptr, length);
Modified: trunk/Build/source/libs/libpng/libpng-src/pngrio.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngrio.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngrio.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngrio.c - functions for data input
*
* Copyright (c) 2018 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngrtran.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngrtran.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngrtran.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngrtran.c - transforms the data in a row for PNG readers
*
* Copyright (c) 2018-2024 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngrutil.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngrutil.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngrutil.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngrutil.c - utilities to read a PNG file
*
* Copyright (c) 2018-2024 Cosmin Truta
@@ -18,6 +17,21 @@
#ifdef PNG_READ_SUPPORTED
+#ifdef PNG_READ_INTERLACING_SUPPORTED
+/* Arrays to facilitate interlacing - use pass (0 - 6) as index. */
+
+/* Start of interlace block */
+static const png_byte png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
+/* Offset to next interlace block */
+static const png_byte png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
+/* Start of interlace block in the y direction */
+static const png_byte png_pass_ystart[7] = {0, 0, 4, 0, 2, 0, 1};
+/* Offset to next interlace block in the y direction */
+static const png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
+
+/* TODO: Move these arrays to a common utility module to avoid duplication. */
+#endif
+
png_uint_32 PNGAPI
png_get_uint_31(png_const_structrp png_ptr, png_const_bytep buf)
{
@@ -2032,6 +2046,47 @@
}
#endif
+#ifdef PNG_READ_cICP_SUPPORTED
+void /* PRIVATE */
+png_handle_cICP(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
+{
+ png_byte buf[4];
+
+ png_debug(1, "in png_handle_cICP");
+
+ if ((png_ptr->mode & PNG_HAVE_IHDR) == 0)
+ png_chunk_error(png_ptr, "missing IHDR");
+
+ else if ((png_ptr->mode & (PNG_HAVE_IDAT|PNG_HAVE_PLTE)) != 0)
+ {
+ png_crc_finish(png_ptr, length);
+ png_chunk_benign_error(png_ptr, "out of place");
+ return;
+ }
+
+ else if (info_ptr != NULL && (info_ptr->valid & PNG_INFO_cICP) != 0)
+ {
+ png_crc_finish(png_ptr, length);
+ png_chunk_benign_error(png_ptr, "duplicate");
+ return;
+ }
+
+ else if (length != 4)
+ {
+ png_crc_finish(png_ptr, length);
+ png_chunk_benign_error(png_ptr, "invalid");
+ return;
+ }
+
+ png_crc_read(png_ptr, buf, 4);
+
+ if (png_crc_finish(png_ptr, 0) != 0)
+ return;
+
+ png_set_cICP(png_ptr, info_ptr, buf[0], buf[1], buf[2], buf[3]);
+}
+#endif
+
#ifdef PNG_READ_eXIf_SUPPORTED
void /* PRIVATE */
png_handle_eXIf(png_structrp png_ptr, png_inforp info_ptr, png_uint_32 length)
@@ -3684,10 +3739,6 @@
png_do_read_interlace(png_row_infop row_info, png_bytep row, int pass,
png_uint_32 transformations /* Because these may affect the byte layout */)
{
- /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
- /* Offset to next interlace block */
- static const unsigned int png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
-
png_debug(1, "in png_do_read_interlace");
if (row != NULL && row_info != NULL)
{
@@ -4325,20 +4376,6 @@
void /* PRIVATE */
png_read_finish_row(png_structrp png_ptr)
{
- /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
-
- /* Start of interlace block */
- static const png_byte png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
-
- /* Offset to next interlace block */
- static const png_byte png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
-
- /* Start of interlace block in the y direction */
- static const png_byte png_pass_ystart[7] = {0, 0, 4, 0, 2, 0, 1};
-
- /* Offset to next interlace block in the y direction */
- static const png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
-
png_debug(1, "in png_read_finish_row");
png_ptr->row_number++;
if (png_ptr->row_number < png_ptr->num_rows)
@@ -4390,20 +4427,6 @@
void /* PRIVATE */
png_read_start_row(png_structrp png_ptr)
{
- /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
-
- /* Start of interlace block */
- static const png_byte png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
-
- /* Offset to next interlace block */
- static const png_byte png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
-
- /* Start of interlace block in the y direction */
- static const png_byte png_pass_ystart[7] = {0, 0, 4, 0, 2, 0, 1};
-
- /* Offset to next interlace block in the y direction */
- static const png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
-
unsigned int max_pixel_depth;
size_t row_bytes;
Modified: trunk/Build/source/libs/libpng/libpng-src/pngset.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngset.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngset.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,7 +1,6 @@
-
/* pngset.c - storage of image information into info struct
*
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
* Copyright (c) 1998-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -134,6 +133,32 @@
#endif /* cHRM */
+#ifdef PNG_cICP_SUPPORTED
+void PNGAPI
+png_set_cICP(png_const_structrp png_ptr, png_inforp info_ptr,
+ png_byte colour_primaries, png_byte transfer_function,
+ png_byte matrix_coefficients, png_byte video_full_range_flag)
+{
+ png_debug1(1, "in %s storage function", "cICP");
+
+ if (png_ptr == NULL || info_ptr == NULL)
+ return;
+
+ info_ptr->cicp_colour_primaries = colour_primaries;
+ info_ptr->cicp_transfer_function = transfer_function;
+ info_ptr->cicp_matrix_coefficients = matrix_coefficients;
+ info_ptr->cicp_video_full_range_flag = video_full_range_flag;
+
+ if (info_ptr->cicp_matrix_coefficients != 0)
+ {
+ png_warning(png_ptr, "Invalid cICP matrix coefficients");
+ return;
+ }
+
+ info_ptr->valid |= PNG_INFO_cICP;
+}
+#endif /* cICP */
+
#ifdef PNG_eXIf_SUPPORTED
void PNGAPI
png_set_eXIf(png_const_structrp png_ptr, png_inforp info_ptr,
@@ -1395,6 +1420,7 @@
static const png_byte chunks_to_ignore[] = {
98, 75, 71, 68, '\0', /* bKGD */
99, 72, 82, 77, '\0', /* cHRM */
+ 99, 73, 67, 80, '\0', /* cICP */
101, 88, 73, 102, '\0', /* eXIf */
103, 65, 77, 65, '\0', /* gAMA */
104, 73, 83, 84, '\0', /* hIST */
Modified: trunk/Build/source/libs/libpng/libpng-src/pngstruct.h
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngstruct.h 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngstruct.h 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngstruct.h - header file for PNG reference library
*
* Copyright (c) 2018-2022 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngtest.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngtest.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngtest.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,7 +1,6 @@
-
/* pngtest.c - a test program for libpng
*
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -51,7 +50,7 @@
#define STDERR stdout
/* Generate a compiler error if there is an old png.h in the search path. */
-typedef png_libpng_version_1_6_44 Your_png_h_is_not_version_1_6_44;
+typedef png_libpng_version_1_6_45 Your_png_h_is_not_version_1_6_45;
/* Ensure that all version numbers in png.h are consistent with one another. */
#if (PNG_LIBPNG_VER != PNG_LIBPNG_VER_MAJOR * 10000 + \
@@ -1168,6 +1167,21 @@
#endif
#endif /* Floating point */
#endif /* Fixed point */
+#ifdef PNG_cICP_SUPPORTED
+ {
+ png_byte colour_primaries;
+ png_byte transfer_function;
+ png_byte matrix_coefficients;
+ png_byte video_full_range_flag;
+
+ if (png_get_cICP(read_ptr, read_info_ptr,
+ &colour_primaries, &transfer_function,
+ &matrix_coefficients, &video_full_range_flag) != 0)
+ png_set_cICP(write_ptr, write_info_ptr,
+ colour_primaries, transfer_function,
+ matrix_coefficients, video_full_range_flag);
+ }
+#endif
#ifdef PNG_iCCP_SUPPORTED
{
png_charp name;
Modified: trunk/Build/source/libs/libpng/libpng-src/pngtest.png
===================================================================
(Binary files differ)
Modified: trunk/Build/source/libs/libpng/libpng-src/pngtrans.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngtrans.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngtrans.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngtrans.c - transforms the data in a row (used by both readers and writers)
*
* Copyright (c) 2018-2024 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngwio.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngwio.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngwio.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngwio.c - functions for data output
*
* Copyright (c) 2018 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngwrite.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngwrite.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngwrite.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,7 +1,6 @@
-
/* pngwrite.c - general routines to write a PNG file
*
- * Copyright (c) 2018-2024 Cosmin Truta
+ * Copyright (c) 2018-2025 Cosmin Truta
* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
* Copyright (c) 1996-1997 Andreas Dilger
* Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc.
@@ -128,29 +127,61 @@
* the application continues writing the PNG. So check the 'invalid'
* flag here too.
*/
-#ifdef PNG_GAMMA_SUPPORTED
-# ifdef PNG_WRITE_gAMA_SUPPORTED
- if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
- (info_ptr->colorspace.flags & PNG_COLORSPACE_FROM_gAMA) != 0 &&
- (info_ptr->valid & PNG_INFO_gAMA) != 0)
- png_write_gAMA_fixed(png_ptr, info_ptr->colorspace.gamma);
-# endif
+#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
+ /* Write unknown chunks first; PNG v3 establishes a precedence order
+ * for colourspace chunks. It is certain therefore that new
+ * colourspace chunks will have a precedence and very likely it will be
+ * higher than all known so far. Writing the unknown chunks here is
+ * most likely to present the chunks in the most convenient order.
+ *
+ * FUTURE: maybe write chunks in the order the app calls png_set_chnk
+ * to give the app control.
+ */
+ write_unknown_chunks(png_ptr, info_ptr, PNG_HAVE_IHDR);
#endif
+#ifdef PNG_WRITE_sBIT_SUPPORTED
+ /* PNG v3: a streaming app will need to see this before cICP because
+ * the information is helpful in handling HLG encoding (which is
+ * natively 10 bits but gets expanded to 16 in PNG.)
+ *
+ * The app shouldn't care about the order ideally, but it might have
+ * no choice. In PNG v3, apps are allowed to reject PNGs where the
+ * APNG chunks are out of order so it behooves libpng to be nice here.
+ */
+ if ((info_ptr->valid & PNG_INFO_sBIT) != 0)
+ png_write_sBIT(png_ptr, &(info_ptr->sig_bit), info_ptr->color_type);
+#endif
+
+ /* PNG v3: the July 2004 version of the TR introduced the concept of colour
+ * space priority. As above it therefore behooves libpng to write the colour
+ * space chunks in the priority order so that a streaming app need not buffer
+ * them.
+ */
#ifdef PNG_COLORSPACE_SUPPORTED
- /* Write only one of sRGB or an ICC profile. If a profile was supplied
- * and it matches one of the known sRGB ones issue a warning.
+# ifdef PNG_WRITE_cICP_SUPPORTED /* Priority 4 */
+ if ((info_ptr->valid & PNG_INFO_cICP) != 0)
+ {
+ png_write_cICP(png_ptr,
+ info_ptr->cicp_colour_primaries,
+ info_ptr->cicp_transfer_function,
+ info_ptr->cicp_matrix_coefficients,
+ info_ptr->cicp_video_full_range_flag);
+ }
+# endif
+
+ /* PNG v3 change: it is now permitted to write both sRGB and ICC profiles,
+ * however because the libpng code auto-generates an sRGB for the
+ * corresponding ICC profiles and because PNG v2 disallowed this we need
+ * to only write one.
+ *
+ * Remove the PNG v2 warning about writing an sRGB ICC profile as well
+ * because it's invalid with PNG v3.
*/
-# ifdef PNG_WRITE_iCCP_SUPPORTED
+# ifdef PNG_WRITE_iCCP_SUPPORTED /* Priority 3 */
if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
(info_ptr->valid & PNG_INFO_iCCP) != 0)
{
-# ifdef PNG_WRITE_sRGB_SUPPORTED
- if ((info_ptr->valid & PNG_INFO_sRGB) != 0)
- png_app_warning(png_ptr,
- "profile matches sRGB but writing iCCP instead");
-# endif
-
png_write_iCCP(png_ptr, info_ptr->iccp_name,
info_ptr->iccp_profile);
}
@@ -159,7 +190,7 @@
# endif
# endif
-# ifdef PNG_WRITE_sRGB_SUPPORTED
+# ifdef PNG_WRITE_sRGB_SUPPORTED /* Priority 2 */
if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
(info_ptr->valid & PNG_INFO_sRGB) != 0)
png_write_sRGB(png_ptr, info_ptr->colorspace.rendering_intent);
@@ -166,13 +197,17 @@
# endif /* WRITE_sRGB */
#endif /* COLORSPACE */
-#ifdef PNG_WRITE_sBIT_SUPPORTED
- if ((info_ptr->valid & PNG_INFO_sBIT) != 0)
- png_write_sBIT(png_ptr, &(info_ptr->sig_bit), info_ptr->color_type);
+#ifdef PNG_GAMMA_SUPPORTED
+# ifdef PNG_WRITE_gAMA_SUPPORTED /* Priority 1 */
+ if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
+ (info_ptr->colorspace.flags & PNG_COLORSPACE_FROM_gAMA) != 0 &&
+ (info_ptr->valid & PNG_INFO_gAMA) != 0)
+ png_write_gAMA_fixed(png_ptr, info_ptr->colorspace.gamma);
+# endif
#endif
#ifdef PNG_COLORSPACE_SUPPORTED
-# ifdef PNG_WRITE_cHRM_SUPPORTED
+# ifdef PNG_WRITE_cHRM_SUPPORTED /* Also priority 1 */
if ((info_ptr->colorspace.flags & PNG_COLORSPACE_INVALID) == 0 &&
(info_ptr->colorspace.flags & PNG_COLORSPACE_FROM_cHRM) != 0 &&
(info_ptr->valid & PNG_INFO_cHRM) != 0)
@@ -180,10 +215,6 @@
# endif
#endif
-#ifdef PNG_WRITE_UNKNOWN_CHUNKS_SUPPORTED
- write_unknown_chunks(png_ptr, info_ptr, PNG_HAVE_IHDR);
-#endif
-
png_ptr->mode |= PNG_WROTE_INFO_BEFORE_PLTE;
}
}
Modified: trunk/Build/source/libs/libpng/libpng-src/pngwtran.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngwtran.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngwtran.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngwtran.c - transforms the data in a row for PNG writers
*
* Copyright (c) 2018 Cosmin Truta
Modified: trunk/Build/source/libs/libpng/libpng-src/pngwutil.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/pngwutil.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/pngwutil.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* pngwutil.c - utilities to write a PNG file
*
* Copyright (c) 2018-2024 Cosmin Truta
@@ -9,6 +8,9 @@
* This code is released under the libpng license.
* For conditions of distribution and use, see the disclaimer
* and license in png.h
+ *
+ * This file contains routines that are only called from within
+ * libpng itself during the course of writing an image.
*/
#include "pngpriv.h"
@@ -15,6 +17,21 @@
#ifdef PNG_WRITE_SUPPORTED
+#ifdef PNG_WRITE_INTERLACING_SUPPORTED
+/* Arrays to facilitate interlacing - use pass (0 - 6) as index. */
+
+/* Start of interlace block */
+static const png_byte png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
+/* Offset to next interlace block */
+static const png_byte png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
+/* Start of interlace block in the y direction */
+static const png_byte png_pass_ystart[7] = {0, 0, 4, 0, 2, 0, 1};
+/* Offset to next interlace block in the y direction */
+static const png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
+
+/* TODO: Move these arrays to a common utility module to avoid duplication. */
+#endif
+
#ifdef PNG_WRITE_INT_FUNCTIONS_SUPPORTED
/* Place a 32-bit number into a buffer in PNG byte order. We work
* with unsigned numbers for convenience, although one supported
@@ -1471,6 +1488,29 @@
}
#endif
+#ifdef PNG_WRITE_cICP_SUPPORTED
+/* Write the cICP data */
+void /* PRIVATE */
+png_write_cICP(png_structrp png_ptr,
+ png_byte colour_primaries, png_byte transfer_function,
+ png_byte matrix_coefficients, png_byte video_full_range_flag)
+{
+ png_byte buf[4];
+
+ png_debug(1, "in png_write_cICP");
+
+ png_write_chunk_header(png_ptr, png_cICP, 4);
+
+ buf[0] = colour_primaries;
+ buf[1] = transfer_function;
+ buf[2] = matrix_coefficients;
+ buf[3] = video_full_range_flag;
+ png_write_chunk_data(png_ptr, buf, 4);
+
+ png_write_chunk_end(png_ptr);
+}
+#endif
+
#ifdef PNG_WRITE_eXIf_SUPPORTED
/* Write the Exif data */
void /* PRIVATE */
@@ -1889,22 +1929,6 @@
void /* PRIVATE */
png_write_start_row(png_structrp png_ptr)
{
-#ifdef PNG_WRITE_INTERLACING_SUPPORTED
- /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
-
- /* Start of interlace block */
- static const png_byte png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
-
- /* Offset to next interlace block */
- static const png_byte png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
-
- /* Start of interlace block in the y direction */
- static const png_byte png_pass_ystart[7] = {0, 0, 4, 0, 2, 0, 1};
-
- /* Offset to next interlace block in the y direction */
- static const png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
-#endif
-
png_alloc_size_t buf_size;
int usr_pixel_depth;
@@ -2004,22 +2028,6 @@
void /* PRIVATE */
png_write_finish_row(png_structrp png_ptr)
{
-#ifdef PNG_WRITE_INTERLACING_SUPPORTED
- /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
-
- /* Start of interlace block */
- static const png_byte png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
-
- /* Offset to next interlace block */
- static const png_byte png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
-
- /* Start of interlace block in the y direction */
- static const png_byte png_pass_ystart[7] = {0, 0, 4, 0, 2, 0, 1};
-
- /* Offset to next interlace block in the y direction */
- static const png_byte png_pass_yinc[7] = {8, 8, 8, 4, 4, 2, 2};
-#endif
-
png_debug(1, "in png_write_finish_row");
/* Next row */
@@ -2095,14 +2103,6 @@
void /* PRIVATE */
png_do_write_interlace(png_row_infop row_info, png_bytep row, int pass)
{
- /* Arrays to facilitate easy interlacing - use pass (0 - 6) as index */
-
- /* Start of interlace block */
- static const png_byte png_pass_start[7] = {0, 4, 0, 2, 0, 1, 0};
-
- /* Offset to next interlace block */
- static const png_byte png_pass_inc[7] = {8, 8, 4, 4, 2, 2, 1};
-
png_debug(1, "in png_do_write_interlace");
/* We don't have to do anything on the last pass (6) */
Modified: trunk/Build/source/libs/libpng/libpng-src/powerpc/powerpc_init.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/powerpc/powerpc_init.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/powerpc/powerpc_init.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* powerpc_init.c - POWERPC optimised filter functions
*
* Copyright (c) 2018 Cosmin Truta
Added: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/build.bat
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/build.bat (rev 0)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/build.bat 2025-01-08 06:35:22 UTC (rev 73360)
@@ -0,0 +1,25 @@
+ at echo off
+ at setlocal enableextensions
+
+if "%~1" == "/?" goto :help
+if "%~1" == "-?" goto :help
+if "%~1" == "/help" goto :help
+if "%~1" == "-help" goto :help
+if "%~1" == "--help" goto :help
+goto :run
+
+:help
+echo Usage:
+echo %~nx0 [SOLUTION_CONFIG]
+echo Examples:
+echo %~nx0 "Release|Win32" (default)
+echo %~nx0 "Debug|Win32"
+echo %~nx0 "Release|ARM64"
+echo %~nx0 "Debug|ARM64"
+echo etc.
+exit /b 2
+
+:run
+set _SOLUTION_CONFIG="%~1"
+if %_SOLUTION_CONFIG% == "" set _SOLUTION_CONFIG="Release|Win32"
+devenv "%~dp0.\vstudio.sln" /build %_SOLUTION_CONFIG%
Modified: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/libpng/libpng.vcxproj
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/libpng/libpng.vcxproj 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/libpng/libpng.vcxproj 2025-01-08 06:35:22 UTC (rev 73360)
@@ -158,11 +158,11 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<MinimalRebuild>false</MinimalRebuild>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointExceptions>false</FloatingPointExceptions>
@@ -173,7 +173,7 @@
<StringPooling>true</StringPooling>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<AdditionalIncludeDirectories>$(ZLibSrcDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<Optimization>Disabled</Optimization>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
@@ -188,11 +188,11 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PrecompiledHeader>Use</PrecompiledHeader>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<MinimalRebuild>false</MinimalRebuild>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointExceptions>false</FloatingPointExceptions>
@@ -203,7 +203,7 @@
<StringPooling>true</StringPooling>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<AdditionalIncludeDirectories>$(ZLibSrcDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<Optimization>Disabled</Optimization>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
@@ -223,7 +223,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointExceptions>false</FloatingPointExceptions>
@@ -250,7 +250,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<IntrinsicFunctions>true</IntrinsicFunctions>
<FunctionLevelLinking>true</FunctionLevelLinking>
<FloatingPointExceptions>false</FloatingPointExceptions>
@@ -271,12 +271,12 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FloatingPointExceptions>false</FloatingPointExceptions>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
<PrecompiledHeaderFile>pngpriv.h</PrecompiledHeaderFile>
@@ -286,7 +286,7 @@
<MinimalRebuild>false</MinimalRebuild>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<AdditionalIncludeDirectories>$(ZLibSrcDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<Optimization>Full</Optimization>
</ClCompile>
<Link>
@@ -301,12 +301,12 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>Use</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_USRDLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FloatingPointExceptions>false</FloatingPointExceptions>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
<PrecompiledHeaderFile>pngpriv.h</PrecompiledHeaderFile>
@@ -316,7 +316,7 @@
<MinimalRebuild>false</MinimalRebuild>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<AdditionalIncludeDirectories>$(ZLibSrcDir);%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<Optimization>Full</Optimization>
</ClCompile>
<Link>
@@ -337,7 +337,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FloatingPointExceptions>false</FloatingPointExceptions>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
<PrecompiledHeaderFile>pngpriv.h</PrecompiledHeaderFile>
@@ -369,7 +369,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<FloatingPointExceptions>false</FloatingPointExceptions>
<TreatWChar_tAsBuiltInType>false</TreatWChar_tAsBuiltInType>
<PrecompiledHeaderFile>pngpriv.h</PrecompiledHeaderFile>
@@ -396,7 +396,7 @@
<ItemGroup>
<ClCompile Include="..\..\..\arm\arm_init.c">
<DeploymentContent>true</DeploymentContent>
- <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">WIN32;_DEBUG;PNG_ARM_NEON_OPT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;PNG_ARM_NEON_OPT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release Library|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Library|Win32'">NotUsing</PrecompiledHeader>
@@ -405,7 +405,7 @@
</ClCompile>
<ClCompile Include="..\..\..\arm\filter_neon_intrinsics.c">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">NotUsing</PrecompiledHeader>
- <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">WIN32;_DEBUG;PNG_ARM_NEON_OPT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;PNG_ARM_NEON_OPT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release Library|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Library|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
@@ -413,7 +413,7 @@
</ClCompile>
<ClCompile Include="..\..\..\arm\palette_neon_intrinsics.c">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">NotUsing</PrecompiledHeader>
- <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">WIN32;_DEBUG;PNG_ARM_NEON_OPT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions Condition="'$(Configuration)|$(Platform)'=='Debug Library|ARM64'">WIN32;_DEBUG;_CRT_SECURE_NO_WARNINGS;PNG_ARM_NEON_OPT=1;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release Library|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug Library|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">NotUsing</PrecompiledHeader>
Modified: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pnglibconf/pnglibconf.vcxproj
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pnglibconf/pnglibconf.vcxproj 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pnglibconf/pnglibconf.vcxproj 2025-01-08 06:35:22 UTC (rev 73360)
@@ -48,7 +48,7 @@
</PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
@@ -73,7 +73,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<Optimization>MaxSpeed</Optimization>
<FunctionLevelLinking>true</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
Modified: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngstest/pngstest.vcxproj
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngstest/pngstest.vcxproj 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngstest/pngstest.vcxproj 2025-01-08 06:35:22 UTC (rev 73360)
@@ -149,7 +149,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -182,7 +182,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -216,7 +216,7 @@
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -249,7 +249,7 @@
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -275,17 +275,17 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<BrowseInformation>true</BrowseInformation>
@@ -310,17 +310,17 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<BrowseInformation>true</BrowseInformation>
@@ -352,7 +352,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -388,7 +388,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
Modified: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngtest/pngtest.vcxproj
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngtest/pngtest.vcxproj 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngtest/pngtest.vcxproj 2025-01-08 06:35:22 UTC (rev 73360)
@@ -149,7 +149,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -182,7 +182,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -216,7 +216,7 @@
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -249,7 +249,7 @@
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -275,17 +275,17 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<BrowseInformation>true</BrowseInformation>
@@ -310,17 +310,17 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<BrowseInformation>true</BrowseInformation>
@@ -352,7 +352,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -389,7 +389,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
Modified: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngunknown/pngunknown.vcxproj
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngunknown/pngunknown.vcxproj 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngunknown/pngunknown.vcxproj 2025-01-08 06:35:22 UTC (rev 73360)
@@ -149,7 +149,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -182,7 +182,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -216,7 +216,7 @@
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -249,7 +249,7 @@
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -275,17 +275,17 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<BrowseInformation>true</BrowseInformation>
@@ -310,17 +310,17 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<BrowseInformation>true</BrowseInformation>
@@ -352,7 +352,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -388,7 +388,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
Modified: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngvalid/pngvalid.vcxproj
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngvalid/pngvalid.vcxproj 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/pngvalid/pngvalid.vcxproj 2025-01-08 06:35:22 UTC (rev 73360)
@@ -149,7 +149,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -182,7 +182,7 @@
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -216,7 +216,7 @@
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -249,7 +249,7 @@
<Optimization>Disabled</Optimization>
<BasicRuntimeChecks>EnableFastChecks</BasicRuntimeChecks>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -275,17 +275,17 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<BrowseInformation>true</BrowseInformation>
@@ -310,17 +310,17 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release|ARM64'">
<ClCompile>
- <WarningLevel>$(WarningLevel)</WarningLevel>
+ <WarningLevel>Level3</WarningLevel>
<PrecompiledHeader>NotUsing</PrecompiledHeader>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;PNG_USE_DLL;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
- <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
+ <TreatWarningAsError>false</TreatWarningAsError>
<StringPooling>true</StringPooling>
<MinimalRebuild>false</MinimalRebuild>
<BrowseInformation>true</BrowseInformation>
@@ -352,7 +352,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
@@ -388,7 +388,7 @@
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<FunctionLevelLinking>false</FunctionLevelLinking>
<IntrinsicFunctions>true</IntrinsicFunctions>
- <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>$(ZLibSrcDir);..\..\..\scripts;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
<DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<CompileAsManaged>false</CompileAsManaged>
Modified: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/zlib/zlib.vcxproj
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/zlib/zlib.vcxproj 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/zlib/zlib.vcxproj 2025-01-08 06:35:22 UTC (rev 73360)
@@ -154,13 +154,13 @@
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;Z_SOLO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <WarningLevel>Level3</WarningLevel>
+ <WarningLevel>$(WarningLevel)</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BrowseInformation>true</BrowseInformation>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <DisableSpecificWarnings>$(DisableSpecificWarnings);4127;4131;4242;4244</DisableSpecificWarnings>
- <TreatWarningAsError>false</TreatWarningAsError>
+ <DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
</ClCompile>
<Link>
<TargetMachine>MachineX86</TargetMachine>
@@ -172,13 +172,13 @@
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;Z_SOLO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<RuntimeLibrary>MultiThreadedDebug</RuntimeLibrary>
- <WarningLevel>Level3</WarningLevel>
+ <WarningLevel>$(WarningLevel)</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BrowseInformation>true</BrowseInformation>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <DisableSpecificWarnings>$(DisableSpecificWarnings);4127;4131;4242;4244</DisableSpecificWarnings>
- <TreatWarningAsError>false</TreatWarningAsError>
+ <DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
</ClCompile>
<Link>
<GenerateDebugInformation>true</GenerateDebugInformation>
@@ -188,13 +188,13 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;Z_SOLO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>Level3</WarningLevel>
+ <WarningLevel>$(WarningLevel)</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BrowseInformation>true</BrowseInformation>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <DisableSpecificWarnings>$(DisableSpecificWarnings);4127;4131;4242;4244</DisableSpecificWarnings>
- <TreatWarningAsError>false</TreatWarningAsError>
+ <DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
@@ -206,13 +206,13 @@
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|ARM64'">
<ClCompile>
<PreprocessorDefinitions>WIN32;_DEBUG;Z_SOLO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
- <WarningLevel>Level3</WarningLevel>
+ <WarningLevel>$(WarningLevel)</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Disabled</Optimization>
<BrowseInformation>true</BrowseInformation>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <DisableSpecificWarnings>$(DisableSpecificWarnings);4127;4131;4242;4244</DisableSpecificWarnings>
- <TreatWarningAsError>false</TreatWarningAsError>
+ <DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
<RuntimeLibrary>MultiThreadedDebugDLL</RuntimeLibrary>
</ClCompile>
<Link>
@@ -222,7 +222,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Library|Win32'">
<ClCompile>
- <WarningLevel>Level3</WarningLevel>
+ <WarningLevel>$(WarningLevel)</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
@@ -230,8 +230,8 @@
<BufferSecurityCheck>false</BufferSecurityCheck>
<BrowseInformation>true</BrowseInformation>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <DisableSpecificWarnings>$(DisableSpecificWarnings);4127;4131;4242;4244</DisableSpecificWarnings>
- <TreatWarningAsError>false</TreatWarningAsError>
+ <DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PreprocessorDefinitions>WIN32;NDEBUG;Z_SOLO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@@ -246,7 +246,7 @@
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Release Library|ARM64'">
<ClCompile>
- <WarningLevel>Level3</WarningLevel>
+ <WarningLevel>$(WarningLevel)</WarningLevel>
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>
<Optimization>Full</Optimization>
<IntrinsicFunctions>true</IntrinsicFunctions>
@@ -254,8 +254,8 @@
<BufferSecurityCheck>false</BufferSecurityCheck>
<BrowseInformation>true</BrowseInformation>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <DisableSpecificWarnings>$(DisableSpecificWarnings);4127;4131;4242;4244</DisableSpecificWarnings>
- <TreatWarningAsError>false</TreatWarningAsError>
+ <DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
+ <TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
<RuntimeLibrary>MultiThreaded</RuntimeLibrary>
<PreprocessorDefinitions>WIN32;NDEBUG;Z_SOLO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@@ -277,7 +277,7 @@
<BufferSecurityCheck>false</BufferSecurityCheck>
<BrowseInformation>true</BrowseInformation>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <DisableSpecificWarnings>$(DisableSpecificWarnings);4127;4131;4242;4244</DisableSpecificWarnings>
+ <DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
<PreprocessorDefinitions>WIN32;NDEBUG;Z_SOLO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
@@ -302,7 +302,7 @@
<BufferSecurityCheck>false</BufferSecurityCheck>
<BrowseInformation>true</BrowseInformation>
<FunctionLevelLinking>true</FunctionLevelLinking>
- <DisableSpecificWarnings>$(DisableSpecificWarnings);4127;4131;4242;4244</DisableSpecificWarnings>
+ <DisableSpecificWarnings>$(DisableSpecificWarnings)</DisableSpecificWarnings>
<TreatWarningAsError>$(TreatWarningAsError)</TreatWarningAsError>
<PreprocessorDefinitions>WIN32;NDEBUG;Z_SOLO;%(PreprocessorDefinitions)</PreprocessorDefinitions>
</ClCompile>
Modified: trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/zlib.props
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/zlib.props 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/projects/vstudio/zlib.props 2025-01-08 06:35:22 UTC (rev 73360)
@@ -2,7 +2,7 @@
<!--
* zlib.props - location of zlib source
*
- * Copyright (c) 2018 Cosmin Truta
+ * Copyright (c) 2018-2024 Cosmin Truta
* Copyright (c) 1998-2011 Glenn Randers-Pehrson
*
* This code is released under the libpng license.
@@ -14,22 +14,22 @@
-->
<Project ToolsVersion="4.0"
- xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="Globals">
<!-- Place the name of the directory containing the source of zlib used for
- debugging in this property.
+ debugging in this property.
The directory need only contain the '.c' and '.h' files from the
- source.
+ source.
- If you use a relative directory name (as below) then it must be
- relative to the project directories; these are one level deeper than
- the directories containing this file.
+ If you use a relative directory name (as below) then it must be
+ relative to the project directories; these are one level deeper than
+ the directories containing this file.
- If the version of zlib you use does not match that used when the
- distribution was built you will get warnings from pngtest that the zlib
- versions do not match. The zlib version used in this build is recorded
- below:
+ If the version of zlib you use does not match that used when the
+ distribution was built you will get warnings from pngtest that the
+ zlib versions do not match. The zlib version used in this build is
+ recorded below:
-->
<ZLibSrcDir>..\..\..\..\zlib</ZLibSrcDir>
@@ -36,22 +36,21 @@
<!-- The following line allows compilation for an ARM target with Visual
Studio 2012. Notice that this is not supported by the Visual Studio
2012 IDE and that the programs that result cannot be run unless they
- signed by Microsoft. This is therefore untested; only Microsoft can
- test it:
+ are signed by Microsoft. This is therefore untested; only Microsoft
+ can test it:
-->
<WindowsSDKDesktopARMSupport>true</WindowsSDKDesktopARMSupport>
- <!-- The following lines provide a global (solution level) control of the
- warnings issued by the compiler, these are used in the individual
- project files (*/*.vcxproj) with, for zlib, some extra disables.
+ <!-- The following lines provide a global (solution-level) control of the
+ warnings issued by the compiler.
- Different versions of Visual Studio may require different settings,
- these settings work with Visual Studio 2013. Just set
- TreatWarningAsError to false to check the build without failing on
- errors.
+ Considering how different versions of Visual Studio sometimes require
+ different settings, and their compilers issue different warnings, we
+ set TreatWarningAsError to false to avoid unforeseen and undesirable
+ build failures for the users who upgrade to a newer Visual Studio that
+ might bring along a more pedantic compiler:
-->
- <WarningLevel>EnableAllWarnings</WarningLevel>
- <TreatWarningAsError>true</TreatWarningAsError>
- <DisableSpecificWarnings>4255;4668;4710;4711;4746;4820;4996</DisableSpecificWarnings>
+ <WarningLevel>Level3</WarningLevel>
+ <TreatWarningAsError>false</TreatWarningAsError>
</PropertyGroup>
</Project>
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/README.txt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/README.txt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/README.txt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,79 +1,73 @@
+Scripts and makefiles for libpng
+--------------------------------
-Makefiles for libpng
+ pnglibconf.h.prebuilt => Configuration settings
-pnglibconf.h.prebuilt => Configuration settings
- makefile.linux => Linux/ELF makefile
- (gcc, creates shared libpng16.so.16.1.6.*)
- makefile.linux-opt=> Linux/ELF makefile with hardware optimizations on
- (gcc, creates shared libpng16.so.16.1.6.*)
- makefile.gcc => Generic makefile (gcc, creates static libpng.a)
- makefile.acorn => Acorn makefile
- makefile.aix => AIX/gcc makefile
- makefile.amiga => Amiga makefile
- makefile.atari => Atari makefile
- makefile.bc32 => 32-bit Borland C++ (all modules compiled in C mode)
- makefile.beos => BeOS makefile
- makefile.clang => Generic clang makefile
- makefile.darwin => Darwin makefile, for macOS (formerly Mac OS X)
- makefile.dec => DEC Alpha UNIX makefile
- makefile.dj2 => DJGPP 2 makefile
- makefile.freebsd => FreeBSD makefile
- makefile.gcc => Generic gcc makefile
- makefile.hpgcc => HPUX makefile using gcc
- makefile.hpux => HPUX (10.20 and 11.00) makefile
- makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64-bit
- makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static)
- makefile.intel => Intel C/C++ version 4.0 and later
- makefile.mips => MIPS makefile
- makefile.netbsd => NetBSD/cc makefile, makes shared libpng.so
- makefile.openbsd => OpenBSD makefile
- makefile.sco => SCO OSr5 ELF and Unixware 7 with Native cc
- makefile.sggcc => Silicon Graphics makefile
- (gcc, creates shared libpng16.so.16.1.6.*)
- makefile.sgi => Silicon Graphics IRIX makefile (cc, creates static lib)
- makefile.solaris => Solaris 2.X makefile
- (gcc, creates shared libpng16.so.16.1.6.*)
- makefile.so9 => Solaris 9 makefile
- (gcc, creates shared libpng16.so.16.1.6.*)
- makefile.std => Generic UNIX makefile (cc, creates static libpng.a)
- makefile.sunos => Sun makefile
- makefile.32sunu => Sun Ultra 32-bit makefile
- makefile.64sunu => Sun Ultra 64-bit makefile
- makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later
- makevms.com => VMS build script
- smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
- (Requires SCOPTIONS, copied from scripts/SCOPTIONS.ppc)
+ makefile.aix => AIX/gcc makefile
+ makefile.amiga => Amiga makefile
+ makefile.atari => Atari makefile
+ makefile.bc32 => Borland C makefile, for Win32
+ makefile.beos => BeOS makefile
+ makefile.clang => Generic clang makefile
+ makefile.darwin => Darwin makefile, for macOS (formerly Mac OS X)
+ makefile.dec => DEC Alpha UNIX makefile
+ makefile.dj2 => DJGPP 2 makefile
+ makefile.emcc => Emscripten makefile
+ makefile.freebsd => FreeBSD makefile
+ makefile.gcc => Generic gcc makefile
+ makefile.hpgcc => HPUX makefile using gcc
+ makefile.hpux => HPUX (10.20 and 11.00) makefile
+ makefile.hp64 => HPUX (10.20 and 11.00) makefile, 64-bit
+ makefile.ibmc => IBM C/C++ version 3.x for Win32 and OS/2 (static lib)
+ makefile.intel => Intel C/C++ version 4.0 and later
+ makefile.linux => Linux/ELF makefile
+ (gcc, creates shared libpng16.so.16.1.6.*)
+ makefile.mips => MIPS makefile
+ makefile.msys => MSYS (MinGW) makefile
+ makefile.netbsd => NetBSD/cc makefile, makes shared libpng.so
+ makefile.openbsd => OpenBSD makefile
+ makefile.riscos => Acorn RISCOS makefile
+ makefile.sco => SCO OSr5 ELF and Unixware 7 with Native cc
+ makefile.sgi => Silicon Graphics IRIX makefile (cc, static lib)
+ makefile.sggcc => Silicon Graphics makefile
+ (gcc, creates shared libpng16.so.16.1.6.*)
+ makefile.solaris => Solaris 2.X makefile
+ (gcc, creates shared libpng16.so.16.1.6.*)
+ makefile.so9 => Solaris 9 makefile
+ (gcc, creates shared libpng16.so.16.1.6.*)
+ makefile.std => Generic UNIX makefile (cc, static lib)
+ makefile.sunos => Sun makefile
+ makefile.32sunu => Sun Ultra 32-bit makefile
+ makefile.64sunu => Sun Ultra 64-bit makefile
+ makefile.vcwin32 => makefile for Microsoft Visual C++ 4.0 and later
+ makevms.com => VMS build script
+ smakefile.ppc => AMIGA smakefile for SAS C V6.58/7.00 PPC compiler
+ (Requires SCOPTIONS, copied from SCOPTIONS.ppc)
-Other supporting scripts:
- README.txt => This file
- descrip.mms => VMS makefile for MMS or MMK
- libpng-config-body.in => used by several makefiles to create libpng-config
- libpng-config-head.in => used by several makefiles to create libpng-config
- libpng.pc.in => Used by several makefiles to create libpng.pc
- pngwin.rc => Used by the visualc71 project
- pngwin.def => Used by makefile.os2
- pngwin.dfn => Used to maintain pngwin.def
- SCOPTIONS.ppc => Used with smakefile.ppc
+Other supporting scripts
+------------------------
- checksym.awk => Used for maintaining pnglibconf.h
- def.dfn => Used for maintaining pnglibconf.h
- options.awk => Used for maintaining pnglibconf.h
- pnglibconf.dfa => Used for maintaining pnglibconf.h
- pnglibconf.mak => Used for maintaining pnglibconf.h
- sym.dfn => Used for symbol versioning
- symbols.def => Used for symbol versioning
- symbols.dfn => Used for symbol versioning
- vers.dfn => Used for symbol versioning
+ README.txt => This file
+ descrip.mms => VMS makefile for MMS or MMK
+ libpng-config-body.in => used by several makefiles to create libpng-config
+ libpng-config-head.in => used by several makefiles to create libpng-config
+ libpng.pc.in => Used by several makefiles to create libpng.pc
+ macro.lst => Used by GNU Autotools
+ pngwin.rc => Used by the visualc71 project
+ pngwin.def => Used by makefile.os2
+ pngwin.dfn => Used to maintain pngwin.def
+ SCOPTIONS.ppc => Used with smakefile.ppc
- libtool.m4 => Used by autoconf tools
- ltoptions.m4 => Used by autoconf tools
- ltsugar.m4 => Used by autoconf tools
- ltversion.m4 => Used by autoconf tools
- lt~obsolete.m4 => Used by autoconf tools
+ checksym.awk => Used for maintaining pnglibconf.h
+ dfn.awk => Used for maintaining pnglibconf.h
+ options.awk => Used for maintaining pnglibconf.h
+ pnglibconf.dfa => Used for maintaining pnglibconf.h
+ pnglibconf.mak => Used for maintaining pnglibconf.h
+ intprefix.c => Used for symbol versioning
+ prefix.c => Used for symbol versioning
+ sym.c => Used for symbol versioning
+ symbols.c => Used for symbol versioning
+ vers.c => Used for symbol versioning
- intprefix.dfn => Used by autoconf tools
- macro.lst => Used by autoconf tools
- prefix.dfn => Used by autoconf tools
-
Further information can be found in comments in the individual scripts and
makefiles.
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/libtool.m4
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/libtool.m4 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/libtool.m4 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
#
-# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
+# Copyright (C) 1996-2001, 2003-2019, 2021-2024 Free Software
# Foundation, Inc.
# Written by Gordon Matzigkeit, 1996
#
@@ -9,13 +9,13 @@
# modifications, as long as this notice is preserved.
m4_define([_LT_COPYING], [dnl
-# Copyright (C) 2014 Free Software Foundation, Inc.
+# Copyright (C) 2024 Free Software Foundation, Inc.
# This is free software; see the source for copying conditions. There is NO
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# GNU Libtool is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of of the License, or
+# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# As a special exception to the GNU General Public License, if you
@@ -32,7 +32,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
])
-# serial 59 LT_INIT
+# serial 63 LT_INIT
# LT_PREREQ(VERSION)
@@ -60,7 +60,7 @@
# LT_INIT([OPTIONS])
# ------------------
AC_DEFUN([LT_INIT],
-[AC_PREREQ([2.62])dnl We use AC_PATH_PROGS_FEATURE_CHECK
+[AC_PREREQ([2.64])dnl We use AC_PATH_PROGS_FEATURE_CHECK
AC_REQUIRE([AC_CONFIG_AUX_DIR_DEFAULT])dnl
AC_BEFORE([$0], [LT_LANG])dnl
AC_BEFORE([$0], [LT_OUTPUT])dnl
@@ -616,7 +616,7 @@
# LT_OUTPUT
# ---------
# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
+# AC_OUTPUT is called), in case it is used in configure for compilation
# tests.
AC_DEFUN([LT_OUTPUT],
[: ${CONFIG_LT=./config.lt}
@@ -651,9 +651,9 @@
m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
configured by $[0], generated by m4_PACKAGE_STRING.
-Copyright (C) 2011 Free Software Foundation, Inc.
+Copyright (C) 2024 Free Software Foundation, Inc.
This config.lt script is free software; the Free Software Foundation
-gives unlimited permision to copy, distribute and modify it."
+gives unlimited permission to copy, distribute and modify it."
while test 0 != $[#]
do
@@ -730,7 +730,6 @@
cat <<_LT_EOF >> "$cfgfile"
#! $SHELL
# Generated automatically by $as_me ($PACKAGE) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
# NOTE: Changes made to this file will be lost: look at ltmain.sh.
# Provide generalized library-building support services.
@@ -975,6 +974,7 @@
$RM -r conftest*
])# _LT_LINKER_BOILERPLATE
+
# _LT_REQUIRED_DARWIN_CHECKS
# -------------------------
m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
@@ -1025,6 +1025,21 @@
rm -f conftest.*
fi])
+ # Feature test to disable chained fixups since it is not
+ # compatible with '-undefined dynamic_lookup'
+ AC_CACHE_CHECK([for -no_fixup_chains linker flag],
+ [lt_cv_support_no_fixup_chains],
+ [ save_LDFLAGS=$LDFLAGS
+ LDFLAGS="$LDFLAGS -Wl,-no_fixup_chains"
+ AC_LINK_IFELSE(
+ [AC_LANG_PROGRAM([],[])],
+ lt_cv_support_no_fixup_chains=yes,
+ lt_cv_support_no_fixup_chains=no
+ )
+ LDFLAGS=$save_LDFLAGS
+ ]
+ )
+
AC_CACHE_CHECK([for -exported_symbols_list linker flag],
[lt_cv_ld_exported_symbols_list],
[lt_cv_ld_exported_symbols_list=no
@@ -1049,7 +1064,7 @@
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
cat > conftest.c << _LT_EOF
-int main() { return 0;}
+int main(void) { return 0;}
_LT_EOF
echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&AS_MESSAGE_LOG_FD
$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
@@ -1074,7 +1089,11 @@
10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
*)
- _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
+ _lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup'
+ if test yes = "$lt_cv_support_no_fixup_chains"; then
+ AS_VAR_APPEND([_lt_dar_allow_undefined], [' $wl-no_fixup_chains'])
+ fi
+ ;;
esac
;;
esac
@@ -1081,6 +1100,21 @@
if test yes = "$lt_cv_apple_cc_single_mod"; then
_lt_dar_single_mod='$single_module'
fi
+ _lt_dar_needs_single_mod=no
+ case $host_os in
+ rhapsody* | darwin1.*)
+ _lt_dar_needs_single_mod=yes ;;
+ darwin*)
+ # When targeting Mac OS X 10.4 (darwin 8) or later,
+ # -single_module is the default and -multi_module is unsupported.
+ # The toolchain on macOS 10.14 (darwin 18) and later cannot
+ # target any OS version that needs -single_module.
+ case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
+ 10.0,*-darwin[[567]].*|10.[[0-3]],*-darwin[[5-9]].*|10.[[0-3]],*-darwin1[[0-7]].*)
+ _lt_dar_needs_single_mod=yes ;;
+ esac
+ ;;
+ esac
if test yes = "$lt_cv_ld_exported_symbols_list"; then
_lt_dar_export_syms=' $wl-exported_symbols_list,$output_objdir/$libname-symbols.expsym'
else
@@ -1126,7 +1160,7 @@
_LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
_LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
m4_if([$1], [CXX],
-[ if test yes != "$lt_cv_apple_cc_single_mod"; then
+[ if test yes = "$_lt_dar_needs_single_mod" -a yes != "$lt_cv_apple_cc_single_mod"; then
_LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
_LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
fi
@@ -1256,7 +1290,9 @@
case $with_sysroot in #(
yes)
if test yes = "$GCC"; then
- lt_sysroot=`$CC --print-sysroot 2>/dev/null`
+ # Trim trailing / since we'll always append absolute paths and we want
+ # to avoid //, if only for less confusing output for the user.
+ lt_sysroot=`$CC --print-sysroot 2>/dev/null | $SED 's:/\+$::'`
fi
;; #(
/*)
@@ -1368,7 +1404,7 @@
;;
x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+s390*-*linux*|s390*-*tpf*|sparc*-*linux*|x86_64-gnu*)
# Find out what ABI is being produced by ac_compile, and set linker
# options accordingly. Note that the listed cases only cover the
# situations where additional linker options are needed (such as when
@@ -1383,7 +1419,7 @@
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_i386_fbsd"
;;
- x86_64-*linux*)
+ x86_64-*linux*|x86_64-gnu*)
case `$FILECMD conftest.o` in
*x86-64*)
LD="${LD-ld} -m elf32_x86_64"
@@ -1412,7 +1448,7 @@
x86_64-*kfreebsd*-gnu)
LD="${LD-ld} -m elf_x86_64_fbsd"
;;
- x86_64-*linux*)
+ x86_64-*linux*|x86_64-gnu*)
LD="${LD-ld} -m elf_x86_64"
;;
powerpcle-*linux*)
@@ -1495,7 +1531,7 @@
# Use ARFLAGS variable as AR's operation code to sync the variable naming with
# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
-# higher priority because thats what people were doing historically (setting
+# higher priority because that's what people were doing historically (setting
# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
# variable obsoleted/removed.
@@ -1545,7 +1581,7 @@
test -z "$STRIP" && STRIP=:
_LT_DECL([], [STRIP], [1], [A symbol stripping program])
-AC_CHECK_TOOL(RANLIB, ranlib, :)
+AC_REQUIRE([AC_PROG_RANLIB])
test -z "$RANLIB" && RANLIB=:
_LT_DECL([], [RANLIB], [1],
[Commands used to install an old-style archive])
@@ -1556,15 +1592,8 @@
old_postuninstall_cmds=
if test -n "$RANLIB"; then
- case $host_os in
- bitrig* | openbsd*)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$tool_oldlib"
- ;;
- *)
- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
- ;;
- esac
old_archive_cmds="$old_archive_cmds~\$RANLIB \$tool_oldlib"
+ old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$tool_oldlib"
fi
case $host_os in
@@ -1696,14 +1725,14 @@
lt_cv_sys_max_cmd_len=12288; # 12K is about right
;;
- gnu*)
- # Under GNU Hurd, this test is not required because there is
- # no limit to the length of command line arguments.
+ gnu* | ironclad*)
+ # Under GNU Hurd and Ironclad, this test is not required because there
+ # is no limit to the length of command line arguments.
# Libtool will interpret -1 as no limit whatsoever
lt_cv_sys_max_cmd_len=-1;
;;
- cygwin* | mingw* | cegcc*)
+ cygwin* | mingw* | windows* | cegcc*)
# On Win9x/ME, this test blows up -- it succeeds, but takes
# about 5 minutes as the teststring grows exponentially.
# Worse, since 9x/ME are not pre-emptively multitasking,
@@ -1725,7 +1754,7 @@
lt_cv_sys_max_cmd_len=8192;
;;
- bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
+ darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
# This has been around since 386BSD, at least. Likely further.
if test -x /sbin/sysctl; then
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
@@ -1885,11 +1914,11 @@
/* When -fvisibility=hidden is used, assume the code has been annotated
correspondingly for the symbols needed. */
#if defined __GNUC__ && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-int fnord () __attribute__((visibility("default")));
+int fnord (void) __attribute__((visibility("default")));
#endif
-int fnord () { return 42; }
-int main ()
+int fnord (void) { return 42; }
+int main (void)
{
void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
int status = $lt_dlunknown;
@@ -1946,7 +1975,7 @@
lt_cv_dlopen_self=yes
;;
- mingw* | pw32* | cegcc*)
+ mingw* | windows* | pw32* | cegcc*)
lt_cv_dlopen=LoadLibrary
lt_cv_dlopen_libs=
;;
@@ -2314,7 +2343,7 @@
*) lt_awk_arg='/^libraries:/' ;;
esac
case $host_os in
- mingw* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
+ mingw* | windows* | cegcc*) lt_sed_strip_eq='s|=\([[A-Za-z]]:\)|\1|g' ;;
*) lt_sed_strip_eq='s|=/|/|g' ;;
esac
lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
@@ -2372,7 +2401,7 @@
# AWK program above erroneously prepends '/' to C:/dos/paths
# for these hosts.
case $host_os in
- mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
+ mingw* | windows* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
$SED 's|/\([[A-Za-z]]:\)|\1|g'` ;;
esac
sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
@@ -2447,7 +2476,7 @@
# Unfortunately, runtime linking may impact performance, so we do
# not want this to be the default eventually. Also, we use the
# versioned .so libs for executables only if there is the -brtl
- # linker flag in LDFLAGS as well, or --with-aix-soname=svr4 only.
+ # linker flag in LDFLAGS as well, or --enable-aix-soname=svr4 only.
# To allow for filename-based versioning support, we need to create
# libNAME.so.V as an archive file, containing:
# *) an Import File, referring to the versioned filename of the
@@ -2541,7 +2570,7 @@
# libtool to hard-code these into programs
;;
-cygwin* | mingw* | pw32* | cegcc*)
+cygwin* | mingw* | windows* | pw32* | cegcc*)
version_type=windows
shrext_cmds=.dll
need_version=no
@@ -2552,15 +2581,29 @@
# gcc
library_names_spec='$libname.dll.a'
# DLL is installed to $(libdir)/../bin by postinstall_cmds
- postinstall_cmds='base_file=`basename \$file`~
- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
- dldir=$destdir/`dirname \$dlpath`~
- test -d \$dldir || mkdir -p \$dldir~
- $install_prog $dir/$dlname \$dldir/$dlname~
- chmod a+x \$dldir/$dlname~
- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
- fi'
+ # If user builds GCC with multilib enabled,
+ # it should just install on $(libdir)
+ # not on $(libdir)/../bin or 32 bits dlls would override 64 bit ones.
+ if test xyes = x"$multilib"; then
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ $install_prog $dir/$dlname $destdir/$dlname~
+ chmod a+x $destdir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib $destdir/$dlname'\'' || exit \$?;
+ fi'
+ else
+ postinstall_cmds='base_file=`basename \$file`~
+ dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\$base_file'\''i; echo \$dlname'\''`~
+ dldir=$destdir/`dirname \$dlpath`~
+ test -d \$dldir || mkdir -p \$dldir~
+ $install_prog $dir/$dlname \$dldir/$dlname~
+ chmod a+x \$dldir/$dlname~
+ if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
+ eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
+ fi'
+ fi
postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
dlpath=$dir/\$dldll~
$RM \$dlpath'
@@ -2573,7 +2616,7 @@
m4_if([$1], [],[
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
;;
- mingw* | cegcc*)
+ mingw* | windows* | cegcc*)
# MinGW DLLs use traditional 'lib' prefix
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
;;
@@ -2592,7 +2635,7 @@
library_names_spec='$libname.dll.lib'
case $build_os in
- mingw*)
+ mingw* | windows*)
sys_lib_search_path_spec=
lt_save_ifs=$IFS
IFS=';'
@@ -2699,7 +2742,21 @@
need_version=yes
;;
esac
- shlibpath_var=LD_LIBRARY_PATH
+ case $host_cpu in
+ powerpc64)
+ # On FreeBSD bi-arch platforms, a different variable is used for 32-bit
+ # binaries. See <https://man.freebsd.org/cgi/man.cgi?query=ld.so>.
+ AC_COMPILE_IFELSE(
+ [AC_LANG_SOURCE(
+ [[int test_pointer_size[sizeof (void *) - 5];
+ ]])],
+ [shlibpath_var=LD_LIBRARY_PATH],
+ [shlibpath_var=LD_32_LIBRARY_PATH])
+ ;;
+ *)
+ shlibpath_var=LD_LIBRARY_PATH
+ ;;
+ esac
case $host_os in
freebsd2.*)
shlibpath_overrides_runpath=yes
@@ -2729,8 +2786,9 @@
soname_spec='$libname$release$shared_ext$major'
shlibpath_var=LIBRARY_PATH
shlibpath_overrides_runpath=no
- sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/system/lib'
- hardcode_into_libs=yes
+ sys_lib_search_path_spec='/boot/system/non-packaged/develop/lib /boot/system/develop/lib'
+ sys_lib_dlsearch_path_spec='/boot/home/config/non-packaged/lib /boot/home/config/lib /boot/system/non-packaged/lib /boot/system/lib'
+ hardcode_into_libs=no
;;
hpux9* | hpux10* | hpux11*)
@@ -2840,7 +2898,7 @@
version_type=none # Android doesn't support versioned libraries.
need_lib_prefix=no
need_version=no
- library_names_spec='$libname$release$shared_ext'
+ library_names_spec='$libname$release$shared_ext $libname$shared_ext'
soname_spec='$libname$release$shared_ext'
finish_cmds=
shlibpath_var=LD_LIBRARY_PATH
@@ -2852,8 +2910,9 @@
hardcode_into_libs=yes
dynamic_linker='Android linker'
- # Don't embed -rpath directories since the linker doesn't support them.
- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
+ # -rpath works at least for libraries that are not overridden by
+ # libraries installed in system locations.
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;;
# This must be glibc/ELF.
@@ -2887,7 +2946,7 @@
# before this can be enabled.
hardcode_into_libs=yes
- # Ideally, we could use ldconfig to report *all* directores which are
+ # Ideally, we could use ldconfig to report *all* directories which are
# searched for libraries, however this is still not possible. Aside from not
# being certain /sbin/ldconfig is available, command
# 'ldconfig -N -X -v | grep ^/' on 64bit Fedora does not report /usr/lib64,
@@ -2907,6 +2966,18 @@
dynamic_linker='GNU/Linux ld.so'
;;
+netbsdelf*-gnu)
+ version_type=linux
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ dynamic_linker='NetBSD ld.elf_so'
+ ;;
+
netbsd*)
version_type=sunos
need_lib_prefix=no
@@ -2925,6 +2996,18 @@
hardcode_into_libs=yes
;;
+*-mlibc)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ dynamic_linker='mlibc ld.so'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ hardcode_into_libs=yes
+ ;;
+
newsos6)
version_type=linux # correct to gnu/linux during the next big refactor
library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
@@ -2944,7 +3027,7 @@
dynamic_linker='ldqnx.so'
;;
-openbsd* | bitrig*)
+openbsd*)
version_type=sunos
sys_lib_dlsearch_path_spec=/usr/lib
need_lib_prefix=no
@@ -3004,6 +3087,17 @@
dynamic_linker=no
;;
+serenity*)
+ version_type=linux # correct to gnu/linux during the next big refactor
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext$versuffix $libname$release$shared_ext$major $libname$shared_ext'
+ soname_spec='$libname$release$shared_ext$major'
+ shlibpath_var=LD_LIBRARY_PATH
+ shlibpath_overrides_runpath=no
+ dynamic_linker='SerenityOS LibELF'
+ ;;
+
solaris*)
version_type=linux # correct to gnu/linux during the next big refactor
need_lib_prefix=no
@@ -3101,6 +3195,21 @@
shlibpath_var=LD_LIBRARY_PATH
;;
+emscripten*)
+ version_type=none
+ need_lib_prefix=no
+ need_version=no
+ library_names_spec='$libname$release$shared_ext'
+ soname_spec='$libname$release$shared_ext'
+ finish_cmds=
+ dynamic_linker="Emscripten linker"
+ _LT_COMPILER_PIC($1)='-fPIC'
+ _LT_TAGVAR(archive_cmds, $1)='$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -sSIDE_MODULE=2 -shared $libobjs $deplibs $compiler_flags -o $lib -s EXPORTED_FUNCTIONS=@$output_objdir/$soname.expsym'
+ _LT_TAGVAR(archive_cmds_need_lc, $1)=no
+ _LT_TAGVAR(no_undefined_flag, $1)=
+ ;;
+
*)
dynamic_linker=no
;;
@@ -3276,7 +3385,7 @@
# Check if gcc -print-prog-name=ld gives a path.
AC_MSG_CHECKING([for ld used by $CC])
case $host in
- *-*-mingw*)
+ *-*-mingw* | *-*-windows*)
# gcc leaves a trailing carriage return, which upsets mingw
ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
*)
@@ -3385,7 +3494,7 @@
esac
reload_cmds='$LD$reload_flag -o $output$reload_objs'
case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | mingw* | windows* | pw32* | cegcc*)
if test yes != "$GCC"; then
reload_cmds=false
fi
@@ -3457,7 +3566,6 @@
# 'none' -- dependencies not supported.
# 'unknown' -- same as none, but documents that we really don't know.
# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
# 'file_magic [[regex]]' -- check by looking for files in library path
# that responds to the $file_magic_cmd with a given extended regex.
# If you have 'file' or equivalent on your system and you're not sure
@@ -3484,7 +3592,7 @@
lt_cv_file_magic_cmd='func_win32_libid'
;;
-mingw* | pw32*)
+mingw* | windows* | pw32*)
# Base MSYS/MinGW do not provide the 'file' command needed by
# func_win32_libid shell function, so use a weaker test based on 'objdump',
# unless we find 'file', for example because we are cross-compiling.
@@ -3493,7 +3601,7 @@
lt_cv_file_magic_cmd='func_win32_libid'
else
# Keep this pattern in sync with the one in func_win32_libid.
- lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64)'
+ lt_cv_deplibs_check_method='file_magic file format (pei*-i386(.*architecture: i386)?|pe-arm-wince|pe-x86-64|pe-aarch64)'
lt_cv_file_magic_cmd='$OBJDUMP -f'
fi
;;
@@ -3566,7 +3674,11 @@
lt_cv_deplibs_check_method=pass_all
;;
-netbsd*)
+*-mlibc)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
+netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
else
@@ -3584,7 +3696,7 @@
lt_cv_deplibs_check_method=pass_all
;;
-openbsd* | bitrig*)
+openbsd*)
if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`"; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
else
@@ -3600,6 +3712,10 @@
lt_cv_deplibs_check_method=pass_all
;;
+serenity*)
+ lt_cv_deplibs_check_method=pass_all
+ ;;
+
solaris*)
lt_cv_deplibs_check_method=pass_all
;;
@@ -3648,7 +3764,7 @@
want_nocaseglob=no
if test "$build" = "$host"; then
case $host_os in
- mingw* | pw32*)
+ mingw* | windows* | pw32*)
if ( shopt | grep nocaseglob ) >/dev/null 2>&1; then
want_nocaseglob=yes
else
@@ -3700,7 +3816,7 @@
# Tru64's nm complains that /dev/null is an invalid object file
# MSYS converts /dev/null to NUL, MinGW nm treats NUL as empty
case $build_os in
- mingw*) lt_bad_file=conftest.nm/nofile ;;
+ mingw* | windows*) lt_bad_file=conftest.nm/nofile ;;
*) lt_bad_file=/dev/null ;;
esac
case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
@@ -3791,7 +3907,7 @@
[lt_cv_sharedlib_from_linklib_cmd='unknown'
case $host_os in
-cygwin* | mingw* | pw32* | cegcc*)
+cygwin* | mingw* | windows* | pw32* | cegcc*)
# two different shell functions defined in ltmain.sh;
# decide which one to use based on capabilities of $DLLTOOL
case `$DLLTOOL --help 2>&1` in
@@ -3823,16 +3939,16 @@
m4_defun([_LT_PATH_MANIFEST_TOOL],
[AC_CHECK_TOOL(MANIFEST_TOOL, mt, :)
test -z "$MANIFEST_TOOL" && MANIFEST_TOOL=mt
-AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_mainfest_tool],
- [lt_cv_path_mainfest_tool=no
+AC_CACHE_CHECK([if $MANIFEST_TOOL is a manifest tool], [lt_cv_path_manifest_tool],
+ [lt_cv_path_manifest_tool=no
echo "$as_me:$LINENO: $MANIFEST_TOOL '-?'" >&AS_MESSAGE_LOG_FD
$MANIFEST_TOOL '-?' 2>conftest.err > conftest.out
cat conftest.err >&AS_MESSAGE_LOG_FD
if $GREP 'Manifest Tool' conftest.out > /dev/null; then
- lt_cv_path_mainfest_tool=yes
+ lt_cv_path_manifest_tool=yes
fi
rm -f conftest*])
-if test yes != "$lt_cv_path_mainfest_tool"; then
+if test yes != "$lt_cv_path_manifest_tool"; then
MANIFEST_TOOL=:
fi
_LT_DECL([], [MANIFEST_TOOL], [1], [Manifest tool])dnl
@@ -3861,7 +3977,7 @@
[AC_REQUIRE([AC_CANONICAL_HOST])dnl
LIBM=
case $host in
-*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-pw32* | *-*-darwin*)
+*-*-beos* | *-*-cegcc* | *-*-cygwin* | *-*-haiku* | *-*-mingw* | *-*-pw32* | *-*-darwin*)
# These system don't have libm, or don't need it
;;
*-ncr-sysv4.3*)
@@ -3936,7 +4052,7 @@
aix*)
symcode='[[BCDT]]'
;;
-cygwin* | mingw* | pw32* | cegcc*)
+cygwin* | mingw* | windows* | pw32* | cegcc*)
symcode='[[ABCDGISTW]]'
;;
hpux*)
@@ -3951,7 +4067,7 @@
symcode='[[BCDEGQRST]]'
;;
solaris*)
- symcode='[[BDRT]]'
+ symcode='[[BCDRT]]'
;;
sco3.2v5*)
symcode='[[DT]]'
@@ -4015,7 +4131,7 @@
# Handle CRLF in mingw tool chain
opt_cr=
case $build_os in
-mingw*)
+mingw* | windows*)
opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
;;
esac
@@ -4066,13 +4182,14 @@
#ifdef __cplusplus
}
#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
+int main(void){nm_test_var='a';nm_test_func();return(0);}
_LT_EOF
if AC_TRY_EVAL(ac_compile); then
# Now try to grab the symbols.
nlist=conftest.nm
- if AC_TRY_EVAL(NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) && test -s "$nlist"; then
+ $ECHO "$as_me:$LINENO: $NM conftest.$ac_objext | $lt_cv_sys_global_symbol_pipe > $nlist" >&AS_MESSAGE_LOG_FD
+ if eval "$NM" conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist 2>&AS_MESSAGE_LOG_FD && test -s "$nlist"; then
# Try sorting and uniquifying the output.
if sort "$nlist" | uniq > "$nlist"T; then
mv -f "$nlist"T "$nlist"
@@ -4242,7 +4359,7 @@
beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
+ mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -4318,7 +4435,7 @@
;;
esac
;;
- mingw* | cygwin* | os2* | pw32* | cegcc*)
+ mingw* | windows* | cygwin* | os2* | pw32* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
@@ -4444,8 +4561,10 @@
;;
esac
;;
- netbsd*)
+ netbsd* | netbsdelf*-gnu)
;;
+ *-mlibc)
+ ;;
*qnx* | *nto*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump.
@@ -4474,6 +4593,8 @@
;;
psos*)
;;
+ serenity*)
+ ;;
solaris*)
case $cc_basename in
CC* | sunCC*)
@@ -4566,7 +4687,7 @@
# PIC is the default for these OSes.
;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
+ mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
# Although the cygwin gcc ignores -fPIC, still need this for old-style
@@ -4670,7 +4791,7 @@
esac
;;
- mingw* | cygwin* | pw32* | os2* | cegcc*)
+ mingw* | windows* | cygwin* | pw32* | os2* | cegcc*)
# This hack is so that the source file can tell whether it is being
# built for inclusion in a dll (and should export symbols for example).
m4_if([$1], [GCJ], [],
@@ -4712,6 +4833,12 @@
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
;;
+ *flang* | ftn | f18* | f95*)
+ # Flang compiler.
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
# icc used to be incompatible with GCC.
# ICC 10 doesn't accept -KPIC any more.
icc* | ifort*)
@@ -4794,6 +4921,12 @@
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
;;
+ *-mlibc)
+ _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
+ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
+ _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
+ ;;
+
*nto* | *qnx*)
# QNX uses GNU C++, but need to define -shared option too, otherwise
# it will coredump.
@@ -4810,6 +4943,9 @@
_LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
;;
+ serenity*)
+ ;;
+
solaris*)
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
_LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
@@ -4945,7 +5081,7 @@
pw32*)
_LT_TAGVAR(export_symbols_cmds, $1)=$ltdll_cmds
;;
- cygwin* | mingw* | cegcc*)
+ cygwin* | mingw* | windows* | cegcc*)
case $cc_basename in
cl* | icl*)
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
@@ -5003,7 +5139,7 @@
extract_expsyms_cmds=
case $host_os in
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | mingw* | windows* | pw32* | cegcc*)
# FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++ or Intel C++ Compiler.
@@ -5015,9 +5151,6 @@
# we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
with_gnu_ld=yes
;;
- openbsd* | bitrig*)
- with_gnu_ld=no
- ;;
esac
_LT_TAGVAR(ld_shlibs, $1)=yes
@@ -5118,7 +5251,7 @@
fi
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | mingw* | windows* | pw32* | cegcc*)
# _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
# as there is no search path for DLLs.
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
@@ -5128,6 +5261,7 @@
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
_LT_TAGVAR(exclude_expsyms, $1)=['[_]+GLOBAL_OFFSET_TABLE_|[_]+GLOBAL__[FID]_.*|[_]+head_[A-Za-z0-9_]+_dll|[A-Za-z0-9_]+_dll_iname']
+ _LT_TAGVAR(file_list_spec, $1)='@'
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -5147,7 +5281,7 @@
haiku*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=no
;;
os2*)
@@ -5174,7 +5308,7 @@
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@'
;;
@@ -5253,6 +5387,7 @@
case $cc_basename in
tcc*)
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
_LT_TAGVAR(export_dynamic_flag_spec, $1)='-rdynamic'
;;
xlf* | bgf* | bgxlf* | mpixlf*)
@@ -5273,7 +5408,12 @@
fi
;;
- netbsd*)
+ *-mlibc)
+ _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
+ _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-retain-symbols-file $wl$export_symbols -o $lib'
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
wlarc=
@@ -5575,7 +5715,7 @@
_LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | mingw* | windows* | pw32* | cegcc*)
# When not using gcc, we currently assume that we are using
# Microsoft Visual C++ or Intel C++ Compiler.
# hardcode_libdir_flag_spec is actually meaningless, as there is
@@ -5592,7 +5732,7 @@
# Tell ltmain to make .dll files, not .so files.
shrext_cmds=.dll
# FIXME: Setting linknames here is a bad hack.
- _LT_TAGVAR(archive_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
+ _LT_TAGVAR(archive_cmds, $1)='$CC -Fe$output_objdir/$soname $libobjs $compiler_flags $deplibs -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~linknames='
_LT_TAGVAR(archive_expsym_cmds, $1)='if _LT_DLL_DEF_P([$export_symbols]); then
cp "$export_symbols" "$output_objdir/$soname.def";
echo "$tool_output_objdir$soname.def" > "$output_objdir/$soname.exp";
@@ -5599,7 +5739,7 @@
else
$SED -e '\''s/^/-link -EXPORT:/'\'' < $export_symbols > $output_objdir/$soname.exp;
fi~
- $CC -o $tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
+ $CC -Fe$tool_output_objdir$soname $libobjs $compiler_flags $deplibs "@$tool_output_objdir$soname.exp" -Wl,-DLL,-IMPLIB:"$tool_output_objdir$libname.dll.lib"~
linknames='
# The linker will not automatically build a static lib if we build a DLL.
# _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
@@ -5811,11 +5951,15 @@
# Fabrice Bellard et al's Tiny C Compiler
_LT_TAGVAR(ld_shlibs, $1)=yes
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
+ _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-rpath $wl$libdir'
;;
esac
;;
- netbsd*)
+ *-mlibc)
+ ;;
+
+ netbsd* | netbsdelf*-gnu)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
else
@@ -5837,7 +5981,7 @@
*nto* | *qnx*)
;;
- openbsd* | bitrig*)
+ openbsd*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -5880,7 +6024,7 @@
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@'
;;
@@ -5916,6 +6060,9 @@
_LT_TAGVAR(hardcode_libdir_separator, $1)=:
;;
+ serenity*)
+ ;;
+
solaris*)
_LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
if test yes = "$GCC"; then
@@ -6174,7 +6321,7 @@
_LT_TAGDECL([], [hardcode_direct_absolute], [0],
[Set to "yes" if using DIR/libNAME$shared_ext during linking hardcodes
DIR into the resulting binary and the resulting library dependency is
- "absolute", i.e impossible to change by setting $shlibpath_var if the
+ "absolute", i.e. impossible to change by setting $shlibpath_var if the
library is relocated])
_LT_TAGDECL([], [hardcode_minus_L], [0],
[Set to "yes" if using the -LDIR flag during linking hardcodes DIR
@@ -6232,7 +6379,7 @@
lt_simple_compile_test_code="int some_variable = 0;"
# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
+lt_simple_link_test_code='int main(void){return(0);}'
_LT_TAG_COMPILER
# Save the default compiler, since it gets overwritten when the other
@@ -6421,8 +6568,7 @@
wlarc='$wl'
# ancient GNU ld didn't support --whole-archive et. al.
- if eval "`$CC -print-prog-name=ld` --help 2>&1" |
- $GREP 'no-whole-archive' > /dev/null; then
+ if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
_LT_TAGVAR(whole_archive_flag_spec, $1)=$wlarc'--whole-archive$convenience '$wlarc'--no-whole-archive'
else
_LT_TAGVAR(whole_archive_flag_spec, $1)=
@@ -6442,7 +6588,7 @@
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
else
GXX=no
@@ -6651,7 +6797,7 @@
esac
;;
- cygwin* | mingw* | pw32* | cegcc*)
+ cygwin* | mingw* | windows* | pw32* | cegcc*)
case $GXX,$cc_basename in
,cl* | no,cl* | ,icl* | no,icl*)
# Native MSVC or ICC
@@ -6704,6 +6850,7 @@
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
_LT_TAGVAR(always_export_symbols, $1)=no
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
+ _LT_TAGVAR(file_list_spec, $1)='@'
if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname $wl--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
@@ -6750,7 +6897,7 @@
cat $export_symbols | $prefix_cmds >> $output_objdir/$libname.def~
$CC -Zdll -Zcrtdll -o $output_objdir/$soname $libobjs $deplibs $compiler_flags $output_objdir/$libname.def~
emximp -o $lib $output_objdir/$libname.def'
- _LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
+ _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
_LT_TAGVAR(file_list_spec, $1)='@'
;;
@@ -6791,7 +6938,7 @@
haiku*)
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
- _LT_TAGVAR(link_all_deplibs, $1)=yes
+ _LT_TAGVAR(link_all_deplibs, $1)=no
;;
hpux9*)
@@ -6818,7 +6965,7 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "[[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes = "$GXX"; then
@@ -6883,7 +7030,7 @@
# explicitly linking system object files so we need to strip them
# from the output so that they don't get included in the library
# dependencies.
- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
+ output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP " [[-]]L"`; list= ; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; func_echo_all "$list"'
;;
*)
if test yes = "$GXX"; then
@@ -7115,6 +7262,10 @@
esac
;;
+ *-mlibc)
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+ ;;
+
netbsd*)
if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
@@ -7131,7 +7282,7 @@
_LT_TAGVAR(ld_shlibs, $1)=yes
;;
- openbsd* | bitrig*)
+ openbsd*)
if test -f /usr/libexec/ld.so; then
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -7222,7 +7373,7 @@
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
else
# FIXME: insert proper C++ library support
@@ -7237,6 +7388,9 @@
_LT_TAGVAR(ld_shlibs, $1)=no
;;
+ serenity*)
+ ;;
+
sunos4*)
case $cc_basename in
CC*)
@@ -7306,7 +7460,7 @@
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
else
# g++ 2.7 appears to require '-G' NOT '-shared' on this
# platform.
@@ -7317,7 +7471,7 @@
# Commands to make compiler produce verbose output that lists
# what "hidden" libraries, object files and flags are used when
# linking a shared library.
- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP "\-L"'
+ output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP -v "^Configured with:" | $GREP " [[-]]L"'
fi
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='$wl-R $wl$libdir'
@@ -7555,10 +7709,11 @@
case $prev$p in
-L* | -R* | -l*)
- # Some compilers place space between "-{L,R}" and the path.
+ # Some compilers place space between "-{L,R,l}" and the path.
# Remove the space.
- if test x-L = "$p" ||
- test x-R = "$p"; then
+ if test x-L = x"$p" ||
+ test x-R = x"$p" ||
+ test x-l = x"$p"; then
prev=$p
continue
fi
@@ -8216,7 +8371,7 @@
# ----------------
# Check for a file(cmd) program that can be used to detect file type and magic
m4_defun([_LT_DECL_FILECMD],
-[AC_CHECK_TOOL([FILECMD], [file], [:])
+[AC_CHECK_PROG([FILECMD], [file], [file], [:])
_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
])# _LD_DECL_FILECMD
@@ -8232,73 +8387,6 @@
_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
[Sed that helps us avoid accidentally triggering echo(1) options like -n])
])# _LT_DECL_SED
-
-m4_ifndef([AC_PROG_SED], [
-############################################################
-# NOTE: This macro has been submitted for inclusion into #
-# GNU Autoconf as AC_PROG_SED. When it is available in #
-# a released version of Autoconf we should remove this #
-# macro and use it instead. #
-############################################################
-
-m4_defun([AC_PROG_SED],
-[AC_MSG_CHECKING([for a sed that does not truncate output])
-AC_CACHE_VAL(lt_cv_path_SED,
-[# Loop through the user's path and test for sed and gsed.
-# Then use that list of sed's as ones to test for truncation.
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for lt_ac_prog in sed gsed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
- fi
- done
- done
-done
-IFS=$as_save_IFS
-lt_ac_max=0
-lt_ac_count=0
-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
-# along with /bin/sed that truncates output.
-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
- test ! -f "$lt_ac_sed" && continue
- cat /dev/null > conftest.in
- lt_ac_count=0
- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
- # Check for GNU sed and select it if it is found.
- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
- lt_cv_path_SED=$lt_ac_sed
- break
- fi
- while true; do
- cat conftest.in conftest.in >conftest.tmp
- mv conftest.tmp conftest.in
- cp conftest.in conftest.nl
- echo >>conftest.nl
- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
- cmp -s conftest.out conftest.nl || break
- # 10000 chars as input seems more than enough
- test 10 -lt "$lt_ac_count" && break
- lt_ac_count=`expr $lt_ac_count + 1`
- if test "$lt_ac_count" -gt "$lt_ac_max"; then
- lt_ac_max=$lt_ac_count
- lt_cv_path_SED=$lt_ac_sed
- fi
- done
-done
-])
-SED=$lt_cv_path_SED
-AC_SUBST([SED])
-AC_MSG_RESULT([$SED])
-])#AC_PROG_SED
-])#m4_ifndef
-
-# Old name:
-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
dnl aclocal-1.4 backwards compatibility:
dnl AC_DEFUN([LT_AC_PROG_SED], [])
@@ -8345,7 +8433,7 @@
[case $host in
*-*-mingw* )
case $build in
- *-*-mingw* ) # actually msys
+ *-*-mingw* | *-*-windows* ) # actually msys
lt_cv_to_host_file_cmd=func_convert_file_msys_to_w32
;;
*-*-cygwin* )
@@ -8358,7 +8446,7 @@
;;
*-*-cygwin* )
case $build in
- *-*-mingw* ) # actually msys
+ *-*-mingw* | *-*-windows* ) # actually msys
lt_cv_to_host_file_cmd=func_convert_file_msys_to_cygwin
;;
*-*-cygwin* )
@@ -8384,9 +8472,9 @@
[#assume ordinary cross tools, or native build.
lt_cv_to_tool_file_cmd=func_convert_file_noop
case $host in
- *-*-mingw* )
+ *-*-mingw* | *-*-windows* )
case $build in
- *-*-mingw* ) # actually msys
+ *-*-mingw* | *-*-windows* ) # actually msys
lt_cv_to_tool_file_cmd=func_convert_file_msys_to_w32
;;
esac
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltoptions.m4
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltoptions.m4 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltoptions.m4 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
# Helper functions for option handling. -*- Autoconf -*-
#
-# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
+# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2024 Free
# Software Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
@@ -8,7 +8,7 @@
# unlimited permission to copy and/or distribute it, with or without
# modifications, as long as this notice is preserved.
-# serial 8 ltoptions.m4
+# serial 10 ltoptions.m4
# This is to help aclocal find these macros, as it can't see m4_define.
AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
@@ -128,7 +128,7 @@
[enable_win32_dll=yes
case $host in
-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-*-cegcc*)
+*-*-cygwin* | *-*-mingw* | *-*-windows* | *-*-pw32* | *-*-cegcc*)
AC_CHECK_TOOL(AS, as, false)
AC_CHECK_TOOL(DLLTOOL, dlltool, false)
AC_CHECK_TOOL(OBJDUMP, objdump, false)
@@ -323,9 +323,9 @@
# _LT_WITH_AIX_SONAME([DEFAULT])
# ----------------------------------
-# implement the --with-aix-soname flag, and support the `aix-soname=aix'
-# and `aix-soname=both' and `aix-soname=svr4' LT_INIT options. DEFAULT
-# is either `aix', `both' or `svr4'. If omitted, it defaults to `aix'.
+# implement the --enable-aix-soname configure option, and support the
+# `aix-soname=aix' and `aix-soname=both' and `aix-soname=svr4' LT_INIT options.
+# DEFAULT is either `aix', `both', or `svr4'. If omitted, it defaults to `aix'.
m4_define([_LT_WITH_AIX_SONAME],
[m4_define([_LT_WITH_AIX_SONAME_DEFAULT], [m4_if($1, svr4, svr4, m4_if($1, both, both, aix))])dnl
shared_archive_member_spec=
@@ -332,20 +332,30 @@
case $host,$enable_shared in
power*-*-aix[[5-9]]*,yes)
AC_MSG_CHECKING([which variant of shared library versioning to provide])
- AC_ARG_WITH([aix-soname],
- [AS_HELP_STRING([--with-aix-soname=aix|svr4|both],
+ AC_ARG_ENABLE([aix-soname],
+ [AS_HELP_STRING([--enable-aix-soname=aix|svr4|both],
[shared library versioning (aka "SONAME") variant to provide on AIX, @<:@default=]_LT_WITH_AIX_SONAME_DEFAULT[@:>@.])],
- [case $withval in
- aix|svr4|both)
- ;;
- *)
- AC_MSG_ERROR([Unknown argument to --with-aix-soname])
- ;;
- esac
- lt_cv_with_aix_soname=$with_aix_soname],
- [AC_CACHE_VAL([lt_cv_with_aix_soname],
- [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)
- with_aix_soname=$lt_cv_with_aix_soname])
+ [case $enableval in
+ aix|svr4|both)
+ ;;
+ *)
+ AC_MSG_ERROR([Unknown argument to --enable-aix-soname])
+ ;;
+ esac
+ lt_cv_with_aix_soname=$enable_aix_soname],
+ [_AC_ENABLE_IF([with], [aix-soname],
+ [case $withval in
+ aix|svr4|both)
+ ;;
+ *)
+ AC_MSG_ERROR([Unknown argument to --with-aix-soname])
+ ;;
+ esac
+ lt_cv_with_aix_soname=$with_aix_soname],
+ [AC_CACHE_VAL([lt_cv_with_aix_soname],
+ [lt_cv_with_aix_soname=]_LT_WITH_AIX_SONAME_DEFAULT)])
+ enable_aix_soname=$lt_cv_with_aix_soname])
+ with_aix_soname=$enable_aix_soname
AC_MSG_RESULT([$with_aix_soname])
if test aix != "$with_aix_soname"; then
# For the AIX way of multilib, we name the shared archive member
@@ -376,30 +386,50 @@
# _LT_WITH_PIC([MODE])
# --------------------
-# implement the --with-pic flag, and support the 'pic-only' and 'no-pic'
+# implement the --enable-pic flag, and support the 'pic-only' and 'no-pic'
# LT_INIT options.
# MODE is either 'yes' or 'no'. If omitted, it defaults to 'both'.
m4_define([_LT_WITH_PIC],
-[AC_ARG_WITH([pic],
- [AS_HELP_STRING([--with-pic@<:@=PKGS@:>@],
+[AC_ARG_ENABLE([pic],
+ [AS_HELP_STRING([--enable-pic@<:@=PKGS@:>@],
[try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
[lt_p=${PACKAGE-default}
- case $withval in
- yes|no) pic_mode=$withval ;;
- *)
- pic_mode=default
- # Look at the argument we got. We use all the common list separators.
- lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
- for lt_pkg in $withval; do
- IFS=$lt_save_ifs
- if test "X$lt_pkg" = "X$lt_p"; then
- pic_mode=yes
- fi
- done
- IFS=$lt_save_ifs
- ;;
- esac],
- [pic_mode=m4_default([$1], [default])])
+ case $enableval in
+ yes|no) pic_mode=$enableval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for lt_pkg in $enableval; do
+ IFS=$lt_save_ifs
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [dnl Continue to support --with-pic and --without-pic, for backward
+ dnl compatibility.
+ _AC_ENABLE_IF([with], [pic],
+ [lt_p=${PACKAGE-default}
+ case $withval in
+ yes|no) pic_mode=$withval ;;
+ *)
+ pic_mode=default
+ # Look at the argument we got. We use all the common list separators.
+ lt_save_ifs=$IFS; IFS=$IFS$PATH_SEPARATOR,
+ for lt_pkg in $withval; do
+ IFS=$lt_save_ifs
+ if test "X$lt_pkg" = "X$lt_p"; then
+ pic_mode=yes
+ fi
+ done
+ IFS=$lt_save_ifs
+ ;;
+ esac],
+ [pic_mode=m4_default([$1], [default])])]
+ )
_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
])# _LT_WITH_PIC
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltsugar.m4
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltsugar.m4 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltsugar.m4 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
#
-# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software
+# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2024 Free Software
# Foundation, Inc.
# Written by Gary V. Vaughan, 2004
#
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltversion.m4
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltversion.m4 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/ltversion.m4 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
# ltversion.m4 -- version numbers -*- Autoconf -*-
#
-# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
+# Copyright (C) 2004, 2011-2019, 2021-2024 Free Software Foundation,
# Inc.
# Written by Scott James Remnant, 2004
#
@@ -10,15 +10,15 @@
# @configure_input@
-# serial 4245 ltversion.m4
+# serial 4441 ltversion.m4
# This file is part of GNU Libtool
-m4_define([LT_PACKAGE_VERSION], [2.4.7])
-m4_define([LT_PACKAGE_REVISION], [2.4.7])
+m4_define([LT_PACKAGE_VERSION], [2.5.4])
+m4_define([LT_PACKAGE_REVISION], [2.5.4])
AC_DEFUN([LTVERSION_VERSION],
-[macro_version='2.4.7'
-macro_revision='2.4.7'
+[macro_version='2.5.4'
+macro_revision='2.5.4'
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
_LT_DECL(, macro_revision, 0)
])
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/lt~obsolete.m4
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/lt~obsolete.m4 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/autoconf/lt~obsolete.m4 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,6 +1,6 @@
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
#
-# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
+# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2024 Free
# Software Foundation, Inc.
# Written by Scott James Remnant, 2004.
#
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGConfig.cmake
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGConfig.cmake 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGConfig.cmake 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,15 +1,28 @@
-include(CMakeFindDependencyMacro)
-
-find_dependency(ZLIB REQUIRED)
-
-include("${CMAKE_CURRENT_LIST_DIR}/PNGTargets.cmake")
-
-if(NOT TARGET PNG::PNG)
- if(TARGET PNG::png_shared)
- add_library(PNG::PNG INTERFACE IMPORTED)
- target_link_libraries(PNG::PNG INTERFACE PNG::png_shared)
- elseif(TARGET PNG::png_static)
- add_library(PNG::PNG INTERFACE IMPORTED)
- target_link_libraries(PNG::PNG INTERFACE PNG::png_static)
- endif()
-endif()
+# PNGConfig.cmake
+# CMake config file compatible with the FindPNG module.
+
+# Copyright (c) 2024 Cosmin Truta
+# Written by Benjamin Buch, 2024
+#
+# Use, modification and distribution are subject to
+# the same licensing terms and conditions as libpng.
+# Please see the copyright notice in png.h or visit
+# http://libpng.org/pub/png/src/libpng-LICENSE.txt
+#
+# SPDX-License-Identifier: libpng-2.0
+
+include(CMakeFindDependencyMacro)
+
+find_dependency(ZLIB REQUIRED)
+
+include("${CMAKE_CURRENT_LIST_DIR}/PNGTargets.cmake")
+
+if(NOT TARGET PNG::PNG)
+ if(TARGET PNG::png_shared)
+ add_library(PNG::PNG INTERFACE IMPORTED)
+ target_link_libraries(PNG::PNG INTERFACE PNG::png_shared)
+ elseif(TARGET PNG::png_static)
+ add_library(PNG::PNG INTERFACE IMPORTED)
+ target_link_libraries(PNG::PNG INTERFACE PNG::png_static)
+ endif()
+endif()
Added: trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGGenConfig.cmake
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGGenConfig.cmake (rev 0)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGGenConfig.cmake 2025-01-08 06:35:22 UTC (rev 73360)
@@ -0,0 +1,104 @@
+# PNGGenConfig.cmake
+# Utility functions for configuring and building libpng
+
+# Copyright (c) 2018-2025 Cosmin Truta
+# Copyright (c) 2016-2018 Glenn Randers-Pehrson
+# Written by Roger Leigh, 2016
+#
+# Use, modification and distribution are subject to
+# the same licensing terms and conditions as libpng.
+# Please see the copyright notice in png.h or visit
+# http://libpng.org/pub/png/src/libpng-LICENSE.txt
+#
+# SPDX-License-Identifier: libpng-2.0
+
+# Generate .chk from .out with awk, based upon the automake logic:
+# generate_chk(INPUT <file> OUTPUT <file> [DEPENDS <deps>...])
+function(generate_chk)
+ set(options)
+ set(oneValueArgs INPUT OUTPUT)
+ set(multiValueArgs DEPENDS)
+ cmake_parse_arguments(_GC "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+ if(NOT _GC_INPUT)
+ message(FATAL_ERROR "generate_chk: Missing INPUT argument")
+ endif()
+ if(NOT _GC_OUTPUT)
+ message(FATAL_ERROR "generate_chk: Missing OUTPUT argument")
+ endif()
+
+ # Run genchk.cmake to generate the .chk file.
+ add_custom_command(OUTPUT "${_GC_OUTPUT}"
+ COMMAND "${CMAKE_COMMAND}"
+ "-DINPUT=${_GC_INPUT}"
+ "-DOUTPUT=${_GC_OUTPUT}"
+ -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/cmake/genchk.cmake"
+ DEPENDS "${_GC_INPUT}" ${_GC_DEPENDS}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+endfunction()
+
+# Generate .out from C source file with awk:
+# generate_out(INPUT <file> OUTPUT <file> [DEPENDS <deps>...])
+function(generate_out)
+ set(options)
+ set(oneValueArgs INPUT OUTPUT)
+ set(multiValueArgs DEPENDS)
+ cmake_parse_arguments(_GO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+ if(NOT _GO_INPUT)
+ message(FATAL_ERROR "generate_out: Missing INPUT argument")
+ endif()
+ if(NOT _GO_OUTPUT)
+ message(FATAL_ERROR "generate_out: Missing OUTPUT argument")
+ endif()
+
+ # Run genout.cmake to generate the .out file.
+ add_custom_command(OUTPUT "${_GO_OUTPUT}"
+ COMMAND "${CMAKE_COMMAND}"
+ "-DINPUT=${_GO_INPUT}"
+ "-DOUTPUT=${_GO_OUTPUT}"
+ -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/cmake/genout.cmake"
+ DEPENDS "${_GO_INPUT}" ${_GO_DEPENDS}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+endfunction()
+
+# Generate a source file with awk:
+# generate_source(OUTPUT <file> [DEPENDS <deps>...])
+function(generate_source)
+ set(options)
+ set(oneValueArgs OUTPUT)
+ set(multiValueArgs DEPENDS)
+ cmake_parse_arguments(_GSO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+ if(NOT _GSO_OUTPUT)
+ message(FATAL_ERROR "generate_source: Missing OUTPUT argument")
+ endif()
+
+ # Run gensrc.cmake to generate the source file.
+ add_custom_command(OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_GSO_OUTPUT}"
+ COMMAND "${CMAKE_COMMAND}"
+ "-DOUTPUT=${_GSO_OUTPUT}"
+ -P "${CMAKE_CURRENT_BINARY_DIR}/scripts/cmake/gensrc.cmake"
+ DEPENDS ${_GSO_DEPENDS}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}")
+endfunction()
+
+# Generate an identical file copy:
+# generate_copy(INPUT <file> OUTPUT <file> [DEPENDS <deps>...])
+function(generate_copy)
+ set(options)
+ set(oneValueArgs INPUT OUTPUT)
+ set(multiValueArgs DEPENDS)
+ cmake_parse_arguments(_GCO "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+ if(NOT _GCO_INPUT)
+ message(FATAL_ERROR "generate_copy: Missing INPUT argument")
+ endif()
+ if(NOT _GCO_OUTPUT)
+ message(FATAL_ERROR "generate_copy: Missing OUTPUT argument")
+ endif()
+
+ # Make a forced file copy, overwriting any pre-existing output file.
+ add_custom_command(OUTPUT "${_GCO_OUTPUT}"
+ COMMAND "${CMAKE_COMMAND}"
+ -E remove "${_GCO_OUTPUT}"
+ COMMAND "${CMAKE_COMMAND}"
+ -E copy "${_GCO_INPUT}" "${_GCO_OUTPUT}"
+ DEPENDS "${source}" ${_GCO_DEPENDS})
+endfunction()
Added: trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGTest.cmake
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGTest.cmake (rev 0)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/PNGTest.cmake 2025-01-08 06:35:22 UTC (rev 73360)
@@ -0,0 +1,42 @@
+# PNGTest.cmake
+# Utility functions for testing libpng
+
+# Copyright (c) 2018-2025 Cosmin Truta
+# Copyright (c) 2016-2018 Glenn Randers-Pehrson
+# Written by Roger Leigh, 2016
+#
+# Use, modification and distribution are subject to
+# the same licensing terms and conditions as libpng.
+# Please see the copyright notice in png.h or visit
+# http://libpng.org/pub/png/src/libpng-LICENSE.txt
+#
+# SPDX-License-Identifier: libpng-2.0
+
+# Add a custom target to run a test:
+# png_add_test(NAME <test> COMMAND <command> [OPTIONS <options>...] [FILES <files>...])
+function(png_add_test)
+ set(options)
+ set(oneValueArgs NAME COMMAND)
+ set(multiValueArgs OPTIONS FILES)
+ cmake_parse_arguments(_PAT "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+ if(NOT _PAT_NAME)
+ message(FATAL_ERROR "png_add_test: Missing NAME argument")
+ endif()
+ if(NOT _PAT_COMMAND)
+ message(FATAL_ERROR "png_add_test: Missing COMMAND argument")
+ endif()
+
+ # Initialize the global variables used by the "${_PAT_NAME}.cmake" script.
+ set(TEST_OPTIONS "${_PAT_OPTIONS}")
+ set(TEST_FILES "${_PAT_FILES}")
+
+ # Generate and run the "${_PAT_NAME}.cmake" script.
+ configure_file("${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake/test.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/tests/${_PAT_NAME}.cmake"
+ @ONLY)
+ add_test(NAME "${_PAT_NAME}"
+ COMMAND "${CMAKE_COMMAND}"
+ "-DLIBPNG=$<TARGET_FILE:png_shared>"
+ "-DTEST_COMMAND=$<TARGET_FILE:${_PAT_COMMAND}>"
+ -P "${CMAKE_CURRENT_BINARY_DIR}/tests/${_PAT_NAME}.cmake")
+endfunction()
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/test.cmake.in
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/test.cmake.in 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/cmake/test.cmake.in 2025-01-08 06:35:22 UTC (rev 73360)
@@ -26,7 +26,8 @@
set(ENV{PATH} "${LIBPNG_DIR};$ENV{PATH}")
endif()
-message("Running ${TEST_COMMAND}" ${TEST_OPTIONS} ${NATIVE_TEST_FILES})
+string(JOIN " " TEST_COMMAND_STRING "${TEST_COMMAND}" ${TEST_OPTIONS} ${NATIVE_TEST_FILES})
+message(STATUS "Running ${TEST_COMMAND_STRING}")
execute_process(COMMAND "${TEST_COMMAND}" ${TEST_OPTIONS} ${NATIVE_TEST_FILES}
RESULT_VARIABLE TEST_STATUS)
if(TEST_STATUS)
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/descrip.mms
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/descrip.mms 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/descrip.mms 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
cc_defs = /inc=$(ZLIBSRC)
c_deb =
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/intprefix.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/intprefix.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/intprefix.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* intprefix.c - generate an unprefixed internal symbol list
*
* Copyright (c) 2013-2014 Glenn Randers-Pehrson
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/libpng-config-body.in
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/libpng-config-body.in 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/libpng-config-body.in 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
usage()
{
cat <<EOF
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/libpng-config-head.in
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/libpng-config-head.in 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/libpng-config-head.in 2025-01-08 06:35:22 UTC (rev 73360)
@@ -11,7 +11,7 @@
# Modeled after libxml-config.
-version=1.6.44
+version=1.6.45
prefix=""
libdir=""
libs=""
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/libpng.pc.in
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/libpng.pc.in 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/libpng.pc.in 2025-01-08 06:35:22 UTC (rev 73360)
@@ -5,6 +5,6 @@
Name: libpng
Description: Loads and saves PNG files
-Version: 1.6.44
+Version: 1.6.45
Libs: -L${libdir} -lpng16
Cflags: -I${includedir}
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/pnglibconf.dfa
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/pnglibconf.dfa 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/pnglibconf.dfa 2025-01-08 06:35:22 UTC (rev 73360)
@@ -8,7 +8,7 @@
com
version
com
-com Copyright (c) 2018-2024 Cosmin Truta
+com Copyright (c) 2018-2025 Cosmin Truta
com Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson
com
com This code is released under the libpng license.
@@ -846,6 +846,7 @@
# Ancillary chunks
chunk bKGD
chunk cHRM enables COLORSPACE
+chunk cICP enables COLORSPACE, GAMMA
chunk eXIf
chunk gAMA enables GAMMA
chunk hIST
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/pnglibconf.h.prebuilt
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/pnglibconf.h.prebuilt 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/pnglibconf.h.prebuilt 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,8 +1,8 @@
/* pnglibconf.h - library build configuration */
-/* libpng version 1.6.44 */
+/* libpng version 1.6.45 */
-/* Copyright (c) 2018-2024 Cosmin Truta */
+/* Copyright (c) 2018-2025 Cosmin Truta */
/* Copyright (c) 1998-2002,2004,2006-2018 Glenn Randers-Pehrson */
/* This code is released under the libpng license. */
@@ -88,6 +88,7 @@
#define PNG_READ_USER_TRANSFORM_SUPPORTED
#define PNG_READ_bKGD_SUPPORTED
#define PNG_READ_cHRM_SUPPORTED
+#define PNG_READ_cICP_SUPPORTED
#define PNG_READ_eXIf_SUPPORTED
#define PNG_READ_gAMA_SUPPORTED
#define PNG_READ_hIST_SUPPORTED
@@ -158,6 +159,7 @@
#define PNG_WRITE_WEIGHTED_FILTER_SUPPORTED
#define PNG_WRITE_bKGD_SUPPORTED
#define PNG_WRITE_cHRM_SUPPORTED
+#define PNG_WRITE_cICP_SUPPORTED
#define PNG_WRITE_eXIf_SUPPORTED
#define PNG_WRITE_gAMA_SUPPORTED
#define PNG_WRITE_hIST_SUPPORTED
@@ -176,6 +178,7 @@
#define PNG_WRITE_zTXt_SUPPORTED
#define PNG_bKGD_SUPPORTED
#define PNG_cHRM_SUPPORTED
+#define PNG_cICP_SUPPORTED
#define PNG_eXIf_SUPPORTED
#define PNG_gAMA_SUPPORTED
#define PNG_hIST_SUPPORTED
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/prefix.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/prefix.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/prefix.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* prefix.c - generate an unprefixed symbol list
*
* Copyright (c) 2013-2014 Glenn Randers-Pehrson
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/sym.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/sym.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/sym.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* sym.c - define format of libpng.sym
*
* Copyright (c) 2011-2014 Glenn Randers-Pehrson
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/symbols.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/symbols.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/symbols.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* symbols.c - find all exported symbols
*
* Copyright (c) 2011-2014 Glenn Randers-Pehrson
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/symbols.def
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/symbols.def 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/symbols.def 2025-01-08 06:35:22 UTC (rev 73360)
@@ -253,3 +253,5 @@
png_set_eXIf @247
png_get_eXIf_1 @248
png_set_eXIf_1 @249
+ png_get_cICP @250
+ png_set_cICP @251
Modified: trunk/Build/source/libs/libpng/libpng-src/scripts/vers.c
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/scripts/vers.c 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/scripts/vers.c 2025-01-08 06:35:22 UTC (rev 73360)
@@ -1,4 +1,3 @@
-
/* vers.c - define format of libpng.vers
*
* Copyright (c) 2011-2014 Glenn Randers-Pehrson
Modified: trunk/Build/source/libs/libpng/libpng-src/tests/pngtest-all
===================================================================
--- trunk/Build/source/libs/libpng/libpng-src/tests/pngtest-all 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/libpng-src/tests/pngtest-all 2025-01-08 06:35:22 UTC (rev 73360)
@@ -24,6 +24,9 @@
# The "standard" test
TEST --strict "${srcdir}"/pngtest.png
+# PNG-3 tests
+TEST --strict "${srcdir}"/contrib/testpngs/png-3/*.png
+
# Various crashers
# Use --relaxed because some come from fuzzers that don't maintain CRCs
TEST --relaxed "${srcdir}"/contrib/testpngs/crashers/badcrc.png
Modified: trunk/Build/source/libs/libpng/version.ac
===================================================================
--- trunk/Build/source/libs/libpng/version.ac 2025-01-08 00:40:21 UTC (rev 73359)
+++ trunk/Build/source/libs/libpng/version.ac 2025-01-08 06:35:22 UTC (rev 73360)
@@ -8,4 +8,4 @@
dnl --------------------------------------------------------
dnl
dnl m4-include this file to define the current libpng version
-m4_define([libpng_version], [1.6.44])
+m4_define([libpng_version], [1.6.45])
More information about the tex-live-commits
mailing list.