Yes, it's feasible.
I still prefer to use "Library/Include" path setting for this, since only 
CryptoPkg/Library/*
will refer to these internal header files.
It may be cleaner to keep the current directory in root of CryptoPkg. 


Best Regards & Thanks,
LONG, Qin

> -----Original Message-----
> From: Gao, Liming
> Sent: Thursday, April 06, 2017 2:09 PM
> To: Long, Qin; Ye, Ting
> Cc: edk2-devel@lists.01.org
> Subject: RE: [Patch] CryptoPkg: Move openssl and CRT headers to private
> include section
> 
> Qin:
>   How about creating new Private directory in CryptoPkg, then move those
> internal header files into it?
> 
> Thanks
> Liming
> >-----Original Message-----
> >From: Long, Qin
> >Sent: Thursday, April 06, 2017 1:56 PM
> >To: Gao, Liming <liming....@intel.com>; Ye, Ting <ting...@intel.com>
> >Cc: edk2-devel@lists.01.org; Long, Qin <qin.l...@intel.com>
> >Subject: [Patch] CryptoPkg: Move openssl and CRT headers to private
> >include section
> >
> >Moving the header files for openssl and CRT wrappers to the private
> >include section, since these files should be referenced by CryptoPkg
> >internally. This update was supported by new [Includes.Common.Private]
> >setting in Package DEC file.
> >The external consumer modules should only use the interfaces defined in
> >BaseCryptLib.h to access crypto functions. This change will be helpful
> >to immediately detect any illegal direct reference to internal openssl
> >headers.
> >The Perl script "process_files.pl" was also updated to reflect the new
> >private include path.
> >
> >Cc: Gao Liming <liming....@intel.com>
> >Cc: Ting Ye <ting...@intel.com>
> >Contributed-under: TianoCore Contribution Agreement 1.0
> >Signed-off-by: Qin Long <qin.l...@intel.com>
> >Signed-off-by: Long Qin <qin.l...@intel.com>
> >---
> > CryptoPkg/CryptoPkg.dec                               | 3 +++
> > CryptoPkg/{ => Library}/Include/CrtLibSupport.h       | 0
> > CryptoPkg/{ => Library}/Include/assert.h              | 0
> > CryptoPkg/{ => Library}/Include/ctype.h               | 0
> > CryptoPkg/{ => Library}/Include/errno.h               | 0
> > CryptoPkg/{ => Library}/Include/internal/dso_conf.h   | 0
> > CryptoPkg/{ => Library}/Include/limits.h              | 0
> > CryptoPkg/{ => Library}/Include/memory.h              | 0
> > CryptoPkg/{ => Library}/Include/openssl/opensslconf.h | 0
> > CryptoPkg/{ => Library}/Include/stdarg.h              | 0
> > CryptoPkg/{ => Library}/Include/stddef.h              | 0
> > CryptoPkg/{ => Library}/Include/stdio.h               | 0
> > CryptoPkg/{ => Library}/Include/stdlib.h              | 0
> > CryptoPkg/{ => Library}/Include/string.h              | 0
> > CryptoPkg/{ => Library}/Include/strings.h             | 0
> > CryptoPkg/{ => Library}/Include/sys/time.h            | 0
> > CryptoPkg/{ => Library}/Include/sys/types.h           | 0
> > CryptoPkg/{ => Library}/Include/syslog.h              | 0
> > CryptoPkg/{ => Library}/Include/time.h                | 0
> > CryptoPkg/{ => Library}/Include/unistd.h              | 0
> > CryptoPkg/Library/OpensslLib/process_files.pl         | 2 +-
> > 21 files changed, 4 insertions(+), 1 deletion(-)  rename CryptoPkg/{
> >=> Library}/Include/CrtLibSupport.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/assert.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/ctype.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/errno.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/internal/dso_conf.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/limits.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/memory.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/openssl/opensslconf.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/stdarg.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/stddef.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/stdio.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/stdlib.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/string.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/strings.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/sys/time.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/sys/types.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/syslog.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/time.h (100%)  rename CryptoPkg/{ =>
> >Library}/Include/unistd.h (100%)
> >
> >diff --git a/CryptoPkg/CryptoPkg.dec b/CryptoPkg/CryptoPkg.dec index
> >fdccbf06f7..b2fae6142a 100644
> >--- a/CryptoPkg/CryptoPkg.dec
> >+++ b/CryptoPkg/CryptoPkg.dec
> >@@ -24,6 +24,9 @@
> >
> > [Includes]
> >   Include
> >+
> >+[Includes.Common.Private]
> >+  Library/Include
> >   Library/OpensslLib/openssl/include
> >   Library/OpensslLib/openssl/crypto/include
> >
> >diff --git a/CryptoPkg/Include/CrtLibSupport.h
> >b/CryptoPkg/Library/Include/CrtLibSupport.h
> >similarity index 100%
> >rename from CryptoPkg/Include/CrtLibSupport.h rename to
> >CryptoPkg/Library/Include/CrtLibSupport.h
> >diff --git a/CryptoPkg/Include/assert.h
> >b/CryptoPkg/Library/Include/assert.h
> >similarity index 100%
> >rename from CryptoPkg/Include/assert.h
> >rename to CryptoPkg/Library/Include/assert.h
> >diff --git a/CryptoPkg/Include/ctype.h
> >b/CryptoPkg/Library/Include/ctype.h
> >similarity index 100%
> >rename from CryptoPkg/Include/ctype.h
> >rename to CryptoPkg/Library/Include/ctype.h diff --git
> >a/CryptoPkg/Include/errno.h b/CryptoPkg/Library/Include/errno.h
> >similarity index 100%
> >rename from CryptoPkg/Include/errno.h
> >rename to CryptoPkg/Library/Include/errno.h diff --git
> >a/CryptoPkg/Include/internal/dso_conf.h
> >b/CryptoPkg/Library/Include/internal/dso_conf.h
> >similarity index 100%
> >rename from CryptoPkg/Include/internal/dso_conf.h
> >rename to CryptoPkg/Library/Include/internal/dso_conf.h
> >diff --git a/CryptoPkg/Include/limits.h
> >b/CryptoPkg/Library/Include/limits.h
> >similarity index 100%
> >rename from CryptoPkg/Include/limits.h
> >rename to CryptoPkg/Library/Include/limits.h
> >diff --git a/CryptoPkg/Include/memory.h
> >b/CryptoPkg/Library/Include/memory.h
> >similarity index 100%
> >rename from CryptoPkg/Include/memory.h
> >rename to CryptoPkg/Library/Include/memory.h
> >diff --git a/CryptoPkg/Include/openssl/opensslconf.h
> >b/CryptoPkg/Library/Include/openssl/opensslconf.h
> >similarity index 100%
> >rename from CryptoPkg/Include/openssl/opensslconf.h
> >rename to CryptoPkg/Library/Include/openssl/opensslconf.h
> >diff --git a/CryptoPkg/Include/stdarg.h
> >b/CryptoPkg/Library/Include/stdarg.h
> >similarity index 100%
> >rename from CryptoPkg/Include/stdarg.h
> >rename to CryptoPkg/Library/Include/stdarg.h
> >diff --git a/CryptoPkg/Include/stddef.h
> >b/CryptoPkg/Library/Include/stddef.h
> >similarity index 100%
> >rename from CryptoPkg/Include/stddef.h
> >rename to CryptoPkg/Library/Include/stddef.h
> >diff --git a/CryptoPkg/Include/stdio.h
> >b/CryptoPkg/Library/Include/stdio.h
> >similarity index 100%
> >rename from CryptoPkg/Include/stdio.h
> >rename to CryptoPkg/Library/Include/stdio.h diff --git
> >a/CryptoPkg/Include/stdlib.h b/CryptoPkg/Library/Include/stdlib.h
> >similarity index 100%
> >rename from CryptoPkg/Include/stdlib.h
> >rename to CryptoPkg/Library/Include/stdlib.h
> >diff --git a/CryptoPkg/Include/string.h
> >b/CryptoPkg/Library/Include/string.h
> >similarity index 100%
> >rename from CryptoPkg/Include/string.h
> >rename to CryptoPkg/Library/Include/string.h
> >diff --git a/CryptoPkg/Include/strings.h
> >b/CryptoPkg/Library/Include/strings.h
> >similarity index 100%
> >rename from CryptoPkg/Include/strings.h rename to
> >CryptoPkg/Library/Include/strings.h
> >diff --git a/CryptoPkg/Include/sys/time.h
> >b/CryptoPkg/Library/Include/sys/time.h
> >similarity index 100%
> >rename from CryptoPkg/Include/sys/time.h rename to
> >CryptoPkg/Library/Include/sys/time.h
> >diff --git a/CryptoPkg/Include/sys/types.h
> >b/CryptoPkg/Library/Include/sys/types.h
> >similarity index 100%
> >rename from CryptoPkg/Include/sys/types.h rename to
> >CryptoPkg/Library/Include/sys/types.h
> >diff --git a/CryptoPkg/Include/syslog.h
> >b/CryptoPkg/Library/Include/syslog.h
> >similarity index 100%
> >rename from CryptoPkg/Include/syslog.h
> >rename to CryptoPkg/Library/Include/syslog.h
> >diff --git a/CryptoPkg/Include/time.h
> >b/CryptoPkg/Library/Include/time.h
> >similarity index 100%
> >rename from CryptoPkg/Include/time.h
> >rename to CryptoPkg/Library/Include/time.h diff --git
> >a/CryptoPkg/Include/unistd.h b/CryptoPkg/Library/Include/unistd.h
> >similarity index 100%
> >rename from CryptoPkg/Include/unistd.h
> >rename to CryptoPkg/Library/Include/unistd.h
> >diff --git a/CryptoPkg/Library/OpensslLib/process_files.pl
> >b/CryptoPkg/Library/OpensslLib/process_files.pl
> >index 210811b9ed..716ecbf39a 100644
> >--- a/CryptoPkg/Library/OpensslLib/process_files.pl
> >+++ b/CryptoPkg/Library/OpensslLib/process_files.pl
> >@@ -214,7 +214,7 @@ print "Done!";
> > #
> > print "\n--> Duplicating opensslconf.h into Include/openssl ... ";
> >copy($OPENSSL_PATH . "/include/openssl/opensslconf.h",
> >-     $OPENSSL_PATH . "/../../../Include/openssl/") ||
> >+     $OPENSSL_PATH . "/../../Include/openssl/") ||
> >    die "Cannot copy opensslconf.h!";
> > print "Done!\n";
> >
> >--
> >2.12.2.windows.1

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

Reply via email to