]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BaseLib/BaseLib.inf
Update Mde/MdeModulePkg to support ICC build for IA32/X64.
[mirror_edk2.git] / MdePkg / Library / BaseLib / BaseLib.inf
index 5766f75f43ca36fcbe87aace67845ebf21bf0156..b084eab21ebd8bace177f03917f33bab6c3ac179 100644 (file)
@@ -2,7 +2,7 @@
 # Component description file for Base Library\r
 #\r
 # Base Library implementation.\r
-# Copyright (c) 2007 - 2007, Intel Corporation.\r
+# Copyright (c) 2007, Intel Corporation.\r
 #\r
 #  All rights reserved. This program and the accompanying materials\r
 #  are licensed and made available under the terms and conditions of the BSD License\r
 #\r
 #**/\r
 \r
-################################################################################\r
-#\r
-# Defines Section - statements that will be processed to create a Makefile.\r
-#\r
-################################################################################\r
 [Defines]\r
   INF_VERSION                    = 0x00010005\r
   BASE_NAME                      = BaseLib\r
   EFI_SPECIFICATION_VERSION      = 0x00020000\r
 \r
 \r
-#\r
-# The following information is for reference only and not required by the build tools.\r
 #\r
 #  VALID_ARCHITECTURES           = IA32 X64 IPF EBC\r
 #\r
 \r
-################################################################################\r
-#\r
-# Sources Section - list of files that are required for the build to succeed.\r
-#\r
-################################################################################\r
-\r
 [Sources.common]\r
   CheckSum.c\r
   SwitchStack.c\r
   LinkedList.c\r
   String.c\r
   BaseLibInternals.h\r
-  CommonHeader.h\r
 \r
 [Sources.Ia32]\r
-  Ia32/Wbinvd.c\r
-  Ia32/WriteMm7.c\r
-  Ia32/WriteMm6.c\r
-  Ia32/WriteMm5.c\r
-  Ia32/WriteMm4.c\r
-  Ia32/WriteMm3.c\r
-  Ia32/WriteMm2.c\r
-  Ia32/WriteMm1.c\r
-  Ia32/WriteMm0.c\r
-  Ia32/WriteLdtr.c\r
-  Ia32/WriteIdtr.c\r
-  Ia32/WriteGdtr.c\r
-  Ia32/WriteDr7.c\r
-  Ia32/WriteDr6.c\r
-  Ia32/WriteDr5.c\r
-  Ia32/WriteDr4.c\r
-  Ia32/WriteDr3.c\r
-  Ia32/WriteDr2.c\r
-  Ia32/WriteDr1.c\r
-  Ia32/WriteDr0.c\r
-  Ia32/WriteCr4.c\r
-  Ia32/WriteCr3.c\r
-  Ia32/WriteCr2.c\r
-  Ia32/WriteCr0.c\r
-  Ia32/WriteMsr64.c\r
+  Ia32/Wbinvd.c | MSFT \r
+  Ia32/WriteMm7.c | MSFT \r
+  Ia32/WriteMm6.c | MSFT \r
+  Ia32/WriteMm5.c | MSFT \r
+  Ia32/WriteMm4.c | MSFT \r
+  Ia32/WriteMm3.c | MSFT \r
+  Ia32/WriteMm2.c | MSFT \r
+  Ia32/WriteMm1.c | MSFT \r
+  Ia32/WriteMm0.c | MSFT \r
+  Ia32/WriteLdtr.c | MSFT \r
+  Ia32/WriteIdtr.c | MSFT \r
+  Ia32/WriteGdtr.c | MSFT \r
+  Ia32/WriteDr7.c | MSFT \r
+  Ia32/WriteDr6.c | MSFT \r
+  Ia32/WriteDr5.c | MSFT \r
+  Ia32/WriteDr4.c | MSFT \r
+  Ia32/WriteDr3.c | MSFT \r
+  Ia32/WriteDr2.c | MSFT \r
+  Ia32/WriteDr1.c | MSFT \r
+  Ia32/WriteDr0.c | MSFT \r
+  Ia32/WriteCr4.c | MSFT \r
+  Ia32/WriteCr3.c | MSFT \r
+  Ia32/WriteCr2.c | MSFT \r
+  Ia32/WriteCr0.c | MSFT \r
+  Ia32/WriteMsr64.c | MSFT \r
+  Ia32/SwapBytes64.c | MSFT \r
+  Ia32/SetJump.c | MSFT \r
+  Ia32/RRotU64.c | MSFT \r
+  Ia32/RShiftU64.c | MSFT \r
+  Ia32/ReadPmc.c | MSFT \r
+  Ia32/ReadTsc.c | MSFT \r
+  Ia32/ReadLdtr.c | MSFT \r
+  Ia32/ReadIdtr.c | MSFT \r
+  Ia32/ReadGdtr.c | MSFT \r
+  Ia32/ReadTr.c | MSFT \r
+  Ia32/ReadSs.c | MSFT \r
+  Ia32/ReadGs.c | MSFT \r
+  Ia32/ReadFs.c | MSFT \r
+  Ia32/ReadEs.c | MSFT \r
+  Ia32/ReadDs.c | MSFT \r
+  Ia32/ReadCs.c | MSFT \r
+  Ia32/ReadMsr64.c | MSFT \r
+  Ia32/ReadMm7.c | MSFT \r
+  Ia32/ReadMm6.c | MSFT \r
+  Ia32/ReadMm5.c | MSFT \r
+  Ia32/ReadMm4.c | MSFT \r
+  Ia32/ReadMm3.c | MSFT \r
+  Ia32/ReadMm2.c | MSFT \r
+  Ia32/ReadMm1.c | MSFT \r
+  Ia32/ReadMm0.c | MSFT \r
+  Ia32/ReadEflags.c | MSFT \r
+  Ia32/ReadDr7.c | MSFT \r
+  Ia32/ReadDr6.c | MSFT \r
+  Ia32/ReadDr5.c | MSFT \r
+  Ia32/ReadDr4.c | MSFT \r
+  Ia32/ReadDr3.c | MSFT \r
+  Ia32/ReadDr2.c | MSFT \r
+  Ia32/ReadDr1.c | MSFT \r
+  Ia32/ReadDr0.c | MSFT \r
+  Ia32/ReadCr4.c | MSFT \r
+  Ia32/ReadCr3.c | MSFT \r
+  Ia32/ReadCr2.c | MSFT \r
+  Ia32/ReadCr0.c | MSFT \r
+  Ia32/Mwait.c | MSFT \r
+  Ia32/Monitor.c | MSFT \r
+  Ia32/ModU64x32.c | MSFT \r
+  Ia32/MultU64x64.c | MSFT \r
+  Ia32/MultU64x32.c | MSFT \r
+  Ia32/LShiftU64.c | MSFT \r
+  Ia32/LRotU64.c | MSFT \r
+  Ia32/LongJump.c | MSFT \r
+  Ia32/Invd.c | MSFT \r
+  Ia32/InterlockedCompareExchange64.c | MSFT \r
+  Ia32/InterlockedCompareExchange32.c | MSFT \r
+  Ia32/InterlockedDecrement.c | MSFT \r
+  Ia32/InterlockedIncrement.c | MSFT \r
+  Ia32/FxRestore.c | MSFT \r
+  Ia32/FxSave.c | MSFT \r
+  Ia32/FlushCacheLine.c | MSFT \r
+  Ia32/EnablePaging32.c | MSFT \r
+  Ia32/EnableInterrupts.c | MSFT \r
+  Ia32/EnableDisableInterrupts.c | MSFT \r
+  Ia32/DivU64x64Remainder.c | MSFT \r
+  Ia32/DivU64x32Remainder.c | MSFT \r
+  Ia32/DivU64x32.c | MSFT \r
+  Ia32/DisablePaging32.c | MSFT \r
+  Ia32/DisableInterrupts.c | MSFT \r
+  Ia32/CpuPause.c | MSFT \r
+  Ia32/CpuIdEx.c | MSFT \r
+  Ia32/CpuId.c | MSFT \r
+  Ia32/CpuSleep.c | MSFT \r
+  Ia32/CpuFlushTlb.c | MSFT \r
+  Ia32/CpuBreakpoint.c | MSFT \r
+  Ia32/ARShiftU64.c | MSFT \r
+  SynchronizationMsc.c  | MSFT\r
+\r
+  Ia32/Wbinvd.asm | INTEL \r
+  Ia32/WriteMm7.asm | INTEL \r
+  Ia32/WriteMm6.asm | INTEL \r
+  Ia32/WriteMm5.asm | INTEL \r
+  Ia32/WriteMm4.asm | INTEL \r
+  Ia32/WriteMm3.asm | INTEL \r
+  Ia32/WriteMm2.asm | INTEL \r
+  Ia32/WriteMm1.asm | INTEL \r
+  Ia32/WriteMm0.asm | INTEL \r
+  Ia32/WriteLdtr.asm | INTEL \r
+  Ia32/WriteIdtr.asm | INTEL \r
+  Ia32/WriteGdtr.asm | INTEL \r
+  Ia32/WriteDr7.asm | INTEL \r
+  Ia32/WriteDr6.asm | INTEL \r
+  Ia32/WriteDr5.asm | INTEL \r
+  Ia32/WriteDr4.asm | INTEL \r
+  Ia32/WriteDr3.asm | INTEL \r
+  Ia32/WriteDr2.asm | INTEL \r
+  Ia32/WriteDr1.asm | INTEL \r
+  Ia32/WriteDr0.asm | INTEL \r
+  Ia32/WriteCr4.asm | INTEL \r
+  Ia32/WriteCr3.asm | INTEL \r
+  Ia32/WriteCr2.asm | INTEL \r
+  Ia32/WriteCr0.asm | INTEL \r
+  Ia32/WriteMsr64.asm | INTEL \r
+  Ia32/SwapBytes64.asm | INTEL \r
+  Ia32/SetJump.asm | INTEL \r
+  Ia32/RRotU64.asm | INTEL \r
+  Ia32/RShiftU64.asm | INTEL \r
+  Ia32/ReadPmc.asm | INTEL \r
+  Ia32/ReadTsc.asm | INTEL \r
+  Ia32/ReadLdtr.asm | INTEL \r
+  Ia32/ReadIdtr.asm | INTEL \r
+  Ia32/ReadGdtr.asm | INTEL \r
+  Ia32/ReadTr.asm | INTEL \r
+  Ia32/ReadSs.asm | INTEL \r
+  Ia32/ReadGs.asm | INTEL \r
+  Ia32/ReadFs.asm | INTEL \r
+  Ia32/ReadEs.asm | INTEL \r
+  Ia32/ReadDs.asm | INTEL \r
+  Ia32/ReadCs.asm | INTEL \r
+  Ia32/ReadMsr64.asm | INTEL \r
+  Ia32/ReadMm7.asm | INTEL \r
+  Ia32/ReadMm6.asm | INTEL \r
+  Ia32/ReadMm5.asm | INTEL \r
+  Ia32/ReadMm4.asm | INTEL \r
+  Ia32/ReadMm3.asm | INTEL \r
+  Ia32/ReadMm2.asm | INTEL \r
+  Ia32/ReadMm1.asm | INTEL \r
+  Ia32/ReadMm0.asm | INTEL \r
+  Ia32/ReadEflags.asm | INTEL \r
+  Ia32/ReadDr7.asm | INTEL \r
+  Ia32/ReadDr6.asm | INTEL \r
+  Ia32/ReadDr5.asm | INTEL \r
+  Ia32/ReadDr4.asm | INTEL \r
+  Ia32/ReadDr3.asm | INTEL \r
+  Ia32/ReadDr2.asm | INTEL \r
+  Ia32/ReadDr1.asm | INTEL \r
+  Ia32/ReadDr0.asm | INTEL \r
+  Ia32/ReadCr4.asm | INTEL \r
+  Ia32/ReadCr3.asm | INTEL \r
+  Ia32/ReadCr2.asm | INTEL \r
+  Ia32/ReadCr0.asm | INTEL \r
+  Ia32/Mwait.asm | INTEL \r
+  Ia32/Monitor.asm | INTEL \r
+  Ia32/ModU64x32.asm | INTEL \r
+  Ia32/MultU64x64.asm | INTEL \r
+  Ia32/MultU64x32.asm | INTEL \r
+  Ia32/LShiftU64.asm | INTEL \r
+  Ia32/LRotU64.asm | INTEL \r
+  Ia32/LongJump.asm | INTEL \r
+  Ia32/Invd.asm | INTEL \r
+  Ia32/InterlockedCompareExchange64.asm | INTEL \r
+  Ia32/InterlockedCompareExchange32.asm | INTEL \r
+  Ia32/InterlockedDecrement.asm | INTEL \r
+  Ia32/InterlockedIncrement.asm | INTEL \r
+  Ia32/FxRestore.asm | INTEL \r
+  Ia32/FxSave.asm | INTEL \r
+  Ia32/FlushCacheLine.asm | INTEL \r
+  Ia32/EnablePaging32.asm | INTEL \r
+  Ia32/EnableInterrupts.asm | INTEL \r
+  Ia32/EnableDisableInterrupts.asm | INTEL \r
+  Ia32/DivU64x64Remainder.asm | INTEL \r
+  Ia32/DivU64x32Remainder.asm | INTEL \r
+  Ia32/DivU64x32.asm | INTEL \r
+  Ia32/DisablePaging32.asm | INTEL \r
+  Ia32/DisableInterrupts.asm | INTEL \r
+  Ia32/CpuPause.asm | INTEL \r
+  Ia32/CpuIdEx.asm | INTEL \r
+  Ia32/CpuId.asm | INTEL \r
+  Ia32/CpuSleep.asm | INTEL \r
+  Ia32/CpuFlushTlb.asm | INTEL \r
+  Ia32/CpuBreakpoint.asm | INTEL \r
+  Ia32/ARShiftU64.asm | INTEL \r
+  Synchronization.c | INTEL\r
+\r
   Ia32/Thunk16.asm\r
-  Ia32/SwapBytes64.c\r
-  Ia32/SetJump.c\r
-  Ia32/RRotU64.c\r
-  Ia32/RShiftU64.c\r
-  Ia32/ReadPmc.c\r
-  Ia32/ReadTsc.c\r
-  Ia32/ReadLdtr.c\r
-  Ia32/ReadIdtr.c\r
-  Ia32/ReadGdtr.c\r
-  Ia32/ReadTr.c\r
-  Ia32/ReadSs.c\r
-  Ia32/ReadGs.c\r
-  Ia32/ReadFs.c\r
-  Ia32/ReadEs.c\r
-  Ia32/ReadDs.c\r
-  Ia32/ReadCs.c\r
-  Ia32/ReadMsr64.c\r
-  Ia32/ReadMm7.c\r
-  Ia32/ReadMm6.c\r
-  Ia32/ReadMm5.c\r
-  Ia32/ReadMm4.c\r
-  Ia32/ReadMm3.c\r
-  Ia32/ReadMm2.c\r
-  Ia32/ReadMm1.c\r
-  Ia32/ReadMm0.c\r
-  Ia32/ReadEflags.c\r
-  Ia32/ReadDr7.c\r
-  Ia32/ReadDr6.c\r
-  Ia32/ReadDr5.c\r
-  Ia32/ReadDr4.c\r
-  Ia32/ReadDr3.c\r
-  Ia32/ReadDr2.c\r
-  Ia32/ReadDr1.c\r
-  Ia32/ReadDr0.c\r
-  Ia32/ReadCr4.c\r
-  Ia32/ReadCr3.c\r
-  Ia32/ReadCr2.c\r
-  Ia32/ReadCr0.c\r
-  Ia32/Mwait.c\r
-  Ia32/Monitor.c\r
-  Ia32/ModU64x32.c\r
-  Ia32/MultU64x64.c\r
-  Ia32/MultU64x32.c\r
-  Ia32/LShiftU64.c\r
-  Ia32/LRotU64.c\r
-  Ia32/LongJump.c\r
-  Ia32/Invd.c\r
-  Ia32/InterlockedCompareExchange64.c\r
-  Ia32/InterlockedCompareExchange32.c\r
-  Ia32/InterlockedDecrement.c\r
-  Ia32/InterlockedIncrement.c\r
-  Ia32/FxRestore.c\r
-  Ia32/FxSave.c\r
-  Ia32/FlushCacheLine.c\r
   Ia32/EnablePaging64.asm\r
-  Ia32/EnablePaging32.c\r
-  Ia32/EnableInterrupts.c\r
-  Ia32/EnableDisableInterrupts.c\r
-  Ia32/DivU64x64Remainder.c\r
-  Ia32/DivU64x32Remainder.c\r
-  Ia32/DivU64x32.c\r
-  Ia32/DisablePaging32.c\r
-  Ia32/DisableInterrupts.c\r
-  Ia32/CpuPause.c\r
-  Ia32/CpuIdEx.c\r
-  Ia32/CpuId.c\r
-  Ia32/CpuSleep.c\r
-  Ia32/CpuFlushTlb.c\r
-  Ia32/CpuBreakpoint.c\r
-  Ia32/ARShiftU64.c\r
-  Ia32/Thunk16.S\r
-  Ia32/CpuFlushTlb.S\r
-  Ia32/CpuBreakpoint.S\r
-  Ia32/CpuPause.S\r
-  Ia32/CpuSleep.S\r
-  Ia32/EnableDisableInterrupts.S\r
-  Ia32/DisableInterrupts.S\r
-  Ia32/EnableInterrupts.S\r
-  Ia32/InterlockedCompareExchange64.S\r
-  Ia32/InterlockedCompareExchange32.S\r
-  Ia32/InterlockedDecrement.S\r
-  Ia32/InterlockedIncrement.S\r
-  Ia32/FlushCacheLine.S\r
-  Ia32/Invd.S\r
-  Ia32/Wbinvd.S\r
-  Ia32/EnablePaging64.S\r
-  Ia32/DisablePaging32.S\r
-  Ia32/EnablePaging32.S\r
-  Ia32/Mwait.S\r
-  Ia32/Monitor.S\r
-  Ia32/ReadPmc.S\r
-  Ia32/ReadTsc.S\r
-  Ia32/WriteMm7.S\r
-  Ia32/WriteMm6.S\r
-  Ia32/WriteMm5.S\r
-  Ia32/WriteMm4.S\r
-  Ia32/WriteMm3.S\r
-  Ia32/WriteMm2.S\r
-  Ia32/WriteMm1.S\r
-  Ia32/WriteMm0.S\r
-  Ia32/ReadMm7.S\r
-  Ia32/ReadMm6.S\r
-  Ia32/ReadMm5.S\r
-  Ia32/ReadMm4.S\r
-  Ia32/ReadMm3.S\r
-  Ia32/ReadMm2.S\r
-  Ia32/ReadMm1.S\r
-  Ia32/ReadMm0.S\r
-  Ia32/FxRestore.S\r
-  Ia32/FxSave.S\r
-  Ia32/WriteLdtr.S\r
-  Ia32/ReadLdtr.S\r
-  Ia32/WriteIdtr.S\r
-  Ia32/ReadIdtr.S\r
-  Ia32/WriteGdtr.S\r
-  Ia32/ReadGdtr.S\r
-  Ia32/ReadTr.S\r
-  Ia32/ReadSs.S\r
-  Ia32/ReadGs.S\r
-  Ia32/ReadFs.S\r
-  Ia32/ReadEs.S\r
-  Ia32/ReadDs.S\r
-  Ia32/ReadCs.S\r
-  Ia32/WriteDr7.S\r
-  Ia32/WriteDr6.S\r
-  Ia32/WriteDr5.S\r
-  Ia32/WriteDr4.S\r
-  Ia32/WriteDr3.S\r
-  Ia32/WriteDr2.S\r
-  Ia32/WriteDr1.S\r
-  Ia32/WriteDr0.S\r
-  Ia32/ReadDr7.S\r
-  Ia32/ReadDr6.S\r
-  Ia32/ReadDr5.S\r
-  Ia32/ReadDr4.S\r
-  Ia32/ReadDr3.S\r
-  Ia32/ReadDr2.S\r
-  Ia32/ReadDr1.S\r
-  Ia32/ReadDr0.S\r
-  Ia32/WriteCr4.S\r
-  Ia32/WriteCr3.S\r
-  Ia32/WriteCr2.S\r
-  Ia32/WriteCr0.S\r
-  Ia32/ReadCr4.S\r
-  Ia32/ReadCr3.S\r
-  Ia32/ReadCr2.S\r
-  Ia32/ReadCr0.S\r
-  Ia32/WriteMsr64.S\r
-  Ia32/ReadMsr64.S\r
-  Ia32/ReadEflags.S\r
-  Ia32/CpuIdEx.S\r
-  Ia32/CpuId.S\r
-  Ia32/LongJump.S\r
-  Ia32/SetJump.S\r
-  Ia32/SwapBytes64.S\r
-  Ia32/DivU64x64Remainder.S\r
-  Ia32/DivU64x32Remainder.S\r
-  Ia32/ModU64x32.S\r
-  Ia32/DivU64x32.S\r
-  Ia32/MultU64x64.S\r
-  Ia32/MultU64x32.S\r
-  Ia32/RRotU64.S\r
-  Ia32/LRotU64.S\r
-  Ia32/ARShiftU64.S\r
-  Ia32/RShiftU64.S\r
-  Ia32/LShiftU64.S\r
+\r
+  Ia32/Thunk16.S | GCC \r
+  Ia32/CpuFlushTlb.S | GCC \r
+  Ia32/CpuBreakpoint.S | GCC \r
+  Ia32/CpuPause.S | GCC \r
+  Ia32/CpuSleep.S | GCC \r
+  Ia32/EnableDisableInterrupts.S | GCC \r
+  Ia32/DisableInterrupts.S | GCC \r
+  Ia32/EnableInterrupts.S | GCC \r
+  Ia32/InterlockedCompareExchange64.S | GCC \r
+  Ia32/InterlockedCompareExchange32.S | GCC \r
+  Ia32/InterlockedDecrement.S | GCC \r
+  Ia32/InterlockedIncrement.S | GCC \r
+  Ia32/FlushCacheLine.S | GCC \r
+  Ia32/Invd.S | GCC \r
+  Ia32/Wbinvd.S | GCC \r
+  Ia32/EnablePaging64.S | GCC \r
+  Ia32/DisablePaging32.S | GCC \r
+  Ia32/EnablePaging32.S | GCC \r
+  Ia32/Mwait.S | GCC \r
+  Ia32/Monitor.S | GCC \r
+  Ia32/ReadPmc.S | GCC \r
+  Ia32/ReadTsc.S | GCC \r
+  Ia32/WriteMm7.S | GCC \r
+  Ia32/WriteMm6.S | GCC \r
+  Ia32/WriteMm5.S | GCC \r
+  Ia32/WriteMm4.S | GCC \r
+  Ia32/WriteMm3.S | GCC \r
+  Ia32/WriteMm2.S | GCC \r
+  Ia32/WriteMm1.S | GCC \r
+  Ia32/WriteMm0.S | GCC \r
+  Ia32/ReadMm7.S | GCC \r
+  Ia32/ReadMm6.S | GCC \r
+  Ia32/ReadMm5.S | GCC \r
+  Ia32/ReadMm4.S | GCC \r
+  Ia32/ReadMm3.S | GCC \r
+  Ia32/ReadMm2.S | GCC \r
+  Ia32/ReadMm1.S | GCC \r
+  Ia32/ReadMm0.S | GCC \r
+  Ia32/FxRestore.S | GCC \r
+  Ia32/FxSave.S | GCC \r
+  Ia32/WriteLdtr.S | GCC \r
+  Ia32/ReadLdtr.S | GCC \r
+  Ia32/WriteIdtr.S | GCC \r
+  Ia32/ReadIdtr.S | GCC \r
+  Ia32/WriteGdtr.S | GCC \r
+  Ia32/ReadGdtr.S | GCC \r
+  Ia32/ReadTr.S | GCC \r
+  Ia32/ReadSs.S | GCC \r
+  Ia32/ReadGs.S | GCC \r
+  Ia32/ReadFs.S | GCC \r
+  Ia32/ReadEs.S | GCC \r
+  Ia32/ReadDs.S | GCC \r
+  Ia32/ReadCs.S | GCC \r
+  Ia32/WriteDr7.S | GCC \r
+  Ia32/WriteDr6.S | GCC \r
+  Ia32/WriteDr5.S | GCC \r
+  Ia32/WriteDr4.S | GCC \r
+  Ia32/WriteDr3.S | GCC \r
+  Ia32/WriteDr2.S | GCC \r
+  Ia32/WriteDr1.S | GCC \r
+  Ia32/WriteDr0.S | GCC \r
+  Ia32/ReadDr7.S | GCC \r
+  Ia32/ReadDr6.S | GCC \r
+  Ia32/ReadDr5.S | GCC \r
+  Ia32/ReadDr4.S | GCC \r
+  Ia32/ReadDr3.S | GCC \r
+  Ia32/ReadDr2.S | GCC \r
+  Ia32/ReadDr1.S | GCC \r
+  Ia32/ReadDr0.S | GCC \r
+  Ia32/WriteCr4.S | GCC \r
+  Ia32/WriteCr3.S | GCC \r
+  Ia32/WriteCr2.S | GCC \r
+  Ia32/WriteCr0.S | GCC \r
+  Ia32/ReadCr4.S | GCC \r
+  Ia32/ReadCr3.S | GCC \r
+  Ia32/ReadCr2.S | GCC \r
+  Ia32/ReadCr0.S | GCC \r
+  Ia32/WriteMsr64.S | GCC \r
+  Ia32/ReadMsr64.S | GCC \r
+  Ia32/ReadEflags.S | GCC \r
+  Ia32/CpuIdEx.S | GCC \r
+  Ia32/CpuId.S | GCC \r
+  Ia32/LongJump.S | GCC \r
+  Ia32/SetJump.S | GCC \r
+  Ia32/SwapBytes64.S | GCC \r
+  Ia32/DivU64x64Remainder.S | GCC \r
+  Ia32/DivU64x32Remainder.S | GCC \r
+  Ia32/ModU64x32.S | GCC \r
+  Ia32/DivU64x32.S | GCC \r
+  Ia32/MultU64x64.S | GCC \r
+  Ia32/MultU64x32.S | GCC \r
+  Ia32/RRotU64.S | GCC \r
+  Ia32/LRotU64.S | GCC \r
+  Ia32/ARShiftU64.S | GCC \r
+  Ia32/RShiftU64.S | GCC \r
+  Ia32/LShiftU64.S | GCC \r
+  SynchronizationGcc.c  | GCC\r
+\r
   Ia32/DivS64x64Remainder.c\r
   Ia32/InternalSwitchStack.c\r
   Ia32/Non-existing.c\r
   x86EnablePaging32.c\r
   x86DisablePaging64.c\r
   x86DisablePaging32.c\r
-  Synchronization.c     || INTEL |||\r
-  SynchronizationMsc.c  || MSFT |||\r
-  SynchronizationGcc.c  || GCC |||\r
 \r
 [Sources.X64]\r
   X64/Thunk16.asm\r
   X64/CpuFlushTlb.asm\r
-  X64/CpuBreakpoint.c\r
   X64/CpuPause.asm\r
   X64/CpuSleep.asm\r
   X64/EnableDisableInterrupts.asm\r
   X64/DisableInterrupts.asm\r
   X64/EnableInterrupts.asm\r
-  X64/InterlockedCompareExchange64.asm\r
-  X64/InterlockedCompareExchange32.asm\r
-  X64/InterlockedDecrement.c\r
-  X64/InterlockedIncrement.c\r
   X64/FlushCacheLine.asm\r
   X64/Invd.asm\r
   X64/Wbinvd.asm\r
   X64/ReadCr3.asm\r
   X64/ReadCr2.asm\r
   X64/ReadCr0.asm\r
-  X64/WriteMsr64.c\r
-  X64/ReadMsr64.c\r
   X64/ReadEflags.asm\r
   X64/CpuIdEx.asm\r
   X64/CpuId.asm\r
   X64/LongJump.asm\r
   X64/SetJump.asm\r
   X64/SwitchStack.asm\r
+  X64/InterlockedCompareExchange64.asm \r
+  X64/InterlockedCompareExchange32.asm \r
+\r
+  X64/InterlockedDecrement.c | MSFT \r
+  X64/InterlockedIncrement.c | MSFT \r
+  X64/CpuBreakpoint.c | MSFT \r
+  X64/WriteMsr64.c | MSFT \r
+  X64/ReadMsr64.c | MSFT \r
+  SynchronizationMsc.c | MSFT \r
+\r
+  X64/InterlockedDecrement.asm | INTEL \r
+  X64/InterlockedIncrement.asm | INTEL \r
+  X64/CpuBreakpoint.asm | INTEL \r
+  X64/WriteMsr64.asm | INTEL \r
+  X64/ReadMsr64.asm | INTEL \r
+  Synchronization.c | INTEL \r
+\r
   X64/Non-existing.c\r
   Math64.c\r
   Unaligned.c\r
   x86EnablePaging32.c\r
   x86DisablePaging64.c\r
   x86DisablePaging32.c\r
-  X64/WriteMsr64.S\r
-  X64/WriteMm7.S\r
-  X64/WriteMm6.S\r
-  X64/WriteMm5.S\r
-  X64/WriteMm4.S\r
-  X64/WriteMm3.S\r
-  X64/WriteMm2.S\r
-  X64/WriteMm1.S\r
-  X64/WriteMm0.S\r
-  X64/WriteLdtr.S\r
-  X64/WriteIdtr.S\r
-  X64/WriteGdtr.S\r
-  X64/WriteDr7.S\r
-  X64/WriteDr6.S\r
-  X64/WriteDr5.S\r
-  X64/WriteDr4.S\r
-  X64/WriteDr3.S\r
-  X64/WriteDr2.S\r
-  X64/WriteDr1.S\r
-  X64/WriteDr0.S\r
-  X64/WriteCr4.S\r
-  X64/WriteCr3.S\r
-  X64/WriteCr2.S\r
-  X64/WriteCr0.S\r
-  X64/Wbinvd.S\r
-  X64/Thunk16.S\r
-  X64/SwitchStack.S\r
-  X64/SetJump.S\r
-  X64/ReadTsc.S\r
-  X64/ReadTr.S\r
-  X64/ReadSs.S\r
-  X64/ReadPmc.S\r
-  X64/ReadMsr64.S\r
-  X64/ReadMm7.S\r
-  X64/ReadMm6.S\r
-  X64/ReadMm5.S\r
-  X64/ReadMm4.S\r
-  X64/ReadMm3.S\r
-  X64/ReadMm2.S\r
-  X64/ReadMm1.S\r
-  X64/ReadMm0.S\r
-  X64/ReadLdtr.S\r
-  X64/ReadIdtr.S\r
-  X64/ReadGs.S\r
-  X64/ReadGdtr.S\r
-  X64/ReadFs.S\r
-  X64/ReadEs.S\r
-  X64/ReadEflags.S\r
-  X64/ReadDs.S\r
-  X64/ReadDr7.S\r
-  X64/ReadDr6.S\r
-  X64/ReadDr5.S\r
-  X64/ReadDr4.S\r
-  X64/ReadDr3.S\r
-  X64/ReadDr2.S\r
-  X64/ReadDr1.S\r
-  X64/ReadDr0.S\r
-  X64/ReadCs.S\r
-  X64/ReadCr4.S\r
-  X64/ReadCr3.S\r
-  X64/ReadCr2.S\r
-  X64/ReadCr0.S\r
-  X64/Mwait.S\r
-  X64/Monitor.S\r
-  X64/LongJump.S\r
-  X64/Invd.S\r
-  X64/InterlockedIncrement.S\r
-  X64/InterlockedDecrement.S\r
-  X64/InterlockedCompareExchange64.S\r
-  X64/InterlockedCompareExchange32.S\r
-  X64/FxSave.S\r
-  X64/FxRestore.S\r
-  X64/FlushCacheLine.S\r
-  X64/EnablePaging64.S\r
-  X64/EnableInterrupts.S\r
-  X64/EnableDisableInterrupts.S\r
-  X64/DisablePaging64.S\r
-  X64/DisableInterrupts.S\r
-  X64/CpuSleep.S\r
-  X64/CpuPause.S\r
-  X64/CpuId.S\r
-  X64/CpuIdEx.S\r
-  X64/CpuFlushTlb.S\r
-  X64/CpuBreakpoint.S\r
-#  SynchronizationMsc.c  #|| INTC\r
-  SynchronizationMsc.c  #|| MSFT\r
-#  SynchronizationGcc.c  || GCC\r
+  X64/WriteMsr64.S | GCC \r
+  X64/WriteMm7.S | GCC \r
+  X64/WriteMm6.S | GCC \r
+  X64/WriteMm5.S | GCC \r
+  X64/WriteMm4.S | GCC \r
+  X64/WriteMm3.S | GCC \r
+  X64/WriteMm2.S | GCC \r
+  X64/WriteMm1.S | GCC \r
+  X64/WriteMm0.S | GCC \r
+  X64/WriteLdtr.S | GCC \r
+  X64/WriteIdtr.S | GCC \r
+  X64/WriteGdtr.S | GCC \r
+  X64/WriteDr7.S | GCC \r
+  X64/WriteDr6.S | GCC \r
+  X64/WriteDr5.S | GCC \r
+  X64/WriteDr4.S | GCC \r
+  X64/WriteDr3.S | GCC \r
+  X64/WriteDr2.S | GCC \r
+  X64/WriteDr1.S | GCC \r
+  X64/WriteDr0.S | GCC \r
+  X64/WriteCr4.S | GCC \r
+  X64/WriteCr3.S | GCC \r
+  X64/WriteCr2.S | GCC \r
+  X64/WriteCr0.S | GCC \r
+  X64/Wbinvd.S | GCC \r
+  X64/Thunk16.S | GCC \r
+  X64/SwitchStack.S | GCC \r
+  X64/SetJump.S | GCC \r
+  X64/ReadTsc.S | GCC \r
+  X64/ReadTr.S | GCC \r
+  X64/ReadSs.S | GCC \r
+  X64/ReadPmc.S | GCC \r
+  X64/ReadMsr64.S | GCC \r
+  X64/ReadMm7.S | GCC \r
+  X64/ReadMm6.S | GCC \r
+  X64/ReadMm5.S | GCC \r
+  X64/ReadMm4.S | GCC \r
+  X64/ReadMm3.S | GCC \r
+  X64/ReadMm2.S | GCC \r
+  X64/ReadMm1.S | GCC \r
+  X64/ReadMm0.S | GCC \r
+  X64/ReadLdtr.S | GCC \r
+  X64/ReadIdtr.S | GCC \r
+  X64/ReadGs.S | GCC \r
+  X64/ReadGdtr.S | GCC \r
+  X64/ReadFs.S | GCC \r
+  X64/ReadEs.S | GCC \r
+  X64/ReadEflags.S | GCC \r
+  X64/ReadDs.S | GCC \r
+  X64/ReadDr7.S | GCC \r
+  X64/ReadDr6.S | GCC \r
+  X64/ReadDr5.S | GCC \r
+  X64/ReadDr4.S | GCC \r
+  X64/ReadDr3.S | GCC \r
+  X64/ReadDr2.S | GCC \r
+  X64/ReadDr1.S | GCC \r
+  X64/ReadDr0.S | GCC \r
+  X64/ReadCs.S | GCC \r
+  X64/ReadCr4.S | GCC \r
+  X64/ReadCr3.S | GCC \r
+  X64/ReadCr2.S | GCC \r
+  X64/ReadCr0.S | GCC \r
+  X64/Mwait.S | GCC \r
+  X64/Monitor.S | GCC \r
+  X64/LongJump.S | GCC \r
+  X64/Invd.S | GCC \r
+  X64/InterlockedIncrement.S | GCC \r
+  X64/InterlockedDecrement.S | GCC \r
+  X64/InterlockedCompareExchange64.S | GCC \r
+  X64/InterlockedCompareExchange32.S | GCC \r
+  X64/FxSave.S | GCC \r
+  X64/FxRestore.S | GCC \r
+  X64/FlushCacheLine.S | GCC \r
+  X64/EnablePaging64.S | GCC \r
+  X64/EnableInterrupts.S | GCC \r
+  X64/EnableDisableInterrupts.S | GCC \r
+  X64/DisablePaging64.S | GCC \r
+  X64/DisableInterrupts.S | GCC \r
+  X64/CpuSleep.S | GCC \r
+  X64/CpuPause.S | GCC \r
+  X64/CpuId.S | GCC \r
+  X64/CpuIdEx.S | GCC \r
+  X64/CpuFlushTlb.S | GCC \r
+  X64/CpuBreakpoint.S | GCC \r
+  SynchronizationGcc.c  | GCC \r
 \r
 [Sources.IPF]\r
   Ipf/AccessGp.s\r
   Ipf/Synchronization.c\r
   Ipf/InterlockedCompareExchange64.s\r
   Ipf/InterlockedCompareExchange32.s\r
-  Ipf/CpuBreakpoint.c\r
+  Ipf/CpuBreakpoint.c    | INTEL\r
+  Ipf/CpuBreakpointMsc.c | MSFT\r
   Ipf/Unaligned.c\r
   Ipf/SwitchStack.s\r
   Ipf/longjmp.s\r
   Ipf/ia_64gen.h\r
   Ipf/asm.h\r
   Math64.c\r
-#  SynchronizationMsc.c  #|| INTC\r
-  SynchronizationMsc.c  #|| MSFT\r
-#  SynchronizationGcc.c  || GCC\r
+  Synchronization.c     | INTEL \r
+  SynchronizationMsc.c  | MSFT \r
+  SynchronizationGcc.c  | GCC \r
 \r
 [Sources.EBC]\r
   Synchronization.c\r
   Unaligned.c\r
   Math64.c\r
 \r
-\r
-################################################################################\r
-#\r
-# Includes Section - list of Include locations that are required for\r
-#                    this module.\r
-#\r
-################################################################################\r
-\r
-[Includes]\r
-  $(WORKSPACE)/MdePkg\Include/Library\r
-\r
-################################################################################\r
-#\r
-# Package Dependency Section - list of Package files that are required for\r
-#                              this module.\r
-#\r
-################################################################################\r
-\r
 [Packages]\r
   MdePkg/MdePkg.dec\r
 \r
 \r
-################################################################################\r
-#\r
-# Library Class Section - list of Library Classes that are required for\r
-#                         this module.\r
-#\r
-################################################################################\r
-\r
 [LibraryClasses]\r
   PcdLib\r
   TimerLib\r
   BaseMemoryLib\r
 \r
 \r
-################################################################################\r
-#\r
-# Pcd FIXED_AT_BUILD - list of PCDs that this module is coded for.\r
-#\r
-################################################################################\r
-\r
-[PcdsFixedAtBuild.common]\r
-  PcdSpinLockTimeout|gEfiMdePkgTokenSpaceGuid\r
-  PcdMaximumLinkedListLength|gEfiMdePkgTokenSpaceGuid\r
-  PcdMaximumAsciiStringLength|gEfiMdePkgTokenSpaceGuid\r
-  PcdMaximumUnicodeStringLength|gEfiMdePkgTokenSpaceGuid\r
+[Pcd.common]\r
+  gEfiMdePkgTokenSpaceGuid.PcdSpinLockTimeout\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumLinkedListLength\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumAsciiStringLength\r
+  gEfiMdePkgTokenSpaceGuid.PcdMaximumUnicodeStringLength\r
 \r