| #!/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 USE_LIBUNWIND " stack-unwind") |
| |
| features="${option_unwind}" |
| [ -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" |