audk/OvmfPkg/PlatformCI/PlatformBuild.py
Gerd Hoffmann 61be49e0f7 OvmfPkg/PlatformCI: factor out PlatformBuildLib.py
Move SettingsManager and PlatformBuilder classes to PlatformBuildLib.py
file, keep only CommonPlatform class in PlatformBuild.py.  Allows
reusing these classes for other builds.  Pure code motion, no functional
change.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
Acked-by: Ard Biesheuvel <ardb@kernel.org>
2021-12-13 11:36:57 +00:00

44 lines
1.5 KiB
Python

# @file
# Script to Build OVMF UEFI firmware
#
# Copyright (c) Microsoft Corporation.
# SPDX-License-Identifier: BSD-2-Clause-Patent
##
import os
import sys
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
from PlatformBuildLib import SettingsManager
from PlatformBuildLib import PlatformBuilder
# ####################################################################################### #
# Common Configuration #
# ####################################################################################### #
class CommonPlatform():
''' Common settings for this platform. Define static data here and use
for the different parts of stuart
'''
PackagesSupported = ("OvmfPkg",)
ArchSupported = ("IA32", "X64")
TargetsSupported = ("DEBUG", "RELEASE", "NOOPT")
Scopes = ('ovmf', 'edk2-build')
WorkspaceRoot = os.path.realpath(os.path.join(
os.path.dirname(os.path.abspath(__file__)), "..", ".."))
@classmethod
def GetDscName(cls, ArchCsv: str) -> str:
''' return the DSC given the architectures requested.
ArchCsv: csv string containing all architectures to build
'''
dsc = "OvmfPkg"
if "IA32" in ArchCsv.upper().split(","):
dsc += "Ia32"
if "X64" in ArchCsv.upper().split(","):
dsc += "X64"
dsc += ".dsc"
return dsc
import PlatformBuildLib
PlatformBuildLib.CommonPlatform = CommonPlatform