summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2017-10-16cmake: BSD: Mark /usr/local/include as system include directoryMatthias Braun
We add /usr/local/include to the include directory list for some BSD systems. We should mark this as a system directory to avoid files from /usr/local/include getting picked over files shipping with llvm. This typically manifested as gtest headers installed with the system getting picked over the ones shipping with llvm. Patch by Petr Penzin <penzin.dev@gmail.com> Differential Revision: https://reviews.llvm.org/D37415 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315952 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-15Phony change to CMakeLists.txt to (hopefully) trigger regenerationKrzysztof Parzyszek
Ninja doesn't seem to recognize a change in a CMakeLists.txt in a subdirectory, so r315861 is not having any effect. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315870 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-15Reverting r315590; it did not include changes for llvm-tblgen, which is ↵Aaron Ballman
causing link errors for several people. Error LNK2019 unresolved external symbol "public: void __cdecl `anonymous namespace'::MatchableInfo::dump(void)const " (?dump@MatchableInfo@?A0xf4f1c304@@QEBAXXZ) referenced in function "public: void __cdecl `anonymous namespace'::AsmMatcherEmitter::run(class llvm::raw_ostream &)" (?run@AsmMatcherEmitter@?A0xf4f1c304@@QEAAXAEAVraw_ostream@llvm@@@Z) llvm-tblgen D:\llvm\2017\utils\TableGen\AsmMatcherEmitter.obj 1 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315854 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-12[cmake] Allow building fuzzers with OSS-Fuzz flags.Matt Morehouse
Reviewers: kcc, bogner Reviewed By: bogner Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D38858 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315629 91177308-0d34-0410-b5e6-96231b3b80d8
2017-10-12[dump] Remove NDEBUG from test to enable dump methods [NFC]Don Hinton
Summary: Add LLVM_FORCE_ENABLE_DUMP cmake option, and use it along with LLVM_ENABLE_ASSERTIONS to set LLVM_ENABLE_DUMP. Remove NDEBUG and only use LLVM_ENABLE_DUMP to enable dump methods. Move definition of LLVM_ENABLE_DUMP from config.h to llvm-config.h so it'll be picked up by public headers. Differential Revision: https://reviews.llvm.org/D38406 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315590 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-29Revert "[CMake] Remove `CMAKE_.*_OUTPUT_DIRECTORY` (NFCI)"Brian Gesiak
Summary: It appears polly makes use of the `CMAKE_RUNTIME_OUTPUT_DIRECTORY` variable when configuring its lit test suite. Reverting this for now. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314551 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-29[CMake] Remove `CMAKE_.*_OUTPUT_DIRECTORY` (NFCI)Brian Gesiak
Summary: Three `CMAKE_.*_OUTPUT_DIRECTORY` variables used to be set in CMake and referenced in various other parts of the project. However, in r198205 chapuni added a note to "don't set them anymore", and any remaining references to them were subsequently removed in r198316 and r199592. Now that the variables are no longer used anywhere, remove them, along with the comments advising against using them any longer. Test Plan: I ran `check-all` and confirmed the tests built and passed. Reviewers: beanz, chapuni Reviewed By: beanz Subscribers: mgorny Differential Revision: https://reviews.llvm.org/D38389 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314550 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-29[CMake] Fix typo "Wraning" (NFC)Brian Gesiak
Summary: The typo was added in https://reviews.llvm.org/rL247151. It should be "warning", not "wraning". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314486 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-27[CMake] Fix typo: "in-tree" -> "in-source" (NFC)Brian Gesiak
Summary: *In-source builds* of LLVM, in which a user invokes `cmake` from within the LLVM source directory, or invokes `cmake -B/path/to/source/dir/of/llvm`, are explicitly checked for and disallowed by LLVM's `CMakeLists.txt`. *In-tree builds*, on the other hand, refer to when the source directories of projects such as Clang are nested within the `llvm/tools` source directory. These are not disallowed, and are in fact a common way of building LLVM and Clang. Revise the comment to match the logic underneath it: it checks for an "in-source build", not an "in-tree build". Reviewers: beanz Reviewed By: beanz Subscribers: mgorny Differential Revision: https://reviews.llvm.org/D38317 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314348 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-27Cleanup some problems with LLVM_ENABLE_DUMP in release builds, andDon Hinton
always set LLVM_ENABLE_DUMP=ON for +Asserts builds. Differential Revision: https://reviews.llvm.org/D38306 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314346 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-26CMake: Add option to set LLVM_ENABLE_DUMPMatthias Braun
Differential Revision: https://reviews.llvm.org/D38267 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@314186 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-20[cmake] Add an option to build llvm with IR PGOVedant Kumar
This adds an LLVM_ENABLE_IR_PGO option to enable building llvm and its tools with IR PGO instrumentation. Usage: -DLLVM_BUILD_INSTRUMENTED=On -DLLVM_ENABLE_IR_PGO=On (both options must be enabled) Differential Revision: https://reviews.llvm.org/D38066 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313770 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-15Resubmit "[lit] Force site configs to run before source-tree configs"Zachary Turner
This is a resubmission of r313270. It broke standalone builds of compiler-rt because we were not correctly generating the llvm-lit script in the standalone build directory. The fixes incorporated here attempt to find llvm/utils/llvm-lit from the source tree returned by llvm-config. If present, it will generate llvm-lit into the output directory. Regardless, the user can specify -DLLVM_EXTERNAL_LIT to point to a specific lit.py on their file system. This supports the use case of someone installing lit via a package manager. If it cannot find a source tree, and -DLLVM_EXTERNAL_LIT is either unspecified or invalid, then we print a warning that tests will not be able to run. Differential Revision: https://reviews.llvm.org/D37756 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313407 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-15Revert "[lit] Force site configs to run before source-tree configs"Zachary Turner
This patch is still breaking several multi-stage compiler-rt bots. I already know what the fix is, but I want to get the bots green for now and then try re-applying in the morning. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313335 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-14[lit] Force site configs to be run before source-tree configsZachary Turner
This patch simplifies LLVM's lit infrastructure by enforcing an ordering that a site config is always run before a source-tree config. A significant amount of the complexity from lit config files arises from the fact that inside of a source-tree config file, we don't yet know if the site config has been run. However it is *always* required to run a site config first, because it passes various variables down through CMake that the main config depends on. As a result, every config file has to do a bunch of magic to try to reverse-engineer the location of the site config file if they detect (heuristically) that the site config file has not yet been run. This patch solves the problem by emitting a mapping from source tree config file to binary tree site config file in llvm-lit.py. Then, during discovery when we find a config file, we check to see if we have a target mapping for it, and if so we use that instead. This mechanism is generic enough that it does not affect external users of lit. They will just not have a config mapping defined, and everything will work as normal. On the other hand, for us it allows us to make many simplifications: * We are guaranteed that a site config will be executed first * Inside of a main config, we no longer have to assume that attributes might not be present and use getattr everywhere. * We no longer have to pass parameters such as --param llvm_site_config=<path> on the command line. * It is future-proof, meaning you don't have to edit llvm-lit.in to add support for new projects. * All of the duplicated logic of trying various fallback mechanisms of finding a site config from the main config are now gone. One potentially noteworthy thing that was required to implement this change is that whereas the ninja check targets previously used the first method to spawn lit, they now use the second. In particular, you can no longer run lit.py against the source tree while specifying the various `foo_site_config=<path>` parameters. Instead, you need to run llvm-lit.py. Differential Revision: https://reviews.llvm.org/D37756 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313270 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-13Revert "Determine up front which projects are enabled."Zachary Turner
This was intended to be a generic CMake solution to a problem shared across several projects. It turns out it doesn't interact very well certain CMake configurations, and furthermore the "problem" is actually not a problem, as the problematic code is never executed to begin with. So this really isn't solving anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313191 91177308-0d34-0410-b5e6-96231b3b80d8
2017-09-12Determine up front which projects are enabled.Zachary Turner
Some projects need to add conditional dependencies on other projects. compiler-rt is already doing this, and I attempted to add this to debuginfo-tests when I ran into the ordering problem, that you can't conditionally add a dependency unless that dependency's CMakeLists.txt has already been run (which would allow you to say if (TARGET foo). The solution to this seems to be to determine very early on the entire set of projects which is enabled. This is complicated by the fact that there are multiple ways to enable projects, and different tree layouts (e.g. mono-repo, out of -tree, external, etc). This patch attempts to centralize all of this into one place, and then updates compiler-rt to demonstrate as a proof of concept how this can simplify code. Differential Revision: https://reviews.llvm.org/D37637 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@313091 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-29[cmake] Stop putting the revision info in LLVM_VERSION_STRINGReid Kleckner
Summary: This reduces the number of build actions after a no-op commit from thousands to about six, which should be acceptable. If six actions is still too many, developers can disable the LLVM_APPEND_VC_REV cmake option. llvm-config.h is a widely included header that should rarely change. Before this patch, it would change after every re-configure. Very few users of llvm-config.h need to know the precise version, and those that do can migrate to incorporating LLVM_REVISION as provided by llvm/Support/VCSRevision.h. This should bring LLVM back to the behavior that it had before r306858 from June 30 2017. Most LLVM tools will now print a version string like "6.0.0svn" instead of "6.0.0-git-c40c2a23de4". Fixes PR34308 Reviewers: pcc, rafael, hans Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D37272 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@312043 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-13Remove RISCV from LLVM_ALL_TARGETS in CMakeLists.txtAlex Bradbury
It was mistakenly added to that list in D23560 (committed in rL285712). RISCV is an experimental backend and should never have been in that list, I mistakenly interpreted LLVM_ALL_TARGETS as a list of all targets rather than targets to build by default. Unfortunately, because of this the RISCV backend has been building by default when it shouldn't be. This commet adds a description comment, which should help to avoid such mistakes in the future. See my message to llvm-dev for more information and analysis <http://lists.llvm.org/pipermail/llvm-dev/2017-August/116347.html>. Differential Revision: https://reviews.llvm.org/D36538 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@310796 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-03[GlobalISel] Make GlobalISel a non-optional library.Quentin Colombet
With this change, the GlobalISel library gets always built. In particular, this is not possible to opt GlobalISel out of the build using the LLVM_BUILD_GLOBAL_ISEL variable any more. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309990 91177308-0d34-0410-b5e6-96231b3b80d8
2017-08-02Revert "[lit] Avoid copying llvm/utils/lit/tests/Inputs with lit site configs"Reid Kleckner
This reverts r309602, check-lit still leaves Output directories in the source directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309833 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-31[lit] Avoid copying llvm/utils/lit/tests/Inputs with lit site configsReid Kleckner
Summary: This is an alternative solution to running the lit test suite on bots without polluting the source directory. Each input test suite gets an auto-generated site config in the build directory that points back to the test input source directory. This adds some cmake comlexity, but now we don't need to remove and re-copy the test input directory before every test. Reviewers: delcypher, modocache Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D36026 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309602 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-27Un-revert "Teach the CMake build system to run lit's test suite. These can ↵Brian Gesiak
be run" Summary: Depends on https://reviews.llvm.org/D35879. This reverts rL257268, which in turn was a revert of rL257221. https://reviews.llvm.org/D35879 marks the tests in the lit test suite that fail on Windows as XFAIL, which should allow these tests to pass on Windows-based buildbots. Reviewers: delcypher, beanz, mgorny, jroelofs, rnk Reviewed By: mgorny Subscribers: rnk, ddunbar, george.karpenkov, llvm-commits Differential Revision: https://reviews.llvm.org/D35880 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@309310 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-23[Modules] Rework r274270. Let Clang targets depend on intrinsics_gen.NAKAMURA Takumi
This gets rid of almost LLVM targets unconditionally depending on intrinsic_gen. Clang's modules still have weird dependencies and hard to remove intrinsics_gen in better way. Then, it'd be better to give whole clang targets depend on intrinsic_gen. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308844 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-20Implement parsing and writing of a single xml manifest file.Eric Beckmann
Summary: Implement parsing and writing of a single xml manifest file. Subscribers: mgorny, llvm-commits, hiraditya Differential Revision: https://reviews.llvm.org/D35425 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308679 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-19Update trunk version to 6.0.0svnHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308442 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-19Recommit r274270, [CMake] Module builds depend on target intrinsics_gen to ↵NAKAMURA Takumi
be built first. The builder clang-x86_64-linux-selfhost-modules-2 complains. Investigating. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308439 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-19Revert r274270, "[CMake] Module builds depend on target intrinsics_gen to be ↵NAKAMURA Takumi
built first." I think modulemap is sufficient for intrinsics_gen in trunk. I won't find any issues around that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@308434 91177308-0d34-0410-b5e6-96231b3b80d8
2017-07-05CMake: Add LLVM_UTILS_INSTALL_DIR optionTom Stellard
Summary: This is like the LLVM_TOOLS_INSTALL_DIR option, but for the utils that are installed when the LLVM_INSTALL_UTILS. This option defaults to 'bin' to remain consistent with the current behavior, but distros may want to install these to libexec/llvm. Reviewers: beanz Reviewed By: beanz Subscribers: llvm-commits, mgorny Differential Revision: https://reviews.llvm.org/D30655 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@307150 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-30Completely disable git/svn version checking if not needed.Rafael Espindola
Working with git on a branch I find it really annoying that committing a change causes ninja to think that stuff needs to be rebuilt. With this change at least nothing in llvm needs to be rebuild when something is committed. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306858 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-22[Solaris] replace Solaris.h hack with a set of better hacksKamil Rytarowski
Summary: Got rid of unwieldy -include Solaris.h portability solution, replacing it with interposed header and moving endian defines into Host.h. Fixes PR28370. Reviewers: joerg, alekseyshl, mgorny Reviewed By: joerg Subscribers: llvm-commits, mgorny, ro, krytarowski Patch by Fedor Sergeev. Differential Revision: https://reviews.llvm.org/D3413 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@306002 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-22Test commitEkaterina Vaartis
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305994 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-17[CMake] Introduce LLVM_TARGET_TRIPLE_ENV as an option to override ↵NAKAMURA Takumi
LLVM_DEFAULT_TARGET_TRIPLE at runtime. No behavior is changed if LLVM_TARGET_TRIPLE_ENV is blank or undefined. If LLVM_TARGET_TRIPLE_ENV is "TEST_TARGET_TRIPLE" and $TEST_TARGET_TRIPLE is not blank, llvm::sys::getDefaultTargetTriple() returns $TEST_TARGET_TRIPLE. Lit resets config.target_triple and config.environment[LLVM_TARGET_TRIPLE_ENV] to change the default target. Without changing LLVM_DEFAULT_TARGET_TRIPLE nor rebuilding, lit can be run; TEST_TARGET_TRIPLE=i686-pc-win32 bin/llvm-lit -sv path/to/test/ TEST_TARGET_TRIPLE=i686-pc-win32 ninja check-clang-tools Differential Revision: https://reviews.llvm.org/D33662 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305632 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-09Enable c++1z experimental builds.Vassil Vassilev
Patch by David Abdurachmanov! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305123 91177308-0d34-0410-b5e6-96231b3b80d8
2017-06-09We do not need google test utils if we disabled LLVM_INCLUDE_TESTSVassil Vassilev
Fixes embedded uses of llvm where google testing framework is provided outside. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@305088 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-25Update the documentation and CMake file for Visual Studio generators.Aaron Ballman
By default, CMake uses a 32-bit toolchain, even when on a 64-bit platform targeting a 64-bit build. However, due to the size of the binaries involved, this can cause linker instabilities (such as the linker running out of memory). Guide people to the correct solution to get CMake to use the native toolchain. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@303912 91177308-0d34-0410-b5e6-96231b3b80d8
2017-05-03CMake: Add LLVM_DYLIB_SYMBOL_VERSIONING optionTom Stellard
Summary: When apps or other libraries link against a library with symbol versions, the version string is recorded in the import table, and used at runtime to resolve the symbol back to a library that provides that version (vaguely like how two-level namespaces work in Mach-O). ld's --default-symver flag tags every exported symbol with a symbol version string equal to the library's soname. Using --default-symver means multiple versions of libLLVM can coexist within the same process, at least to the extent that they don't try to pass data between each other's llvms. As an example, imagine a language like Rust using llvm for CPU codegen, binding to OpenGL, with Mesa as the OpenGL implementation using llvm for R600 codegen. With --default-symver Rust and Mesa will resolve their llvm usage to the version each was linked against, which need not match. (Other ELF platforms like BSD and Solaris might have similar semantics, I've not checked.) This is based on an autoconf version of this patch by Adam Jackson. This new option can be used to add --default-symver to the linker flags for libLLVM.so. Reviewers: beanz Reviewed By: beanz Subscribers: mgorny, llvm-commits Differential Revision: https://reviews.llvm.org/D30997 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@302026 91177308-0d34-0410-b5e6-96231b3b80d8
2017-04-19Allow suppressing host and target info in VersionPrinterXin Tong
Summary: VersionPrinter by default outputs information about the Host CPU and Default target. Printing this information requires linking in a large amount of data, such as supported target triples as C strings, which in turn bloats the binary size. Enable a new CMake option LLVM_VERSION_PRINTER_SHOW_HOST_TARGET_INFO which controls printing of the host and target info. This allows the target triple names to be dead-code stripped. This is a nice win for LLVM clients that wish to minimize their binary size, such as graphics drivers. By default this is ON, so there is no change in the default behavior. Clients who wish to suppress this printing can do so by setting this option to off via CMake. A test app on Linux that uses ParseCommandLineOptions() shows a binary size reduction of 23KB (from 149K to 126K) for a Release build, and 24KB (from 135K to 111K) in a MinSizeRel build. Reviewers: klimek, beanz, bogner, chandlerc, compnerd Reviewed By: compnerd Patch by pammon (Peter Ammon) ! Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D30904 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@300630 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-23[CMake] Provide an option to disable runtimes buildPetr Hosek
This could be used to either disable the runtimes build altogether or avoid building them but still generate the build targets. Differential Revision: https://reviews.llvm.org/D31060 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298653 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-23Do not polute the source directory.Vassil Vassilev
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)! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298603 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-21Fix evaluation of LLVM_DEFINITIONSSerge Pavlov
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298336 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-07remove Cmake option for LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCINGBob Wilson
This is a follow-up to my change in r295090, which added support for disabling these checks selectively based on setting the preprocessor macro without relying on the Cmake setting. Swift has moved over to use that approach, so we can clean up here and remove the Cmake setting. https://reviews.llvm.org/D30578 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297109 91177308-0d34-0410-b5e6-96231b3b80d8
2017-03-06CMake: Add a build target for generating a source RPMTom Stellard
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297007 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-14[Tablegen] Instrumenting table gen DAGGenISelDAGAditya Nandakumar
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@295081 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-07[CMake] Allow overriding CMAKE_LIBTOOLChris Bieneman
This patch allows a user to specify a their own libtool instead of auto-detecting one. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294371 91177308-0d34-0410-b5e6-96231b3b80d8
2017-02-07[CMake] Move ninja job pool options to HandleLLVMOptionsChris Bieneman
Moving the Ninja job pool configuration settings into the HandleLLVMOptions module will allow standalone builds of LLVM sub-projects to use the LLVM options without needing to re-implement them. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294334 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-28This addresses LLDB bug 31699, which was caused by LLVM using static linking ↵Vadim Chugunov
on Windows. In order to make sure that LLVM continues to work on machines that do not have the Universal CRT yet, we'll need to ship a copy of UCRT in the Windows installation package. Fortunately, CMake 3.6+ already supports app-local deployment of UCRT dlls, we just need to turn this on. Differential Revision: https://reviews.llvm.org/D29146 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293373 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-26Switch the default for building GlobalISel.Quentin Colombet
Now, GlobalISel will be built by default. To turn that off, one has to use -DLLVM_BUILD_GLOBAL_ISEL=OFF on the cmake command line. <rdar://problem/30004433> git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@293232 91177308-0d34-0410-b5e6-96231b3b80d8
2017-01-12Bump trunk version to 5.0.0svnHans Wennborg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291815 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-22Build KillTheDoctor with mingw-w64Reid Kleckner
compiler-rt uses it in its lit tests. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@290357 91177308-0d34-0410-b5e6-96231b3b80d8