diff options
Diffstat (limited to 'src/VBox/Devices/EFI/Firmware/BaseTools/Plugin/WindowsResourceCompiler')
2 files changed, 42 insertions, 0 deletions
diff --git a/src/VBox/Devices/EFI/Firmware/BaseTools/Plugin/WindowsResourceCompiler/WinRcPath.py b/src/VBox/Devices/EFI/Firmware/BaseTools/Plugin/WindowsResourceCompiler/WinRcPath.py new file mode 100755 index 00000000..5f1bb5a5 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/BaseTools/Plugin/WindowsResourceCompiler/WinRcPath.py @@ -0,0 +1,29 @@ +## @file WinRcPath.py +# Plugin to find Windows SDK Resource Compiler rc.exe +## +# This plugin works in conjuncture with the tools_def to support rc.exe +# +# Copyright (c) Microsoft Corporation +# SPDX-License-Identifier: BSD-2-Clause-Patent +## +import os +from edk2toolext.environment.plugintypes.uefi_build_plugin import IUefiBuildPlugin +import edk2toollib.windows.locate_tools as locate_tools +from edk2toolext.environment import shell_environment +from edk2toolext.environment import version_aggregator + +class WinRcPath(IUefiBuildPlugin): + + def do_post_build(self, thebuilder): + return 0 + + def do_pre_build(self, thebuilder): + #get the locate tools module + path = locate_tools.FindToolInWinSdk("rc.exe") + if path is None: + thebuilder.logging.warning("Failed to find rc.exe") + else: + p = os.path.abspath(os.path.dirname(path)) + shell_environment.GetEnvironment().set_shell_var("WINSDK_PATH_FOR_RC_EXE", p) + version_aggregator.GetVersionAggregator().ReportVersion("WINSDK_PATH_FOR_RC_EXE", p, version_aggregator.VersionTypes.INFO) + return 0 diff --git a/src/VBox/Devices/EFI/Firmware/BaseTools/Plugin/WindowsResourceCompiler/WinRcPath_plug_in.yaml b/src/VBox/Devices/EFI/Firmware/BaseTools/Plugin/WindowsResourceCompiler/WinRcPath_plug_in.yaml new file mode 100644 index 00000000..9dc55347 --- /dev/null +++ b/src/VBox/Devices/EFI/Firmware/BaseTools/Plugin/WindowsResourceCompiler/WinRcPath_plug_in.yaml @@ -0,0 +1,13 @@ +## @file +# Build Plugin used to set the path to rc.exe on windows. +# The plugin is able to use python to locate the tool as to avoid +# hard-coding the path +# +# Copyright (c) Microsoft Corporation. +# SPDX-License-Identifier: BSD-2-Clause-Patent +## +{ + "scope": "global-win", + "name": "Windows RC Path Support", + "module": "WinRcPath" +} |