|
cf59edd3
|
2025-07-02T20:24:24
|
|
Bump version to 1.6.51.git
|
|
2b978915
|
2025-07-01T23:50:00
|
|
Release libpng version 1.6.50
|
|
7084241c
|
2025-06-14T17:13:02
|
|
Bump version to 1.6.50.git
|
|
64020428
|
2025-06-12T20:05:46
|
|
Release libpng version 1.6.49
|
|
0cc6436e
|
2025-05-29T22:55:00
|
|
build: Repair and reduce the CMake build dependency graph
A funny thing happened while refactoring the function argument parsing
in the `PNGGenConfig` module: the processing of dependencies inside
the CMake function `generate_copy` got fixed, thanks to an inadvertent
typo correction!
Going down the rabbit hole, we uncovered two issues:
1. A typo in `scripts/cmake/PNGGenConfig.cmake` caused a dependency
declaration to disappear, disrupting the graph. Fortunately, this
disruption was being mitigated by an additional set of (redundant)
symbolic target declarations that kept the CMake build going.
2. The exact string matching inside `scripts/cmake/gensrc.cmake.in`
imposed an artificial limitation, disallowing the use of absolute
file paths.
The typo correction in (1), and the use of regex matching instead of
exact string matching in (2), allowed us to use absolute file paths
in the main CMake file, consistently, thus allowing CMake to recognize
them as uniquely-identifiable nodes in the dependency graph. There
should be no further need to have extra symbolic targets for proper
node identification.
In the end, we shaved off the redundant symbolic target declarations,
retaining only `png_genfiles` and `png_genprebuilt`.
|
|
dc71f481
|
2025-02-26T22:17:08
|
|
build: Fix apple-non-apple cross building
When cross compiling for an apple platform on a non-apple platform
(or the reverse), `if(APPLE)` in line 32 should refer to the target
platform. Without importing the `APPLE` variable, it refers to the
host platform.
Reviewed-by: John Bowler <jbowler@acm.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
ffb8e8b2
|
2025-03-11T13:07:00
|
|
Fix and improve the RISC-V Vector (RVV) implementation
Changes include manually merged code from Manfred SCHLAEGL.
Co-authored-by: Manfred SCHLAEGL <manfred.schlaegl@gmx.at>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
b4800bae
|
2025-05-01T14:50:23
|
|
Bump version to 1.6.49.git
|
|
ea127968
|
2025-04-30T16:51:46
|
|
Release libpng version 1.6.48
|
|
23bdc7a6
|
2025-04-28T20:44:53
|
|
build: Add the CMake build option `PNG_LIBCONF_HEADER`
Running the pnglibconf scripts (script/*.awk) is not always possible.
An AWK interpreter is not always guaranteed to be available; and even
if it is, there are limitations when making cross-platform libpng
builds, especially when the differences between the host platform and
the target platform are significant. For example:
* Building for the Windows (MinGW) target on a Unix development host;
* Building for the iOS target on a macOS development host;
* Building for the Android target on any development host.
In such scenarios, a preconfigured (i.e. prebuilt) pnglibconf.h file,
either taken from the libpng source tree or provided by the user who
wants to make a custom libpng build, becomes a necessity.
In this commit we introduce the build option `PNG_LIBCONF_HEADER` in
order to address this specific use case.
We also specify a version range (3.14...4.0) for the minimum required
CMake program, to future-proof the CMake build for just a little bit
longer.
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
5d095014
|
2025-02-19T13:07:40
|
|
Bump version to 1.6.48.git
|
|
872555f4
|
2025-02-18T11:18:30
|
|
Release libpng version 1.6.47
|
|
a8242dd9
|
2025-01-26T14:42:02
|
|
PNGv3 colourspace precedence rules conformance
This is a major change required by the new PNGv3 colour chunk precedence
rules. It **does not** change the libpng API (png.h) however it changes
the following handling of PNG files:
IFF the PNG file contains colour space information it changes from the
libpng v3 behaviour to the now compulsory PNG v3 behaviour:
1) libpng no longer invalidates colour space chunks because they are
inconsistent.
2) libpng no longer responds to the "png_get_" APIs positively if they
are not present in the PNG but can be deduced from the colour space
chunks that are present.
|
|
171bdd3a
|
2025-01-27T18:32:44
|
|
Bump version to 1.6.47.git
|
|
0024abd2
|
2025-01-23T19:02:04
|
|
Release libpng version 1.6.46
|
|
fcb0bca1
|
2025-01-22T23:19:49
|
|
chore: Update the .editorconfig file; add/update README files
Add various missing pieces to their right places:
* Update .editorconfig in order to let editorconfig-checker know that
aclocal.m4 (which is auto-generated) may contain trailing whitespace.
* Add ci/README.md.
* Update scripts/README.txt.
TODO:
Integrate editorconfig-checker into the linting workflow on GitHub.
(See .github/workflows/lint.yml)
|
|
9cc729b5
|
2025-01-21T19:06:43
|
|
build: Update scripts/makefile.*
Apply the following updates:
* Tidy up the compiler flag definitions.
* Update the Darwin, Linux and MSYS makefiles to match the compiler
flags used in scripts/makefile.clang and scripts/makefile.gcc.
* Add the `pngtest-static` target in the Darwin makefile, following
on the Linux makefile.
* Rewrite some of the implicit make rules to match one another more
consistently.
* Make corrections in the copyright years to match git log.
|
|
36a16fd7
|
2025-01-21T18:42:49
|
|
build: Add scripts/makefile.c89; update other makefiles
Add scripts/makefile.c89 and refactor scripts/makefile.emcc,
scripts/makefile.clang and scripts/makefile.gcc
Refactor variable definitions inside scripts/makefile.clang,
scripts/makefile.gcc and scripts/makefile.emcc, and start using
the option `-pedantic-errors` unconditionally. This option was
first implemented in GCC version 3.1, and it was available in
Clang and in other Clang-based compilers (e.g. Emscripten) from
the beginning.
Add scripts/makefile.c89, derived from the above makefiles, but
with `-pedantic-errors -std=c89`. We aren't enabling the C89 level
by default, to avoid any incompatibility, whether intentional or
accidental, with the compiler's default language level. However,
we are still continuing to support C89 in the 'libpng16' branch,
and this special makefile can be used for testing purposes.
|
|
f753baae
|
2025-01-04T00:10:47
|
|
api(PNGv3): Update the generated files and `PNG_EXPORT_LAST_ORDINAL`
Apart from the png.h change, these files are machine-generated.
Reviewed-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: John Bowler <jbowler@acm.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
92e8581f
|
2025-01-03T22:43:00
|
|
api(PNGv3): Add support for mDCV and cLLI
This adds APIs to get/set the two remaining new PNG-v3 colour space
chunks. The mDCV API matches that of cHRM. Both chunks support
floating point APIs (all values in the two chunks are real numbers).
Both chunks have a new encoded type, a four-digit-precision fixed-point
number, which cannot be represented in the existing `png_fixed_point`
type, so a `png_uint_32` is used.
Test examples for cICP, cLLI and mDCV are now in pngtest.png, and a
necessary change to the pngunknown.c test program has been made to
accomodate the additions.
Reviewed-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: John Bowler <jbowler@acm.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
8ffc967e
|
2025-01-08T19:26:11
|
|
Bump version to 1.6.46.git
|
|
51f5bd68
|
2025-01-07T18:31:22
|
|
Release libpng version 1.6.45
|
|
3714c584
|
2025-01-06T19:48:56
|
|
chore: Rerun `./autogen.sh --maintainer`
|
|
2a845ff8
|
2025-01-06T17:09:10
|
|
build: Move portions from the main CMake file to separate modules
In preparation for the upcoming changes in the build system, any parts
of the CMake file that are unlikely to be affected should be moved out
of the way. This should facilitate an easier resync between the branch
'libpng16' and its successor(s).
Specifically:
* Move the functions `generate_chk`, `generate_out`, `generate_source`
and `generate_copy` to scripts/cmake/PNGGenConfig.cmake.
* Move the function `png_add_test` to scripts/cmake/PNGTest.cmake.
* Leave the function `create_symlink` in place, but add a TODO note.
As we raised the minimum required CMake version to 3.14, we should
now be able to use CMake's built-in function instead.
|
|
823c2d80
|
2024-12-31T22:05:03
|
|
[libpng16] fix: Update the cICP support for better compliance with PNG-3
Apply the following corrections and improvements:
* Add a validity check in `png_set_cICP`.
* Fix the ordering check in `png_handle_cICP`.
* Add a multiplicity check in `png_handle_cICP`.
* Optimize the implementation of `png_write_cICP`.
* Remove an unnecessary preprocessor guard from pngtest.c.
* Update the dependency declaration in pnglibconf.dfa.
* Fix the indentation where necessary.
This is a cherry-pick of commit c2a02691df1ecf51b7c97142752a7034350cb1f6
from branch 'libpng18'.
|
|
75748d93
|
2024-06-22T00:35:55
|
|
[libpng16] Add support for reading and writing the cICP chunk
This chunk was added in the third edition of the PNG specification and
contains Coding Independent Code Points (related to color space
description). It is fairly simple as it only contains four fields of one
byte each: Colour Primaries, Transfer Function, Matrix Coefficients,
Video Full Range Flag.
The test file originally comes from the related WPT test case:
https://github.com/web-platform-tests/wpt/blob/master/png/support/cicp-display-p3.png
Note that I reencoded the file to make it match libpng's default
encoding parameters (it only modifies the IDAT chunk).
This is a cherry-pick of commit 65925ad4b2cbed934d5d850fe764dc46c4becbcb
from branch 'libpng18'.
Reviewed-by: John Bowler <jbowler@acm.org>
Reviewed-by: Chris Blume <ProgramMax@gmail.com>
Reviewed-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
6f786ff0
|
2025-01-02T11:08:58
|
|
Update the copyright year
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
a7a8faee
|
2024-10-11T23:24:46
|
|
[libpng16] style: Add a cmake-format config file and satisfy cmake-lint
Introduce CMake file linting, based on the cmakelang project by
Josh Bialkowski (@cheshirekow).
Fix various style issues in the CMake files:
* Add the missing copyright header to PNGConfig.cmake.
* Resolve a "missing docstring" warning raised by cmake-lint.
* Rewrite all docstrings in the style of CMake's own documentation.
* Fix whitespace inconsistencies.
References:
* https://pypi.org/project/cmakelang
* https://github.com/cheshirekow/cmake_format
This is a cherry-pick of commit c317fe31114d92d05d44bf98c9b559edf4656b9c
from branch 'libpng18'.
|
|
d7d950e8
|
2024-10-10T14:09:02
|
|
[libpng16] chore: Clean up the leading blank lines from all source files
The leading blank lines are apparently an artefact of an older source
control system. They are not required and they look like accidents,
because starting a source file with a blank line is not a regular habit
of software developers nowadays.
This is a cherry-pick of commit 37cc20add8fb5b83bb5299a26cd3b41e0f776017
from branch 'libpng18'.
Signed-off-by: John Bowler <jbowler@acm.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
9ee82380
|
2024-10-06T21:22:09
|
|
[libpng16] test: Tidy up the logging of test program arguments in CTest
This is a cherry-pick of commit 2e416c623d293659a102936870c4b36c00e1b347
from branch 'libpng18'.
|
|
c0f3dd43
|
2024-09-14T22:35:51
|
|
doc: Update the README and TODO files
|
|
ef153d53
|
2024-09-14T11:46:34
|
|
Bump version to 1.6.45.git
|
|
f5e92d76
|
2024-09-12T23:44:44
|
|
Release libpng version 1.6.44
|
|
8cc22a8c
|
2024-04-17T12:32:45
|
|
cmake: Fix an error in the declaration of target include directories
Properly declare target include directories for generated includes.
Previously the non targeted `include_directories()` was used, which
had issue when using the `png_static` target in a submodule.
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
843dbb75
|
2024-09-10T22:41:03
|
|
Revert "cmake: Fix an error in the declaration of target include directories"
This reverts commit 1d1cc9ae18f677201bf7e47928c30562df967756.
The verification has failed. (Oopsie!)
|
|
1d1cc9ae
|
2024-04-17T12:32:45
|
|
cmake: Fix an error in the declaration of target include directories
Properly declare target include directories for generated includes.
Previously the non targeted `include_directories()` was used, which
had issue when using the `png_static` target in a submodule.
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
0e204b73
|
2024-03-01T13:14:17
|
|
build: Add a CMake config file compatible with the FindPNG module
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
22208658
|
2024-09-08T15:22:58
|
|
chore: Pacify editorconfig-checker version 3.0
|
|
43d6ad3e
|
2024-09-04T19:29:14
|
|
cmake: Honor CMAKE_SYSROOT if set
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
f1848a3b
|
2024-02-24T13:32:56
|
|
Bump version to 1.6.44.git
|
|
ed217e3e
|
2024-02-23T11:51:40
|
|
Release libpng version 1.6.43
|
|
3b9a73ed
|
2024-02-22T16:47:51
|
|
doc: Review the libpng history and update scripts/cmake/AUTHORS.md
|
|
7b888092
|
2024-02-21T19:06:33
|
|
build: Mark the installed libpng headers as system headers in CMake
Modern compilers can disable the warnings that originate from system
headers. This change allows them to do so with the libpng headers.
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
e7ba9c0d
|
2024-02-19T14:23:53
|
|
build: Fix a CMake build regression introduced in version 1.6.41
This fixes commit 4edbb4da81626a7342a22824d7a8f60a3ea71bd0.
During the move of CMake scripts to the scripts/cmake/ subdirectory,
some of the workflows have been broken.
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
4191872d
|
2024-02-15T18:29:26
|
|
chore: Update the .editorconfig files and pacify editorconfig-checker
|
|
1cdde118
|
2024-02-11T23:14:09
|
|
build: Update the makefiles for the benefit of cross-compilation
Split AR_RC into AR and ARFLAGS. The variables AR and ARFLAGS are
de-facto standards (like CC and CFLAGS, LD and LDFLAGS, etc.) that
may be overridden when running make. Moreover, configuring CC, LD,
AR, etc., to point to a cross-platform compiler, linker, librarian,
etc., is a de-facto standard practice as well.
Also remove the MKDIR_P variable definitions from all makefiles.
They've been leftovers from the removal of the "install*" targets.
|
|
920db2ec
|
2024-02-05T21:54:19
|
|
api: Introduce the `PNG_LIBPNG_VER_SHAREDLIB` macro; update pngwin.rc
The version macros `PNG_LIBPNG_VER_SONUM` and `PNG_LIBPNG_VER_DLLNUM`
weren't always in sync, but they should be, going forward.
Or, better yet, we should keep them in, deprecated, and introduce
`PNG_LIBPNG_VER_SHAREDLIB` for all shared library builds of all kinds
on all platforms.
It is unknown how many user applications have been using these macros.
We have been using `PNG_LIBPNG_VER_DLLNUM` for pngwin.rc, for example.
Which, by the way, was last updated in 2009.
|
|
ab6d97b7
|
2020-10-31T20:21:30
|
|
build: Update and rename makefile.acorn to makefile.riscos
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Reviewed-by: John Bowler <jbowler@acm.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
3bd304e5
|
2024-01-31T15:02:42
|
|
chore: Split lines in scripts/*.awk to pacify the editorconfig checker
|
|
4356cb07
|
2024-01-31T11:32:51
|
|
Bump version to 1.6.43.git
|
|
35d9f5ea
|
2024-01-29T22:51:33
|
|
Release libpng version 1.6.42
|
|
ba980b8f
|
2024-01-24T18:59:00
|
|
Release libpng version 1.6.41
|
|
4edbb4da
|
2024-01-22T17:24:59
|
|
build: Move scripts/*.cmake.in to scripts/cmake/; add cmake/AUTHORS.md
From the libpng licensing point of view, the build projects, the build
scripts, the test scripts, the CI verification scripts, et cetera, have
not traditionally been part of libpng proper, although some of these,
including the CMake-based build, have been released under the libpng
license.
Considering how the CMake build grew as a result of many contributions
from many contributing authors over a long time, one may argue that it
almost became an individual piece of software in its own right.
Moving on, everything CMake-related shall be placed in the subdirectory
scripts/cmake/ (except, of course, the main CMakeLists.txt). Moreover,
contributing authors shall be acknowledged in scripts/cmake/AUTHORS.md.
Please see scripts/cmake/README.md for more information.
|
|
67166184
|
2024-01-22T15:16:10
|
|
build: Move scripts/*.m4 to scripts/autoconf/
Move all Autoconf macro files (except for those that need to be in
the top-level directory) to their own subdirectory scripts/autoconf/
In this commit, we introduce a better way to organize the scripts dir,
and we make a better separation between the build scripts under the
libpng license vs. the build scripts that fall under other licenses.
Please see scripts/autoconf/README.md for more information.
|
|
269b7534
|
2023-12-30T14:55:38
|
|
Do not build unused Adler32 code
This removes the default build of an undocumented feature to disable
Adler32 checksums on those systems where it was the default.
The PR is motived by github #187 however it fixes a much more general
problem (#187 is limited to an issue where libpng "crashes" on some
manufacturer systems). The fix is based on a suggestion by @sgowdev who
is the originator of the issue.
When libpng disables the checking of Adler32 checksums it does so by an
undocumented and therefore possibly unsupported call to a zlib function
which does not exist in some versions of zlib.
Fortunately libpng only does this if the caller of libpng explicitly
asks for it to happen. Unfortunately the call to the undocumented
function is still in the compiled and built libpng and this means that
on some systems (as identified in #187) libpng can fail to load or maybe
even crash.
The libpng authors are currently unaware of any program or system that
uses this feature and none has been identified by the contributors to
In this fix an option is added to *enable* the code so that by default
the code is *disabled* - this is a simple generalization of the
suggestion by @sgowdev.
BENEFITS: the problem is eliminated, users of the functionality, if any,
are idenfified, the functionality can be implemented correctly in the
future or it can be removed. Hardly anyone complains.
COSTS: someone will complain that they have to enable an option in a
libpng build to use a feature that never worked consistently in the
first place.
This patch has been tested both with the option enabled and with it
disabled via pngusr.dfa. Tests, checks pass with cmake and configure,
make distcheck passes on configure.
Reported-by: Stephen Gowen <dev.sgowen@gmail.com>
Signed-off-by: John Bowler <jbowler@acm.org>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
a7fe3414
|
2024-01-17T23:24:05
|
|
mips: Wrap up the MIPS/Loongson port and acknowledge the contributors
Completion of this port required a rerun of `./autogen.sh --maintainer`
followed by a rebuild of scripts/pnglibconf.h.prebuilt.
|
|
ce4b632d
|
2024-01-08T17:46:41
|
|
Optimize png16 with loongson mmi for 64-bit os
|
|
0dfe422e
|
2024-01-02T21:25:55
|
|
Update the copyright year
|
|
acfd50ae
|
2023-12-11T20:51:06
|
|
cmake: Clean up functions, string operations, regular expressions, etc.
Remove the inclusion of the external module `CMakeParseArguments`.
Function argument parsing became a first-class feature in CMake 3.5.
Delete the function `find_symbol_prefix`. It is no longer used.
Use variables instead of strings in string operations where possible.
Prevent CMake from getting confused by string values that might be
accidentally identical to unrelated keywords.
Clean up spurious `.*` sequences in regex matching operations.
Rephrase a comment.
|
|
d7f77bf2
|
2023-06-26T11:09:17
|
|
Bump version to 1.6.41.git
|
|
f135775a
|
2023-06-21T22:06:40
|
|
Release libpng version 1.6.40
|
|
82097c21
|
2023-02-14T17:26:12
|
|
Fix a doc typo in pnglibconf.dfa
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
efa9c2e9
|
2022-10-02T14:37:59
|
|
cmake: Rename the custom targets to have the png_ prefix
This avoids taget namespace pollution when including libpng as a
sub-project.
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
cd0ea2a7
|
2023-01-09T13:17:31
|
|
Fix for universal binaries on macOS
Fix the issue of a
clang: error: no such file or directory: 'x86_64'
error on building universal binaries on macOS.
It is also necessary to specify:
-DCMAKE_C_FLAGS="-DPNG_ARM_NEON_OPT=0"
Example CMake command:
cmake -S libpng \
-B build_libpng \
-DCMAKE_OSX_ARCHITECTURES="arm64;x86_64" \
-DCMAKE_C_FLAGS="-DPNG_ARM_NEON_OPT=0"
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
9923515f
|
2023-01-09T19:50:00
|
|
Update the copyright year
|
|
3c761b51
|
2022-11-27T13:10:35
|
|
Bump version to 1.6.40.git
|
|
07b88031
|
2022-11-20T23:53:23
|
|
Release libpng version 1.6.39
|
|
77c3a392
|
2022-11-20T21:23:33
|
|
Clean up comments and whitespace characters in source files
Remove all remaining "last changed" version info from source comments.
(The version control system maintains this information automatically.)
Delete the trailing whitespace characters.
|
|
f6036c0a
|
2022-11-20T20:21:41
|
|
Update, rename and clean up various scripts
Rename contrib/tools/chkfmt to contrib/tools/chkfmt.sh; refactor:
* Increase the max line length for contrib/**/*.[ch] from 96 to 100.
* Set the max line length for ci_*.sh to 100.
* Use `basename $0` instead of the hard-coded script name.
* Update comments.
Remove contrib/tools/reindent. For automated code formatting, including
indentation, we need a robust solution.
Add an empty line after the hashbang line in all scripts.
Remove the "last changed" version info from comment headers.
(The version control system maintains this information automatically.)
|
|
04c016d7
|
2022-10-05T13:19:01
|
|
scripts: Fix the remaining instance of ZLIB_INCLUDE_DIR
|
|
12222e6f
|
2022-09-18T23:51:58
|
|
scripts: Add missing makefile.clang reference to README.txt
|
|
9b65ad49
|
2022-09-18T19:37:40
|
|
scripts: Remove the support for "install" targets from all makefiles
In most of the legacy makefiles (with only a few notable exceptions
such as makefile.linux), the "install" targets have been broken since
libpng-1.5.0beta01. Specifically, the "install-shared" targets produced
incorrect library names, due to a missing symbol in the definition of
the LIBSOREL macro.
Rather than correcting this long-standing and long-untested error, we
decided to remove the support for "make install" altogether, from all
legacy makefiles. Further use of "make install", "make install-static"
or "make install-shared" will fail with an error message.
Going forward, the only tested and supported manners to install libpng
shall be the conventional build and install procedures driven by the
configure script or by the CMake file.
|
|
3f991d50
|
2022-09-18T16:26:26
|
|
scripts: Remove makefile.cegcc
It is obsolete and unlikely to be still working
|
|
6fc51194
|
2022-09-17T13:36:12
|
|
Bump version to 1.6.39.git
|
|
0a158f35
|
2022-09-14T22:42:00
|
|
Release libpng version 1.6.38
|
|
823ef44f
|
2022-09-14T21:56:47
|
|
scripts: Remove leftover references to the ci_* scripts from README.txt
|
|
3c67eeca
|
2022-09-14T21:50:02
|
|
scripts: Add makefile.emcc for building libpng with Emscripten
Adapt makefile.clang to invoke the Emscripten toolchain utilities.
Co-authored-by: Kirk Roerig <mr.possoms@gmail.com>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
|
|
b60656ec
|
2022-09-14T21:35:33
|
|
scripts: Disable the hardware-optimized compilation in legacy makefiles
Fix the legacy makefile builds on ARM, MIPS and PowerPC, where
hardware-optimized compilation was enabled by default in the generic
source files, but without including the machine-specific source files.
Delete scripts/makefile.linux-opt.
|
|
c64655d0
|
2022-09-14T21:18:20
|
|
scripts: Set the compiler warning options to "-Wall -Wextra -Wundef"
Considering that "-Wextra" is a more descriptive alternative to "-W",
and that "-Wundef" is a highly useful warning option that has been
available in ancient versions of gcc (version 2.x), we replace all
occurrences of "-W -Wall" with "-Wall -Wextra -Wundef".
Also clean up the makefiles.
|
|
8b7b99c1
|
2022-09-14T11:53:47
|
|
scripts: Clean up the logging in makefile.std and pnglibconf.mak
The console logs produced by these scripts should be easy to follow,
especially on CI bots.
Delete the unnecessary macros ECHO and SED.
Add a new macro MV_F (for "mv -f"), alongside RM_F (for "rm -f").
|
|
f16427e5
|
2022-01-08T06:41:50
|
|
Fix various typos
Found via `codespell -q 3 -S ./ltmain.sh,./scripts/libtool.m4 -L ake,ans,ba,bloc,crashers,doed,inout,lengthh,maked,paeth,parm,parms,redy,unx`
|
|
bbab5710
|
2021-10-27T18:45:08
|
|
scripts: Add makefile for win-arm64
This makefile is based on makefile.vcwin32, but includes Neon
intrinsic optimization.
Co-authored-by: Gabor Kertesz <gabor.kertesz@linaro.org>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
840af2ed
|
2022-03-10T01:08:09
|
|
cmake: Fix the build on Unix with source files checked out on Windows
The issue is that, by default, Git for Windows checks out text files
with CRLF line endings. This is a problem for awk, which is expecting
Unix-style LF line endings. When cloning on Windows and attempting to
compile on WSL, Mingw or Cygwin, there may be an error from awk.
The fix is to leverage CMake's ability to configure a file and perform
EOL conversions. We copy the awk scripts from the source directory to
the build directory. This portable method ensures they have LF endings,
and the build logic is updated to use the build directory version.
Intentionally avoiding .gitattributes to avoid setting precedent.
Co-authored-by: Christopher Sean Morrison <brlcad@gmail.com>
Co-authored-by: Cosmin Truta <ctruta@gmail.com>
Signed-off-by: Cosmin Truta <ctruta@gmail.com>
|
|
9e32b6f1
|
2022-09-05T17:30:06
|
|
Rerun "./autogen.sh --maintainer"
|
|
723b2d9f
|
2022-08-26T03:12:35
|
|
Update the copyright year
|
|
b7ea74c9
|
2021-03-15T20:23:26
|
|
Update the copyright year
|
|
3676fd32
|
2020-05-18T21:30:30
|
|
ci: Add a new top-level directory, dedicated for CI verification
Update the ci_*.sh scripts and move them to the more conventional
ci/ directory. Update .appveyor.yml and .travis.yml, as well as
the AUTHORS file, accordingly.
Speed up ci_cmake.sh: add "-DPNG_TESTS=OFF" to the list of CMake
variables if CI_NO_TEST is true.
Remove "sudo: false" from .travis.yml.
Refactor .appveyor.yml.
|
|
3cec1a16
|
2020-03-29T23:58:29
|
|
scripts: Clean up the makefiles
Delete variables (ALIGN, ARCH, DOCS) and targets (writelock) that are
no longer necessary.
Reorder the object file lists alphabetically, consistently across all
makefiles and build scripts.
Apply other minor fixes.
|
|
50bd1abd
|
2020-03-29T22:26:32
|
|
scripts: Fix makefile.std and include it in the CI verification
|
|
2dd5630e
|
2020-03-29T01:11:42
|
|
Update configuration for Travis CI; add configuration for AppVeyor CI
Exclude the branch "libpng16" from testing. It's identical to "master".
Also exclude the other (non-current) "libpng[0-1][0-7]" branches.
Parallelize the builds and the unit tests.
For Travis CI, update the build matrix as follows:
* On Linux, use both clang and gcc.
* On macOS, use clang only, with and without Xcode.
For AppVeyor CI, add a build matrix as follows:
* On Windows, use Microsoft Visual Studio 2019 on x86, x64 and arm64.
* Also on Windows, use MSYS2 on x86 and x64.
Use the new scripts/ci_*.sh; remove the old scripts/travis.sh.
|
|
b9155ce3
|
2020-03-29T00:41:33
|
|
scripts: Add general-purpose utilities for continuous integration
Currently, libpng supports three different types of build automation:
the GNU autotools, CMake, and a legacy of hand-made makefiles.
In order to simplify the continous integration of all of the above
build options, we introduce the following scripts:
* ci_autotools.sh: CI utility for the Autotools build
* ci_cmake.sh: CI utility for the CMake build
* ci_legacy.sh: CI utility for the legacy makefiles
|
|
2c0aee56
|
2020-02-02T20:02:00
|
|
Update the copyright year
|
|
b9e811fa
|
2019-04-22T23:00:58
|
|
scripts: Delete makefile.clang-asan and makefile.gcc-asan
Travis CI is now running sanitizer-enabled test jobs.
|
|
cdbb8ec7
|
2019-04-22T23:00:58
|
|
Add support for Travis CI
|
|
5df8e982
|
2019-04-14T14:10:32
|
|
Bump version to 1.6.38.git
|
|
a40189cf
|
2019-04-14T14:10:32
|
|
Release libpng version 1.6.37
|
|
0a882b57
|
2019-01-20T22:21:48
|
|
scripts: Add makefile.clang, makefile.clang-asan and makefile.gcc-asan
Also apply minor updates to makefile.gcc and makefile.msys
|
|
fef895aa
|
2019-01-19T19:01:19
|
|
Update the copyright year
|
|
43b41418
|
2018-12-30T13:34:15
|
|
scripts: Delete makefile.ne12bsd; clean up makefile.*bsd
|
|
6a94d145
|
2018-12-30T12:00:41
|
|
Bump version to 1.6.37.git
|