add support to easily remove profiles and shell levels. the libraries will not do anything (but no longer fail), if the PCDs are changed to remove their functionality.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11666 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jcarsey 2011-05-16 22:12:20 +00:00
parent 4880c2c94d
commit 82571fb5d1
8 changed files with 18 additions and 33 deletions

View File

@ -56,7 +56,7 @@ UefiShellDebug1CommandsLibConstructor (
// check our bit of the profiles mask // check our bit of the profiles mask
// //
if ((PcdGet8(PcdShellProfileMask) & BIT1) == 0) { if ((PcdGet8(PcdShellProfileMask) & BIT1) == 0) {
return (EFI_UNSUPPORTED); return (EFI_SUCCESS);
} }
// //

View File

@ -57,7 +57,7 @@ UefiShellDriver1CommandsLibConstructor (
// check our bit of the profiles mask // check our bit of the profiles mask
// //
if ((PcdGet8(PcdShellProfileMask) & BIT0) == 0) { if ((PcdGet8(PcdShellProfileMask) & BIT0) == 0) {
return (EFI_UNSUPPORTED); return (EFI_SUCCESS);
} }
// //

View File

@ -57,7 +57,7 @@ ShellInstall1CommandsLibConstructor (
// check our bit of the profiles mask // check our bit of the profiles mask
// //
if ((PcdGet8(PcdShellProfileMask) & BIT2) == 0) { if ((PcdGet8(PcdShellProfileMask) & BIT2) == 0) {
return (EFI_UNSUPPORTED); return (EFI_SUCCESS);
} }
gShellInstall1HiiHandle = HiiAddPackages (&gShellInstall1HiiGuid, gImageHandle, UefiShellInstall1CommandsLibStrings, NULL); gShellInstall1HiiHandle = HiiAddPackages (&gShellInstall1HiiGuid, gImageHandle, UefiShellInstall1CommandsLibStrings, NULL);

View File

@ -58,7 +58,7 @@ ShellLevel1CommandsLibConstructor (
// if shell level is less than 2 do nothing // if shell level is less than 2 do nothing
// //
if (PcdGet8(PcdShellSupportLevel) < 1) { if (PcdGet8(PcdShellSupportLevel) < 1) {
return (EFI_UNSUPPORTED); return (EFI_SUCCESS);
} }
gShellLevel1HiiHandle = HiiAddPackages (&gShellLevel1HiiGuid, gImageHandle, UefiShellLevel1CommandsLibStrings, NULL); gShellLevel1HiiHandle = HiiAddPackages (&gShellLevel1HiiGuid, gImageHandle, UefiShellLevel1CommandsLibStrings, NULL);

View File

@ -77,7 +77,7 @@ ShellLevel2CommandsLibConstructor (
// if shell level is less than 2 do nothing // if shell level is less than 2 do nothing
// //
if (PcdGet8(PcdShellSupportLevel) < 2) { if (PcdGet8(PcdShellSupportLevel) < 2) {
return (EFI_UNSUPPORTED); return (EFI_SUCCESS);
} }
gShellLevel2HiiHandle = HiiAddPackages (&gShellLevel2HiiGuid, gImageHandle, UefiShellLevel2CommandsLibStrings, NULL); gShellLevel2HiiHandle = HiiAddPackages (&gShellLevel2HiiGuid, gImageHandle, UefiShellLevel2CommandsLibStrings, NULL);

View File

@ -57,7 +57,7 @@ ShellLevel3CommandsLibConstructor (
// if shell level is less than 3 do nothing // if shell level is less than 3 do nothing
// //
if (PcdGet8(PcdShellSupportLevel) < 3) { if (PcdGet8(PcdShellSupportLevel) < 3) {
return (EFI_UNSUPPORTED); return (EFI_SUCCESS);
} }
gShellLevel3HiiHandle = HiiAddPackages (&gShellLevel3HiiGuid, gImageHandle, UefiShellLevel3CommandsLibStrings, NULL); gShellLevel3HiiHandle = HiiAddPackages (&gShellLevel3HiiGuid, gImageHandle, UefiShellLevel3CommandsLibStrings, NULL);

View File

@ -58,7 +58,7 @@ ShellNetwork1CommandsLibConstructor (
// check our bit of the profiles mask // check our bit of the profiles mask
// //
if ((PcdGet8(PcdShellProfileMask) & BIT3) == 0) { if ((PcdGet8(PcdShellProfileMask) & BIT3) == 0) {
return (EFI_UNSUPPORTED); return (EFI_SUCCESS);
} }
gShellNetwork1HiiHandle = HiiAddPackages (&gShellNetwork1HiiGuid, gImageHandle, UefiShellNetwork1CommandsLibStrings, NULL); gShellNetwork1HiiHandle = HiiAddPackages (&gShellNetwork1HiiGuid, gImageHandle, UefiShellNetwork1CommandsLibStrings, NULL);

View File

@ -27,7 +27,7 @@
UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf UefiApplicationEntryPoint|MdePkg/Library/UefiApplicationEntryPoint/UefiApplicationEntryPoint.inf
UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf MemoryAllocationLib|MdePkg/Library/UefiMemoryAllocationLib/UefiMemoryAllocationLib.inf
@ -57,10 +57,15 @@
# #
NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf
[PcdsFixedAtBuild]
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|16000
!ifdef $(NO_SHELL_PROFILES)
gEfiShellPkgTokenSpaceGuid.PcdShellProfileMask|0x00
!endif
[PcdsFixedAtBuild.common] [Components]
[Components.common]
ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
ShellPkg/Library/UefiShellLib/UefiShellLib.inf ShellPkg/Library/UefiShellLib/UefiShellLib.inf
ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
@ -69,34 +74,14 @@
ShellPkg/Application/Shell/Shell.inf { ShellPkg/Application/Shell/Shell.inf {
<LibraryClasses> <LibraryClasses>
DebugLib|MdePkg/Library/UefiDebugLibConOut/UefiDebugLibConOut.inf
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf NULL|ShellPkg/Library/UefiShellLevel2CommandsLib/UefiShellLevel2CommandsLib.inf
NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf NULL|ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf NULL|ShellPkg/Library/UefiShellLevel3CommandsLib/UefiShellLevel3CommandsLib.inf
!ifndef $(NO_SHELL_PROFILES)
NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf NULL|ShellPkg/Library/UefiShellDriver1CommandsLib/UefiShellDriver1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf NULL|ShellPkg/Library/UefiShellInstall1CommandsLib/UefiShellInstall1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf NULL|ShellPkg/Library/UefiShellDebug1CommandsLib/UefiShellDebug1CommandsLib.inf
NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf NULL|ShellPkg/Library/UefiShellNetwork1CommandsLib/UefiShellNetwork1CommandsLib.inf
HandleParsingLib|ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.inf !endif
FileHandleLib|ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf
ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf
SortLib|ShellPkg/Library/UefiSortLib/UefiSortLib.inf
PrintLib|MdePkg/Library/BasePrintLib/BasePrintLib.inf
<PcdsFixedAtBuild>
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0xFF
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
gEfiMdePkgTokenSpaceGuid.PcdUefiLibMaxPrintBufferSize|16000
} }
ShellPkg/Application/ShellCTestApp/ShellCTestApp.inf {
<LibraryClasses>
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
}
ShellPkg/Application/ShellSortTestApp/ShellSortTestApp.inf {
<LibraryClasses>
ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf
}
ShellPkg/Application/ShellExecTestApp/SA.inf