From: David Woodhouse <david.woodho...@intel.com>

In OpenSSL 1.1, all the public header files will reside directly in the
include/openssl/ directory of the source tree, rather than being symbolic
links. So we can just add that directory to our include path and not have
to worry about copying files around.

In fact, that *already* works on POSIX-compliant systems, because the
existing source release tarballs contain the required symlinks — they're
not created by the configuration. So we can switch our own include setup
now and kill the Install.sh for Linux, and change the Windows Install.cmd
script to copy the files there too.

When we update to 1.1, we can just kill Install.cmd completely (as well
as the patching step too, hopefully.)

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: David Woodhouse <david.woodho...@intel.com>
---
 CryptoPkg/CryptoPkg.dec                      |   1 +
 CryptoPkg/Include/openssl/README             |   1 -
 CryptoPkg/Library/OpensslLib/Install.cmd     | 150 +++++++++++++--------------
 CryptoPkg/Library/OpensslLib/Install.sh      |  79 --------------
 CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt |   8 +-
 5 files changed, 81 insertions(+), 158 deletions(-)
 delete mode 100644 CryptoPkg/Include/openssl/README
 delete mode 100755 CryptoPkg/Library/OpensslLib/Install.sh

diff --git a/CryptoPkg/CryptoPkg.dec b/CryptoPkg/CryptoPkg.dec
index 6f8bf21..c72344e 100644
--- a/CryptoPkg/CryptoPkg.dec
+++ b/CryptoPkg/CryptoPkg.dec
@@ -24,6 +24,7 @@
 
 [Includes]
   Include
+  Library/OpensslLib/openssl-1.0.2d/include
 
 [LibraryClasses]
   ##  @libraryclass  Provides basic library functions for cryptographic 
primitives.
diff --git a/CryptoPkg/Include/openssl/README b/CryptoPkg/Include/openssl/README
deleted file mode 100644
index 1594010..0000000
--- a/CryptoPkg/Include/openssl/README
+++ /dev/null
@@ -1 +0,0 @@
-This directory contains all the public include files from the OpenSSL project.
diff --git a/CryptoPkg/Library/OpensslLib/Install.cmd 
b/CryptoPkg/Library/OpensslLib/Install.cmd
index ef0a4bd..38fa58f 100755
--- a/CryptoPkg/Library/OpensslLib/Install.cmd
+++ b/CryptoPkg/Library/OpensslLib/Install.cmd
@@ -1,77 +1,77 @@
 cd openssl-1.0.2d
-copy e_os2.h                    ..\..\..\Include\openssl
-copy crypto\crypto.h            ..\..\..\Include\openssl
-copy crypto\opensslv.h          ..\..\..\Include\openssl
-copy crypto\opensslconf.h       ..\..\..\Include\openssl
-copy crypto\ebcdic.h            ..\..\..\Include\openssl
-copy crypto\symhacks.h          ..\..\..\Include\openssl
-copy crypto\ossl_typ.h          ..\..\..\Include\openssl
-copy crypto\objects\objects.h   ..\..\..\Include\openssl
-copy crypto\objects\obj_mac.h   ..\..\..\Include\openssl
-copy crypto\md4\md4.h           ..\..\..\Include\openssl
-copy crypto\md5\md5.h           ..\..\..\Include\openssl
-copy crypto\sha\sha.h           ..\..\..\Include\openssl
-copy crypto\mdc2\mdc2.h         ..\..\..\Include\openssl
-copy crypto\hmac\hmac.h         ..\..\..\Include\openssl
-copy crypto\ripemd\ripemd.h     ..\..\..\Include\openssl
-copy crypto\whrlpool\whrlpool.h ..\..\..\Include\openssl
-copy crypto\des\des.h           ..\..\..\Include\openssl
-copy crypto\des\des_old.h       ..\..\..\Include\openssl
-copy crypto\aes\aes.h           ..\..\..\Include\openssl
-copy crypto\rc2\rc2.h           ..\..\..\Include\openssl
-copy crypto\rc4\rc4.h           ..\..\..\Include\openssl
-copy crypto\idea\idea.h         ..\..\..\Include\openssl
-copy crypto\bf\blowfish.h       ..\..\..\Include\openssl
-copy crypto\cast\cast.h         ..\..\..\Include\openssl
-copy crypto\camellia\camellia.h ..\..\..\Include\openssl
-copy crypto\seed\seed.h         ..\..\..\Include\openssl
-copy crypto\modes\modes.h       ..\..\..\Include\openssl
-copy crypto\bn\bn.h             ..\..\..\Include\openssl
-copy crypto\ec\ec.h             ..\..\..\Include\openssl
-copy crypto\rsa\rsa.h           ..\..\..\Include\openssl
-copy crypto\dsa\dsa.h           ..\..\..\Include\openssl
-copy crypto\ecdsa\ecdsa.h       ..\..\..\Include\openssl
-copy crypto\dh\dh.h             ..\..\..\Include\openssl
-copy crypto\ecdh\ecdh.h         ..\..\..\Include\openssl
-copy crypto\dso\dso.h           ..\..\..\Include\openssl
-copy crypto\engine\engine.h     ..\..\..\Include\openssl
-copy crypto\buffer\buffer.h     ..\..\..\Include\openssl
-copy crypto\bio\bio.h           ..\..\..\Include\openssl
-copy crypto\stack\stack.h       ..\..\..\Include\openssl
-copy crypto\stack\safestack.h   ..\..\..\Include\openssl
-copy crypto\lhash\lhash.h       ..\..\..\Include\openssl
-copy crypto\rand\rand.h         ..\..\..\Include\openssl
-copy crypto\err\err.h           ..\..\..\Include\openssl
-copy crypto\evp\evp.h           ..\..\..\Include\openssl
-copy crypto\asn1\asn1.h         ..\..\..\Include\openssl
-copy crypto\asn1\asn1_mac.h     ..\..\..\Include\openssl
-copy crypto\asn1\asn1t.h        ..\..\..\Include\openssl
-copy crypto\pem\pem.h           ..\..\..\Include\openssl
-copy crypto\pem\pem2.h          ..\..\..\Include\openssl
-copy crypto\x509\x509.h         ..\..\..\Include\openssl
-copy crypto\x509\x509_vfy.h     ..\..\..\Include\openssl
-copy crypto\x509v3\x509v3.h     ..\..\..\Include\openssl
-copy crypto\conf\conf.h         ..\..\..\Include\openssl
-copy crypto\conf\conf_api.h     ..\..\..\Include\openssl
-copy crypto\txt_db\txt_db.h     ..\..\..\Include\openssl
-copy crypto\pkcs7\pkcs7.h       ..\..\..\Include\openssl
-copy crypto\pkcs12\pkcs12.h     ..\..\..\Include\openssl
-copy crypto\comp\comp.h         ..\..\..\Include\openssl
-copy crypto\ocsp\ocsp.h         ..\..\..\Include\openssl
-copy crypto\ui\ui.h             ..\..\..\Include\openssl
-copy crypto\ui\ui_compat.h      ..\..\..\Include\openssl
-copy crypto\krb5\krb5_asn.h     ..\..\..\Include\openssl
-copy crypto\cms\cms.h           ..\..\..\Include\openssl
-copy crypto\pqueue\pqueue.h     ..\..\..\Include\openssl
-copy crypto\ts\ts.h             ..\..\..\Include\openssl
-copy crypto\srp\srp.h           ..\..\..\Include\openssl
-copy crypto\cmac\cmac.h         ..\..\..\Include\openssl
-copy ssl\ssl.h                  ..\..\..\Include\openssl
-copy ssl\ssl2.h                 ..\..\..\Include\openssl
-copy ssl\ssl3.h                 ..\..\..\Include\openssl
-copy ssl\ssl23.h                ..\..\..\Include\openssl
-copy ssl\tls1.h                 ..\..\..\Include\openssl
-copy ssl\dtls1.h                ..\..\..\Include\openssl
-copy ssl\kssl.h                 ..\..\..\Include\openssl
-copy ssl\srtp.h                 ..\..\..\Include\openssl
+copy e_os2.h                    include\openssl
+copy crypto\crypto.h            include\openssl
+copy crypto\opensslv.h          include\openssl
+copy crypto\opensslconf.h       include\openssl
+copy crypto\ebcdic.h            include\openssl
+copy crypto\symhacks.h          include\openssl
+copy crypto\ossl_typ.h          include\openssl
+copy crypto\objects\objects.h   include\openssl
+copy crypto\objects\obj_mac.h   include\openssl
+copy crypto\md4\md4.h           include\openssl
+copy crypto\md5\md5.h           include\openssl
+copy crypto\sha\sha.h           include\openssl
+copy crypto\mdc2\mdc2.h         include\openssl
+copy crypto\hmac\hmac.h         include\openssl
+copy crypto\ripemd\ripemd.h     include\openssl
+copy crypto\whrlpool\whrlpool.h include\openssl
+copy crypto\des\des.h           include\openssl
+copy crypto\des\des_old.h       include\openssl
+copy crypto\aes\aes.h           include\openssl
+copy crypto\rc2\rc2.h           include\openssl
+copy crypto\rc4\rc4.h           include\openssl
+copy crypto\idea\idea.h         include\openssl
+copy crypto\bf\blowfish.h       include\openssl
+copy crypto\cast\cast.h         include\openssl
+copy crypto\camellia\camellia.h include\openssl
+copy crypto\seed\seed.h         include\openssl
+copy crypto\modes\modes.h       include\openssl
+copy crypto\bn\bn.h             include\openssl
+copy crypto\ec\ec.h             include\openssl
+copy crypto\rsa\rsa.h           include\openssl
+copy crypto\dsa\dsa.h           include\openssl
+copy crypto\ecdsa\ecdsa.h       include\openssl
+copy crypto\dh\dh.h             include\openssl
+copy crypto\ecdh\ecdh.h         include\openssl
+copy crypto\dso\dso.h           include\openssl
+copy crypto\engine\engine.h     include\openssl
+copy crypto\buffer\buffer.h     include\openssl
+copy crypto\bio\bio.h           include\openssl
+copy crypto\stack\stack.h       include\openssl
+copy crypto\stack\safestack.h   include\openssl
+copy crypto\lhash\lhash.h       include\openssl
+copy crypto\rand\rand.h         include\openssl
+copy crypto\err\err.h           include\openssl
+copy crypto\evp\evp.h           include\openssl
+copy crypto\asn1\asn1.h         include\openssl
+copy crypto\asn1\asn1_mac.h     include\openssl
+copy crypto\asn1\asn1t.h        include\openssl
+copy crypto\pem\pem.h           include\openssl
+copy crypto\pem\pem2.h          include\openssl
+copy crypto\x509\x509.h         include\openssl
+copy crypto\x509\x509_vfy.h     include\openssl
+copy crypto\x509v3\x509v3.h     include\openssl
+copy crypto\conf\conf.h         include\openssl
+copy crypto\conf\conf_api.h     include\openssl
+copy crypto\txt_db\txt_db.h     include\openssl
+copy crypto\pkcs7\pkcs7.h       include\openssl
+copy crypto\pkcs12\pkcs12.h     include\openssl
+copy crypto\comp\comp.h         include\openssl
+copy crypto\ocsp\ocsp.h         include\openssl
+copy crypto\ui\ui.h             include\openssl
+copy crypto\ui\ui_compat.h      include\openssl
+copy crypto\krb5\krb5_asn.h     include\openssl
+copy crypto\cms\cms.h           include\openssl
+copy crypto\pqueue\pqueue.h     include\openssl
+copy crypto\ts\ts.h             include\openssl
+copy crypto\srp\srp.h           include\openssl
+copy crypto\cmac\cmac.h         include\openssl
+copy ssl\ssl.h                  include\openssl
+copy ssl\ssl2.h                 include\openssl
+copy ssl\ssl3.h                 include\openssl
+copy ssl\ssl23.h                include\openssl
+copy ssl\tls1.h                 include\openssl
+copy ssl\dtls1.h                include\openssl
+copy ssl\kssl.h                 include\openssl
+copy ssl\srtp.h                 include\openssl
 cd ..
diff --git a/CryptoPkg/Library/OpensslLib/Install.sh 
b/CryptoPkg/Library/OpensslLib/Install.sh
deleted file mode 100755
index 877e775..0000000
--- a/CryptoPkg/Library/OpensslLib/Install.sh
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/sh
-
-cd openssl-1.0.2d
-cp e_os2.h                    ../../../Include/openssl
-cp crypto/crypto.h            ../../../Include/openssl
-cp crypto/opensslv.h          ../../../Include/openssl
-cp crypto/opensslconf.h       ../../../Include/openssl
-cp crypto/ebcdic.h            ../../../Include/openssl
-cp crypto/symhacks.h          ../../../Include/openssl
-cp crypto/ossl_typ.h          ../../../Include/openssl
-cp crypto/objects/objects.h   ../../../Include/openssl
-cp crypto/objects/obj_mac.h   ../../../Include/openssl
-cp crypto/md4/md4.h           ../../../Include/openssl
-cp crypto/md5/md5.h           ../../../Include/openssl
-cp crypto/sha/sha.h           ../../../Include/openssl
-cp crypto/mdc2/mdc2.h         ../../../Include/openssl
-cp crypto/hmac/hmac.h         ../../../Include/openssl
-cp crypto/ripemd/ripemd.h     ../../../Include/openssl
-cp crypto/whrlpool/whrlpool.h ../../../Include/openssl
-cp crypto/des/des.h           ../../../Include/openssl
-cp crypto/des/des_old.h       ../../../Include/openssl
-cp crypto/aes/aes.h           ../../../Include/openssl
-cp crypto/rc2/rc2.h           ../../../Include/openssl
-cp crypto/rc4/rc4.h           ../../../Include/openssl
-cp crypto/idea/idea.h         ../../../Include/openssl
-cp crypto/bf/blowfish.h       ../../../Include/openssl
-cp crypto/cast/cast.h         ../../../Include/openssl
-cp crypto/camellia/camellia.h ../../../Include/openssl
-cp crypto/seed/seed.h         ../../../Include/openssl
-cp crypto/modes/modes.h       ../../../Include/openssl
-cp crypto/bn/bn.h             ../../../Include/openssl
-cp crypto/ec/ec.h             ../../../Include/openssl
-cp crypto/rsa/rsa.h           ../../../Include/openssl
-cp crypto/dsa/dsa.h           ../../../Include/openssl
-cp crypto/ecdsa/ecdsa.h       ../../../Include/openssl
-cp crypto/dh/dh.h             ../../../Include/openssl
-cp crypto/ecdh/ecdh.h         ../../../Include/openssl
-cp crypto/dso/dso.h           ../../../Include/openssl
-cp crypto/engine/engine.h     ../../../Include/openssl
-cp crypto/buffer/buffer.h     ../../../Include/openssl
-cp crypto/bio/bio.h           ../../../Include/openssl
-cp crypto/stack/stack.h       ../../../Include/openssl
-cp crypto/stack/safestack.h   ../../../Include/openssl
-cp crypto/lhash/lhash.h       ../../../Include/openssl
-cp crypto/rand/rand.h         ../../../Include/openssl
-cp crypto/err/err.h           ../../../Include/openssl
-cp crypto/evp/evp.h           ../../../Include/openssl
-cp crypto/asn1/asn1.h         ../../../Include/openssl
-cp crypto/asn1/asn1_mac.h     ../../../Include/openssl
-cp crypto/asn1/asn1t.h        ../../../Include/openssl
-cp crypto/pem/pem.h           ../../../Include/openssl
-cp crypto/pem/pem2.h          ../../../Include/openssl
-cp crypto/x509/x509.h         ../../../Include/openssl
-cp crypto/x509/x509_vfy.h     ../../../Include/openssl
-cp crypto/x509v3/x509v3.h     ../../../Include/openssl
-cp crypto/conf/conf.h         ../../../Include/openssl
-cp crypto/conf/conf_api.h     ../../../Include/openssl
-cp crypto/txt_db/txt_db.h     ../../../Include/openssl
-cp crypto/pkcs7/pkcs7.h       ../../../Include/openssl
-cp crypto/pkcs12/pkcs12.h     ../../../Include/openssl
-cp crypto/comp/comp.h         ../../../Include/openssl
-cp crypto/ocsp/ocsp.h         ../../../Include/openssl
-cp crypto/ui/ui.h             ../../../Include/openssl
-cp crypto/ui/ui_compat.h      ../../../Include/openssl
-cp crypto/krb5/krb5_asn.h     ../../../Include/openssl
-cp crypto/cms/cms.h           ../../../Include/openssl
-cp crypto/pqueue/pqueue.h     ../../../Include/openssl
-cp crypto/ts/ts.h             ../../../Include/openssl
-cp crypto/srp/srp.h           ../../../Include/openssl
-cp crypto/cmac/cmac.h         ../../../Include/openssl
-cp ssl/ssl.h                  ../../../Include/openssl
-cp ssl/ssl2.h                 ../../../Include/openssl
-cp ssl/ssl3.h                 ../../../Include/openssl
-cp ssl/ssl23.h                ../../../Include/openssl
-cp ssl/tls1.h                 ../../../Include/openssl
-cp ssl/dtls1.h                ../../../Include/openssl
-cp ssl/kssl.h                 ../../../Include/openssl
-cp ssl/srtp.h                 ../../../Include/openssl
-cd ..
diff --git a/CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt 
b/CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt
index 59e74ee..8135f64 100644
--- a/CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt
+++ b/CryptoPkg/Library/OpensslLib/Patch-HOWTO.txt
@@ -38,6 +38,11 @@ cryptography. This patch will enable openssl building under 
UEFI environment.
           uncheck the WinZip smart CR/LF conversion option (WINZIP: Options -->
           Configuration --> Miscellaneous --> "TAR file smart CR/LF 
conversion").
 
+    NOTE: Windows systems do not support symbolic links, which are contained in
+          the OpenSSL source tree. To work around the limitation, the 
Install.cmd
+         script mentioned in the instructions below will copy the header files
+         to the OpenSSL include directory.
+
 3.  Apply this patch: EDKII_openssl-1.0.2d.patch, and make installation
 
     For Windows Environment:
@@ -56,6 +61,3 @@ cryptography. This patch will enable openssl building under 
UEFI environment.
        Patch utility is available from http://directory.fsf.org/project/patch/
     2) cd $(WORKSPACE)/CryptoPkg/Library/OpensslLib/openssl-1.0.2d
     3) patch -p0 -i ../EDKII_openssl-1.0.2d.patch
-    4) cd ..
-    5) ./Install.sh
-
-- 
2.4.3

-- 
David Woodhouse                            Open Source Technology Centre
david.woodho...@intel.com                              Intel Corporation

Attachment: smime.p7s
Description: S/MIME cryptographic signature

_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to