7b3603c6d8
Resolve merge conflicts by performing the following actions: - Reject changes to deleted files. - Reject changes to generate_errors.pl and generate_visualc_files.pl. Don't add an 'include-crypto' option which would attempt to use the non-existent crypto submodule. - list-identifiers.sh had the `--internal` option added to it, which lists identifiers only in internal headers. Add PSA-specific internal headers to list-identifiers.sh. * origin/development: (40 commits) Document the scripts behaviour further Use check_output instead of Popen all.sh: Require i686-w64-mingw32-gcc version >= 6 generate_visualc_files.pl: add mbedtls source shadowing by crypto generate_errors.pl: refactor and simplify the code Start unused variable with underscore Correct documentation generate_errors.pl: typo fix revert changes to generate_features.pl and generate_query_config.pl Check that the report directory is a directory Use namespaces instead of full classes Fix pylint issues Don't put abi dumps in subfolders Add verbose switch to silence all output except the final report Fetch the remote crypto branch, rather than cloning it Prefix internal functions with underscore Add RepoVersion class to make handling of many arguments easier Reduce indentation levels Improve documentation Use optional arguments for setting repositories ...
62 lines
1.4 KiB
Bash
Executable file
62 lines
1.4 KiB
Bash
Executable file
#!/bin/bash
|
|
#
|
|
# Create a file named identifiers containing identifiers from internal header
|
|
# files or all header files, based on --internal flag.
|
|
# Outputs the line count of the file to stdout.
|
|
#
|
|
# Usage: list-identifiers.sh [ -i | --internal ]
|
|
|
|
set -eu
|
|
|
|
if [ -d include/mbedtls ]; then :; else
|
|
echo "$0: must be run from root" >&2
|
|
exit 1
|
|
fi
|
|
|
|
INTERNAL=""
|
|
|
|
until [ -z "${1-}" ]
|
|
do
|
|
case "$1" in
|
|
-i|--internal)
|
|
INTERNAL="1"
|
|
;;
|
|
*)
|
|
# print error
|
|
echo "Unknown argument: '$1'"
|
|
exit 1
|
|
;;
|
|
esac
|
|
shift
|
|
done
|
|
|
|
if [ $INTERNAL ]
|
|
then
|
|
HEADERS=$( ls include/mbedtls/*_internal.h library/*.h | egrep -v 'compat-1\.3\.h|bn_mul' )
|
|
else
|
|
HEADERS=$( ls include/mbedtls/*.h include/psa/*.h library/*.h | egrep -v 'compat-1\.3\.h|bn_mul' )
|
|
fi
|
|
|
|
rm -f identifiers
|
|
|
|
grep '^[^ /#{]' $HEADERS | \
|
|
sed -e 's/^[^:]*://' | \
|
|
egrep -v '^(extern "C"|(typedef )?(struct|enum)( {)?$|};?$)' \
|
|
> _decls
|
|
|
|
if true; then
|
|
sed -n -e 's/.* \**\([a-zA-Z_][a-zA-Z0-9_]*\)(.*/\1/p' \
|
|
-e 's/.*(\*\(.*\))(.*/\1/p' _decls
|
|
grep -v '(' _decls | sed -e 's/\([a-zA-Z0-9_]*\)[;[].*/\1/' -e 's/.* \**//'
|
|
fi > _identifiers
|
|
|
|
if [ $( wc -l < _identifiers ) -eq $( wc -l < _decls ) ]; then
|
|
rm _decls
|
|
egrep -v '^(u?int(16|32|64)_t)$' _identifiers | sort > identifiers
|
|
rm _identifiers
|
|
else
|
|
echo "$0: oops, lost some identifiers" 2>&1
|
|
exit 1
|
|
fi
|
|
|
|
wc -l identifiers
|