mirror of https://github.com/acidanthera/audk.git
BaseTools: Modify gcc 4.8 and 4.9 tool chain definition to support building from Windows.
Here is a new patch that adds Windows support for both gcc 4.8.x and gcc 4.9.x. This time testing is more thorough: boot testing using Duet for all 4 combinations of IA32/X64 and gcc 4.8.2 and gcc 4.9.1 passes. A Windows hosted gcc 4.8.2 has been added here: http://sourceforge.net/projects/edk2developertoolsforwindows/ The environment variable settings for Windows look like: set UEFI_BUILD_TOOLS=%cd%\tools set NASM_PREFIX=%UEFI_BUILD_TOOLS%\nasm211\ set GCC48_BIN=%UEFI_BUILD_TOOLS%\gcc482-x86\bin\ set GCC48_DLL=%UEFI_BUILD_TOOLS%\gcc482-x86\dll\;%GCC48_BIN% set GCC48_ARM_PREFIX=%UEFI_BUILD_TOOLS%\gcc482-arm\bin\ set GCC48_AARCH64_PREFIX=%UEFI_BUILD_TOOLS%\gcc482-aarch64\bin\ set GCC49_BIN=%UEFI_BUILD_TOOLS%\gcc491-x86\bin\ set GCC49_DLL=%UEFI_BUILD_TOOLS%\gcc491-x86\dll\;%GCC49_BIN% set GCC49_ARM_PREFIX=%UEFI_BUILD_TOOLS%\gcc491-arm\bin\ set GCC49_AARCH64_PREFIX=%UEFI_BUILD_TOOLS%\gcc491-aarch64\bin\ No change is needed for building from Linux. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Scott Duplichan <scott@notabs.org> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16400 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
d808fc659d
commit
285a175441
|
@ -131,11 +131,33 @@
|
||||||
<Command.GCC, Command.RVCT>
|
<Command.GCC, Command.RVCT>
|
||||||
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
|
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
|
||||||
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
||||||
"$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}
|
|
||||||
|
|
||||||
<Command.ARMGCC, Command.ARMLINUXGCC, command.XCODE>
|
<Command.ARMGCC, Command.ARMLINUXGCC, command.XCODE>
|
||||||
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
||||||
|
|
||||||
|
[C-Code-File.COMMON.IPF]
|
||||||
|
<InputFile>
|
||||||
|
?.c
|
||||||
|
?.C
|
||||||
|
?.cc
|
||||||
|
?.CC
|
||||||
|
?.cpp
|
||||||
|
?.Cpp
|
||||||
|
?.CPP
|
||||||
|
|
||||||
|
<ExtraDependency>
|
||||||
|
$(MAKE_FILE)
|
||||||
|
|
||||||
|
<OutputFile>
|
||||||
|
$(OUTPUT_DIR)(+)${s_dir}(+)${s_base}.obj
|
||||||
|
|
||||||
|
<Command.MSFT, Command.INTEL>
|
||||||
|
"$(CC)" /Fo${dst} $(CC_FLAGS) $(INC) ${src}
|
||||||
|
|
||||||
|
<Command.GCC, Command.RVCT>
|
||||||
|
# For RVCTCYGWIN CC_FLAGS must be first to work around pathing issues
|
||||||
|
"$(CC)" $(CC_FLAGS) -o ${dst} $(INC) ${src}
|
||||||
|
"$(SYMRENAME)" $(SYMRENAME_FLAGS) ${dst}
|
||||||
|
|
||||||
[C-Header-File]
|
[C-Header-File]
|
||||||
<InputFile>
|
<InputFile>
|
||||||
|
|
|
@ -179,11 +179,11 @@ DEFINE GCC46_X64_PREFIX = /usr/bin/
|
||||||
DEFINE GCC47_IA32_PREFIX = /usr/bin/
|
DEFINE GCC47_IA32_PREFIX = /usr/bin/
|
||||||
DEFINE GCC47_X64_PREFIX = /usr/bin/
|
DEFINE GCC47_X64_PREFIX = /usr/bin/
|
||||||
|
|
||||||
DEFINE GCC48_IA32_PREFIX = /usr/bin/
|
DEFINE GCC48_IA32_PREFIX = ENV(GCC48_BIN)
|
||||||
DEFINE GCC48_X64_PREFIX = /usr/bin/
|
DEFINE GCC48_X64_PREFIX = ENV(GCC48_BIN)
|
||||||
|
|
||||||
DEFINE GCC49_IA32_PREFIX = /usr/bin/
|
DEFINE GCC49_IA32_PREFIX = ENV(GCC49_BIN)
|
||||||
DEFINE GCC49_X64_PREFIX = /usr/bin/
|
DEFINE GCC49_X64_PREFIX = ENV(GCC49_BIN)
|
||||||
|
|
||||||
DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl
|
DEFINE UNIX_IASL_BIN = ENV(IASL_PREFIX)iasl
|
||||||
DEFINE WIN_ASL_BIN_DIR = C:\ASL
|
DEFINE WIN_ASL_BIN_DIR = C:\ASL
|
||||||
|
@ -333,14 +333,14 @@ DEFINE SOURCERY_CYGWIN_TOOLS = /cygdrive/c/Program Files/CodeSourcery/Sourcery G
|
||||||
# Required to build platforms or ACPI tables:
|
# Required to build platforms or ACPI tables:
|
||||||
# Intel(r) ACPI Compiler v20101013 from
|
# Intel(r) ACPI Compiler v20101013 from
|
||||||
# http://www.acpica.org/downloads/previous_releases.php
|
# http://www.acpica.org/downloads/previous_releases.php
|
||||||
# GCC48 -Linux- Requires:
|
# GCC48 -Linux,Windows- Requires:
|
||||||
# GCC 4.8
|
# GCC 4.8 targeting x86_64-linux-gnu
|
||||||
# Optional:
|
# Optional:
|
||||||
# Required to build platforms or ACPI tables:
|
# Required to build platforms or ACPI tables:
|
||||||
# Intel(r) ACPI Compiler v20101013 from
|
# Intel(r) ACPI Compiler v20101013 from
|
||||||
# http://www.acpica.org/downloads/previous_releases.php
|
# http://www.acpica.org/downloads/previous_releases.php
|
||||||
# GCC49 -Linux- Requires:
|
# GCC49 -Linux,Windows- Requires:
|
||||||
# GCC 4.9
|
# GCC 4.9 targeting x86_64-linux-gnu
|
||||||
# Optional:
|
# Optional:
|
||||||
# Required to build platforms or ACPI tables:
|
# Required to build platforms or ACPI tables:
|
||||||
# Intel(r) ACPI Compiler v20101013 from
|
# Intel(r) ACPI Compiler v20101013 from
|
||||||
|
@ -4367,7 +4367,8 @@ RELEASE_GCC47_AARCH64_CC_FLAGS = DEF(GCC47_AARCH64_CC_FLAGS) -Wno-unused-but-s
|
||||||
####################################################################################
|
####################################################################################
|
||||||
*_GCC48_*_*_FAMILY = GCC
|
*_GCC48_*_*_FAMILY = GCC
|
||||||
|
|
||||||
*_GCC48_*_MAKE_PATH = make
|
*_GCC48_*_MAKE_PATH = DEF(GCC48_IA32_PREFIX)make
|
||||||
|
*_GCC48_*_*_DLL = ENV(GCC48_DLL)
|
||||||
*_GCC48_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
*_GCC48_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
||||||
|
|
||||||
*_GCC48_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
*_GCC48_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
||||||
|
@ -4489,7 +4490,8 @@ RELEASE_GCC48_AARCH64_CC_FLAGS = DEF(GCC48_AARCH64_CC_FLAGS) -Wno-unused-but-s
|
||||||
####################################################################################
|
####################################################################################
|
||||||
*_GCC49_*_*_FAMILY = GCC
|
*_GCC49_*_*_FAMILY = GCC
|
||||||
|
|
||||||
*_GCC49_*_MAKE_PATH = make
|
*_GCC49_*_MAKE_PATH = DEF(GCC49_IA32_PREFIX)make
|
||||||
|
*_GCC49_*_*_DLL = ENV(GCC49_DLL)
|
||||||
*_GCC49_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
*_GCC49_*_ASL_PATH = DEF(UNIX_IASL_BIN)
|
||||||
|
|
||||||
*_GCC49_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
*_GCC49_*_PP_FLAGS = DEF(GCC_PP_FLAGS)
|
||||||
|
|
|
@ -679,7 +679,8 @@ cleanlib:
|
||||||
NewFile = self.PlaceMacro(str(F), self.Macros)
|
NewFile = self.PlaceMacro(str(F), self.Macros)
|
||||||
# In order to use file list macro as dependency
|
# In order to use file list macro as dependency
|
||||||
if T.GenListFile:
|
if T.GenListFile:
|
||||||
self.ListFileMacros[T.ListFileMacro].append(str(F))
|
# gnu tools need forward slash path separater, even on Windows
|
||||||
|
self.ListFileMacros[T.ListFileMacro].append(str(F).replace ('\\', '/'))
|
||||||
self.FileListMacros[T.FileListMacro].append(NewFile)
|
self.FileListMacros[T.FileListMacro].append(NewFile)
|
||||||
elif T.GenFileListMacro:
|
elif T.GenFileListMacro:
|
||||||
self.FileListMacros[T.FileListMacro].append(NewFile)
|
self.FileListMacros[T.FileListMacro].append(NewFile)
|
||||||
|
|
Loading…
Reference in New Issue