Adding GCC and RVCT support. Since edk uses [nmake] section we add to add <BuildOpito...
authorAJFISH <AJFISH@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 10 Nov 2009 17:54:08 +0000 (17:54 +0000)
committerAJFISH <AJFISH@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 10 Nov 2009 17:54:08 +0000 (17:54 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9404 6f19259b-4bc3-4df7-8a09-765794883524

EdkShellPkg/EdkShellPkg.dsc

index a205c6d..6048865 100644 (file)
@@ -21,7 +21,7 @@
   PLATFORM_VERSION               = 1.04\r
   DSC_SPECIFICATION              = 0x00010005\r
   OUTPUT_DIRECTORY               = Build/EdkShellPkg\r
-  SUPPORTED_ARCHITECTURES        = IA32|IPF|X64\r
+  SUPPORTED_ARCHITECTURES        = IA32|IPF|X64|ARM\r
   BUILD_TARGETS                  = DEBUG|RELEASE\r
   SKUID_IDENTIFIER               = DEFAULT\r
 # \r
@@ -32,6 +32,9 @@
 #\r
 DEFINE EDK_SHELL_DIR             = Shell  # when "Shell" directory is directly under $(WORKSPACE) \r
 \r
+define MSFT_MACRO                = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00009000 /D TIANO_RELEASE_VERSION=0x00080006 /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 /D EFI_DEBUG\r
+define INTEL_MACRO               = /D EFI_SPECIFICATION_VERSION=0x0002000A /D PI_SPECIFICATION_VERSION=0x00009000 /D TIANO_RELEASE_VERSION=0x00080006 /D PCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 /D EFI_DEBUG\r
+define GCC_MACRO                 = -DEFI_SPECIFICATION_VERSION=0x0002000A -DPI_SPECIFICATION_VERSION=0x00009000 -DTIANO_RELEASE_VERSION=0x00080006 -DPCD_EDKII_GLUE_PciExpressBaseAddress=0xE0000000 -DEFI_DEBUG -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings -DSTRING_DEFINES_FILE=\"$(BASE_NAME)StrDefs.h\" \r
 \r
 \r
 [Libraries]\r
@@ -41,9 +44,7 @@ DEFINE EDK_SHELL_DIR             = Shell  # when "Shell" directory is directly u
   EdkCompatibilityPkg/Foundation/Efi/Guid/EfiGuidLib.inf\r
   EdkCompatibilityPkg/Foundation/Framework/Guid/EdkFrameworkGuidLib.inf\r
   EdkCompatibilityPkg/Foundation/Guid/EdkGuidLib.inf\r
-  EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib.inf\r
-  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib.inf\r
-  EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf\r
+  EdkCompatibilityPkg/Foundation/Library/EfiCommonLib/EfiCommonLib_Edk2.inf\r
   EdkCompatibilityPkg/Foundation/Library/CustomizedDecompress/CustomizedDecompress.inf\r
   EdkCompatibilityPkg/Foundation/Library/Dxe/Hob/HobLib.inf\r
   #\r
@@ -81,6 +82,13 @@ DEFINE EDK_SHELL_DIR             = Shell  # when "Shell" directory is directly u
 [Libraries.IA32, Libraries.X64]\r
   EdkCompatibilityPkg/Foundation/Library/CompilerStub/CompilerStubLib.inf\r
 \r
+[Libraries.IA32]\r
+  EdkCompatibilityPkg/Foundation/Cpu/Pentium/CpuIA32Lib/CpuIA32Lib_Edk2.inf\r
+\r
+[Libraries.X64]\r
+  EdkCompatibilityPkg/Foundation/Cpu/Itanium/CpuIa64Lib/CpuIA64Lib.inf\r
+\r
+\r
 ###################################################################################################\r
 #\r
 # Components Section - list of the modules and components that will be processed by compilation\r
@@ -101,8 +109,35 @@ DEFINE EDK_SHELL_DIR             = Shell  # when "Shell" directory is directly u
 ###################################################################################################\r
 \r
 [Components]\r
-  $(EDK_SHELL_DIR)/Shell.inf\r
-  $(EDK_SHELL_DIR)/ShellFull.inf\r
+  $(EDK_SHELL_DIR)/Shell.inf {\r
+    <BuildOptions>\r
+      #\r
+      # Can not do this in nmake section of edk INF\r
+      #\r
+      GCC:*_*_*_CC_FLAGS     = -DEFI_MONOSHELL \r
+      GCC:*_*_*_VFRPP_FLAGS  = -DEFI_MONOSHELL \r
+      GCC:*_*_*_APP_FLAGS    = -DEFI_MONOSHELL \r
+      GCC:*_*_*_PP_FLAGS     = -DEFI_MONOSHELL \r
+\r
+      RVCT:*_*_ARM_CC_FLAGS     = -DEFI_MONOSHELL \r
+      RVCT:*_*_ARM_VFRPP_FLAGS  = -DEFI_MONOSHELL\r
+      RVCT:*_*_ARM_APP_FLAGS    = -DEFI_MONOSHELL \r
+      RVCT:*_*_ARM_PP_FLAGS     = -DEFI_MONOSHELL \r
+  }\r
+  \r
+  $(EDK_SHELL_DIR)/ShellFull.inf {\r
+    <BuildOptions>\r
+      GCC:*_*_*_CC_FLAGS     = -DEFI_MONOSHELL -DEFI_FULLSHELL \r
+      GCC:*_*_*_VFRPP_FLAGS  = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+      GCC:*_*_*_APP_FLAGS    = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+      GCC:*_*_*_PP_FLAGS     = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+\r
+      RVCT:*_*_ARM_CC_FLAGS     = -DEFI_MONOSHELL -DEFI_FULLSHELL \r
+      RVCT:*_*_ARM_VFRPP_FLAGS  = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+      RVCT:*_*_ARM_APP_FLAGS    = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+      RVCT:*_*_ARM_PP_FLAGS     = -DEFI_MONOSHELL -DEFI_FULLSHELL\r
+  }\r
+  \r
   $(EDK_SHELL_DIR)/attrib/attrib.inf\r
   $(EDK_SHELL_DIR)/cls/cls.inf\r
   $(EDK_SHELL_DIR)/comp/comp.inf\r
@@ -193,4 +228,30 @@ DEFINE EDK_SHELL_DIR             = Shell  # when "Shell" directory is directly u
 \r
   INTEL:*_*_*_BUILD_FLAGS   = -s\r
 \r
+  GCC:*_*_IA32_CC_FLAGS     = -DEFI32 $(GCC_MACRO)\r
+  GCC:*_*_IA32_VFRPP_FLAGS  = -DEFI32 $(GCC_MACRO)\r
+  GCC:*_*_IA32_APP_FLAGS    = -DEFI32 $(GCC_MACRO)\r
+  GCC:*_*_IA32_PP_FLAGS     = -DEFI32 $(GCC_MACRO)\r
+\r
+  GCC:*_*_X64_CC_FLAGS     = -DEFIX64 $(GCC_MACRO)\r
+  GCC:*_*_X64_VFRPP_FLAGS  = -DEFIX64 $(GCC_MACRO)\r
+  GCC:*_*_X64_APP_FLAGS    = -DEFIX64 $(GCC_MACRO)\r
+  GCC:*_*_X64_PP_FLAGS     = -DEFIX64 $(GCC_MACRO)\r
+\r
+  GCC:*_*_IPF_CC_FLAGS     = -DEFI64 $(GCC_MACRO)\r
+  GCC:*_*_IPF_VFRPP_FLAGS  = -DEFI64 $(GCC_MACRO)\r
+  GCC:*_*_IPF_APP_FLAGS    = -DEFI64 $(GCC_MACRO)\r
+  GCC:*_*_IPF_PP_FLAGS     = -DEFI64 $(GCC_MACRO)\r
+  \r
+  GCC:*_*_ARM_CC_FLAGS     = -DEFIARM $(GCC_MACRO)\r
+  GCC:*_*_ARM_VFRPP_FLAGS  = -DEFIARM $(GCC_MACRO)\r
+  GCC:*_*_ARM_APP_FLAGS    = -DEFIARM $(GCC_MACRO)\r
+  GCC:*_*_ARM_PP_FLAGS     = -DEFIARM $(GCC_MACRO)\r
+\r
+  RVCT:*_*_ARM_CC_FLAGS     = -DEFIARM $(GCC_MACRO)\r
+  RVCT:*_*_ARM_VFRPP_FLAGS  = -DEFIARM $(GCC_MACRO)\r
+  RVCT:*_*_ARM_APP_FLAGS    = -DEFIARM $(GCC_MACRO)\r
+  RVCT:*_*_ARM_PP_FLAGS     = -DEFIARM $(GCC_MACRO)\r
+\r
+\r
 \r