scripts

Branch


Log

Author Commit Date CI Message
Cosmin Truta cf59edd3 2025-07-02T20:24:24 Bump version to 1.6.51.git
Cosmin Truta 2b978915 2025-07-01T23:50:00 Release libpng version 1.6.50
Cosmin Truta 7084241c 2025-06-14T17:13:02 Bump version to 1.6.50.git
Cosmin Truta 64020428 2025-06-12T20:05:46 Release libpng version 1.6.49
Cosmin Truta 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`.
Joost Nieuwenhuijse 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>
Filip Wasil 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>
Cosmin Truta b4800bae 2025-05-01T14:50:23 Bump version to 1.6.49.git
Cosmin Truta ea127968 2025-04-30T16:51:46 Release libpng version 1.6.48
Cosmin Truta 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>
Cosmin Truta 5d095014 2025-02-19T13:07:40 Bump version to 1.6.48.git
Cosmin Truta 872555f4 2025-02-18T11:18:30 Release libpng version 1.6.47
John Bowler 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.
Cosmin Truta 171bdd3a 2025-01-27T18:32:44 Bump version to 1.6.47.git
Cosmin Truta 0024abd2 2025-01-23T19:02:04 Release libpng version 1.6.46
Cosmin Truta 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)
Cosmin Truta 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.
Cosmin Truta 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.
John Bowler 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>
John Bowler 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>
Cosmin Truta 8ffc967e 2025-01-08T19:26:11 Bump version to 1.6.46.git
Cosmin Truta 51f5bd68 2025-01-07T18:31:22 Release libpng version 1.6.45
Cosmin Truta 3714c584 2025-01-06T19:48:56 chore: Rerun `./autogen.sh --maintainer`
Cosmin Truta 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.
Cosmin Truta 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'.
Lucas CHOLLET 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>
Cosmin Truta 6f786ff0 2025-01-02T11:08:58 Update the copyright year Signed-off-by: Cosmin Truta <ctruta@gmail.com>
Cosmin Truta 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'.
John Bowler 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>
Cosmin Truta 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'.
Cosmin Truta c0f3dd43 2024-09-14T22:35:51 doc: Update the README and TODO files
Cosmin Truta ef153d53 2024-09-14T11:46:34 Bump version to 1.6.45.git
Cosmin Truta f5e92d76 2024-09-12T23:44:44 Release libpng version 1.6.44
Green Sky 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>
Cosmin Truta 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!)
Green Sky 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>
Benjamin Buch 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>
Cosmin Truta 22208658 2024-09-08T15:22:58 chore: Pacify editorconfig-checker version 3.0
Eric Riff 43d6ad3e 2024-09-04T19:29:14 cmake: Honor CMAKE_SYSROOT if set Signed-off-by: Cosmin Truta <ctruta@gmail.com>
Cosmin Truta f1848a3b 2024-02-24T13:32:56 Bump version to 1.6.44.git
Cosmin Truta ed217e3e 2024-02-23T11:51:40 Release libpng version 1.6.43
Cosmin Truta 3b9a73ed 2024-02-22T16:47:51 doc: Review the libpng history and update scripts/cmake/AUTHORS.md
Benjamin Buch 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>
Dan Rosser 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>
Cosmin Truta 4191872d 2024-02-15T18:29:26 chore: Update the .editorconfig files and pacify editorconfig-checker
Cosmin Truta 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.
Cosmin Truta 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.
Cameron Cawley 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>
Cosmin Truta 3bd304e5 2024-01-31T15:02:42 chore: Split lines in scripts/*.awk to pacify the editorconfig checker
Cosmin Truta 4356cb07 2024-01-31T11:32:51 Bump version to 1.6.43.git
Cosmin Truta 35d9f5ea 2024-01-29T22:51:33 Release libpng version 1.6.42
Cosmin Truta ba980b8f 2024-01-24T18:59:00 Release libpng version 1.6.41
Cosmin Truta 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.
Cosmin Truta 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.
John Bowler 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>
Cosmin Truta 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.
gxw ce4b632d 2024-01-08T17:46:41 Optimize png16 with loongson mmi for 64-bit os
Cosmin Truta 0dfe422e 2024-01-02T21:25:55 Update the copyright year
Cosmin Truta 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.
Cosmin Truta d7f77bf2 2023-06-26T11:09:17 Bump version to 1.6.41.git
Cosmin Truta f135775a 2023-06-21T22:06:40 Release libpng version 1.6.40
Jesús González 82097c21 2023-02-14T17:26:12 Fix a doc typo in pnglibconf.dfa Signed-off-by: Cosmin Truta <ctruta@gmail.com>
Jeremy Maitin-Shepard 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>
Jon Creighton 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>
Cosmin Truta 9923515f 2023-01-09T19:50:00 Update the copyright year
Cosmin Truta 3c761b51 2022-11-27T13:10:35 Bump version to 1.6.40.git
Cosmin Truta 07b88031 2022-11-20T23:53:23 Release libpng version 1.6.39
Cosmin Truta 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.
Cosmin Truta 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.)
Felix Hanau 04c016d7 2022-10-05T13:19:01 scripts: Fix the remaining instance of ZLIB_INCLUDE_DIR
Cosmin Truta 12222e6f 2022-09-18T23:51:58 scripts: Add missing makefile.clang reference to README.txt
Cosmin Truta 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.
Cosmin Truta 3f991d50 2022-09-18T16:26:26 scripts: Remove makefile.cegcc It is obsolete and unlikely to be still working
Cosmin Truta 6fc51194 2022-09-17T13:36:12 Bump version to 1.6.39.git
Cosmin Truta 0a158f35 2022-09-14T22:42:00 Release libpng version 1.6.38
Cosmin Truta 823ef44f 2022-09-14T21:56:47 scripts: Remove leftover references to the ci_* scripts from README.txt
Cosmin Truta 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>
Cosmin Truta 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.
Cosmin Truta 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.
Cosmin Truta 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").
luz paz 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`
Gabor Kertesz 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>
Christopher Sean Morrison 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>
Cosmin Truta 9e32b6f1 2022-09-05T17:30:06 Rerun "./autogen.sh --maintainer"
Cosmin Truta 723b2d9f 2022-08-26T03:12:35 Update the copyright year
Cosmin Truta b7ea74c9 2021-03-15T20:23:26 Update the copyright year
Cosmin Truta 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.
Cosmin Truta 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.
Cosmin Truta 50bd1abd 2020-03-29T22:26:32 scripts: Fix makefile.std and include it in the CI verification
Cosmin Truta 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.
Cosmin Truta 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
Cosmin Truta 2c0aee56 2020-02-02T20:02:00 Update the copyright year
Cosmin Truta b9e811fa 2019-04-22T23:00:58 scripts: Delete makefile.clang-asan and makefile.gcc-asan Travis CI is now running sanitizer-enabled test jobs.
Cosmin Truta cdbb8ec7 2019-04-22T23:00:58 Add support for Travis CI
Cosmin Truta 5df8e982 2019-04-14T14:10:32 Bump version to 1.6.38.git
Cosmin Truta a40189cf 2019-04-14T14:10:32 Release libpng version 1.6.37
Cosmin Truta 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
Cosmin Truta fef895aa 2019-01-19T19:01:19 Update the copyright year
Cosmin Truta 43b41418 2018-12-30T13:34:15 scripts: Delete makefile.ne12bsd; clean up makefile.*bsd
Cosmin Truta 6a94d145 2018-12-30T12:00:41 Bump version to 1.6.37.git