]> granicus.if.org Git - clang/commit
Driver: add CrossWindowsToolChain
authorSaleem Abdulrasool <compnerd@compnerd.org>
Fri, 24 Oct 2014 03:13:37 +0000 (03:13 +0000)
committerSaleem Abdulrasool <compnerd@compnerd.org>
Fri, 24 Oct 2014 03:13:37 +0000 (03:13 +0000)
commit7df4069436f4ff1667a07258d07f9818fea6c931
treec73e9aa7fa0100c5201a43b5969cd38ee2f389a2
parent81eedfd05cf455e9324fc2dd7b63eb49afe8cc26
Driver: add CrossWindowsToolChain

This is a very basic toolchain.  It supports cross-compiling Windows (primarily
inspired by the WoA target).  It is meant to use clang with the LLVM IAS and a
binutils ld-compatible interface for the linker (eventually to be lld).  It does
not perform any "standard" GCC lookup, nor does it perform any special
adjustments given that it is expected to be used in an environment where the
user is using MSVCRT (and as such Visual Studio headers) and the Windows SDK.
The primary runtime library is expected to be compiler-rt and the C++
implementation to be libc++.

It also expects that a sysroot has been setup given the usual Unix semantics
(standard C headers in /usr/include, all the import libraries available in
/usr/lib).  It also expects that an entry point stub is present in /usr/lib
(crtbegin.obj for executables, crtbeginS.obj for shared libraries).

The entry point stub is responsible for running any GNU constructors.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@220546 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Driver/CMakeLists.txt
lib/Driver/Driver.cpp
lib/Driver/ToolChains.h
lib/Driver/Tools.cpp
lib/Driver/Tools.h
test/Driver/windows-cross.c [new file with mode: 0644]