70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			70 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/sh
 | |
| 
 | |
| # Check -V option.
 | |
| . "${srcdir=.}/init.sh"
 | |
| 
 | |
| run_prog_skip_if_failed date +%Y > /dev/null
 | |
| year="$(date +%Y)"
 | |
| 
 | |
| run_strace -V > "$LOG"
 | |
| 
 | |
| getstr()
 | |
| {
 | |
| 	sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*"([^"]*)".*/\1/p' \
 | |
| 		../../config.h
 | |
| }
 | |
| 
 | |
| # getoption OPTION YES_STRING [NO_STRING]
 | |
| #
 | |
| # Returns YES_STRING in case OPTION is enabled (present in config.h and has
 | |
| # a non-zero numeric value). Otherwise, NO_STRING (or empty string, if not
 | |
| # specified) is returned.
 | |
| getoption()
 | |
| {
 | |
| 	local opt
 | |
| 	opt=$(sed -r -n 's/#define[[:space:]]*'"$1"'[[:space:]]*([0-9]+)$/\1/p' \
 | |
| 		../../config.h)
 | |
| 	if [ -n "$opt" -a "$opt" -ne 0 ]; then
 | |
| 		printf "%s" "$2"
 | |
| 	else
 | |
| 		printf "%s" "${3-}"
 | |
| 	fi
 | |
| }
 | |
| 
 | |
| config_year=$(getstr COPYRIGHT_YEAR)
 | |
| 
 | |
| [ "$year" -ge "$config_year" ] && [ "$config_year" -ge 2017 ] || {
 | |
| 	echo >&2 "The year derived from config.h (${config_year}) does not pass sanity checks."
 | |
| 	exit 1
 | |
| }
 | |
| 
 | |
| option_unwind=$(getoption ENABLE_STACKTRACE \
 | |
| 		" stack-trace=$(getstr USE_UNWINDER)")
 | |
| option_demangle=$(getoption USE_DEMANGLE " stack-demangle")
 | |
| 
 | |
| option_m32=
 | |
| option_mx32=
 | |
| case "$STRACE_NATIVE_ARCH" in
 | |
| x86_64)
 | |
| 	option_m32=$(getoption HAVE_M32_MPERS ' m32-mpers' ' no-m32-mpers')
 | |
| 	option_mx32=$(getoption HAVE_MX32_MPERS ' mx32-mpers' ' no-mx32-mpers')
 | |
| 	;;
 | |
| aarch64|powerpc64|riscv|s390x|sparc64|tile|x32)
 | |
| 	option_m32=$(getoption HAVE_M32_MPERS ' m32-mpers' ' no-m32-mpers')
 | |
| 	;;
 | |
| esac
 | |
| 
 | |
| features="${option_unwind}${option_demangle}${option_m32}${option_mx32}"
 | |
| [ -n "$features" ] || features=" (none)"
 | |
| 
 | |
| cat > "$EXP" << __EOF__
 | |
| $(getstr PACKAGE_NAME) -- version $(getstr PACKAGE_VERSION)
 | |
| Copyright (c) 1991-${config_year} The strace developers <$(getstr PACKAGE_URL)>.
 | |
| This is free software; see the source for copying conditions.  There is NO
 | |
| warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 | |
| 
 | |
| Optional features enabled:${features}
 | |
| __EOF__
 | |
| 
 | |
| match_diff "$LOG" "$EXP"
 |