From f9496167549701f31968fea3b52c05c32689f7b9 Mon Sep 17 00:00:00 2001 From: Qin Long Date: Sat, 5 Mar 2016 23:45:59 +0800 Subject: [PATCH] CryptoPkg/OpensslLib: Automatically configure OpenSSL and generate file list OpenSSL 1.1 (as well as our backport to 1.0.2) now allows us to run its standard Configure script and import the result into the EDK II source repository for others to build natively. The opensslconf.h file and the list of files in OpensslLib.inf don't need to be managed manually. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: David Woodhouse Reviewed-by: Laszlo Ersek Reviewed-by: Qin Long Tested-by: Qin Long --- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 389 +----------------- CryptoPkg/Library/OpensslLib/opensslconf.h | 12 + CryptoPkg/Library/OpensslLib/process_files.sh | 97 +++++ 3 files changed, 120 insertions(+), 378 deletions(-) create mode 100644 CryptoPkg/Library/OpensslLib/process_files.sh diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf index 9b6e860337..c2a0c0f116 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -29,6 +29,7 @@ [Sources] $(OPENSSL_PATH)/e_os.h +# Autogenerated files list starts here $(OPENSSL_PATH)/crypto/cryptlib.c $(OPENSSL_PATH)/crypto/mem.c $(OPENSSL_PATH)/crypto/mem_clr.c @@ -44,66 +45,24 @@ $(OPENSSL_PATH)/crypto/o_fips.c $(OPENSSL_PATH)/crypto/o_init.c $(OPENSSL_PATH)/crypto/fips_ers.c - - # - # OBJECTS - # $(OPENSSL_PATH)/crypto/objects/o_names.c $(OPENSSL_PATH)/crypto/objects/obj_dat.c $(OPENSSL_PATH)/crypto/objects/obj_lib.c $(OPENSSL_PATH)/crypto/objects/obj_err.c $(OPENSSL_PATH)/crypto/objects/obj_xref.c - - # - # MD4 - # $(OPENSSL_PATH)/crypto/md4/md4_dgst.c $(OPENSSL_PATH)/crypto/md4/md4_one.c - - # - # MD5 - # $(OPENSSL_PATH)/crypto/md5/md5_dgst.c $(OPENSSL_PATH)/crypto/md5/md5_one.c - - # - # SHA - # $(OPENSSL_PATH)/crypto/sha/sha_dgst.c $(OPENSSL_PATH)/crypto/sha/sha1dgst.c $(OPENSSL_PATH)/crypto/sha/sha_one.c $(OPENSSL_PATH)/crypto/sha/sha1_one.c $(OPENSSL_PATH)/crypto/sha/sha256.c $(OPENSSL_PATH)/crypto/sha/sha512.c - - # - # MDC2 - Disabled by OPENSSL_NO_MDC2 - # - # $(OPENSSL_PATH)/crypto/mdc2/mdc2dgst.c - # $(OPENSSL_PATH)/crypto/mdc2/mdc2_one.c - - # - # HMAC - # $(OPENSSL_PATH)/crypto/hmac/hmac.c $(OPENSSL_PATH)/crypto/hmac/hm_ameth.c $(OPENSSL_PATH)/crypto/hmac/hm_pmeth.c - - # - # RIPEMD - Disabled by OPENSSL_NO_RIPEMD - # - # $(OPENSSL_PATH)/crypto/ripemd/rmd_dgst.c - # $(OPENSSL_PATH)/crypto/ripemd/rmd_one.c - - # - # WHIRLPOOL - Disabled by OPENSSL_NO_WHIRLPOOL - # - # $(OPENSSL_PATH)/crypto/whrlpool/wp_dgst.c - # $(OPENSSL_PATH)/crypto/whrlpool/wp_block.c - - # - # DES - # $(OPENSSL_PATH)/crypto/des/cbc_cksm.c $(OPENSSL_PATH)/crypto/des/cbc_enc.c $(OPENSSL_PATH)/crypto/des/cfb64enc.c @@ -130,10 +89,6 @@ $(OPENSSL_PATH)/crypto/des/des_old.c $(OPENSSL_PATH)/crypto/des/des_old2.c $(OPENSSL_PATH)/crypto/des/read2pwd.c - - # - # AES - # $(OPENSSL_PATH)/crypto/aes/aes_core.c $(OPENSSL_PATH)/crypto/aes/aes_misc.c $(OPENSSL_PATH)/crypto/aes/aes_ecb.c @@ -143,83 +98,9 @@ $(OPENSSL_PATH)/crypto/aes/aes_ctr.c $(OPENSSL_PATH)/crypto/aes/aes_ige.c $(OPENSSL_PATH)/crypto/aes/aes_wrap.c - - # - # RC2 - Disabled by OPENSSL_NO_RC2 - # - # $(OPENSSL_PATH)/crypto/rc2/rc2_ecb.c - # $(OPENSSL_PATH)/crypto/rc2/rc2_skey.c - # $(OPENSSL_PATH)/crypto/rc2/rc2_cbc.c - # $(OPENSSL_PATH)/crypto/rc2/rc2cfb64.c - # $(OPENSSL_PATH)/crypto/rc2/rc2ofb64.c - - # - # RC4 - # $(OPENSSL_PATH)/crypto/rc4/rc4_skey.c $(OPENSSL_PATH)/crypto/rc4/rc4_enc.c $(OPENSSL_PATH)/crypto/rc4/rc4_utl.c - - # - # RC5 - Disabled by OPENSSL_NO_RC5 - # - # $(OPENSSL_PATH)/crypto/rc5/rc5_skey.c - # $(OPENSSL_PATH)/crypto/rc5/rc5_ecb.c - # $(OPENSSL_PATH)/crypto/rc5/rc5_enc.c - # $(OPENSSL_PATH)/crypto/rc5/rc5cfb64.c - # $(OPENSSL_PATH)/crypto/rc5/rc5ofb64.c - - # - # IDEA - Disabled by OPENSSL_NO_IDEA - # - # $(OPENSSL_PATH)/crypto/idea/i_cbc.c - # $(OPENSSL_PATH)/crypto/idea/i_cfb64.c - # $(OPENSSL_PATH)/crypto/idea/i_ofb64.c - # $(OPENSSL_PATH)/crypto/idea/i_ecb.c - # $(OPENSSL_PATH)/crypto/idea/i_skey.c - - # - # BLOWFISH - Disabled by OPENSSL_NO_BF - # - # $(OPENSSL_PATH)/crypto/bf/bf_skey.c - # $(OPENSSL_PATH)/crypto/bf/bf_ecb.c - # $(OPENSSL_PATH)/crypto/bf/bf_enc.c - # $(OPENSSL_PATH)/crypto/bf/bf_cfb64.c - # $(OPENSSL_PATH)/crypto/bf/bf_ofb64.c - - # - # CAST - Disabled by OPENSSL_NO_CAST - # - # $(OPENSSL_PATH)/crypto/cast/c_skey.c - # $(OPENSSL_PATH)/crypto/cast/c_ecb.c - # $(OPENSSL_PATH)/crypto/cast/c_enc.c - # $(OPENSSL_PATH)/crypto/cast/c_cfb64.c - # $(OPENSSL_PATH)/crypto/cast/c_ofb64.c - - # - # CAMELLIA - Disabled by OPENSSL_NO_CAMELLIA - # - # $(OPENSSL_PATH)/crypto/camellia/camellia.c - # $(OPENSSL_PATH)/crypto/camellia/cmll_misc.c - # $(OPENSSL_PATH)/crypto/camellia/cmll_ecb.c - # $(OPENSSL_PATH)/crypto/camellia/cmll_cbc.c - # $(OPENSSL_PATH)/crypto/camellia/cmll_ofb.c - # $(OPENSSL_PATH)/crypto/camellia/cmll_cfb.c - # $(OPENSSL_PATH)/crypto/camellia/cmll_ctr.c - # $(OPENSSL_PATH)/crypto/camellia/cmll_utl.c - - # - # SEED - Disabled by OPENSSL_NO_SEED - # - # $(OPENSSL_PATH)/crypto/seed/seed.c - # $(OPENSSL_PATH)/crypto/seed/seed_ecb.c - # $(OPENSSL_PATH)/crypto/seed/seed_cbc.c - # $(OPENSSL_PATH)/crypto/seed/seed_cfb.c - # $(OPENSSL_PATH)/crypto/seed/seed_ofb.c - - # - # MODES - # $(OPENSSL_PATH)/crypto/modes/cbc128.c $(OPENSSL_PATH)/crypto/modes/ctr128.c $(OPENSSL_PATH)/crypto/modes/cts128.c @@ -229,10 +110,6 @@ $(OPENSSL_PATH)/crypto/modes/ccm128.c $(OPENSSL_PATH)/crypto/modes/xts128.c $(OPENSSL_PATH)/crypto/modes/wrap128.c - - # - # BIGNUM - # $(OPENSSL_PATH)/crypto/bn/bn_add.c $(OPENSSL_PATH)/crypto/bn/bn_div.c $(OPENSSL_PATH)/crypto/bn/bn_exp.c @@ -261,38 +138,6 @@ $(OPENSSL_PATH)/crypto/bn/bn_depr.c $(OPENSSL_PATH)/crypto/bn/bn_const.c $(OPENSSL_PATH)/crypto/bn/bn_x931p.c - - # - # ELLIPTIC CURVE - Disabled by OPENSSL_NO_EC - # - # $(OPENSSL_PATH)/crypto/ec/ec_lib.c - # $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c - # $(OPENSSL_PATH)/crypto/ec/ecp_mont.c - # $(OPENSSL_PATH)/crypto/ec/ecp_nist.c - # $(OPENSSL_PATH)/crypto/ec/ec_cvt.c - # $(OPENSSL_PATH)/crypto/ec/ec_mult.c - # $(OPENSSL_PATH)/crypto/ec/ec_err.c - # $(OPENSSL_PATH)/crypto/ec/ec_curve.c - # $(OPENSSL_PATH)/crypto/ec/ec_check.c - # $(OPENSSL_PATH)/crypto/ec/ec_print.c - # $(OPENSSL_PATH)/crypto/ec/ec_asn1.c - # $(OPENSSL_PATH)/crypto/ec/ec_key.c - # $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c - # $(OPENSSL_PATH)/crypto/ec/ec2_mult.c - # $(OPENSSL_PATH)/crypto/ec/ec_ameth.c - # $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c - # $(OPENSSL_PATH)/crypto/ec/eck_prn.c - # $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c - # $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c - # $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c - # $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c - # $(OPENSSL_PATH)/crypto/ec/ecp_oct.c - # $(OPENSSL_PATH)/crypto/ec/ec2_oct.c - # $(OPENSSL_PATH)/crypto/ec/ec_oct.c - - # - # RSA - # $(OPENSSL_PATH)/crypto/rsa/rsa_eay.c $(OPENSSL_PATH)/crypto/rsa/rsa_gen.c $(OPENSSL_PATH)/crypto/rsa/rsa_lib.c @@ -313,36 +158,6 @@ $(OPENSSL_PATH)/crypto/rsa/rsa_prn.c $(OPENSSL_PATH)/crypto/rsa/rsa_pmeth.c $(OPENSSL_PATH)/crypto/rsa/rsa_crpt.c - - # - # DSA - Disabled by OPENSSL_NO_DSA - # - # $(OPENSSL_PATH)/crypto/dsa/dsa_gen.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_key.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_lib.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_asn1.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_vrf.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_sign.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_err.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_ossl.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_depr.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_ameth.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_pmeth.c - # $(OPENSSL_PATH)/crypto/dsa/dsa_prn.c - - # - # ECDSA - Disabled by OPENSSL_NO_ECDSA - # - # $(OPENSSL_PATH)/crypto/ecdsa/ecs_lib.c - # $(OPENSSL_PATH)/crypto/ecdsa/ecs_asn1.c - # $(OPENSSL_PATH)/crypto/ecdsa/ecs_ossl.c - # $(OPENSSL_PATH)/crypto/ecdsa/ecs_sign.c - # $(OPENSSL_PATH)/crypto/ecdsa/ecs_vrf.c - # $(OPENSSL_PATH)/crypto/ecdsa/ecs_err.c - - # - # DIFFIE-HELLMAN - # $(OPENSSL_PATH)/crypto/dh/dh_asn1.c $(OPENSSL_PATH)/crypto/dh/dh_gen.c $(OPENSSL_PATH)/crypto/dh/dh_key.c @@ -354,20 +169,7 @@ $(OPENSSL_PATH)/crypto/dh/dh_pmeth.c $(OPENSSL_PATH)/crypto/dh/dh_prn.c $(OPENSSL_PATH)/crypto/dh/dh_rfc5114.c - # $(OPENSSL_PATH)/crypto/dh/dh_kdf.c - - # - # ECDH - Disabled by OPENSSL_NO_ECDH - # - # $(OPENSSL_PATH)/crypto/ecdh/ech_lib.c - # $(OPENSSL_PATH)/crypto/ecdh/ech_ossl.c - # $(OPENSSL_PATH)/crypto/ecdh/ech_key.c - # $(OPENSSL_PATH)/crypto/ecdh/ech_err.c - # $(OPENSSL_PATH)/crypto/ecdh/ech_kdf.c - - # - # DSO - # + $(OPENSSL_PATH)/crypto/dh/dh_kdf.c $(OPENSSL_PATH)/crypto/dso/dso_dl.c $(OPENSSL_PATH)/crypto/dso/dso_dlfcn.c $(OPENSSL_PATH)/crypto/dso/dso_err.c @@ -377,46 +179,9 @@ $(OPENSSL_PATH)/crypto/dso/dso_win32.c $(OPENSSL_PATH)/crypto/dso/dso_vms.c $(OPENSSL_PATH)/crypto/dso/dso_beos.c - - # - # ENGINE - Disabled by OPENSSL_NO_ENGINE - # - # $(OPENSSL_PATH)/crypto/engine/eng_err.c - # $(OPENSSL_PATH)/crypto/engine/eng_lib.c - # $(OPENSSL_PATH)/crypto/engine/eng_list.c - # $(OPENSSL_PATH)/crypto/engine/eng_init.c - # $(OPENSSL_PATH)/crypto/engine/eng_ctrl.c - # $(OPENSSL_PATH)/crypto/engine/eng_table.c - # $(OPENSSL_PATH)/crypto/engine/eng_pkey.c - # $(OPENSSL_PATH)/crypto/engine/eng_fat.c - # $(OPENSSL_PATH)/crypto/engine/eng_all.c - # $(OPENSSL_PATH)/crypto/engine/tb_rsa.c - # $(OPENSSL_PATH)/crypto/engine/tb_dsa.c - # $(OPENSSL_PATH)/crypto/engine/tb_ecdsa.c - # $(OPENSSL_PATH)/crypto/engine/tb_dh.c - # $(OPENSSL_PATH)/crypto/engine/tb_ecdh.c - # $(OPENSSL_PATH)/crypto/engine/tb_rand.c - # $(OPENSSL_PATH)/crypto/engine/tb_store.c - # $(OPENSSL_PATH)/crypto/engine/tb_cipher.c - # $(OPENSSL_PATH)/crypto/engine/tb_digest.c - # $(OPENSSL_PATH)/crypto/engine/tb_pkmeth.c - # $(OPENSSL_PATH)/crypto/engine/tb_asnmth.c - # $(OPENSSL_PATH)/crypto/engine/eng_openssl.c - # $(OPENSSL_PATH)/crypto/engine/eng_cnf.c - # $(OPENSSL_PATH)/crypto/engine/eng_dyn.c - # $(OPENSSL_PATH)/crypto/engine/eng_cryptodev.c - # $(OPENSSL_PATH)/crypto/engine/eng_rdrand.c - - # - # BUFFER - # $(OPENSSL_PATH)/crypto/buffer/buffer.c $(OPENSSL_PATH)/crypto/buffer/buf_str.c $(OPENSSL_PATH)/crypto/buffer/buf_err.c - - # - # BIO - # $(OPENSSL_PATH)/crypto/bio/bio_lib.c $(OPENSSL_PATH)/crypto/bio/bio_cb.c $(OPENSSL_PATH)/crypto/bio/bio_err.c @@ -428,10 +193,6 @@ $(OPENSSL_PATH)/crypto/bio/bss_conn.c $(OPENSSL_PATH)/crypto/bio/bf_null.c $(OPENSSL_PATH)/crypto/bio/bf_buff.c - # - # Not Required by UEFI. - # - # $(OPENSSL_PATH)/crypto/bio/b_print.c $(OPENSSL_PATH)/crypto/bio/b_dump.c $(OPENSSL_PATH)/crypto/bio/b_sock.c $(OPENSSL_PATH)/crypto/bio/bss_acpt.c @@ -439,41 +200,21 @@ $(OPENSSL_PATH)/crypto/bio/bss_log.c $(OPENSSL_PATH)/crypto/bio/bss_bio.c $(OPENSSL_PATH)/crypto/bio/bss_dgram.c - - # - # STACK - # $(OPENSSL_PATH)/crypto/stack/stack.c - - # - # LHASH - # $(OPENSSL_PATH)/crypto/lhash/lhash.c $(OPENSSL_PATH)/crypto/lhash/lh_stats.c - - # - # RAND - # $(OPENSSL_PATH)/crypto/rand/md_rand.c $(OPENSSL_PATH)/crypto/rand/randfile.c $(OPENSSL_PATH)/crypto/rand/rand_lib.c $(OPENSSL_PATH)/crypto/rand/rand_err.c - # $(OPENSSL_PATH)/crypto/rand/rand_egd.c - # $(OPENSSL_PATH)/crypto/rand/rand_win.c + $(OPENSSL_PATH)/crypto/rand/rand_egd.c + $(OPENSSL_PATH)/crypto/rand/rand_win.c $(OPENSSL_PATH)/crypto/rand/rand_unix.c - # $(OPENSSL_PATH)/crypto/rand/rand_os2.c - # $(OPENSSL_PATH)/crypto/rand/rand_nw.c - - # - # ERR - # + $(OPENSSL_PATH)/crypto/rand/rand_os2.c + $(OPENSSL_PATH)/crypto/rand/rand_nw.c $(OPENSSL_PATH)/crypto/err/err.c $(OPENSSL_PATH)/crypto/err/err_all.c $(OPENSSL_PATH)/crypto/err/err_prn.c - - # - # EVP - # $(OPENSSL_PATH)/crypto/evp/encode.c $(OPENSSL_PATH)/crypto/evp/digest.c $(OPENSSL_PATH)/crypto/evp/evp_enc.c @@ -534,10 +275,6 @@ $(OPENSSL_PATH)/crypto/evp/e_aes_cbc_hmac_sha1.c $(OPENSSL_PATH)/crypto/evp/e_aes_cbc_hmac_sha256.c $(OPENSSL_PATH)/crypto/evp/e_rc4_hmac_md5.c - - # - # ASN1 - # $(OPENSSL_PATH)/crypto/asn1/a_object.c $(OPENSSL_PATH)/crypto/asn1/a_bitstr.c $(OPENSSL_PATH)/crypto/asn1/a_utctm.c @@ -615,10 +352,6 @@ $(OPENSSL_PATH)/crypto/asn1/p5_pbev2.c $(OPENSSL_PATH)/crypto/asn1/p8_pkey.c $(OPENSSL_PATH)/crypto/asn1/asn_moid.c - - # - # PEM - # $(OPENSSL_PATH)/crypto/pem/pem_sign.c $(OPENSSL_PATH)/crypto/pem/pem_seal.c $(OPENSSL_PATH)/crypto/pem/pem_info.c @@ -631,10 +364,6 @@ $(OPENSSL_PATH)/crypto/pem/pem_pk8.c $(OPENSSL_PATH)/crypto/pem/pem_pkey.c $(OPENSSL_PATH)/crypto/pem/pvkfmt.c - - # - # X509 - # $(OPENSSL_PATH)/crypto/x509/x509_def.c $(OPENSSL_PATH)/crypto/x509/x509_d2.c $(OPENSSL_PATH)/crypto/x509/x509_r2x.c @@ -656,16 +385,9 @@ $(OPENSSL_PATH)/crypto/x509/x_all.c $(OPENSSL_PATH)/crypto/x509/x509_txt.c $(OPENSSL_PATH)/crypto/x509/x509_trs.c - # - # Not Required by UEFI. - # - # $(OPENSSL_PATH)/crypto/x509/by_file.c - # $(OPENSSL_PATH)/crypto/x509/by_dir.c + $(OPENSSL_PATH)/crypto/x509/by_file.c + $(OPENSSL_PATH)/crypto/x509/by_dir.c $(OPENSSL_PATH)/crypto/x509/x509_vpm.c - - # - # X509v3 - # $(OPENSSL_PATH)/crypto/x509v3/v3_bcons.c $(OPENSSL_PATH)/crypto/x509v3/v3_bitst.c $(OPENSSL_PATH)/crypto/x509v3/v3_conf.c @@ -702,14 +424,7 @@ $(OPENSSL_PATH)/crypto/x509v3/pcy_lib.c $(OPENSSL_PATH)/crypto/x509v3/v3_asid.c $(OPENSSL_PATH)/crypto/x509v3/v3_addr.c - # - # Not Required by UEFI. - # - # $(OPENSSL_PATH)/crypto/x509v3/v3_scts.c - - # - # CONF - # + $(OPENSSL_PATH)/crypto/x509v3/v3_scts.c $(OPENSSL_PATH)/crypto/conf/conf_err.c $(OPENSSL_PATH)/crypto/conf/conf_lib.c $(OPENSSL_PATH)/crypto/conf/conf_api.c @@ -717,15 +432,7 @@ $(OPENSSL_PATH)/crypto/conf/conf_mod.c $(OPENSSL_PATH)/crypto/conf/conf_mall.c $(OPENSSL_PATH)/crypto/conf/conf_sap.c - - # - # TXT_DB - # $(OPENSSL_PATH)/crypto/txt_db/txt_db.c - - # - # PKCS7 - # $(OPENSSL_PATH)/crypto/pkcs7/pk7_asn1.c $(OPENSSL_PATH)/crypto/pkcs7/pk7_lib.c $(OPENSSL_PATH)/crypto/pkcs7/pkcs7err.c @@ -734,10 +441,6 @@ $(OPENSSL_PATH)/crypto/pkcs7/pk7_attr.c $(OPENSSL_PATH)/crypto/pkcs7/pk7_mime.c $(OPENSSL_PATH)/crypto/pkcs7/bio_pk7.c - - # - # PKCS12 - # $(OPENSSL_PATH)/crypto/pkcs12/p12_add.c $(OPENSSL_PATH)/crypto/pkcs12/p12_asn.c $(OPENSSL_PATH)/crypto/pkcs12/p12_attr.c @@ -753,18 +456,10 @@ $(OPENSSL_PATH)/crypto/pkcs12/pk12err.c $(OPENSSL_PATH)/crypto/pkcs12/p12_p8d.c $(OPENSSL_PATH)/crypto/pkcs12/p12_p8e.c - - # - # COMP - # $(OPENSSL_PATH)/crypto/comp/comp_lib.c $(OPENSSL_PATH)/crypto/comp/comp_err.c $(OPENSSL_PATH)/crypto/comp/c_rle.c $(OPENSSL_PATH)/crypto/comp/c_zlib.c - - # - # OCSP - Disabled by OPENSSL_NO_OCSP - # $(OPENSSL_PATH)/crypto/ocsp/ocsp_asn.c $(OPENSSL_PATH)/crypto/ocsp/ocsp_ext.c $(OPENSSL_PATH)/crypto/ocsp/ocsp_ht.c @@ -774,75 +469,13 @@ $(OPENSSL_PATH)/crypto/ocsp/ocsp_prn.c $(OPENSSL_PATH)/crypto/ocsp/ocsp_vfy.c $(OPENSSL_PATH)/crypto/ocsp/ocsp_err.c - - # - # UI - # - $(OPENSSL_PATH)/crypto/ui/ui_lib.c - # - # Not Required by UEFI. - # - # $(OPENSSL_PATH)/crypto/ui/ui_err.c - # $(OPENSSL_PATH)/crypto/ui/ui_openssl.c - $(OPENSSL_PATH)/crypto/ui/ui_util.c - $(OPENSSL_PATH)/crypto/ui/ui_compat.c - - # - # KRB5 - # $(OPENSSL_PATH)/crypto/krb5/krb5_asn.c - - # - # CMS - Disabled by OPENSSL_NO_CMS - # - # $(OPENSSL_PATH)/crypto/cms/cms_lib.c - # $(OPENSSL_PATH)/crypto/cms/cms_asn1.c - # $(OPENSSL_PATH)/crypto/cms/cms_att.c - # $(OPENSSL_PATH)/crypto/cms/cms_io.c - # $(OPENSSL_PATH)/crypto/cms/cms_smime.c - # $(OPENSSL_PATH)/crypto/cms/cms_err.c - # $(OPENSSL_PATH)/crypto/cms/cms_sd.c - # $(OPENSSL_PATH)/crypto/cms/cms_dd.c - # $(OPENSSL_PATH)/crypto/cms/cms_cd.c - # $(OPENSSL_PATH)/crypto/cms/cms_env.c - # $(OPENSSL_PATH)/crypto/cms/cms_enc.c - # $(OPENSSL_PATH)/crypto/cms/cms_ess.c - # $(OPENSSL_PATH)/crypto/cms/cms_pwri.c - # $(OPENSSL_PATH)/crypto/cms/cms_kari.c - - # - # PQUEUE - # - #$(OPENSSL_PATH)/crypto/pqueue/pqueue.c - - # - # TS - # - #$(OPENSSL_PATH)/crypto/ts/ts_err.c - #$(OPENSSL_PATH)/crypto/ts/ts_req_utils.c - #$(OPENSSL_PATH)/crypto/ts/ts_req_print.c - #$(OPENSSL_PATH)/crypto/ts/ts_rsp_utils.c - #$(OPENSSL_PATH)/crypto/ts/ts_rsp_print.c - #$(OPENSSL_PATH)/crypto/ts/ts_rsp_sign.c - #$(OPENSSL_PATH)/crypto/ts/ts_rsp_verify.c - #$(OPENSSL_PATH)/crypto/ts/ts_verify_ctx.c - #$(OPENSSL_PATH)/crypto/ts/ts_lib.c - #$(OPENSSL_PATH)/crypto/ts/ts_conf.c - #$(OPENSSL_PATH)/crypto/ts/ts_asn1.c - - # - # SRP - Disabled by OPENSSL_NO_SRP - # - # $(OPENSSL_PATH)/crypto/srp/srp_lib.c - # $(OPENSSL_PATH)/crypto/srp/srp_vfy.c - - # - # CMAS - # $(OPENSSL_PATH)/crypto/cmac/cmac.c $(OPENSSL_PATH)/crypto/cmac/cm_ameth.c $(OPENSSL_PATH)/crypto/cmac/cm_pmeth.c +# Autogenerated files list ends here + [Packages] MdePkg/MdePkg.dec CryptoPkg/CryptoPkg.dec diff --git a/CryptoPkg/Library/OpensslLib/opensslconf.h b/CryptoPkg/Library/OpensslLib/opensslconf.h index d2c855b269..ac90dd4a24 100644 --- a/CryptoPkg/Library/OpensslLib/opensslconf.h +++ b/CryptoPkg/Library/OpensslLib/opensslconf.h @@ -92,6 +92,9 @@ extern "C" { #ifndef OPENSSL_NO_POSIX_IO # define OPENSSL_NO_POSIX_IO #endif +#ifndef OPENSSL_NO_PQUEUE +# define OPENSSL_NO_PQUEUE +#endif #ifndef OPENSSL_NO_RC2 # define OPENSSL_NO_RC2 #endif @@ -143,6 +146,9 @@ extern "C" { #ifndef OPENSSL_NO_STORE # define OPENSSL_NO_STORE #endif +#ifndef OPENSSL_NO_TS +# define OPENSSL_NO_TS +#endif #ifndef OPENSSL_NO_UI # define OPENSSL_NO_UI #endif @@ -254,6 +260,9 @@ extern "C" { # if defined(OPENSSL_NO_POSIX_IO) && !defined(NO_POSIX_IO) # define NO_POSIX_IO # endif +# if defined(OPENSSL_NO_PQUEUE) && !defined(NO_PQUEUE) +# define NO_PQUEUE +# endif # if defined(OPENSSL_NO_RC2) && !defined(NO_RC2) # define NO_RC2 # endif @@ -305,6 +314,9 @@ extern "C" { # if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) # define NO_STORE # endif +# if defined(OPENSSL_NO_TS) && !defined(NO_TS) +# define NO_TS +# endif # if defined(OPENSSL_NO_UI) && !defined(NO_UI) # define NO_UI # endif diff --git a/CryptoPkg/Library/OpensslLib/process_files.sh b/CryptoPkg/Library/OpensslLib/process_files.sh new file mode 100644 index 0000000000..6247ac9524 --- /dev/null +++ b/CryptoPkg/Library/OpensslLib/process_files.sh @@ -0,0 +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" . -- 2.39.2