diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h index d1e6b14d536..789b8c0cb03 100644 --- a/MdePkg/Include/Base.h +++ b/MdePkg/Include/Base.h @@ -283,8 +283,13 @@ struct _LIST_ENTRY { /// /// Datum is scoped to the current file or function. +/// To support GoogleTest compiling static functions, do away with static in that case /// +#ifndef GOOGLETEST_HOST_UNIT_TEST_BUILD #define STATIC static +#else +#define STATIC +#endif /// /// Undeclared type. diff --git a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc index c9d94b0c591..4d3de43f9a0 100644 --- a/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc +++ b/UnitTestFrameworkPkg/UnitTestFrameworkPkgHost.dsc.inc @@ -43,7 +43,7 @@ # # MSFT # - MSFT:*_*_*_CC_FLAGS = /EHs + MSFT:*_*_*_CC_FLAGS = /EHs -D GOOGLETEST_HOST_UNIT_TEST_BUILD=1 MSFT:*_*_*_DLINK_FLAGS == /out:"$(BIN_DIR)\$(MODULE_NAME_GUID).exe" /pdb:"$(BIN_DIR)\$(MODULE_NAME_GUID).pdb" /IGNORE:4001 /NOLOGO /SUBSYSTEM:CONSOLE /DEBUG /STACK:0x40000,0x40000 /NODEFAULTLIB:libcmt.lib libcmtd.lib MSFT:*_*_IA32_DLINK_FLAGS = /MACHINE:I386 MSFT:*_*_X64_DLINK_FLAGS = /MACHINE:AMD64 @@ -61,6 +61,7 @@ # # GCC # + GCC:*_*_*_CC_FLAGS = -D GOOGLETEST_HOST_UNIT_TEST_BUILD=1 GCC:*_*_IA32_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -m32 -no-pie GCC:*_*_X64_DLINK_FLAGS == -o $(BIN_DIR)/$(MODULE_NAME_GUID) -m64 -no-pie GCC:*_*_*_DLINK2_FLAGS == -lgcov -lpthread -lstdc++ -lm @@ -68,6 +69,7 @@ # # Need to do this link via gcc and not ld as the pathing to libraries changes from OS version to OS version # + XCODE:*_*_*_CC_FLAGS = -D GOOGLETEST_HOST_UNIT_TEST_BUILD=1 XCODE:*_*_IA32_DLINK_PATH == gcc XCODE:*_*_IA32_CC_FLAGS = -I$(WORKSPACE)/EmulatorPkg/Unix/Host/X11IncludeHack XCODE:*_*_IA32_DLINK_FLAGS == -arch i386 -o $(BIN_DIR)/$(MODULE_NAME_GUID) -L/usr/X11R6/lib -lXext -lX11 -framework Carbon