BaseTools/build: Add defines for Windows build environments

The stuart tools automatically add -D WIN_HOST_BUILD to
edk2 build command line if a Windows build environment
is detected. This behavior is added to build.py so that
builds of the EmulatorPkg using build.py are not required
to add the option -D WIN_HOST_BUILD when building in a
Windows environment. This aligns Linux and Windows builds
of the EmulatorPkg removing the need to specify extra
defines.

In order to build the EmulatorPkg for Windows Mingw
environments, EmulatorPkg DSC/FDF files require a way
to detect if Windows Mingw environment is present.
The Windows Mingw environment can be detected if
CLANG_BIN is set and mingw32-make.exe is detected
in the CLANG_BIN directory.

If a Windows Mingw environment is detected, add
-D WIN_MINGW32_BUILD to the edk2 build command line.

Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
This commit is contained in:
Michael D Kinney 2025-12-26 10:57:44 -08:00 committed by mergify[bot]
parent 185e424602
commit a0002ddc53

View file

@ -2627,6 +2627,11 @@ def Main():
if platform.platform().find("Windows") >= 0:
GlobalData.gIsWindows = True
GlobalData.gCommandLineDefines['WIN_HOST_BUILD'] = 'TRUE'
clang_bin = os.getenv("CLANG_BIN")
if clang_bin:
if os.path.exists(os.path.join(clang_bin, "mingw32-make.exe")):
GlobalData.gCommandLineDefines['WIN_MINGW32_BUILD'] = 'TRUE'
else:
GlobalData.gIsWindows = False