diff --git a/CryptoPkg/Library/OpensslLib/process_files.sh b/CryptoPkg/Library/OpensslLib/process_files.sh old mode 100644 new mode 100755 index 6247ac9524..bb33c8ae3f --- a/CryptoPkg/Library/OpensslLib/process_files.sh +++ b/CryptoPkg/Library/OpensslLib/process_files.sh @@ -1,97 +1,97 @@ -#!/bin/sh -# -# This script runs the OpenSSL Configure script, then processes the -# resulting file list into our local OpensslLib.inf and also takes -# a copy of opensslconf.h. -# -# This only needs to be done once by a developer when updating to a -# new version of OpenSSL (or changing options, etc.). Normal users -# do not need to do this, since the results are stored in the EDK2 -# git repository for them. - -OPENSSL_PATH=$(sed -n '/DEFINE OPENSSL_PATH/{s/.* \(openssl-[0-9.]*[a-z]*\)[[:space:]]*/\1/ p}' OpensslLib.inf) - -if ! cd "${OPENSSL_PATH}" ; then - echo "Cannot change to OpenSSL directory \"${OPENSSL_PATH}\"" - exit 1 -fi - -./Configure UEFI \ - no-asm \ - no-bf \ - no-camellia \ - no-capieng \ - no-cast \ - no-cms \ - no-deprecated \ - no-dgram \ - no-dsa \ - no-dynamic-engine \ - no-ec \ - no-ecdh \ - no-ecdsa \ - no-engine \ - no-engines \ - no-err \ - no-filenames \ - no-fp-api \ - no-hw \ - no-idea \ - no-jpake \ - no-krb5 \ - no-locking \ - no-mdc2 \ - no-posix-io \ - no-pqueue \ - no-rc2 \ - no-rcs \ - no-rfc3779 \ - no-ripemd \ - no-scrypt \ - no-sct \ - no-seed \ - no-sha0 \ - no-sock \ - no-srp \ - no-ssl \ - no-stdio \ - no-threads \ - no-ts \ - no-ui \ - no-whirlpool \ - || exit 1 - -make files -cd - - -function filelist () -{ - echo '1,/# Autogenerated files list starts here/p' - echo '/# Autogenerated files list ends here/,$p' - echo '/# Autogenerated files list starts here/a\' - - while read LINE; do - case "$LINE" in - RELATIVE_DIRECTORY=*) - eval "$LINE" - ;; - LIBSRC=*) - LIBSRC=$(echo "$LINE" | sed s/^LIBSRC=//) - if [ "$RELATIVE_DIRECTORY" != "ssl" ]; then - for FILE in $LIBSRC; do - if [ "$FILE" != "b_print.c" ]; then - echo -e ' $(OPENSSL_PATH)/'$RELATIVE_DIRECTORY/$FILE\\r\\ - fi - done - fi - ;; - esac - done - echo -e \\r -} - -filelist < "${OPENSSL_PATH}/MINFO" | sed -n -f - -i OpensslLib.inf - -# We can tell Windows users to put this back manually if they can't run -# Configure. -cp "${OPENSSL_PATH}/crypto/opensslconf.h" . +#!/bin/sh +# +# This script runs the OpenSSL Configure script, then processes the +# resulting file list into our local OpensslLib.inf and also takes +# a copy of opensslconf.h. +# +# This only needs to be done once by a developer when updating to a +# new version of OpenSSL (or changing options, etc.). Normal users +# do not need to do this, since the results are stored in the EDK2 +# git repository for them. + +OPENSSL_PATH=$(sed -n '/DEFINE OPENSSL_PATH/{s/.* \(openssl-[0-9.]*[a-z]*\)[[:space:]]*/\1/ p}' OpensslLib.inf) + +if ! cd "${OPENSSL_PATH}" ; then + echo "Cannot change to OpenSSL directory \"${OPENSSL_PATH}\"" + exit 1 +fi + +./Configure UEFI \ + no-asm \ + no-bf \ + no-camellia \ + no-capieng \ + no-cast \ + no-cms \ + no-deprecated \ + no-dgram \ + no-dsa \ + no-dynamic-engine \ + no-ec \ + no-ecdh \ + no-ecdsa \ + no-engine \ + no-engines \ + no-err \ + no-filenames \ + no-fp-api \ + no-hw \ + no-idea \ + no-jpake \ + no-krb5 \ + no-locking \ + no-mdc2 \ + no-posix-io \ + no-pqueue \ + no-rc2 \ + no-rcs \ + no-rfc3779 \ + no-ripemd \ + no-scrypt \ + no-sct \ + no-seed \ + no-sha0 \ + no-sock \ + no-srp \ + no-ssl \ + no-stdio \ + no-threads \ + no-ts \ + no-ui \ + no-whirlpool \ + || exit 1 + +make files +cd - + +function filelist () +{ + echo '1,/# Autogenerated files list starts here/p' + echo '/# Autogenerated files list ends here/,$p' + echo '/# Autogenerated files list starts here/a\' + + while read LINE; do + case "$LINE" in + RELATIVE_DIRECTORY=*) + eval "$LINE" + ;; + LIBSRC=*) + LIBSRC=$(echo "$LINE" | sed s/^LIBSRC=//) + if [ "$RELATIVE_DIRECTORY" != "ssl" ]; then + for FILE in $LIBSRC; do + if [ "$FILE" != "b_print.c" ]; then + echo -e ' $(OPENSSL_PATH)/'$RELATIVE_DIRECTORY/$FILE\\r\\ + fi + done + fi + ;; + esac + done + echo -e \\r +} + +filelist < "${OPENSSL_PATH}/MINFO" | sed -n -f - -i OpensslLib.inf + +# We can tell Windows users to put this back manually if they can't run +# Configure. +cp "${OPENSSL_PATH}/crypto/opensslconf.h" .