Skip to content
  1. Feb 09, 2015
  2. Feb 03, 2015
  3. Jan 14, 2015
  4. Dec 29, 2014
    • Chandler Carruth's avatar
      [py3] Teach the CMake build to reject Python versions older than 2.7. · d86ab891
      Chandler Carruth authored
      Continue to require Python 2 however as recent experiments suggest
      LLDB's build requires it.
      
      llvm-svn: 224948
      d86ab891
    • Chandler Carruth's avatar
      [cmake] Start making LLVM_LIBDIR_SUFFIX effective by adding it to · a78e24e5
      Chandler Carruth authored
      *numerous* places where it was missing in the CMake build. The primary
      change here is that the suffix is now actually used for all of the lib
      directories in the LLVM project's CMake. The various subprojects still
      need similar treatment.
      
      This is the first of a series of commits to try to make LLVM's cmake
      effective in a multilib Linux installation. I don't think many people
      are seriously using this variable so I'm hoping the fallout will be
      minimal. A somewhat unfortunate consequence of the nature of these
      commits is that until I land all of them, they will in part make the
      brokenness of our multilib support more apparant. At the end, things
      should actually work.
      
      llvm-svn: 224919
      a78e24e5
  5. Dec 09, 2014
    • Chris Bieneman's avatar
      Adding a new option to CMake to disable C++ atexit on llvm-shlib. · 5d388e11
      Chris Bieneman authored
      Summary:
      This is desirable for WebKit and other clients of the llvm-shlib because C++ exit time destructors have a tendency to crash when invoked from multi-threaded applications.
      
      Ideally this option will be temporary, because the ideal fix is to just not have exit time destructors.
      
      Reviewers: chapuni, ributzka
      
      Reviewed By: ributzka
      
      Subscribers: llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D6572
      
      llvm-svn: 223805
      5d388e11
  6. Dec 01, 2014
  7. Nov 19, 2014
  8. Nov 17, 2014
  9. Nov 07, 2014
    • Rafael Espindola's avatar
      Pass PRIVATE to target_link_libraries if using shared libraries. · f9dcf902
      Rafael Espindola authored
      A shared library (unlike a .a), has its dependencies recorded in the library and
      we can pass PRIVATE to target_link_libraries.
      
      This patch then removes some bogus dependencies when using
      BUILD_SHARED_LIBS=ON. For example, we go from
      
      build lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o:
      CXX_COMPILER /home/espindola/llvm/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
      || include/llvm/IR/intrinsics_gen lib/libLLVMSupport.so
      lib/libLLVMCore.so lib/libLLVMBitReader.so
      lib/libLLVMTransformUtils.so lib/libLLVMInstCombine.so
      lib/libLLVMScalarOpts.so lib/libLLVMipa.so lib/libLLVMAnalysis.so
      lib/libLLVMMCParser.so lib/libLLVMMC.so lib/libLLVMObject.so
      lib/libLLVMTarget.so lib/libLLVMProfileData.so
      
      to
      
      build lib/CodeGen/CMakeFiles/LLVMCodeGen.dir/AggressiveAntiDepBreaker.cpp.o:
      CXX_COMPILER /home/espindola/llvm/llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
      || include/llvm/IR/intrinsics_gen lib/libLLVMSupport.so
      lib/libLLVMCore.so lib/libLLVMTransformUtils.so
      lib/libLLVMScalarOpts.so lib/libLLVMAnalysis.so lib/libLLVMMC.so
      lib/libLLVMTarget.so
      
      In fact, build.ninja goes from 5231028 bytes to 4896759 bytes.
      
      With this, old verisons of bfd ld (2.24 is OK, 2.23 warns) will print a bogus
      warning when building with BUILD_SHARED_LIBS.
      
      llvm-svn: 221530
      f9dcf902
  10. Oct 23, 2014
    • Chris Bieneman's avatar
      Adding llvm-shlib to CMake build system with a few new bells and whistles · adffd014
      Chris Bieneman authored
      Summary:
      This patch adds a new CMake build setting LLVM_BUILD_LLVM_DYLIB, which defaults to OFF. When set to ON, this will generate a shared library containing most of LLVM. The contents of the shared library can be overriden by specifying LLVM_DYLIB_COMPONENTS. LLVM_DYLIB_COMPONENTS can be set to a semi-colon delimited list of any LLVM components that you llvm-config can resolve.
      
      On Windows, unless you are using Cygwin, you must specify an explicit symbol export file using LLVM_EXPORTED_SYMBOL_FILE. On Cygwin and all unix-like platforms if you do not specify LLVM_EXPORTED_SYMBOL_FILE, an export file containing only the LLVM C API will be auto-generated from the list of LLVM components specified in LLVM_DYLIB_COMPONENTS.
      
      Reviewers: rnk
      
      Reviewed By: rnk
      
      Subscribers: rnk, llvm-commits
      
      Differential Revision: http://reviews.llvm.org/D5890
      
      llvm-svn: 220490
      adffd014
  11. Sep 27, 2014
  12. Sep 04, 2014
    • Chris Bieneman's avatar
      Enabling LLVM & Clang to be cross-compiled using CMake from a single configuration command line · 5007741d
      Chris Bieneman authored
      The basic idea is similar to the existing cross compilation support. A directory must be configured to build host versions of tablegen tools and llvm-config. This directory can be user provided (and configured), or it can be created during the build. During a build the native build directory will be configured and built to supply the tablegen tools used during the build. A user could also explicitly provide the tablegen executables to run on the CMake command line.
      
      llvm-svn: 217105
      5007741d
  13. Aug 01, 2014
  14. Jul 29, 2014
  15. Jul 04, 2014
  16. Jun 23, 2014
  17. Jun 12, 2014
  18. Jun 06, 2014
  19. May 24, 2014
    • Tim Northover's avatar
      AArch64/ARM64: move ARM64 into AArch64's place · 3b0846e8
      Tim Northover authored
      This commit starts with a "git mv ARM64 AArch64" and continues out
      from there, renaming the C++ classes, intrinsics, and other
      target-local objects for consistency.
      
      "ARM64" test directories are also moved, and tests that began their
      life in ARM64 use an arm64 triple, those from AArch64 use an aarch64
      triple. Both should be equivalent though.
      
      This finishes the AArch64 merge, and everyone should feel free to
      continue committing as normal now.
      
      llvm-svn: 209577
      3b0846e8
    • Tim Northover's avatar
      AArch64/ARM64: remove AArch64 from tree prior to renaming ARM64. · cc08e1fe
      Tim Northover authored
      I'm doing this in two phases for a better "git blame" record. This
      commit removes the previous AArch64 backend and redirects all
      functionality to ARM64. It also deduplicates test-lines and removes
      orphaned AArch64 tests.
      
      The next step will be "git mv ARM64 AArch64" and rewire most of the
      tests.
      
      Hopefully LLVM is still functional, though it would be even better if
      no-one ever had to care because the rename happens straight
      afterwards.
      
      llvm-svn: 209576
      cc08e1fe
  20. May 07, 2014
  21. Apr 18, 2014
    • Reid Kleckner's avatar
      Added Sphinx documentation generation to CMake build system. · 9f5eb637
      Reid Kleckner authored
      The option LLVM_ENABLE_SPHINX option enables the "docs-llvm-html",
      "docs-llvm-man" targets but does not build them by default. The
      following CMake options have been added that control what targets are
      made available
      
      SPHINX_OUTPUT_HTML
      SPHINX_OUTPUT_MAN
      
      If LLVM_BUILD_DOCS is enabled then the enabled docs-llvm-* targets will
      be built by default and if ``make install`` is run then docs-llvm-html
      and docs-llvm-man will be installed (tested on Linux only).
      
      The add_sphinx_target function is in its own file so it can be included
      by other projects that use Sphinx for their documentation.
      
      Patch by Daniel Liew <daniel.liew@imperial.ac.uk>!
      
      llvm-svn: 206655
      9f5eb637
  22. Apr 14, 2014
  23. Apr 03, 2014
  24. Mar 29, 2014
    • Tim Northover's avatar
      ARM64: initial backend import · 00ed9964
      Tim Northover authored
      This adds a second implementation of the AArch64 architecture to LLVM,
      accessible in parallel via the "arm64" triple. The plan over the
      coming weeks & months is to merge the two into a single backend,
      during which time thorough code review should naturally occur.
      
      Everything will be easier with the target in-tree though, hence this
      commit.
      
      llvm-svn: 205090
      00ed9964
  25. Mar 27, 2014
  26. Mar 14, 2014
  27. Mar 11, 2014
    • Sebastian Pop's avatar
      move WITH_POLLY option before add_subdirectory(tools) · f7d02d47
      Sebastian Pop authored
      the first run of the polly buildbot failed, and then it started passing.
      This is due to the fact that the buildbot re-builds in an existing directory,
      and the first run does not have WITH_POLLY set when it enters tools/.
      Thus, cmake ignores the tools/polly dir in the first run, and then because
      it reuses the CMakeCache.txt of the previous run, it has the WITH_POLLY set
      by the previous run, and so it passes the second time.
      
      llvm-svn: 203615
      f7d02d47
  28. Mar 10, 2014
  29. Mar 09, 2014
  30. Mar 04, 2014
  31. Mar 03, 2014
    • Tom Stellard's avatar
      Add patch level to llvm version in CMake and Autoconf · e6ba81da
      Tom Stellard authored
      The shared library generated by autoconf will now be called
      libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)$(VERSION_SUFFIX).so
      and a symlink named
      libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_SUFFIX).so will
      also be created in the install directory.
      
      llvm-svn: 202720
      e6ba81da
  32. Mar 01, 2014
  33. Feb 28, 2014
  34. Feb 27, 2014
  35. Feb 26, 2014
Loading