You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
90 lines
2.7 KiB
90 lines
2.7 KiB
#!/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
|