Skip to content
  1. Feb 07, 2019
  2. Feb 06, 2019
    • Shoaib Meenai's avatar
      [cmake] Add all subprojects to LLVM_ALL_PROJECTS · 351314a1
      Shoaib Meenai authored
      Make LLVM_ALL_PROJECTS reflect all top-level directories in the monorepo
      rather than an arbitrary subset. clang-tools-extra is technically
      unnecessary since it gets enabled by clang, but having it there for
      consistency shouldn't hurt either.
      
      Differential Revision: https://reviews.llvm.org/D57843
      
      llvm-svn: 353346
      351314a1
    • Shoaib Meenai's avatar
      [cmake] Add openmp to LLVM_ALL_PROJECTS · af8eadd9
      Shoaib Meenai authored
      It'll get ignored in LLVM_ENABLE_PROJECTS after r353148 otherwise.
      
      llvm-svn: 353343
      af8eadd9
    • Petr Hosek's avatar
      [CMake] Unify scripts for generating VCS headers · 23fdd5a3
      Petr Hosek authored
      Previously, there were two different scripts for generating VCS headers:
      one used by LLVM and one used by Clang and lldb. They were both similar,
      but different. They were both broken in their own ways, for example the
      one used by Clang didn't properly handle monorepo resulting in an
      incorrect version information reported by Clang.
      
      This change unifies two the scripts by introducing a new script that's
      used from both LLVM, Clang and lldb, ensures that the new script
      supports both monorepo and standalone SVN and Git setups, and removes
      the old scripts.
      
      Differential Revision: https://reviews.llvm.org/D57063
      
      llvm-svn: 353268
      23fdd5a3
  3. Feb 05, 2019
    • Dan Liew's avatar
      Previously if the user configured their build but then changed · de5220ed
      Dan Liew authored
      LLVM_ENABLED_PROJECT and reconfigured it had no effect on what
      projects were actually built. This was very confusing behaviour. The
      reason for this is that the value of the `LLVM_TOOL_<PROJECT>_BUILD`
      variables are already set.
      
      The problem here is that we have two sources of truth:
      
      * The projects listed in LLVM_ENABLE_PROJECTS.
      * The projects enabled/disabled with LLVM_TOOL_<PROJECT>_BUILD.
      
      At configure time we have no real way of knowing which source of truth
      the user wants so we apply the following heuristic:
      
      If the user ever sets `LLVM_ENABLE_PROJECTS` in the CMakeCache then that
      is used as the single source of truth and we force the
      `LLVM_TOOL_<PROJECT>_BUILD` CMake cache variables to have the
      appropriate values that match the contents of the
      `LLVM_ENABLE_PROJECTS`. If the user never sets `LLVM_ENABLE_PROJECTS`
      then they can continue to use and set the `LLVM_TOOL_<PROJECT>_BUILD`
      variables as the "source of truth".
      
      The problem with this approach is that if the user ever tries to use
      both `LLVM_ENABLE_PROJECTS` and `LLVM_TOOL_<PROJECT>_BUILD` for the same
      build directory then any user set value for `LLVM_TOOL_<PROJECT>_BUILD`
      variables will get overwriten, likely without the user noticing.
      
      Hopefully the above shouldn't matter in practice because the
      LLVM_TOOL_<PROJECT>_BUILD variables are not documented, but
      LLVM_ENABLE_PROJECTS is.
      
      We should probably deprecate the `LLVM_TOOL_<PROJECT>_BUILD`
      variables at some point by turning them into to regular CMake
      variables that don't live in the CMake cache.
      
      Differential Revision: https://reviews.llvm.org/D57535
      
      llvm-svn: 353148
      de5220ed
  4. Feb 02, 2019
  5. Feb 01, 2019
  6. Jan 31, 2019
    • Petr Hosek's avatar
      Revert "[CMake] Unify scripts for generating VCS headers" · 12062e06
      Petr Hosek authored
      This reverts commits r352729 and r352731: this broke Sanitizer Windows bots
      
      llvm-svn: 352733
      12062e06
    • Petr Hosek's avatar
      [CMake] Unify scripts for generating VCS headers · 0e712a76
      Petr Hosek authored
      Previously, there were two different scripts for generating VCS headers:
      one used by LLVM and one used by Clang. They were both similar, but
      different. They were both broken in their own ways, for example the one
      used by Clang didn't properly handle monorepo resulting in an incorrect
      version information reported by Clang.
      
      This change unifies two the scripts by introducing a new script that's
      used from both LLVM and Clang, ensures that the new script supports both
      monorepo and standalone SVN and Git setups, and removes the old scripts.
      
      Differential Revision: https://reviews.llvm.org/D57063
      
      llvm-svn: 352729
      0e712a76
  7. Jan 29, 2019
    • Hans Wennborg's avatar
      Revert r351833 and r352250. · 81675c8f
      Hans Wennborg authored
      They were breaking the Windows build when using MSBuild, see the
      discussion on D56781.
      
      r351833: "Use response file when generating LLVM-C.dll"
      
      > Use response file when generating LLVM-C.dll
      >
      > As discovered in D56774 the command line gets to long, so use a response file to give the script the libs. This change has been tested and is confirmed working for me.
      >
      > Commited on behalf of Jakob Bornecrantz
      >
      > Differential Revision: https://reviews.llvm.org/D56781
      
      r352250: "Build LLVM-C.dll by default on windows and enable in release package"
      
      >  Build LLVM-C.dll by default on windows and enable in release package
      >
      >  With the fixes to the building of LLVM-C.dll in D56781 this should now
      >  be safe to land. This will greatly simplify dealing with LLVM for people
      >  that just want to use the C API on windows. This is a follow up from
      >  D35077.
      >
      >  Patch by Jakob Bornecrantz!
      >
      >  Differential revision: https://reviews.llvm.org/D56774
      
      llvm-svn: 352492
      81675c8f
  8. Jan 25, 2019
  9. Jan 16, 2019
  10. Dec 20, 2018
  11. Dec 19, 2018
  12. Dec 18, 2018
    • Alexandre Ganea's avatar
      [CMake] Default options for faster executables on MSVC · b5053199
      Alexandre Ganea authored
      - Disable incremental linking by default. /INCREMENTAL adds extra thunks in the EXE, which makes execution slower.
      - Set /MT (static CRT lib) by default instead of CMake's default /MD (dll CRT lib). The previous default /MD makes all DLL functions to be thunked, thus making execution slower (memcmp, memset, etc.)
      - Adds LLVM_ENABLE_INCREMENTAL_LINK which is set to OFF by default.
      
      Differential revision: https://reviews.llvm.org/D55056
      
      llvm-svn: 349517
      b5053199
  13. Nov 21, 2018
    • Eric Fiselier's avatar
      [LLVM] Allow modulemap installation · 1091bece
      Eric Fiselier authored
      Summary:
      Currently we can't install the modulemaps provided by LLVM, since they are not structured to support headers generated as part of the build (ex. `llvm/IR/Attributes.gen`).
      This patch restructures the module maps in order to support installation.
      
      Modules containing generated headers are defined in the new `module.extern.modulemap` file, and are referenced from the main `module.modulemap` using `extern module`. There are two versions of the `module.extern.modulemap` file; one used when building and another, `module.install.modulemap`, which is re-named during installation.
      
      Users can opt-into module map installation using `-DLLVM_INSTALL_MODULEMAPS=ON`.  The default value is `OFF` due to llvm.org/PR31905.
      
      Reviewers: rsmith, mehdi_amini, bruno, EricWF
      
      Reviewed By: EricWF
      
      Subscribers: tschuett, chapuni, mgorny, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D53510
      
      llvm-svn: 347420
      1091bece
  14. Nov 16, 2018
  15. Nov 08, 2018
    • Nathan Lanza's avatar
      Revert "Reorder FindPythonInterp so that config-ix can use PYTHON_EXECUTABLE" · 86923b02
      Nathan Lanza authored
      This reverts commit rL346367 due to test error in compiler-rt.
      
      llvm-svn: 346383
      86923b02
    • Shoaib Meenai's avatar
      [cmake] Set CMP0075 to NEW · 7681abde
      Shoaib Meenai authored
      Make the check_include_file* macros honor CMAKE_REQUIRED_LIBRARIES. This
      shouldn't cause any of the configuration checks to give different
      results (and I did clean configures before and after this change and
      confirmed that the resulting CMake caches were identical, though of
      course that's just one machine). This suppresses a warning when building
      with CMake 3.12 or later.
      
      This doesn't suppress the warning in clang, because clang does its own
      cmake_minimum_required call even when being built in-tree, and that
      resets all policy settings. I'll address that separately.
      
      Differential Revision: https://reviews.llvm.org/D54236
      
      llvm-svn: 346377
      7681abde
    • Nathan Lanza's avatar
      Reorder FindPythonInterp so that config-ix can use PYTHON_EXECUTABLE · 9a9372fd
      Nathan Lanza authored
      Summary:
      Code in config-ix tries to call `PYTHON_EXECUTABLE` to search for some
      python modules but that variable isn't set until the moved chunk of
      code that finds Python is called.
      
      Reorder it so CMake can use PYTHON_EXECUTABLE
      
      Subscribers: mgorny, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D52763
      
      llvm-svn: 346367
      9a9372fd
  16. Nov 07, 2018
  17. Oct 16, 2018
  18. Oct 15, 2018
    • Chris Bieneman's avatar
      [CMake] Use LLVM_ENABLE_IDE instead of CMAKE_CONFIGURATION_TYPES · db49209c
      Chris Bieneman authored
      There are several places where we use CMAKE_CONFIGURATION_TYPES to determine if we are using an IDE generator and in turn decide not to generate some of the convenience targets (like all the install-* and check-llvm-* targets). This decision is made because IDEs don't always deal well with the thousands of targets LLVM can generate.
      
      This approach does not work for Visual Studio 15's new CMake integration. Because VS15 uses a Ninja generator, it isn't a multi-configuration build, and generating all these extra targets mucks up the UI and adds little value.
      
      With this change we still don't generate these targets by default for Visual Studio and Xcode generators, and LLVM_ENABLE_IDE becomes a switch that can be enabled on the VS15 CMake builds, to improve the IDE experience.
      
      This is a re-land of r340435, with a few minor fix-ups. The issues causing the revert were addressed in r344218, r344219, and r344553.
      
      llvm-svn: 344555
      db49209c
  19. Oct 04, 2018
  20. Sep 21, 2018
  21. Sep 07, 2018
  22. Sep 04, 2018
  23. Aug 30, 2018
  24. Aug 29, 2018
  25. Aug 28, 2018
Loading