]> git.proxmox.com Git - mirror_edk2.git/blobdiff - StdLib/StdLib.inc
StdLib: Remove EfiSocketLib and Ip4Config Protocol dependency.
[mirror_edk2.git] / StdLib / StdLib.inc
index 3f16fb9da85d93f2c162524ed38cdc3a05637294..1b7fcf0bae31acf3f8a550f4e1fa17de53469b4d 100644 (file)
@@ -4,6 +4,15 @@
 #\r
 # The including DSC file must DEFINE the EMULATE macro if\r
 # the application is to be run in an emulation environment.\r
+#\r
+#  Copyright (c) 2011 - 2014, Intel Corporation. All rights reserved.<BR>\r
+#  This program and the accompanying materials\r
+#  are licensed and made available under the terms and conditions of the BSD License\r
+#  which accompanies this distribution. The full text of the license may be found at\r
+#  http://opensource.org/licenses/bsd-license.\r
+#\r
+#  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+#  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
 ################################################################\r
 \r
 ##########\r
   UseSocketDxe|StdLib/UseSocketDxe/UseSocketDxe.inf\r
 \r
 [LibraryClasses.Common.UEFI_APPLICATION]\r
+  ShellLib|ShellPkg/Library/UefiShellLib/UefiShellLib.inf\r
+  FileHandleLib|MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.inf\r
+  SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
+  ShellCEntryLib|ShellPkg/Library/UefiShellCEntryLib/UefiShellCEntryLib.inf\r
+\r
   #\r
   # C Standard Libraries\r
   #\r
   LibNetUtil|StdLib/LibC/NetUtil/NetUtil.inf\r
 \r
 # Additional libraries for POSIX functionality.\r
+  LibPosix|StdLib/PosixLib/PosixLib.inf   # Combines LibErr, LibGen, LibGlob, LibStringlist, GetPass into one library\r
+\r
   LibErr|StdLib/PosixLib/Err/LibErr.inf\r
   LibGen|StdLib/PosixLib/Gen/LibGen.inf\r
   LibGlob|StdLib/PosixLib/Glob/LibGlob.inf\r
   LibStringlist|StdLib/PosixLib/Stringlist/LibStringlist.inf\r
+  LibIIO|StdLib/LibC/Uefi/InteractiveIO/IIO.inf\r
+\r
+# Additional, non-standard, libraries\r
+  LibContainer|StdLib/LibC/Containers/ContainerLib.inf\r
 \r
 # Libraries for device abstractions within the Standard C Library\r
 # Applications should not directly access any functions defined in these libraries.\r
   LibGdtoa|StdLib/LibC/gdtoa/gdtoa.inf\r
   DevConsole|StdLib/LibC/Uefi/Devices/daConsole.inf\r
-  DevShell|StdLib/LibC/Uefi/Devices/daShell.inf\r
+  DevShell|StdLib/LibC/Uefi/Devices/daShell.inf       # DEPRECATED!  Please use DevMedia for new code.\r
+  DevMedia|StdLib/LibC/Uefi/Devices/daShell.inf\r
   DevUtility|StdLib/LibC/Uefi/Devices/daUtility.inf\r
 \r
-###\r
-# Select the correct TimerLib instance depending upon whether running under\r
-# an emulation environment, or not.\r
-!ifndef $(EMULATE)\r
-  # Not running in an Emulation Environment\r
-[LibraryClasses.IA32.UEFI_APPLICATION]\r
-  TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf\r
-\r
-[LibraryClasses.X64.UEFI_APPLICATION]\r
-  TimerLib|PerformancePkg/Library/DxeTscTimerLib/DxeTscTimerLib.inf\r
+  LuaLib|AppPkg/Applications/Lua/LuaLib.inf           # Lua language library\r
 \r
-[LibraryClasses.IPF.UEFI_APPLICATION]\r
-  PalLib|MdePkg/Library/UefiPalLib/UefiPalLib.inf\r
-  TimerLib|MdePkg/Library/SecPeiDxeTimerLibCpu/SecPeiDxeTimerLibCpu.inf\r
+[LibraryClasses.ARM]\r
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
 \r
-!else\r
-  # Use this instance if Running in an Emulation Environment.\r
-[LibraryClasses.Common.UEFI_APPLICATION]\r
-  TimerLib|MdePkg/Library/BaseTimerLibNullTemplate/BaseTimerLibNullTemplate.inf\r
-!endif\r
+[LibraryClasses.AArch64]\r
+  NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf\r
 \r
 [Components]\r
 # BaseLib and BaseMemoryLib need to be built with the /GL- switch when using the Microsoft\r
 #\r
 \r
 [BuildOptions]\r
-!ifndef $(EMULATE)\r
-  # These Build Options are used when building the Standard Libraries to be run\r
-  # on real hardware.\r
-  INTEL:*_*_*_CC_FLAGS      = /Qfreestanding\r
-   MSFT:*_*_*_CC_FLAGS      = /X /Zc:wchar_t\r
-    GCC:*_*_*_CC_FLAGS      = -nostdinc -nostdlib\r
+!ifdef $(EMULATE)\r
+  # The Build Options, below, are only used when building the Standard Libraries\r
+  # to be run under an emulation environment; such as NT32Pkg.\r
+  # They disable optimization which facillitates debugging under the Emulation environment.\r
+  INTEL:*_*_IA32_CC_FLAGS   = /Od /D UEFI_C_SOURCE\r
+   MSFT:*_*_IA32_CC_FLAGS   = /Od /D UEFI_C_SOURCE\r
+    GCC:*_*_IA32_CC_FLAGS   = -O0 -DUEFI_C_SOURCE\r
+    RVCT:*_*_*_CC_FLAGS     = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm\r
+  ARMGCC:*_*_*_CC_FLAGS     = -O0 -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length\r
+   XCODE:*_*_*_CC_FLAGS     = -O0 -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized\r
 \r
 !else\r
-  # The Build Options, below, are only used when building the Standard Libraries\r
-  # to be run under an emulation environment.  They disable the clock() system call\r
-  # which is currently incompatible with the most emulation environments.\r
-  # Select the correct TimerLib instance, above.\r
-  INTEL:*_*_IA32_CC_FLAGS     = /Od /D NT32dvm\r
-   MSFT:*_*_IA32_CC_FLAGS     = /Od /D NT32dvm\r
-    GCC:*_*_IA32_CC_FLAGS     = -O0 -DNT32dvm\r
+  # These Build Options are used when building the Standard Libraries to be run\r
+  # on real hardware.\r
+   INTEL:*_*_*_CC_FLAGS     = /Qfreestanding /D UEFI_C_SOURCE\r
+    MSFT:*_*_*_CC_FLAGS     = /X /Zc:wchar_t /D UEFI_C_SOURCE\r
+     GCC:*_*_*_CC_FLAGS     = -nostdinc -nostdlib -DUEFI_C_SOURCE\r
+    RVCT:*_*_*_CC_FLAGS     = --library_interface=none -DUEFI_C_SOURCE -J$(WORKSPACE)/StdLib/Include -J$(WORKSPACE)/StdLib/Include/Arm\r
+  ARMGCC:*_*_*_CC_FLAGS     = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unknown-pragmas -Wno-unused -Wno-format-zero-length\r
+   XCODE:*_*_*_CC_FLAGS     = -nostdinc -nostdlib -DUEFI_C_SOURCE -Wno-unused-const-variable -Wno-string-compare -Wno-sometimes-uninitialized\r
 !endif\r