[edk2-devel] [PATCH v6 00/16] BaseTools, CryptoPkg, EmulatorPkg, MdePkg, others: Delete CLANG35, CLANG38, VS2008-2013, EBC, deprecate GCC48, GCC49, GCC5, add GCC and GCCNOLTO, update CLANGDWARF

Rebecca Cran rebecca at bsdio.com
Mon May 1 16:08:23 UTC 2023


Update the toolchain definitions:

- Delete the CLANG35 and CLANG38 toolchains, and replace CLANG38 with
  CLANGDWARF, updating it to support ARM and AARCH64 in addition to X64
and IA32.

- Mark GCC48, GCC49 and GCC5 as deprecated.

- Add GCC and GCCNOLTO toolchain definitions.

- Remove VS2008, VS2010, VS2012 and VS2013.

- Remove EBC compiler definitions. Full removal of EBC support from the
  various packages etc. will be done in a follow-up patch series.

- Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS definitions.

- Remove unused CYGWIN_ definitions.

Personal GitHub PR: https://github.com/tianocore/edk2/pull/4240
GitHub branch: https://github.com/bcran/edk2/tree/clangdwarf

Note: CI is now passing.

Changes from v1 to v2
=====================

- Added a commit to delete GCC48 and GCC49, rename GCC5 to GCC and
  update the flags for other toolchains to work with the new GCC
  definitions.

- Bumped VERSION from 2.00 to 3.00 to inform users that they should
  update their Conf/tools_def.txt.

Changes from v2 to v3
=====================

- Keep GCC48, GCC49 and GCC5 but mark them deprecated, including with
  warnings at the start and end of running a build.

- Dropped the commit fixing the IA32 build of UefiPayloadPkg, because it
  causes CI to fail due to building both IA32 and X64 at the same time:

  "Module built under multiple ARCHs [IA32, X64]. Not able to determine which output to put into flash for Module..."

- Added more information to the VERSION section in tools_def.template.

- Various fixes to the CLANGDWARF flags.

Changes from v3 to v4
=====================

- Use lld for -a ARM -t CLANGDWARF.

Changes from v4 to v5
=====================

- Fixed CLANGDWARF on Windows when llvm is installed with the llvm.org
  installer and isn't installed in Visual Studio: use llvm-objcopy and the
  tools prefix.

- Added flags for GCCNOLTO to UnitTestFrameworkPkgHost.dsc.inc

- Added GCC flags to CryptoPkg/Library/OpensslLib/*.inf

Changes from v5 to v6
=====================

- Reworked CLANGDWARF toolchain definitions. I made mistakes when updating
  them and accidentally changed the IA32 and X64 definitions.

- Dropped the changes to build.py. The edk2-BaseTools repo should be
  updated first, and _then_ the edk2 BaseTools can be changed.

- Split the updates to CryptoPkg build flags into separate commits,
  copying the CLANGPDB flags to CLANGDWARF.

- Fixed non-ASCII character in 5/16 commit message.

- Removed trailing whitespace in tools_def.template.

Rebecca Cran (16):
  BaseTools: Remove VS2008, 2010, 2012 and 2013 toolchain definitions
  BaseTools: Remove VS2008-VS2013 remnants
  MdePkg: Remove VS2008-VS2013 remnants
  edksetup.bat: Remove VS2008-VS2013 remnants
  BaseTools: Remove unused IPHONE_TOOLS and SOURCERY_CYGWIN_TOOLS defs
  BaseTools: Remove EBC (EFI Byte Code) compiler definitions
  BaseTools: Update VS toolchain descriptions in tools_def.txt.template
  Add GCC and GCCNOLTO toolchains to tools_def.txt and update packages
  BaseTools/Conf/tools_def.template: Add section for deprecated
    toolchains
  BaseTools: Add ARM and AARCH64 CLANGDWARF support in
    tools_def.template
  BaseTools: As with CLANGDWARF IA32 and X64, use lld for ARM and
    AARCH64
  BaseTools: Remove CLANG35 toolchain from tools_def.template
  BaseTools: Delete CLANG38 from tools_def.template
  BaseTools/Conf/tools_def.template: Bump VERSION to 3.00
  CryptoPkg: Delete CLANG35 and CLANG38 build flags
  CryptoPkg: Copy CLANGPDB build flags to CLANGDWARF

 UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc       |    4 +
 IntelFsp2Pkg/Tools/Tests/QemuFspPkg.dsc                     |    8 +-
 CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf             |    3 +-
 CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf              |    3 +-
 CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf          |    3 +-
 CryptoPkg/Library/BaseCryptLib/SecCryptLib.inf              |    3 +-
 CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf              |    3 +-
 CryptoPkg/Library/BaseCryptLib/UnitTestHostBaseCryptLib.inf |    3 +-
 CryptoPkg/Library/OpensslLib/OpensslLib.inf                 |    4 +-
 CryptoPkg/Library/OpensslLib/OpensslLibAccel.inf            |    4 +-
 CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf           |    4 +-
 CryptoPkg/Library/OpensslLib/OpensslLibFull.inf             |    4 +-
 CryptoPkg/Library/OpensslLib/OpensslLibFullAccel.inf        |    5 +-
 EmulatorPkg/Unix/Host/Host.inf                              |    2 +
 MdePkg/Include/Ia32/ProcessorBind.h                         |    8 +-
 MdePkg/Include/X64/ProcessorBind.h                          |    8 +-
 BaseTools/Conf/tools_def.template                           | 1909 +++++---------------
 BaseTools/Scripts/SetVisualStudio.bat                       |   22 +-
 BaseTools/Scripts/ShowEnvironment.bat                       |   44 -
 BaseTools/get_vsvars.bat                                    |   13 -
 BaseTools/set_vsprefix_envs.bat                             |   64 -
 BaseTools/toolsetup.bat                                     |   24 +-
 edksetup.bat                                                |    6 +-
 23 files changed, 530 insertions(+), 1621 deletions(-)

-- 
2.39.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#103800): https://edk2.groups.io/g/devel/message/103800
Mute This Topic: https://groups.io/mt/98618973/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-




More information about the edk2-devel-archive mailing list