90 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
			
		
		
	
	
			90 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
| #!/bin/sh
 | |
| set -e
 | |
| 
 | |
| # generate list of source files for use in Makefile.am
 | |
| # if you add new source files, you must run ./bootstrap again
 | |
| src_listvar () {
 | |
|     basedir=$1
 | |
|     suffix=$2
 | |
|     var=$3
 | |
| 
 | |
|     find "${basedir}" -name "${suffix}" | LC_ALL=C sort | tr '\n' ' ' | (printf "${var} = " && cat)
 | |
|     echo ""
 | |
| }
 | |
| 
 | |
| # remove source files from list if their usage depends on a configure option
 | |
| remove_src () {
 | |
|     files=$1
 | |
|     shift
 | |
|     for x in $*
 | |
|     do
 | |
|       x=$(echo "$x" | sed 's/\//\\\//g')
 | |
|       files=$(echo $files | sed -e "s/$x//")
 | |
|     done
 | |
|     echo $files
 | |
| }
 | |
| 
 | |
| # generate list of eys source files for use in Makefile.am
 | |
| # if you add new source files, you must run ./bootstrap again
 | |
| # files after the var name will be elimenated from list list
 | |
| src_esys_listvar () {
 | |
|     basedir=$1;
 | |
|     shift;
 | |
|     suffix=$1
 | |
|     shift;
 | |
|     var=$1
 | |
|     shift;
 | |
| 
 | |
|     files=$(find "${basedir}" -name "${suffix}" | LC_ALL=C sort | tr '\n' ' ')
 | |
|     files=$(remove_src "${files}" $*)
 | |
|     printf "${var} = ${files}"
 | |
|     echo ""
 | |
| }
 | |
| 
 | |
| VARS_FILE=src_vars.mk
 | |
| AUTORECONF=${AUTORECONF:-autoreconf}
 | |
| 
 | |
| echo "Generating file lists: ${VARS_FILE}"
 | |
| (
 | |
|   src_listvar "src/util" "*.c" "UTIL_C"
 | |
|   src_listvar "src/util" "*.h" "UTIL_H"
 | |
|   printf "UTIL_SRC = \$(UTIL_C) \$(UTIL_H)\n"
 | |
| 
 | |
|   src_listvar "src/tss2-sys/" "*.c" "TSS2_SYS_C"
 | |
|   src_listvar "src/tss2-sys/" "*.h" "TSS2_SYS_H"
 | |
|   printf "TSS2_SYS_SRC = \$(TSS2_SYS_H) \$(TSS2_SYS_C)\n"
 | |
| 
 | |
|   src_esys_listvar "src/tss2-esys/" "*.h" "TSS2_ESYS_H"  src/tss2-esys/esys_crypto_ossl.h  src/tss2-esys/esys_crypto_gcrypt.h
 | |
|   src_esys_listvar "src/tss2-esys/" "*.c" "TSS2_ESYS_C" src/tss2-esys/esys_crypto_ossl.c  src/tss2-esys/esys_crypto_gcrypt.c
 | |
|   printf "TSS2_ESYS_SRC = \$(TSS2_ESYS_H) \$(TSS2_ESYS_C)\n"
 | |
| 
 | |
|   src_listvar "src/tss2-fapi/" "*.h" "TSS2_FAPI_H"
 | |
|   src_listvar "src/tss2-fapi/" "*.c" "TSS2_FAPI_C"
 | |
|   printf "TSS2_FAPI_SRC = \$(TSS2_FAPI_H) \$(TSS2_FAPI_C)\n"
 | |
| 
 | |
|   src_listvar "src/tss2-mu" "*.c" "TSS2_MU_C"
 | |
|   src_listvar "src/tss2-mu" "*.h" "TSS2_MU_H"
 | |
|   printf "TSS2_MU_SRC = \$(TSS2_MU_C) \$(TSS2_MU_H)\n"
 | |
| 
 | |
|   src_listvar "src/tss2-rc" "*.c" "TSS2_RC_C"
 | |
|   src_listvar "src/tss2-rc" "*.h" "TSS2_RC_H"
 | |
|   printf "TSS2_RC_SRC = \$(TSS2_RC_C) \$(TSS2_RC_H)"
 | |
| ) > ${VARS_FILE}
 | |
| 
 | |
| # Do not generate fuzz tests unless environment variable GEN_FUZZ is set to 1
 | |
| rm -rf Makefile-fuzz-generated.am
 | |
| if test "${GEN_FUZZ}0" -eq 10; then
 | |
|   echo "Generating fuzz tests"
 | |
|   script/gen_fuzz.py
 | |
| else
 | |
|   touch Makefile-fuzz-generated.am
 | |
| fi
 | |
| 
 | |
| ${AUTORECONF} --install --sym $@
 | |
| 
 | |
| if grep "Invalid policy. Valid policies: git-directory, minor-version." configure >/dev/null; then
 | |
|     echo "ERROR: ax_is_release.m4 is outdated. ./configure will fail."
 | |
|     echo "Please download from http://ftpmirror.gnu.org/autoconf-archive/autoconf-archive-2019.01.06.tar.xz"
 | |
|     exit 1
 | |
| fi
 |