A modern, feature-rich, cross-platform firmware development environment\r
for the UEFI and PI specifications from www.uefi.org.\r
\r
+# Build Status\r
+\r
+<table>\r
+ <tr>\r
+ <th>Host Type</th>\r
+ <th>Toolchain</th>\r
+ <th>Branch</th>\r
+ <th>Build Status</th>\r
+ <th>Test Status</th>\r
+ <th>Code Coverage</th>\r
+ </tr>\r
+ <tr>\r
+ <td>Windows</td>\r
+ <td>VS2019</td>\r
+ <td>master</td>\r
+ <td>\r
+ <a href="https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=32&branchName=master">\r
+ <img src="https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Windows%20VS2019%20CI?branchName=master"/></a>\r
+ </td>\r
+ <td>\r
+ <a href="https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=32&branchName=master">\r
+ <img src="https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/32.svg"/></a>\r
+ </td>\r
+ <td>\r
+ <a href="https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=32&branchName=master">\r
+ <img src="https://img.shields.io/badge/coverage-coming_soon-blue"/></a>\r
+ </td>\r
+ </tr>\r
+ <tr>\r
+ <td>Ubuntu</td>\r
+ <td>GCC</td>\r
+ <td>master</td>\r
+ <td>\r
+ <a href="https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master">\r
+ <img src="https://dev.azure.com/tianocore/edk2-ci/_apis/build/status/Ubuntu%20GCC5%20CI?branchName=master"/></a>\r
+ </td>\r
+ <td>\r
+ <a href="https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master">\r
+ <img src="https://img.shields.io/azure-devops/tests/tianocore/edk2-ci/31.svg"/></a>\r
+ </td>\r
+ <td>\r
+ <a href="https://dev.azure.com/tianocore/edk2-ci/_build/latest?definitionId=31&branchName=master">\r
+ <img src="https://img.shields.io/badge/coverage-coming_soon-blue"/></a>\r
+ </td>\r
+ </tr>\r
+</table>\r
+\r
+[More CI Build information](.pytool/Readme.md)\r
+\r
+# License Details\r
+\r
The majority of the content in the EDK II open source project uses a\r
[BSD-2-Clause Plus Patent License](License.txt). The EDK II open source project\r
contains the following components that are covered by additional licenses:\r
* [TianoCore Bugzilla](https://bugzilla.tianocore.org)\r
* [How To Contribute](https://github.com/tianocore/tianocore.github.io/wiki/How-To-Contribute)\r
* [Release Planning](https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Release-Planning)\r
-* [UDK2017](https://github.com/tianocore/edk2/releases/tag/vUDK2017)\r
-* [UDK2018](https://github.com/tianocore/edk2/releases/tag/vUDK2018)\r
-* [edk2-stable201811](https://github.com/tianocore/edk2/releases/tag/edk2-stable201811)\r
\r
# Code Contributions\r
To make a contribution to a TianoCore project, follow these steps.\r
the change. Each line should be less than ~70 characters.\r
* `Signed-off-by` is the contributor's signature identifying them\r
by their real/legal name and their email address.\r
+\r
+# Submodules\r
+\r
+Submodule in EDK II is allowed but submodule chain should be avoided\r
+as possible as we can. Currently EDK II contains the following submodules\r
+\r
+- CryptoPkg/Library/OpensslLib/openssl\r
+- ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3\r
+\r
+ArmSoftFloatLib is actually required by OpensslLib. It's inevitable\r
+in openssl-1.1.1 (since stable201905) for floating point parameter\r
+conversion, but should be dropped once there's no such need in future\r
+release of openssl.\r
+\r
+To get a full, buildable EDK II repository, use following steps of git\r
+command\r
+\r
+```\r
+$ git clone https://github.com/tianocore/edk2.git\r
+$ cd edk2\r
+$ git submodule update --init\r
+$ cd ..\r
+```\r
+\r
+If there's update for submodules, use following git commands to get the\r
+latest submodules code.\r
+\r
+```\r
+$ cd edk2\r
+$ git pull\r
+$ git submodule update\r
+```\r
+\r
+Note: When cloning submodule repos, '--recursive' option is not\r
+recommended. EDK II itself will not use any code/feature from\r
+submodules in above submodules. So using '--recursive' adds a\r
+dependency on being able to reach servers we do not actually want\r
+any code from, as well as needlessly downloading code we will not\r
+use.\r