-libfips*|*fips.dll)
- # libfips.so creation can be taking place in the source
- # directory only!!!
- FINGERTYPE="${THERE}/fips/fips_standalone_sha1"
- # fipscanister.o should be specified on command line...
- CANISTER_O=`(while [ "x$1" != "x" ]; do case "$1" in *fipscanister.o) echo $1; exit;; esac; shift; done)`
- [ -n "$CANISTER_O" ] || { echo "fipscanister.o is not found"; exit 1; }
- PREMAIN_C=`dirname "${CANISTER_O}"`/fips_premain.c
-
- # verify fipspremain.c against its detached signature...
- ${FINGERTYPE} "${PREMAIN_C}" | sed "s/(.*\//(/" | \
- diff -w "${PREMAIN_C}.sha1" - || \
- { echo "${PREMAIN_C} fingerprint mismatch"; exit 1; }
- # verify fipscanister.o against its detached signature...
- ${FINGERTYPE} "${CANISTER_O}" | sed "s/(.*\//(/" | \
- diff -w "${CANISTER_O}.sha1" - || \
- { echo "${CANISTER_O} fingerprint mismatch"; exit 1; }
-
- /bin/rm -f "${TARGET}"
- ${CC} "${PREMAIN_C}" ${_WL_PREMAIN} "$@"
-
- # generate signature...
- SIG=`"${THERE}/fips/fips_premain_dso" "${TARGET}"`
- /bin/rm -f "${TARGET}"
- if [ -z "${SIG}" ]; then
- echo "unable to collect signature"; exit 1
- fi
-
- # recompile with signature...
- ${CC} -DHMAC_SHA1_SIG=\"${SIG}\" "${PREMAIN_C}" ${_WL_PREMAIN} "$@"
- ;;
-libcrypto*|*.dll) # must be linking a shared lib...