diff options
author | Dan Willemsen <dwillemsen@google.com> | 2016-02-03 23:16:33 -0800 |
---|---|---|
committer | Dan Willemsen <dwillemsen@google.com> | 2016-02-08 16:07:22 -0800 |
commit | 07cd051a176589fda0ad6a5a2fa6793960c50fbb (patch) | |
tree | d0e65b300ae28ebc3fe049671ae85ce3ac7af926 /cc | |
parent | 7f730fd0ad2e3e7e33dbb3f2b63889d7dab98edf (diff) | |
download | build_soong-07cd051a176589fda0ad6a5a2fa6793960c50fbb.tar.gz build_soong-07cd051a176589fda0ad6a5a2fa6793960c50fbb.tar.bz2 build_soong-07cd051a176589fda0ad6a5a2fa6793960c50fbb.zip |
Add windows x86_64
Bug: 26957718
Change-Id: I5cfa2f44c27eac0805d21865c45546ed3c2c2103
Diffstat (limited to 'cc')
-rw-r--r-- | cc/x86_windows_host.go | 68 |
1 files changed, 57 insertions, 11 deletions
diff --git a/cc/x86_windows_host.go b/cc/x86_windows_host.go index 8556a645..ad6fdf3d 100644 --- a/cc/x86_windows_host.go +++ b/cc/x86_windows_host.go @@ -55,10 +55,25 @@ var ( } windowsLdflags = []string{ - "-m32", "-L${windowsGccRoot}/${windowsGccTriple}", "--enable-stdcall-fixup", } + + windowsX86Cflags = []string{ + "-m32", + } + + windowsX8664Cflags = []string{ + "-m64", + } + + windowsX86Ldflags = []string{ + "-m32", + } + + windowsX8664Ldflags = []string{ + "-m64", + } ) const ( @@ -75,18 +90,35 @@ func init() { pctx.StaticVariable("windowsCflags", strings.Join(windowsCflags, " ")) pctx.StaticVariable("windowsLdflags", strings.Join(windowsLdflags, " ")) + + pctx.StaticVariable("windowsX86Cflags", strings.Join(windowsX86Cflags, " ")) + pctx.StaticVariable("windowsX8664Cflags", strings.Join(windowsX8664Cflags, " ")) + pctx.StaticVariable("windowsX86Ldflags", strings.Join(windowsX86Ldflags, " ")) + pctx.StaticVariable("windowsX8664Ldflags", strings.Join(windowsX8664Ldflags, " ")) } type toolchainWindows struct { + cFlags, ldFlags string +} + +type toolchainWindowsX86 struct { toolchain32Bit + toolchainWindows +} - cFlags, ldFlags string +type toolchainWindowsX8664 struct { + toolchain64Bit + toolchainWindows } -func (t *toolchainWindows) Name() string { +func (t *toolchainWindowsX86) Name() string { return "x86" } +func (t *toolchainWindowsX8664) Name() string { + return "x86_64" +} + func (t *toolchainWindows) GccRoot() string { return "${windowsGccRoot}" } @@ -99,16 +131,24 @@ func (t *toolchainWindows) GccVersion() string { return windowsGccVersion } -func (t *toolchainWindows) Cflags() string { - return "${windowsCflags}" +func (t *toolchainWindowsX86) Cflags() string { + return "${windowsCflags} ${windowsX86Cflags}" +} + +func (t *toolchainWindowsX8664) Cflags() string { + return "${windowsCflags} ${windowsX8664Cflags}" } func (t *toolchainWindows) Cppflags() string { return "" } -func (t *toolchainWindows) Ldflags() string { - return "${windowsLdflags}" +func (t *toolchainWindowsX86) Ldflags() string { + return "${windowsLdflags} ${windowsX86Ldflags}" +} + +func (t *toolchainWindowsX8664) Ldflags() string { + return "${windowsLdflags} ${windowsX8664Ldflags}" } func (t *toolchainWindows) IncludeFlags() string { @@ -143,12 +183,18 @@ func (t *toolchainWindows) ExecutableSuffix() string { return ".exe" } -var toolchainWindowsSingleton Toolchain = &toolchainWindows{} +var toolchainWindowsX86Singleton Toolchain = &toolchainWindowsX86{} +var toolchainWindowsX8664Singleton Toolchain = &toolchainWindowsX8664{} + +func windowsX86ToolchainFactory(arch common.Arch) Toolchain { + return toolchainWindowsX86Singleton +} -func windowsToolchainFactory(arch common.Arch) Toolchain { - return toolchainWindowsSingleton +func windowsX8664ToolchainFactory(arch common.Arch) Toolchain { + return toolchainWindowsX8664Singleton } func init() { - registerHostToolchainFactory(common.Windows, common.X86, windowsToolchainFactory) + registerHostToolchainFactory(common.Windows, common.X86, windowsX86ToolchainFactory) + registerHostToolchainFactory(common.Windows, common.X86_64, windowsX8664ToolchainFactory) } |