mirror of
				https://github.com/Mbed-TLS/mbedtls.git
				synced 2025-10-31 21:50:31 +03:00 
			
		
		
		
	Essentially adds the Everest .h and .c files to the various variables. This should be generalized at some point, but there is no infrastructure for this yet.
		
			
				
	
	
		
			64 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.5 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' )
 | |
|     HEADERS="$HEADERS 3rdparty/everest/include/everest/everest.h 3rdparty/everest/include/everest/x25519.h"
 | |
| fi
 | |
| 
 | |
| rm -f identifiers
 | |
| 
 | |
| grep '^[^ /#{]' $HEADERS | \
 | |
|     sed -e 's/^[^:]*://' | \
 | |
|     egrep -v '^(extern "C"|(typedef )?(struct|union|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
 |