summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2016-12-06[CMake] Fixing clang standalone buildChris Bieneman
I broke this in r288770. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288829 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-06[CMake] Cleanup TableGen include flagsChris Bieneman
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288770 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-06Introduces cmake option `LLVM_DISABLE_ABI_BREAKING_CHECKS_ENFORCING`Mehdi Amini
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288754 91177308-0d34-0410-b5e6-96231b3b80d8
2016-12-05Use Darwin libtool's -no_warning_for_no_symbols if available to silence the ↵Kuba Mracek
"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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288640 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-28Add link-time detection of LLVM_ABI_BREAKING_CHECKS mismatchMehdi Amini
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288082 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-28[CMAKE] fix LLVM_OPTIMIZED_TABLEGEN for Visual StudioDaniil Fukalov
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@288042 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-18Add an option to disable libeditYichao Yu
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287293 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-17[cmake] Move LLVM_BUILD_STATIC check to an earlier pointPavel Labath
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287220 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-17[CMake] [Darwin] Add support for debugging tablegen dependenciesChris Bieneman
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@287207 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-09[cmake] Fix handling compiler-rt in LLVM_ENABLE_PROJECTS by turning any "-" ↵Mehdi Amini
into "_" git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286317 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-07Add experimental support for unofficial monorepo-like directory layoutMehdi Amini
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286162 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-07Revert "Add some facilities to work with a git monorepo (experimental setup)"Mehdi Amini
This reverts commit r286123, accidentally commited while testing itself... git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286124 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-07Add some facilities to work with a git monorepo (experimental setup)Mehdi Amini
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@286123 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-02[CMake] Set default build type correctlyShoaib Meenai
At least with cmake 3.6.1, the default build type setting was having no effect; the generated CMakeCache.txt still had an empty CMAKE_BUILD_TYPE. Force the variable to be set to achieve the desired behavior. Differential Revision: https://reviews.llvm.org/D26200 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285789 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-01[CMake] Fix rpath construction for out-of-tree buildsChris Bieneman
This patch was produced in conjunction with Michał Górny. It should resolve the issues that were trying to be solved by D25304. This moves rpath handling into `llvm_add_library` and `add_llvm_executable` so that it is available to all projects using AddLLVM whether built in-tree or out-of-tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285714 91177308-0d34-0410-b5e6-96231b3b80d8
2016-11-01[RISCV] Add stub backendAlex Bradbury
This contains just enough for lib/Target/RISCV to compile. Notably a basic RISCVTargetMachine and RISCVTargetInfo. At this point you can attempt llc -march=riscv32 myinput.ll and will find it fails due to the lack of MCAsmInfo. See http://lists.llvm.org/pipermail/llvm-dev/2016-August/103748.html for further discussion Differential Revision: https://reviews.llvm.org/D23560 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285712 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-24cmake: Rename installhdrs to install-llvm-headers and fix the dependenciesJustin Bogner
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@285035 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-19[cmake] Declare LLVM_CMAKE_PATH for use in subprojectsMichal Gorny
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@284581 91177308-0d34-0410-b5e6-96231b3b80d8
2016-10-07[cmake] Treat polly as "in tree" if LLVM_EXTERNAL_POLLY_SOURCE_DIR is providedHongbin Zheng
Differential Revision: https://reviews.llvm.org/D25354 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@283608 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-27[CMake] Force CMP0057 to NEWChris Bieneman
Hans reported an issue with r282510 on the list. This should resolve the issue. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282552 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-27[cmake] Support overriding remaining HTML doc install directoriesMichal Gorny
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282536 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-27Improve CMake output of host and target tripleChris Bieneman
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 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@282516 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-06Try to fix a circular dependency in the modules build.Rafael Espindola
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280746 91177308-0d34-0410-b5e6-96231b3b80d8
2016-09-01[CMake] Connecting check-all and test-depends targets correctlyChris Bieneman
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@280392 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-25Hooking up a check-all target for the runtimes projectsChris Bieneman
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279756 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-23[CMake] [OCaml] Add -DLLVM_ENABLE_OCAMLDOC switchPeter Zotov
Patch by Michael Gorny. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279544 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-23[lanai] Make Lanai backend non-experimentalJacques Pienaar
Summary: Add Lanai backend to default targets. Discussion of proposal: http://lists.llvm.org/pipermail/llvm-dev/2016-July/102480.html. ISA added in r279149. Reviewers: jyknight, rengolin, eliben, chandlerc Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D22530 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279498 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-18[CMake] Silence message on multi-configuration generatorsChris Bieneman
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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@279110 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-04Remove LLVM_ENABLE_LIBCXXABIJonas Hahnfeld
libc++.so is now a linker script that includes -lc++abi if necessary. Differential Revision: https://reviews.llvm.org/D22861 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277714 91177308-0d34-0410-b5e6-96231b3b80d8
2016-08-01Build llvm with ccache if package is presentSumanth Gundapaneni
This patch has the following changes The CMake variable LLVM_CCACHE_BUILD is set to OFF by default. Set this to ON for a ccache enabled build CCACHE_CPP2 is required to compile the source file directly instead of compiling the preprocessed file. This will help WERROR is turned ON for a host clang compiler The below two options makes more sense in the context of a buildbot CCACHE_HASHDIR is required to maintain the separate cached data across builders. This will also help the debuggers to point to the correct source location CCACHE_SIZE is important in the perspective of buildbot to increase the limit on the amount of data to hold in cache for faster compilation CCACHE_DIR is used to save the cached data to a specific directory. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277389 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-29Add LLVM_ENABLE_LLD option to use LLD as C/C++ linker.Eugene Zelenko
Differential revision: https://reviews.llvm.org/D22896 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@277093 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-25[CMake] Support feeding DYLD_LIBRARY_PATH into archiver callsChris Bieneman
OS X 10.11 has a feature named System Integrity Protection. The goal of the feature is to make system binaries immutable (even as root). One part of this is that protected binaries do not receive DYLD_* environment variables because the kernel scrubs them before process launch. This causes problems for LTO bootstrap builds on Darwin that try to use the just-built libLTO with the host ar, ranlib, or libtool. This patch addresses two problems. (1) The tools themselves aren't protected binaries but the shim tools installed at / are, so we need to call xcrun -find to find libtool instead of using the one CMake finds. (2) Some build tools (ninja and make) use /bin/sh to invoke their subprocesses. Since /bin/sh is a system binary, the kernel scrubs the DYLD envars from their environment. To work around this we need to set the environment variables as part of the archiver commands, so the envars are set by the shell process instead of on the shell process. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276710 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-23[cmake] Use a sane default for LLVM_PROFILE_DATA_DIRVedant Kumar
It's been pointed out that arbitrarily spraying raw profiles into a build directory is insane. Doing this wastes a tremendous amount of space and is also very lossy, since the test harness tends to wipe away temporary sub-directories (which usually contain relevant profile data). The new default is a `profiles` directory inside of the build dir. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276504 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-21[cmake] Move the including of utils/unittests under LLVM_INCLUDE_UTILS ↵Michael Gottesman
instead of LLVM_INCLUDE_TESTS. This does not change anything by default since LLVM_INCLUDE_UTILS is already set to TRUE by default. In addition, since LLVM_INCLUDE_TESTS => LLVM_INCLUDE_UTILS, the only way that this can cause changes is in the case where LLVM_INCLUDE_UTILS is set to TRUE, but LLVM_INCLUDE_TESTS is FALSE. In that case, building gtest is not a huge cost. The reason to do this is that without this change, one can not turn off LLVM_INCLUDE_TESTS in downstream projects that also use gtest for unittests. It also just in general makes more sense since LLVM_INCLUDE_UTILS gates FileCheck and other utilities that are along the lines of gtest. Additionally from talking with chandlerc, this was not done for any specific reason, so there is no reason not to do it and lots of benefit to doing it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276342 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-21[CMake][GlobalISel] Turn LLVM_BUILD_GLOBAL_ISEL into an option. NFC.Quentin Colombet
Previously LLVM_BUILD_GLOBAL_ISEL was a boolean variable and although, this is strictly identical to an option, it did not convey the information that the user may set it. Options are here for that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276306 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-19Add AIX support to Path.inc, Host.h, and CMake.Chandler Carruth
Patch by Andrew Paprocki! Differential Revision: https://reviews.llvm.org/D18359 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@276045 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-18Bump the trunk version to 4.0.0svn.Hans Wennborg
Differential Revision: https://reviews.llvm.org/D21821 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275827 91177308-0d34-0410-b5e6-96231b3b80d8
2016-07-10[cmake] Create the LLVM_BUILD_UTILS option.Michael Gottesman
This option is the equivalent option to LLVM_BUILD_TOOLS but for executables created via add_llvm_utility. This is a useful tool for improving compile time in situations where LLVM is used as a library and no testing tools are needed. It follows the exact same implemention model as LLVM_BUILD_TOOLS. Since the option is by default set to on, no behavior is changed unless one sets it from the command line to be false. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@275007 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30[CMake] Module builds depend on target intrinsics_gen to be built first.Vassil Vassilev
When compiling with modules, header A and B can be in the same module M. B depends on intrinsics_gen and A doesn't. Compiling a source file #include-ing header A, we implicitly request module M to be built. It puts header A and B in the same TU and tries to build them. Since B depends on intrinsics_gen (which might not be built yet) we run into build failures. This should fix our modules buildbot. Patch reviewed by Chris Bieneman. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274270 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30[CMake] Add an LLVM_ENABLE_MODULE_DEBUGGING flag for building with -gmodules.Adrian Prantl
This flag is only effective in builds with debug info and modules. The default is On for Darwin only. rdar://problem/27019000 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274244 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-30[CMake] Introduce a LLVM_ENABLE_LOCAL_SUBMODULE_VISIBILITY flag.Adrian Prantl
On Darwin it is currently impossible to build LLVM with modules because the Darwin system module map is not compatible with -fmodules-local-submodule-visibility at this point in time. This patch makes the flag optional and off by default on Darwin so it becomes possible to build LLVM with modules again. http://reviews.llvm.org/D21827 rdar://problem/27019000 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@274196 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-23[CMake] Add LLVM runtimes directoryChris Bieneman
Summary: There are a few LLVM projects that produce runtime libraries. Ideally runtime libraries should be built differently than other projects, specifically they should be built using the just-built toolchain. There is support for building compiler-rt in this way from the clang build. Moving this logic into the LLVM build is interesting because it provides a simpler way to extend the just-built toolchain to include LLD and the LLVM object file tools. Once this functionality is better fleshed out and tested we’ll want to encapsulate it in a module that can be used for clang standalone builds, and we’ll want to make it the default way to build compiler-rt. With this patch applied there is no immediate change in the build. Moving compiler-rt out from llvm/projects into llvm/runtimes enables the functionality. This code has a few improvements over the method provided by LLVM_BUILD_EXTERNAL_COMPILER_RT. Specifically the sub-ninja command is always invoked, so changes to compiler-rt source files will get built properly, so this patch can be used for iterative development with just-built tools. This first patch only works with compiler-rt. Support for other runtime projects will be coming in follow-up patches. Reviewers: chandlerc, bogner Subscribers: kubabrecka, llvm-commits Differential Revision: http://reviews.llvm.org/D20992 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273620 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-13Add support for collating profiles for use with code coverageVedant Kumar
Differential Revision: http://reviews.llvm.org/D20993 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272599 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-08[CMake] Cleanup version checks for CMake 3.0Chris Bieneman
This just removes some redundant checks and updates warning text. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272218 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-08[CMake] Cleanup uses of USES_TERMINALChris Bieneman
Now that we are on CMake 3.4.3 we no longer need a version check around this. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272211 91177308-0d34-0410-b5e6-96231b3b80d8
2016-06-08[CMake] Support overriding binary install directoryChris Bieneman
This patch adds a new option LLVM_TOOLS_INSTALL_DIR which allows customizing the location executables and symlinks get installed to. This adds the functionality provided by autoconf's --bindir flag. This patch is based on patches from and collaboration with Tony Kelman, and replaces http://reviews.llvm.org/D20934. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@272200 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-31[CMake] Update to requiring CMake 3.4.3Chris Bieneman
Summary: This is as per the discussions on developer lists: http://lists.llvm.org/pipermail/llvm-dev/2016-April/098780.html http://lists.llvm.org/pipermail/llvm-dev/2016-May/100058.html Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D20822 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@271325 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05Remove LLVM_ENABLE_TIMESTAMPSChris Bieneman
Summary: As per the discussion on LLVM-dev this patch proposes removing LLVM_ENABLE_TIMESTAMPS. The only complicated bit of this patch is the Windows support. On windows we used to log an error if /INCREMENTAL was passed to the linker when timestamps were disabled. With this change since timestamps in code are always disabled we will always compile on windows with /Brepro unless /INCREMENTAL is specified, and we will log a warning when /INCREMENTAL is specified to notify the user that the build will be non-deterministic. See: http://lists.llvm.org/pipermail/llvm-dev/2016-May/098990.html Reviewers: bogner, silvas, rnk Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D19892 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268670 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-05Remove bit-rotten CppBackend.James Y Knight
This backend was supposed to generate C++ code which will re-construct the LLVM IR passed as input. This seems to me to have very marginal usefulness in the first place. However, the code has never been updated to use IRBuilder, which makes its current value negative -- people who look at the output may be steered to use the *wrong* C++ APIs to construct IR. Furthermore, it's generated code that doesn't compile since at least 2013. Differential Revision: http://reviews.llvm.org/D19942 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268631 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-04cmake: Prefix Polly options with LLVM_ to avoid variable shadowingTobias Grosser
Summary: Before this change certain Polly variables have been used both as user-facing CACHED cmake variables as well as uncached internal variables. Even though this seems to have worked OK in practice, the behavior only worked due to one variable shadowing the other. This behavior has been found confusing. To make the use of cmake variables more clear we now prefix the cached, user facing variables with LLVM_ as it is common habit for LLVM options and also moved the _POLLY_ term to the beginning to ensure related options are sorted after each other. The variables that control the behavior of LLVM/Polly are then set by forwarding the values set in the user facing option variables. As a result, Polly is now enabled with LLVM_POLLY_BUILD instead of BUILD_POLLY and the linking behavior of Polly is controlled with LLVM_POLLY_LINK_INTO_TOOLS instead of LINK_POLLY_INTO_TOOLS. Reviewers: bogner, Meinersbur Subscribers: pollydev, llvm-commits Differential Revision: http://reviews.llvm.org/D19907 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268537 91177308-0d34-0410-b5e6-96231b3b80d8