- Feb 08, 2017
-
-
Chris Bieneman authored
This patch allows a user to specify a their own libtool instead of auto-detecting one. llvm-svn: 294371
-
- Feb 07, 2017
-
-
Chris Bieneman authored
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. llvm-svn: 294334
-
- Jan 28, 2017
-
-
Vadim Chugunov authored
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 llvm-svn: 293373
-
- Jan 27, 2017
-
-
Quentin Colombet authored
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> llvm-svn: 293232
-
- Jan 12, 2017
-
-
Hans Wennborg authored
llvm-svn: 291815
-
- Dec 22, 2016
-
-
Reid Kleckner authored
compiler-rt uses it in its lit tests. llvm-svn: 290357
-
- Dec 06, 2016
-
-
Chris Bieneman authored
I broke this in r288770. llvm-svn: 288829
-
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
-
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
-
- Dec 05, 2016
-
-
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
-
- Nov 28, 2016
-
-
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
-
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
-
- Nov 18, 2016
-
-
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
-
- Nov 17, 2016
-
-
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
-
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
-
- Nov 09, 2016
-
-
Mehdi Amini authored
llvm-svn: 286317
-
- Nov 07, 2016
-
-
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
-
Mehdi Amini authored
This reverts commit r286123, accidentally commited while testing itself... llvm-svn: 286124
-
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
-
- Nov 02, 2016
-
-
Shoaib Meenai authored
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 llvm-svn: 285789
-
- Nov 01, 2016
-
-
Chris Bieneman authored
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. llvm-svn: 285714
-
Alex Bradbury authored
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 llvm-svn: 285712
-
- Oct 24, 2016
-
-
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
-
- Oct 19, 2016
-
-
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
-
- Oct 07, 2016
-
-
Hongbin Zheng authored
Differential Revision: https://reviews.llvm.org/D25354 llvm-svn: 283608
-
- Sep 28, 2016
-
-
Chris Bieneman authored
Hans reported an issue with r282510 on the list. This should resolve the issue. llvm-svn: 282552
-
- Sep 27, 2016
-
-
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
-
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
-
- Sep 06, 2016
-
-
Rafael Espindola authored
llvm-svn: 280746
-
- Sep 01, 2016
-
-
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
-
- Aug 25, 2016
-
-
Chris Bieneman authored
llvm-svn: 279756
-
- Aug 23, 2016
-
-
Peter Zotov authored
Patch by Michael Gorny. llvm-svn: 279544
-
Jacques Pienaar authored
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 llvm-svn: 279498
-
- Aug 18, 2016
-
-
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
-
- Aug 04, 2016
-
-
Jonas Hahnfeld authored
libc++.so is now a linker script that includes -lc++abi if necessary. Differential Revision: https://reviews.llvm.org/D22861 llvm-svn: 277714
-
- Aug 01, 2016
-
-
Sumanth Gundapaneni authored
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. llvm-svn: 277389
-
- Jul 29, 2016
-
-
Eugene Zelenko authored
Differential revision: https://reviews.llvm.org/D22896 llvm-svn: 277093
-
- Jul 26, 2016
-
-
Chris Bieneman authored
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. llvm-svn: 276710
-
- Jul 23, 2016
-
-
Vedant Kumar authored
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. llvm-svn: 276504
-
- Jul 21, 2016
-
-
Michael Gottesman authored
[cmake] Move the including of utils/unittests under LLVM_INCLUDE_UTILS 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. llvm-svn: 276342
-