Commit Graph

21 Commits

Author SHA1 Message Date
Chandler Carruth 620b89017e [C++1y] Don't error if the user is enabling C++1y, which is *newer* than
C++11. I'm not sure that this is a good idea, but I know some crazy
folks on the core working group who like to live dangerously, and they
should still be able to build LLD. =D

llvm-svn: 202568
2014-03-01 03:18:56 +00:00
NAKAMURA Takumi 9cd9ad6b9d [CMake] Introduce cmake_policy(CMP0022) for target_link_libraries(INTERFACE|PRIVATE).
For now, use both keywords, INTERFACE and PRIVATE via the variable,
  - ${cmake_2_8_12_INTERFACE}
  - ${cmake_2_8_12_PRIVATE}

They could be cleaned up when we introduce 2.8.12.

llvm-svn: 202239
2014-02-26 06:45:11 +00:00
NAKAMURA Takumi 23850261c6 [CMake] Declare cmake_minimum_required() unconditionally.
llvm-svn: 202235
2014-02-26 06:27:59 +00:00
NAKAMURA Takumi b31e03007a [CMake] add_lld_library: link_system_libs is not needed any more. LLVMSupport may provide dependencies to system libs.
llvm-svn: 201967
2014-02-23 04:43:45 +00:00
NAKAMURA Takumi 4162034bb5 [CMake] Apply llvm_update_compile_flags() in add_lld_library().
Sorry for the breakage.

llvm-svn: 200306
2014-01-28 10:45:37 +00:00
Alp Toker c544d5b7e8 Get lld building with MSVC2013
llvm-svn: 194481
2013-11-12 15:14:33 +00:00
Hans Wennborg 2391fddfc7 CMake: Support the LLVM_INSTALL_TOOLCHAIN_ONLY flag
llvm-svn: 189157
2013-08-24 00:24:15 +00:00
Hans Wennborg 306db8f3fa CMake: Don't look for llvm-tblgen when building outside LLVM tree
Previously, the CMake build would look for llvm-tblgen to determine
if a directory is an LLVM build or install directory. Since we don't
want to include llvm-tblgen in the install, look for llvm-config instead,
and use that to find llvm-tblgen.

(This is the lld equivalent of Clang r189127.)

llvm-svn: 189128
2013-08-23 18:18:13 +00:00
Rui Ueyama fe81cf8f91 [lld] Allow flags other than -std= in CMAKE_CXX_FLAGS. Also simplify the IF conditions.
llvm-svn: 181822
2013-05-14 19:53:41 +00:00
Michael J. Spencer d4eb47c110 Add VTune as an optional external dependency and add task tracking.
llvm-svn: 178940
2013-04-06 00:56:40 +00:00
Michael J. Spencer a55e37f477 Add basic linker script parsing.
llvm-svn: 176309
2013-03-01 00:03:36 +00:00
Chandler Carruth 8b95c03fca Allow the LLD CMake build to work with -std=gnu++0x and -std=gnu++11 as
well as c++0x and c++11. This can be especially useful when building
with GCC in C++11 mode.

llvm-svn: 172897
2013-01-19 09:41:42 +00:00
Michael J. Spencer c4048062e5 [CMake] Don't add flags this late and don't force libc++. Error if we know the compiler doesn't support c++11.
llvm-svn: 171596
2013-01-05 04:16:52 +00:00
Michael J. Spencer 800de03813 [Core][ErrorOr] Add support for user error data.
llvm-svn: 170483
2012-12-19 00:51:07 +00:00
Michael J. Spencer db1450800a [CMake] Fix external llvm build. It needs to know where llvm-tblgen is.
llvm-svn: 169794
2012-12-10 23:52:34 +00:00
Nick Kledzik bb963dfb7e Factor out core linking options from Platform in a new ResolverOptions
class.  Change Resolver to no longer use Platform.  Core linking
now issues errors directly.  We need to factor that out later.

Rework how Darwin executable writer finds "main" atom.  It now
adds to core linking an Atom  which has a Reference to "main".  

llvm-svn: 155060
2012-04-18 21:55:06 +00:00
Michael J. Spencer 510b6f28b2 Disable /Za on Windows. It breaks C++11 ;/.
llvm-svn: 153588
2012-03-28 18:48:47 +00:00
Michael J. Spencer e753cbc685 Fix MSVC incompatibilities.
llvm-svn: 152389
2012-03-09 05:27:43 +00:00
Benjamin Kramer 398ecd6200 Use the old -std=c++0x flag for compatibility with pre-2011 versions of GCC.
llvm-svn: 152355
2012-03-09 00:23:07 +00:00
Nick Kledzik 1a6615dc88 Sources now require C++11 to build.
Add first linker pass (StubsPass) which looks for calls to shared library
symbols and replaces them with calls to a StubAtom.  On ELF system, a "stub"
is a PLT entry.  Added a simple test case.

Pass a Platform object to YAML reader and writer for converting fixup kinds 
between names and values.

Change output of Resolver to be a File object instead of a vector of Atoms.
Thus, passes operate on a File instead of just Atoms.

Rework how to walk through a File's Atoms. Now iterator based instead of 
a method that visits each atom.  

llvm-svn: 152269
2012-03-08 00:18:30 +00:00
Michael J. Spencer 773a8fb6ab Initial commit. Code by Nick Kledzik. Cleanups and build system by me.
llvm-svn: 146844
2011-12-18 08:27:59 +00:00