]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Conf/tools_def.template
Sync BaseTools Branch (version r2149) to EDKII main trunk.
[mirror_edk2.git] / BaseTools / Conf / tools_def.template
index f54d507783a81b343c8d2d01217fbd793658e15c..495f55de74f6027bfcdf25ef50a5b212f441ca75 100644 (file)
@@ -1,5 +1,5 @@
 #\r
-#  Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>\r
+#  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
 #  Portions copyright (c) 2008 - 2009, Apple Inc. All rights reserved.<BR>\r
 #\r
 #  This program and the accompanying materials\r
@@ -154,11 +154,11 @@ DEFINE DEFAULT_WIN_ASL_OUTFLAGS = DEF(IASL_OUTFLAGS)
 \r
 DEFINE MSFT_ASLPP_FLAGS        = /nologo /E /C /FIAutoGen.h\r
 DEFINE MSFT_ASLCC_FLAGS        = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable\r
-DEFINE MSFT_ASLDLINK_FLAGS     = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER\r
+DEFINE MSFT_ASLDLINK_FLAGS     = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE\r
 \r
 DEFINE ICC_WIN_ASLPP_FLAGS     = /nologo /E /C /FIAutoGen.h\r
 DEFINE ICC_WIN_ASLCC_FLAGS     = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable\r
-DEFINE ICC_WIN_ASLDLINK_FLAGS  = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER /NODEFAULTLIB:libmmt /NODEFAULTLIB:libirc\r
+DEFINE ICC_WIN_ASLDLINK_FLAGS  = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE /NODEFAULTLIB:libmmt /NODEFAULTLIB:libirc\r
 \r
 DEFINE IPHONE_TOOLS            = /Developer/Platforms/iPhoneOS.platform/Developer\r
 DEFINE RVCT31_TOOLS_PATH       = c:/Program Files/ARM/RVCT/Programs/3.1/569/win_32-pentium\r
@@ -167,6 +167,11 @@ DEFINE RVCT31CYGWIN_TOOLS_PATH = /cygdrive/c/Program Files/ARM/RVCT/Programs/3.1
 DEFINE SOURCERY_TOOLS        = c:/Program Files/CodeSourcery/Sourcery G++ Lite/bin\r
 DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G++ Lite/bin\r
 \r
+#\r
+# Change to the location clang was built\r
+#\r
+DEFINE CLANG_BIN = /usr/bin/\r
+\r
 ####################################################################################\r
 #\r
 # format: TARGET_TOOLCHAIN_ARCH_COMMANDTYPE_ATTRIBUTE = <string>\r
@@ -1598,10 +1603,10 @@ DEFINE GCC_IPF_RC_FLAGS            = -I binary -O elf64-ia64-little -B ia64 --re
 DEFINE GCC44_ALL_CC_FLAGS            = -g -fshort-wchar -fno-stack-protector -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -Wno-array-bounds -ffunction-sections -fdata-sections -c -include AutoGen.h -DSTRING_ARRAY_NAME=$(BASE_NAME)Strings\r
 DEFINE GCC44_IA32_CC_FLAGS           = DEF(GCC44_ALL_CC_FLAGS) -m32 -malign-double -D EFI32\r
 DEFINE GCC44_X64_CC_FLAGS            = DEF(GCC44_ALL_CC_FLAGS) -m64 "-DEFIAPI=__attribute__((ms_abi))" -DNO_BUILTIN_VA_FUNCS -mno-red-zone -Wno-address -mcmodel=large\r
-DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -n -q --gc-sections\r
+DEFINE GCC44_IA32_X64_DLINK_COMMON   = -nostdlib -n -q --gc-sections --script=$(EDK_TOOLS_PATH)/Scripts/gcc4.4-ld-script\r
 DEFINE GCC44_IA32_X64_ASLDLINK_FLAGS = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry ReferenceAcpiTable -u ReferenceAcpiTable\r
 DEFINE GCC44_IA32_X64_DLINK_FLAGS    = DEF(GCC44_IA32_X64_DLINK_COMMON) --entry $(IMAGE_ENTRY_POINT) -u $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-DEFINE GCC44_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS)  -melf_x86_64 --oformat=elf64-x86-64 --script=$(EDK_TOOLS_PATH)/Scripts/gcc4.4-ld-script\r
+DEFINE GCC44_X64_DLINK_FLAGS         = DEF(GCC44_IA32_X64_DLINK_FLAGS)  -melf_x86_64 --oformat=elf64-x86-64\r
 DEFINE GCC44_ASM_FLAGS               = DEF(GCC_ASM_FLAGS)\r
 \r
 DEFINE GCC45_IA32_CC_FLAGS           = DEF(GCC44_IA32_CC_FLAGS)\r
@@ -1720,6 +1725,7 @@ DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 ##################\r
 # GCC44 IA32 definitions\r
 ##################\r
+*_GCC44_IA32_OBJCOPY_PATH         = DEF(GCC44_IA32_PREFIX)objcopy\r
 *_GCC44_IA32_CC_PATH              = DEF(GCC44_IA32_PREFIX)gcc\r
 *_GCC44_IA32_SLINK_PATH           = DEF(GCC44_IA32_PREFIX)ar\r
 *_GCC44_IA32_DLINK_PATH           = DEF(GCC44_IA32_PREFIX)ld\r
@@ -1737,10 +1743,12 @@ DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 *_GCC44_IA32_CC_FLAGS             = DEF(GCC44_IA32_CC_FLAGS) -Os\r
 *_GCC44_IA32_DLINK_FLAGS          = DEF(GCC44_IA32_X64_DLINK_FLAGS) -m elf_i386 --oformat=elf32-i386\r
 *_GCC44_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)\r
+*_GCC44_IA32_OBJCOPY_FLAGS        = \r
 \r
 ##################\r
 # GCC44 X64 definitions\r
 ##################\r
+*_GCC44_X64_OBJCOPY_PATH         = DEF(GCC44_X64_PREFIX)objcopy\r
 *_GCC44_X64_CC_PATH              = DEF(GCC44_X64_PREFIX)gcc\r
 *_GCC44_X64_SLINK_PATH           = DEF(GCC44_X64_PREFIX)ar\r
 *_GCC44_X64_DLINK_PATH           = DEF(GCC44_X64_PREFIX)ld\r
@@ -1758,7 +1766,7 @@ DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 *_GCC44_X64_CC_FLAGS             = DEF(GCC44_X64_CC_FLAGS)\r
 *_GCC44_X64_DLINK_FLAGS          = DEF(GCC44_X64_DLINK_FLAGS)\r
 *_GCC44_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)\r
-\r
+*_GCC44_X64_OBJCOPY_FLAGS        = \r
 \r
 ####################################################################################\r
 #\r
@@ -1782,6 +1790,7 @@ DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 ##################\r
 # GCC45 IA32 definitions\r
 ##################\r
+*_GCC45_IA32_OBJCOPY_PATH         = DEF(GCC45_IA32_PREFIX)objcopy\r
 *_GCC45_IA32_CC_PATH              = DEF(GCC45_IA32_PREFIX)gcc\r
 *_GCC45_IA32_SLINK_PATH           = DEF(GCC45_IA32_PREFIX)ar\r
 *_GCC45_IA32_DLINK_PATH           = DEF(GCC45_IA32_PREFIX)ld\r
@@ -1799,10 +1808,12 @@ DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 *_GCC45_IA32_CC_FLAGS             = DEF(GCC45_IA32_CC_FLAGS) -Os\r
 *_GCC45_IA32_DLINK_FLAGS          = DEF(GCC45_IA32_X64_DLINK_FLAGS) -m elf_i386 --oformat=elf32-i386\r
 *_GCC45_IA32_RC_FLAGS             = DEF(GCC_IA32_RC_FLAGS)\r
+*_GCC45_IA32_OBJCOPY_FLAGS        = \r
 \r
 ##################\r
 # GCC45 X64 definitions\r
 ##################\r
+*_GCC45_X64_OBJCOPY_PATH         = DEF(GCC45_X64_PREFIX)objcopy\r
 *_GCC45_X64_CC_PATH              = DEF(GCC45_X64_PREFIX)gcc\r
 *_GCC45_X64_SLINK_PATH           = DEF(GCC45_X64_PREFIX)ar\r
 *_GCC45_X64_DLINK_PATH           = DEF(GCC45_X64_PREFIX)ld\r
@@ -1820,7 +1831,7 @@ DEFINE GCC45_ASM_FLAGS               = DEF(GCC44_ASM_FLAGS)
 *_GCC45_X64_CC_FLAGS             = DEF(GCC45_X64_CC_FLAGS)\r
 *_GCC45_X64_DLINK_FLAGS          = DEF(GCC45_X64_DLINK_FLAGS)\r
 *_GCC45_X64_RC_FLAGS             = DEF(GCC_X64_RC_FLAGS)\r
-\r
+*_GCC45_X64_OBJCOPY_FLAGS        = \r
 \r
 ####################################################################################\r
 #\r
@@ -3385,6 +3396,71 @@ RELEASE_XCODE32_ARM_ASM_FLAGS  = $(ARCHASM_FLAGS)
 RELEASE_XCODE32_ARM_CC_FLAGS   = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mthumb-interwork -Oz    -mabi=aapcs -mapcs -fno-short-enums  -save-temps -combine -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h  -fno-stack-protector\r
 \r
 \r
+####################################################################################\r
+#\r
+# Clang Support for building on Mac OS X\r
+#\r
+####################################################################################\r
+#   CLANG         - clang that produce Mach-O with EFI x86_64 ABI\r
+*_XCLANG_*_*_FAMILY            = GCC\r
+*_XCLANG_*_*_BUILDRULEFAMILY   = XCODE\r
+\r
+*_XCLANG_*_ASL_PATH          = /usr/bin/iasl\r
+\r
+*_XCLANG_*_MAKE_PATH        = make\r
+*_XCLANG_*_DSYMUTIL_PATH    = /usr/bin/dsymutil\r
+\r
+      *_*_*_MTOC_PATH  = /usr/local/bin/mtoc\r
+\r
+  DEBUG_XCLANG_*_MTOC_FLAGS = -align 0x20 -d $(DEBUG_DIR)/$(MODULE_NAME).dll\r
+RELEASE_XCLANG_*_MTOC_FLAGS = -align 0x20\r
+\r
+\r
+*_XCLANG_*_CC_PATH      = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_SLINK_PATH   = libtool\r
+*_XCLANG_*_DLINK_PATH   = ld\r
+*_XCLANG_*_ASM_PATH     = as\r
+*_XCLANG_*_PP_PATH      = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_VFRPP_PATH   = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_ASL_PATH     = iasl\r
+*_XCLANG_*_ASLCC_PATH   = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_ASLPP_PATH   = DEF(CLANG_BIN)clang\r
+*_XCLANG_*_ASLDLINK_PATH  = ld\r
+\r
+####################\r
+# IA-32 definitions\r
+####################\r
+  DEBUG_XCLANG_IA32_DLINK_FLAGS      = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+RELEASE_XCLANG_IA32_DLINK_FLAGS      = -arch i386 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x220 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+*_XCLANG_IA32_SLINK_FLAGS      = -static -o\r
+  DEBUG_XCLANG_IA32_ASM_FLAGS  = -arch i386 -g\r
+RELEASE_XCLANG_IA32_ASM_FLAGS  = -arch i386 \r
+\r
+\r
+  DEBUG_XCLANG_IA32_CC_FLAGS   = -arch i386 -c -g -O0  -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable \r
+RELEASE_XCLANG_IA32_CC_FLAGS   = -arch i386 -c    -Os  -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable \r
+\r
+\r
+##################\r
+# X64 definitions\r
+##################\r
+  DEBUG_XCLANG_X64_DLINK_FLAGS      = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x240 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+RELEASE_XCLANG_X64_DLINK_FLAGS      = -arch x86_64 -u _$(IMAGE_ENTRY_POINT) -e _$(IMAGE_ENTRY_POINT) -preload -segalign 0x20  -pie -all_load -dead_strip -seg1addr 0x220 -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+*_XCLANG_X64_SLINK_FLAGS      = -static -o\r
+  DEBUG_XCLANG_X64_ASM_FLAGS  = -arch x86_64 -g\r
+RELEASE_XCLANG_X64_ASM_FLAGS  = -arch x86_64 \r
+*_XCLANG_*_PP_FLAGS         = -E -x assembler-with-cpp -include $(DEST_DIR_DEBUG)/AutoGen.h \r
+*_XCLANG_*_VFRPP_FLAGS      = -x c -E -P -DVFRCOMPILE -include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h \r
+\r
+\r
+  DEBUG_XCLANG_X64_CC_FLAGS   = -ccc-host-triple x86_64-pc-win32-macho -c -g -O0  -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable \r
+RELEASE_XCLANG_X64_CC_FLAGS   = -ccc-host-triple x86_64-pc-win32-macho -c    -Os  -Wall -Werror -include AutoGen.h -fno-stack-protector -fno-builtin -fshort-wchar -mdynamic-no-pic -mno-sse -mno-mmx -Wno-empty-body -Wno-pointer-sign -Wno-unused-function -Wno-unused-value -Wno-missing-braces -Wno-tautological-compare -Wreturn-type -Wno-unused-variable \r
+*_XCLANG_*_ASLCC_FLAGS      = -x c -save-temps -g -O0 -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-missing-braces -c -include AutoGen.h -mdynamic-no-pic\r
+*_XCLANG_*_ASLDLINK_FLAGS   = -e _main -preload -segalign 0x20  -pie -seg1addr 0x240 -read_only_relocs suppress -map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
+*_XCLANG_*_ASLPP_FLAGS      = -x c -E \r
+*_XCLANG_*_ASL_FLAGS        =\r
+\r
+\r
 ####################################################################################\r
 #\r
 # ARM Tools\r
@@ -3527,14 +3603,10 @@ RELEASE_ARMGCC_ARM_ASM_FLAGS   = $(ARCHASM_FLAGS) -mlittle-endian
 *_ARMGCC_ARM_VFRPP_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS)  -x c -E -P -DVFRCOMPILE --include $(DEST_DIR_DEBUG)/$(MODULE_NAME)StrDefs.h\r
 \r
 *_ARMGCC_ARM_SLINK_FLAGS =  -rc\r
-*_ARMGCC_ARM_DLINK_FLAGS =  $(ARCHDLINK_FLAGS)  --oformat=elf32-littlearm -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
-#\r
-# Had to remove --emit-relocs to get compile working. Images don't work correctly (linked at 0, no relocations)\r
-# --emit-relocs\r
-#\r
+*_ARMGCC_ARM_DLINK_FLAGS =  $(ARCHDLINK_FLAGS)  --oformat=elf32-littlearm --emit-relocs -nostdlib -u $(IMAGE_ENTRY_POINT) -e $(IMAGE_ENTRY_POINT) -Map $(DEST_DIR_DEBUG)/$(BASE_NAME).map\r
 \r
-  DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mfpu=fpa -mlittle-endian -g -O2 -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
-RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mfpu=fpa -mlittle-endian    -O2 -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
+  DEBUG_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian -g -O0 -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
+RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mlittle-endian    -Os -mabi=aapcs -mapcs -fno-short-enums -save-temps -combine -fsigned-char -fshort-wchar -fno-strict-aliasing -ffunction-sections -fdata-sections -Wall -Werror -Wno-missing-braces -fomit-frame-pointer -c -include AutoGen.h\r
 \r
 #################\r
 # ASM 16 linker defintions\r
@@ -3564,7 +3636,7 @@ RELEASE_ARMGCC_ARM_CC_FLAGS = $(ARCHCC_FLAGS) $(PLATFORM_FLAGS) -mfpu=fpa -mlitt
 # Asl Compiler definitions\r
 ##################\r
 *_*_*_ASLCC_FLAGS                  = /nologo /c /FIAutoGen.h /TC /Dmain=ReferenceAcpiTable\r
-*_*_*_ASLDLINK_FLAGS               = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:EFI_BOOT_SERVICE_DRIVER\r
+*_*_*_ASLDLINK_FLAGS               = /NODEFAULTLIB /ENTRY:ReferenceAcpiTable /SUBSYSTEM:CONSOLE\r
 *_*_*_ASLPP_FLAGS                  = /nologo /EP /C\r
 *_*_*_ASL_FLAGS                    =\r
 \r