static void
print_version(void)
{
+ static const char features[] =
+#ifdef USE_LIBUNWIND
+ " stack-unwind"
+#endif /* USE_LIBUNWIND */
+ "";
+
printf("%s -- version %s\n"
"Copyright (c) 1991-%s The strace developers <%s>.\n"
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
PACKAGE_NAME, PACKAGE_VERSION, COPYRIGHT_YEAR, PACKAGE_URL);
+ printf("\nOptional features enabled:%s\n",
+ features[0] ? features : " (none)");
}
static void
../../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 ] || {
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"