Skip to content
  1. Mar 23, 2017
    • Vassil Vassilev's avatar
      Do not polute the source directory. · a2285ebd
      Vassil Vassilev authored
      When a python script is run, by default it creates the bytecode file if the directory is writable, and this ‘pollutes’ source folders.
      
      From python's help:
      -B Don’t write .py[co] files on import. See also PYTHONDONTWRITEBYTECODE.
      
      Patch by Pere Mato (D30604)!
      
      llvm-svn: 298603
      a2285ebd
  2. Mar 21, 2017
    • Serge Pavlov's avatar
      Fix evaluation of LLVM_DEFINITIONS · 23be9459
      Serge Pavlov authored
      CMake variable LLVM_DEFINITIONS collects preprocessor definitions provided
      for host compiler that builds llvm components. A function
      add_llvm_definitions was introduced in AddLLVMDefinitions.cmake to keep
      track of these definitions and was intended to be a replacement for CMake
      command add_definitions. Actually in many cases add_definitions is still
      used and the content of LLVM_DEFINITIONS is not actual now. On the other
      hand the current version of CMake allows getting set of definitions in a
      more convenient way. This fix implements evaluation of the variable by
      reading corresponding cmake property.
      
      Differential Revision: https://reviews.llvm.org/D31125
      
      llvm-svn: 298336
      23be9459
  3. Mar 07, 2017
  4. Mar 06, 2017
    • Tom Stellard's avatar
      CMake: Add a build target for generating a source RPM · b208f71f
      Tom Stellard authored
      Summary:
      'make srpm' or 'ninja srpm' will tar up the current source code and then
      build a source RPM package.
      
      By default it will use the llvm.spec file to generate the source RPM,
      but you can specify your own custom spec file with the
      LLVM_SRPM_USER_BINARY_SPECFILE option.  CMake will perform variable
      substitution on your custom specfile, so you can reference CMake
      variables in it.  For example:
      
      Version:        @LLVM_RPM_SPEC_VERSION@
      
      Note that everything in the source directory will be included in the
      tarball so if you have a clang check out in tools/clang, then all
      the clang source will end up in the tarball to.  It is recommended
      to only use this build target with a clean source tree.
      
      Reviewers: beanz
      
      Reviewed By: beanz
      
      Subscribers: mgorny, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D30093
      
      llvm-svn: 297007
      b208f71f
  5. Feb 14, 2017
    • Aditya Nandakumar's avatar
      [Tablegen] Instrumenting table gen DAGGenISelDAG · bb0483bc
      Aditya Nandakumar authored
      To help assist in debugging ISEL or to prioritize GlobalISel backend
      work, this patch adds two more tables to <Target>GenISelDAGISel.inc -
      one which contains the patterns that are used during selection and the
      other containing include source location of the patterns
      Enabled through CMake varialbe LLVM_ENABLE_DAGISEL_COV
      
      llvm-svn: 295081
      bb0483bc
  6. Feb 08, 2017
  7. Feb 07, 2017
  8. Jan 28, 2017
  9. Jan 27, 2017
  10. Jan 12, 2017
  11. Dec 22, 2016
  12. Dec 06, 2016
    • Chris Bieneman's avatar
      [CMake] Fixing clang standalone build · ec758fad
      Chris Bieneman authored
      I broke this in r288770.
      
      llvm-svn: 288829
      ec758fad
    • Chris Bieneman's avatar
      [CMake] Cleanup TableGen include flags · 1b5f563a
      Chris Bieneman authored
      It is kinda crazy to have llvm/include and llvm/lib/Target in the include path for every tablegen invocation for every tablegen-like tool.
      
      This patch removes those flags from the tablgen function that is called everywhere by instead creating a variable LLVM_TABLEGEN_FLAGS which is setup in the LLVM source directories.
      
      This removes TableGen.cmake's dependency on LLVM_MAIN_SRC_DIR, and LLVM_MAIN_INCLUDE_DIR.
      
      llvm-svn: 288770
      1b5f563a
    • Mehdi Amini's avatar
      Introduces cmake option `LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING` · ebcb8a70
      Mehdi Amini authored
      Summary:
      We recently introduced a feature that enforce at link-time that the
      LLVM headers used by a clients are matching the ABI setting of the
      LLVM library linked to.
      
      However for clients that are using only headers from ADT and promise
      they won't call into LLVM, this is forcing to link libSupport. This
      new flag is intended to provide a way to configure LLVM with this
      promise for such client.
      
      Reviewers: bob.wilson, compnerd
      
      Subscribers: mgorny, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D27432
      
      llvm-svn: 288754
      ebcb8a70
  13. Dec 05, 2016
    • Kuba Mracek's avatar
      Use Darwin libtool's -no_warning_for_no_symbols if available to silence the... · fde4a454
      Kuba Mracek authored
      Use Darwin libtool's -no_warning_for_no_symbols if available to silence the "has no symbols" link warning
      
      Building compiler-rt on Darwin produces dozens of meaningless warnings about object files having no symbols during static archive creation. This is very intentional as compiler-rt uses #ifdefs to conditionally compile platform-specific code, and we even have a .cpp source file that only contains static asserts to make sure the environment is configured right. On Linux, this situation is fine and no warning is produced. This patch adds a libtool version detection and if it's new enough, we'll use the -no_warning_for_no_symbols flag that suppresses this warning. Build logs should be much cleaner now!
      
      Differential Revision: https://reviews.llvm.org/D27119
      
      llvm-svn: 288640
      fde4a454
  14. Nov 28, 2016
    • Mehdi Amini's avatar
      Add link-time detection of LLVM_ABI_BREAKING_CHECKS mismatch · 28dd54c3
      Mehdi Amini authored
      The macro LLVM_ENABLE_ABI_BREAKING_CHECKS is moved to a new header
      abi-breaking.h, from llvm-config.h. Only headers that are using the
      macro are including this new header.
      
      LLVM will define a symbol, either EnableABIBreakingChecks or
      DisableABIBreakingChecks depending on the configuration setting for
      LLVM_ABI_BREAKING_CHECKS.
      
      The abi-breaking.h header will add weak references to these symbols in
      every clients that includes this header. This should ensure that
      a mismatch triggers a link failure (or a load time failure for DSO).
      
      On MSVC, the pragma "detect_mismatch" is used instead.
      
      Differential Revision: https://reviews.llvm.org/D26876
      
      llvm-svn: 288082
      28dd54c3
    • Daniil Fukalov's avatar
      [CMAKE] fix LLVM_OPTIMIZED_TABLEGEN for Visual Studio · fb501330
      Daniil Fukalov authored
      At the moment optimized tablegen is generated by LLVM_USE_HOST_TOOLS variable that is not set for Visual Sudio since LLVM_ENABLE_ASSERTIONS depends on CMAKE_BUILD_TYPE value that is not equal to "DEBUG" in case of Visual Studio soltion generation.
      
      Modified to do not depend on LLVM_ENABLE_ASSERTIONS value in VS and Xcode cases
      
      Reviewers: beanz
      
      Subscribers: RKSimon, llvm-commits, mgorny
      
      Differential Revision: https://reviews.llvm.org/D27135
      
      llvm-svn: 288042
      fb501330
  15. Nov 18, 2016
    • Yichao Yu's avatar
      Add an option to disable libedit · 4497a28b
      Yichao Yu authored
      Summary: This should provide the function similar to `--disable-libedit` with the autotools build system, which seems to be missing from the commit (r200595) that adds this.
      
      Reviewers: pcc, beanz
      
      Subscribers: mgorny, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D26550
      
      llvm-svn: 287293
      4497a28b
  16. Nov 17, 2016
    • Pavel Labath's avatar
      [cmake] Move LLVM_BUILD_STATIC check to an earlier point · 10849a81
      Pavel Labath authored
      Summary:
      The motivation for this is to enable correct detection of dlopen() on Android.
      Android does not provide a static version of libdl, so if we add the -static flag
      after performing the check, it will succeed even though subsequent link steps
      will fail. With this change we correctly detect the absence of libdl in a
      LLVM_BUILD_STATIC build on Android.
      
      The link itself still does not succeed because the code does not check the result
      of this check properly, but I plan to fix that in a separate change.
      
      Reviewers: beanz
      
      Subscribers: danalbert, mgorny, srhines, tberghammer, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D26463
      
      llvm-svn: 287220
      10849a81
    • Chris Bieneman's avatar
      [CMake] [Darwin] Add support for debugging tablegen dependencies · 8036e0b2
      Chris Bieneman authored
      This patch adds an option to the build system LLVM_DEPENDENCY_DEBUGGING. Over time I plan to extend this to do more complex verifications, but the initial patch causes compile errors wherever there is missing a dependency on intrinsics_gen.
      
      Because intrinsics_gen is a compile-time dependency not a link-time dependency, everything that relies on the headers generated in intrinsics_gen needs an explicit dependency.
      
      llvm-svn: 287207
      8036e0b2
  17. Nov 09, 2016
  18. Nov 07, 2016
    • Mehdi Amini's avatar
      Add experimental support for unofficial monorepo-like directory layout · 1eed06a3
      Mehdi Amini authored
      Summary:
      This allows to have clang and llvm and the other subprojects
      side-by-side instead of nested. This can be used with the monorepo or
      multiple repos.
      
      It will help having a single set of sources checked out but allows to
      have a build directory with llvm and another one with llvm+clang.
      Basically it abstracts LLVM_EXTERNAL_xxxx_SOURCE_DIR making it more
      convenient by adopting a convention.
      
      Reviewers: bogner, beanz, jlebar
      
      Subscribers: mgorny, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D26365
      
      llvm-svn: 286162
      1eed06a3
    • Mehdi Amini's avatar
      Revert "Add some facilities to work with a git monorepo (experimental setup)" · a09c7e7e
      Mehdi Amini authored
      This reverts commit r286123, accidentally commited while testing itself...
      
      llvm-svn: 286124
      a09c7e7e
    • Mehdi Amini's avatar
      Add some facilities to work with a git monorepo (experimental setup) · 7b9e9f28
      Mehdi Amini authored
      Summary:
      Some changes are made to cmake, especially the addition of a new
      LLVM_ENABLE_PROJECTS option that makes the build system aware of
      the monorepo directory structure.
      
      Also a new script is added in llvm/utils/git-svn/. When present in
      the $PATH, it enables a `git llvm` command. It is providing at this
      point only the ability to push from the git monorepo: `git llvm push`.
      It is intended to evolves with more features, for instance I plan on
      features like `git llvm show r284955` to help working with sequential
      revision numbers.
      The push feature is taken from Justin Lebar's script available here:
      https://github.com/jlebar/llvm-repo-tools/
      
      Reviewers: jlebar
      
      Subscribers: mgorny, modocache, llvm-commits
      
      Differential Revision: https://reviews.llvm.org/D26334
      
      llvm-svn: 286123
      7b9e9f28
  19. Nov 02, 2016
  20. Nov 01, 2016
  21. Oct 24, 2016
    • Justin Bogner's avatar
      cmake: Rename installhdrs to install-llvm-headers and fix the dependencies · b6310994
      Justin Bogner authored
      The installhdrs target was inconsistently named and would behave
      differently depending on whether or not you ran a build first. This
      renames it to install-llvm-headers to match other target names and
      adds a dependency on intrinsics_gen so that it will always install the
      same set of things.
      
      llvm-svn: 285035
      b6310994
  22. Oct 19, 2016
    • Michal Gorny's avatar
      [cmake] Declare LLVM_CMAKE_PATH for use in subprojects · e22b7f5a
      Michal Gorny authored
      Declare the LLVM_CMAKE_PATH to the source directory location of CMake
      files, in order to make it possible to easily use them in subprojects.
      Such a variable is already declared in most of LLVM projects
      (and inconsistently mixed with direct source tree references), including
      Clang, LLDB, compiler-rt, libcxx... Declaring it inside main LLVM tree
      makes it possible to avoid having to declare fallback values or use
      conditionals in those projects.
      
      It should be noted that in some of the subprojects LLVM_CMAKE_PATH is
      used to reference generated LLVMConfig.cmake file. However, these
      references are conditional to stand-alone builds and explicitly
      including this file is unnecessary in combined builds.
      
      Differential Revision: https://reviews.llvm.org/D25724
      
      llvm-svn: 284581
      e22b7f5a
  23. Oct 07, 2016
  24. Sep 28, 2016
  25. Sep 27, 2016
    • Michal Gorny's avatar
      [cmake] Support overriding remaining HTML doc install directories · c496c502
      Michal Gorny authored
      Support overriding the Doxygen & OCamldoc install directories,
      and provide a more FHS-compliant defaults for both of them. This extends
      r282240 that added this override for Sphinx-built documentation.
      
      LLVM_INSTALL_DOXYGEN_HTML_DIR and LLVM_INSTALL_OCAMLDOC_HTML_DIR are
      added, to control the location where Doxygen-generated and
      OCamldoc-generated HTML docs are installed appropriately. They both
      specify CMake-style install paths, and therefore can either by relative
      to the install prefix or absolute.
      
      The new defaults are subdirectories of share/doc/llvm, and replace
      the previous directories of 'docs/html' and 'docs/ocaml/html' that
      resulted in creating invalid '/usr/docs' that furthermore lacked proper
      namespacing for the LLVM package. The new defaults are consistent with
      the ones used for Sphinx HTML documentation, differing only in the last
      component. Since the 'html' subdirectory is already used for Sphinx
      docs, the 'doxygen-html' and 'ocaml-html' directories are used instead.
      
      Differential Revision: https://reviews.llvm.org/D24935
      
      llvm-svn: 282536
      c496c502
    • Chris Bieneman's avatar
      Improve CMake output of host and target triple · 0775a232
      Chris Bieneman authored
      Summary:
      The previous output was confusing as it would output "Taget triple:
      x86_64-unknown-linux-gnu" even when LLVM_HOST_TRIPLE or
      LLVM_DEFAULT_TARGET_TRIPLE were set on the CMake command line
      
      Patch by: Alex Richardson!
      
      Reviewers: beanz
      
      Subscribers: Eugene.Zelenko
      
      Differential Revision: https://reviews.llvm.org/D17067
      
      llvm-svn: 282516
      0775a232
  26. Sep 06, 2016
  27. Sep 01, 2016
    • Chris Bieneman's avatar
      [CMake] Connecting check-all and test-depends targets correctly · 342134ed
      Chris Bieneman authored
      My previous attempt at this connected the sub-project check targets to the test-depends target instead of to the check-all target. That resulted in the tests running multiple times on bots that built "test-depends" and "check-all" in separate build invocations.
      
      llvm-svn: 280392
      342134ed
  28. Aug 25, 2016
  29. Aug 23, 2016
  30. Aug 18, 2016
    • Chris Bieneman's avatar
      [CMake] Silence message on multi-configuration generators · 69f289cf
      Chris Bieneman authored
      The Xcode and Visual Studio generators always log "-- No build type selected, default to Debug". This is because CMake doesn't initialize "CMAKE_CONFIGURATION_TYPES" until the generator's EnableLanguage call gets hit.
      
      The first place EnableLanguage gets hit in our configuration is in the project() call. Since CMAKE_BUILD_TYPE isn't used until after we call project() it is safe to just move this check down a bit.
      
      llvm-svn: 279110
      69f289cf
  31. Aug 04, 2016
Loading