VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/FirmwareNew/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc

Last change on this file was 108794, checked in by vboxsync, 4 weeks ago

Devices/EFI/FirmwareNew: Merge edk2-stable202502 from the vendor branch and make it build for the important platforms, bugref:4643

  • Property svn:eol-style set to native
File size: 5.9 KB
Line 
1## @file
2# UnitTestFrameworkPkg DSC include file for host based test DSC
3#
4# Copyright (c) 2019 - 2020, Intel Corporation. All rights reserved.<BR>
5# SPDX-License-Identifier: BSD-2-Clause-Patent
6#
7##
8
9!include UnitTestFrameworkPkg/UnitTestFrameworkPkgCommon.dsc.inc
10
11[Defines]
12 UNIT_TESTING_ADDRESS_SANITIZER_ENABLE = TRUE
13
14[LibraryClasses.common.HOST_APPLICATION]
15 BaseLib|MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
16 UnitTestHostBaseLib|MdePkg/Library/BaseLib/UnitTestHostBaseLib.inf
17 CpuLib|MdePkg/Library/BaseCpuLibNull/BaseCpuLibNull.inf
18 CacheMaintenanceLib|MdePkg/Library/BaseCacheMaintenanceLibNull/BaseCacheMaintenanceLibNull.inf
19 CmockaLib|UnitTestFrameworkPkg/Library/CmockaLib/CmockaLib.inf
20 GoogleTestLib|UnitTestFrameworkPkg/Library/GoogleTestLib/GoogleTestLib.inf
21 SubhookLib|UnitTestFrameworkPkg/Library/SubhookLib/SubhookLib.inf
22 FunctionMockLib|UnitTestFrameworkPkg/Library/FunctionMockLib/FunctionMockLib.inf
23 UnitTestLib|UnitTestFrameworkPkg/Library/UnitTestLib/UnitTestLibCmocka.inf
24 DebugLib|UnitTestFrameworkPkg/Library/Posix/DebugLibPosix/DebugLibPosix.inf
25 MemoryAllocationLib|UnitTestFrameworkPkg/Library/Posix/MemoryAllocationLibPosix/MemoryAllocationLibPosix.inf
26 HostMemoryAllocationBelowAddressLib|UnitTestFrameworkPkg/Library/Posix/MemoryAllocationLibPosix/MemoryAllocationLibPosix.inf
27 UefiBootServicesTableLib|UnitTestFrameworkPkg/Library/UnitTestUefiBootServicesTableLib/UnitTestUefiBootServicesTableLib.inf
28 PeiServicesTablePointerLib|UnitTestFrameworkPkg/Library/UnitTestPeiServicesTablePointerLib/UnitTestPeiServicesTablePointerLib.inf
29 NULL|UnitTestFrameworkPkg/Library/UnitTestDebugAssertLib/UnitTestDebugAssertLibHost.inf
30 NULL|MdePkg/Library/StackCheckLibNull/StackCheckLibNullHostApplication.inf
31
32[BuildOptions]
33 MSFT:*_*_*_CC_FLAGS = /MTd
34 GCC:*_*_*_CC_FLAGS = -fno-pie
35!if $(UNIT_TESTING_ADDRESS_SANITIZER_ENABLE)
36 #
37 # Enable Address Sanitizer for VS2019, VS2022, and GCC
38 #
39 MSFT:*_VS2019_*_CC_FLAGS = /fsanitize=address
40 MSFT:*_VS2022_*_CC_FLAGS = /fsanitize=address
41 GCC:*_*_*_CC_FLAGS = -fsanitize=address
42!endif
43!ifdef $(UNIT_TESTING_DEBUG)
44 MSFT:*_*_*_CC_FLAGS = -D UNIT_TESTING_DEBUG=1
45 GCC:*_*_*_CC_FLAGS = -D UNIT_TESTING_DEBUG=1
46 XCODE:*_*_*_CC_FLAGS = -D UNIT_TESTING_DEBUG=1
47!endif
48 GCC:*_*_*_CC_FLAGS = -fexceptions
49 GCC:*_*_*_CC_FLAGS = --coverage
50 GCC:*_*_*_DLINK_FLAGS = --coverage
51[BuildOptions.common.EDKII.HOST_APPLICATION]
52 #
53 # MSFT
54 #
55 MSFT:*_*_*_CC_FLAGS = /EHs
56 MSFT:*_*_*_DLINK_FLAGS == /nologo /SUBSYSTEM:CONSOLE /DEBUG /out:"$(BIN_DIR)\$(MODULE_NAME_GUID).exe" /pdb:"$(BIN_DIR)\$(MODULE_NAME_GUID).pdb"
57
58 MSFT:*_VS2015_IA32_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%Lib" /LIBPATH:"%VS2015_PREFIX%VC\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
59 MSFT:*_VS2015x86_IA32_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%Lib" /LIBPATH:"%VS2015_PREFIX%VC\Lib" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
60 MSFT:*_VS2017_IA32_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
61 MSFT:*_VS2019_IA32_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
62 MSFT:*_VS2022_IA32_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x86" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x86" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x86"
63
64 MSFT:*_VS2015_X64_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%VC\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
65 MSFT:*_VS2015x86_X64_DLINK_FLAGS = /LIBPATH:"%VS2015_PREFIX%VC\Lib\AMD64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
66 MSFT:*_VS2017_X64_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
67 MSFT:*_VS2019_X64_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
68 MSFT:*_VS2022_X64_DLINK_FLAGS = /LIBPATH:"%VCToolsInstallDir%lib\x64" /LIBPATH:"%UniversalCRTSdkDir%lib\%UCRTVersion%\ucrt\x64" /LIBPATH:"%WindowsSdkDir%lib\%WindowsSDKLibVersion%\um\x64"
69
70 #
71 # GCC
72 #
73 GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -m32 -no-pie
74 GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -m64 -no-pie
75 #
76 # Surround our static libraries with whole-archive, so constructor-based test registration works properly.
77 # Note that we need to --no-whole-archive before linking system libraries.
78 #
79 GCC:*_*_*_DLINK_FLAGS = -Wl,--whole-archive
80 GCC:*_*_*_DLINK2_FLAGS == -Wl,--no-whole-archive -lgcov -lpthread -lstdc++ -lm
81!if $(UNIT_TESTING_ADDRESS_SANITIZER_ENABLE)
82 #
83 # Enable Address Sanitizer for GCC for HOST_APPLICATION
84 #
85 GCC:*_*_*_DLINK_FLAGS = -fsanitize=address
86!endif
87
88 #
89 # Need to do this link via gcc and not ld as the pathing to libraries changes from OS version to OS version
90 #
91 XCODE:*_*_IA32_DLINK_PATH == gcc
92 XCODE:*_*_IA32_CC_FLAGS = -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack
93 XCODE:*_*_IA32_DLINK_FLAGS == -arch i386 -o $(BIN_DIR)/$(MODULE_NAME_GUID) -L/usr/X11R6/lib -lXext -lX11 -framework Carbon
94 XCODE:*_*_IA32_ASM_FLAGS == -arch i386 -g
95
96 XCODE:*_*_X64_DLINK_PATH == gcc
97 XCODE:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -L/usr/X11R6/lib -lXext -lX11 -framework Carbon -Wl,-no_pie
98 XCODE:*_*_X64_ASM_FLAGS == -g
99 XCODE:*_*_X64_CC_FLAGS = -O0 -target x86_64-apple-darwin -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack "-DEFIAPI=__attribute__((ms_abi))"
Note: See TracBrowser for help on using the repository browser.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette