mirror of
				https://git.code.sf.net/p/libpng/code.git
				synced 2025-07-10 18:04:09 +02:00 
			
		
		
		
	 738f5e743c
			
		
	
	
		738f5e743c
		
	
	
	
	
		
			
			In addition to png.h, configure.ac and CMakeLists.txt, the script ci_verify_version.sh is now able to verify libpng-config-head.in also. For the benefit of readability, the old script ci_shellify.sh has been split into smaller, independent scriptlets: libexec/ci_shellify_*.sh. The linting script ci_lint.sh has been updated as needed.
		
			
				
	
	
		
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| set -o errexit -o pipefail -o posix
 | |
| 
 | |
| # Copyright (c) 2019-2025 Cosmin Truta.
 | |
| #
 | |
| # Use, modification and distribution are subject to the MIT License.
 | |
| # Please see the accompanying file LICENSE_MIT.txt
 | |
| #
 | |
| # SPDX-License-Identifier: MIT
 | |
| 
 | |
| # shellcheck source=ci/lib/ci.lib.sh
 | |
| source "$(dirname "$0")/../lib/ci.lib.sh"
 | |
| 
 | |
| function ci_shellify_c {
 | |
|     # Convert C preprocessor text, specifically originating
 | |
|     # from png.h, to shell scripting text.
 | |
|     # Select only the easy-to-parse definitions of PNG_LIBPNG_*.
 | |
|     sed -n -e '/^\# *define * PNG_LIBPNG_[^ ]* * ["0-9A-Za-z_]/ p' |
 | |
|         sed -e 's/^\# *define * PNG\([^ ]*\) * \([^ ]*\)/PNG\1=\2/' \
 | |
|             -e 's/=PNG\([0-9A-Za-z_]*\)/=\${PNG\1}/' \
 | |
|             -e 's/^\([^ ]*=[^ ]*\).*$/export \1;/'
 | |
| }
 | |
| 
 | |
| function usage {
 | |
|     echo "usage: $CI_SCRIPT_NAME [<options>] png.h"
 | |
|     echo "options: -?|-h|--help"
 | |
|     exit "${@:-0}"
 | |
| }
 | |
| 
 | |
| function main {
 | |
|     local opt
 | |
|     while getopts ":" opt
 | |
|     do
 | |
|         # This ain't a while-loop. It only pretends to be.
 | |
|         [[ $1 == -[?h]* || $1 == --help || $1 == --help=* ]] && usage 0
 | |
|         ci_err "unknown option: '$1'"
 | |
|     done
 | |
|     shift $((OPTIND - 1))
 | |
|     [[ $# -eq 0 ]] && usage 2
 | |
|     [[ $# -eq 1 ]] || ci_err "too many operands"
 | |
|     # And... go!
 | |
|     test -e "$1" || ci_err "no such file: '$1'"
 | |
|     [[ $(basename -- "$1") == png.h ]] || {
 | |
|         ci_err "incorrect operand: '$1' (expecting: 'png.h')"
 | |
|     }
 | |
|     ci_shellify_c <"$1"
 | |
| }
 | |
| 
 | |
| main "$@"
 |