- Mar 28, 2016
-
-
Mike Spertus authored
llvm-svn: 264602
-
- Mar 14, 2016
-
-
Justin Bogner authored
If anybody is actually using this, it probably doesn't do what they think it does. This actually causes the dylib to *export* a __cxa_atexit symbol, so anything that links it probably loses their exit time destructors as well as disabling LLVM's. This just removes the option entirely. If somebody does need this behaviour we should figure out a more principled way to do it. This is effectively a revert of r223805. llvm-svn: 263498
-
- Mar 02, 2016
-
-
Chris Bieneman authored
This is just another convenience target for bots to use. It enables isolation of building and testing. llvm-svn: 262494
-
Chris Bieneman authored
This is just a convenience target to allow limiting what you build. llvm-svn: 262427
-
- Feb 26, 2016
-
-
Chris Bieneman authored
This allows a user to specify "Native" as a target when configuring LLVM. Native will resolve to the LLVM_NATIVE_ARCH, which is the target that supports code generation for the host. llvm-svn: 262070
-
- Feb 23, 2016
-
-
Chris Bieneman authored
The idea here is to provide a customizable install target that only depends on building the things you actually want to install. It relies on each component being installed having an auto-generated install-${component}, which in turn depends only on the target being installed. This is fundamentally a workaround for the fact that CMake generates build files which have their "install" target depend on the "all" target. This results in "ninja install" building a bunch of unneeded things. llvm-svn: 261681
-
- Feb 19, 2016
-
-
Chris Bieneman authored
Summary: PR26666: CMAKE_BUILD_TYPE was previously being reset to blank. Reviewers: rnk, beanz Subscribers: llvm-commits Patch By: Derek Bruening Differential Revision: http://reviews.llvm.org/D17398 llvm-svn: 261273
-
- Feb 11, 2016
-
-
Quentin Colombet authored
LLVM_BUILD_GLOBAL_ISEL llvm-svn: 260457
-
- Jan 20, 2016
-
-
Quentin Colombet authored
This patch adds the necessary plumbing to cmake to build the sources related to GlobalISel. To build the sources related to GlobalISel, we need to add -DBUILD_GLOBAL_ISEL=ON. By default, this is OFF, thus GlobalISel sources will not impact people that do not explicitly opt-in. Differential Revision: http://reviews.llvm.org/D15983 llvm-svn: 258344
-
- Jan 13, 2016
-
-
Hans Wennborg authored
llvm-svn: 257627
-
- Jan 09, 2016
-
-
Dan Liew authored
This reverts r257221. This caused several build bot failures * It looks like some of the tests don't work correctly under Windows * It looks like the lit per test timeout tests fail So I'm reverting for now. Once the above failures are fixed running lit's tests can be enabled again. llvm-svn: 257268
-
- Jan 08, 2016
-
-
Dan Liew authored
directy with ``make check-lit`` and are run as part of ``make check-all``. In principle we should run lit's testsuite before testing LLVM using lit so that any problems with lit get discovered before testing LLVM so we can bail out early. However this implementation (``check-all`` runs all tests together) seemed simpler and will still report failing lit tests. Note that the tests and the configured ``lit.site.cfg`` have to be copied into the build directory to avoid polluting the source tree. llvm-svn: 257221
-
- Dec 16, 2015
-
-
Benjamin Kramer authored
This generates a compile_commands.json file, which tells tools like YouCompleteMe and clang_complete exactly how to build each source file. Patch by Justin Lebar! llvm-svn: 255789
-
- Dec 03, 2015
-
-
Chris Bieneman authored
Summary: This adds support for generating dSYM files and stripping debug info from executables and dylibs. It also supports passing -object_path_lto to the linker to generate dSYMs for LTO builds. Reviewers: bogner, friss Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D15133 llvm-svn: 254627
-
- Nov 11, 2015
-
-
Chris Bieneman authored
Summary: This patch adds a new CMake module for working with ExternalProjects. This wrapper for ExternalProject supports using just-built tools and can hook up dependencies properly so that projects get cleared out. The example usage here is for the llvm test-suite. In this example, the test-suite is setup as dependent on clang and lld if they are in-tree. If the clang or lld binaries change the test-suite is re-configured, cleaned, and rebuilt. This cleanup and abstraction wrapping ExternalProject can be extended and applied to other runtime libraries like compiler-rt and libcxx. Reviewers: samsonov, jroelofs, rengolin, jmolloy Subscribers: jmolloy, llvm-commits Differential Revision: http://reviews.llvm.org/D14513 llvm-svn: 252747
-
- Nov 04, 2015
-
-
Rafael Espindola authored
On fedora the ninja executable is called ninja-build :-( llvm-svn: 252062
-
- Oct 27, 2015
-
-
Chris Bieneman authored
[CMake] Get rid of LLVM_DYLIB_EXPORT_ALL, and make it the default, add libLLVM-C on darwin to cover the C API needs. Summary: We've had a lot of discussion in the past about the meaningful and useful default behaviors for the llvm-shlib tool. The original implementation was heavily geared toward Apple's use, and I think that was wrong. This patch seeks to correct that. I've removed the LLVM_DYLIB_EXPORT_ALL variable and made libLLVM export everything by default. I've also added a new target that is only built on Darwin for libLLVM-C as a library that re-exports the LLVM-C API. This library is not built on Linux because ELF doesn't support re-export libraries in the same way MachO does. Reviewers: chapuni, resistor, bogner, axw Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D13842 llvm-svn: 251411
-
- Oct 20, 2015
-
-
Chris Bieneman authored
This is because if you set one of the variables to 0, if(NOT ...) is true, which isn't what you actually want. Should have thought that through better the first time. llvm-svn: 250841
-
- Oct 14, 2015
-
-
Chris Bieneman authored
CMake's set command overwrites existing values. Package maintainers may want or need to set the version variables manually, so we need to only set them if they are not already defined. Note I use the "if(NOT DEFINED ...)" syntax deliberately in the last case because empty string is a valid value for the suffx, but not the other variables. llvm-svn: 250333
-
Chris Bieneman authored
I meant to put the POLICY setting below the version defaults. llvm-svn: 250276
-
Chris Bieneman authored
CMake 3.0 introduced the VERSION option for the project() command. If you don't specify the VERSION in the function it will clear out variables matching ${PROJECT_NAME}_VERSION_${MAJOR|MINOR|PATCH|TWEAK}. This makes overriding LLVM_VERSION_* not work properly with newer versions of CMake. To make this work properly we need to: (1) Optionally set the policy to NEW (2) Move default versions and setting PACKAGE_VERSION to before the call to project() (3) If the policy is set, pass the VERSION and LANGUAGES options in the new format This change should have no behavioral change for CMake versions before 3.0, and it makes the behavior of later versions match the earlier versions. llvm-svn: 250275
-
- Oct 13, 2015
-
-
Chris Bieneman authored
[CMake] LLVM_PROFDATA_FILE only works if you're using clang, so we should error out if it is specified when not using clang. Also updated the CMake docs. Based on post-commit review of r250108 from Sean Silvas. llvm-svn: 250150
-
- Oct 12, 2015
-
-
Chris Bieneman authored
Adds LLVM_PROFDATA_FILE option to allow specifying a profile data file to be used during compilation of LLVM and subprojects. llvm-svn: 250108
-
- Sep 11, 2015
-
-
Chris Bieneman authored
This is a follow-on to r247308. llvm-svn: 247443
-
- Sep 10, 2015
-
-
Chris Bieneman authored
llvm-svn: 247308
-
Chandler Carruth authored
CMake. The Go bindings tests in an unoptimized build take over 30 seconds for me, making it the slowest test in 'check-llvm' by a factor of two. I've only rigged this up fully to the CMake build. If someone is interested in rigging it up to the autoconf build, they're welcome to do so. llvm-svn: 247243
-
- Sep 09, 2015
-
-
Joseph Tremoulet authored
Summary: Cross-compilation uses recursive cmake invocations to build native host tools. These recursive invocations only forward a fixed set of variables/options, since the native environment is generally the default. This change adds -DLLVM_TARGET_IS_CROSSCOMPILE_HOST=TRUE to the recursive cmake invocations, so that cmake files can distinguish these recursive invocations from top-level ones, which can explain why expected options are unset. LLILC will use this to avoid trying to generate its build rules in the crosscompile native host target (where it is not needed), which would fail if attempted because LLILC requires a cmake variable passed on the command line, which is not forwarded in the recursive invocation. Reviewers: rnk, beanz Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12679 llvm-svn: 247151
-
- Sep 05, 2015
-
-
Andrew Wilkins authored
Summary: This diff attempts to address the concerns raised in http://reviews.llvm.org/D12488. We introduce a new USE_SHARED option to llvm_config, which, if set, causes the target to be linked against libLLVM. add_llvm_utility now uniformly disables linking against libLLVM. These utilities are not intended for distribution, and this keeps the option handling more centralised. llvm-shlib is now processes before any other "tools" subdirectories, ensuring the libLLVM target is defined before its dependents. One main difference from what was requested: llvm_config does not prune LLVM_DYLIB_COMPONENTS from the components passed into explicit_llvm_config. This is because the "all" component does something special, adding additional libraries (namely libLTO). Adding the component libraries after libLLVM should not be a problem, as symbols will be resolved in libLLVM first. Finally, I'm not really happy with the DISABLE_LLVM_LINK_LLVM option, but I'm not sure of a better way to get the following: - link all tools and shared libraries to libLLVM if LLVM_LINK_LLVM_DYLIB is set - some way of explicitly *not* doing so for utilities and libLLVM itself Suggestions for improvement here are particularly welcome. Reviewers: beanz Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D12590 llvm-svn: 246918
-
- Sep 01, 2015
-
-
Andrew Wilkins authored
Summary: Three closely related changes, to have a mode in which we link all executables and shared libraries against libLLVM. 1. Add a new LLVM_LINK_LLVM_DYLIB cmake option, which, when ON, will link executables and shared libraries against libLLVM. For this to work, it is necessary to also set LLVM_BUILD_LLVM_DYLIB and LLVM_DYLIB_EXPORT_ALL. It is not strictly necessary to set LLVM_DISABLE_LLVM_DYLIB_ATEXIT, but we also default to OFF in this mode, or tools tend to misbehave (e.g. stdout may not flush on exit when output is buffered.) llvm-config and Tablegen do not use libLLVM, as they are dependencies of libLLVM. 2. Modify llvm-go to take a new flag, "linkmode=component-libs|dylib". Depending on which one is passed (default is component-libs), we link with the individual libraries or libLLVM respectively. We pass in dylib when LLVM_LINK_LLVM_DYLIB is ON. 3. Fix LLVM_DYLIB_EXPORT_ALL on Linux, and expand the symbols exported to actually export all. Don't strip leading underscore from symbols on Linux, and make sure we get all exported symbols and weak-with-default symbols ("W" in nm output). Without these changes, passes won't load because the "Annotate..." symbols defined in lib/Support/Valigrind.cpp are not found. Testing: - Ran default build ("ninja") with LLVM, clang, compiler-rt, llgo, lldb. - Ran "check", "check-clang", "check-tsan", "check-libgo" targets. I've never had much success with LLDB tests, and llgoi is currently broken so check-llgo fails for an unrelated reason. - Ran "lldb" to ensure it loads. Reviewers: chandlerc, beanz, pcc, rnk Subscribers: rnk, chapuni, sylvestre.ledru, llvm-commits Differential Revision: http://reviews.llvm.org/D12488 llvm-svn: 246527
-
- Aug 11, 2015
-
-
Reid Kleckner authored
Only disable the progress bar when we're generating VS project files, like we do for XCode. This makes lit use the simple, non-curses progress bar that looks like this with: Testing: 0 .. 10.. 20.. 30.. 40.. 50.. 60.. 70.. 80.. 90.. Testing Time: 5.87s llvm-svn: 244674
-
Reid Kleckner authored
NFC llvm-svn: 244659
-
Justin Bogner authored
This re-applies r244516 (effectively reverting r244516) without losing the check that caused failures for VS. llvm-svn: 244643
-
Aaron Ballman authored
http://bb.pgr.jp/builders/msbuild-llvmclang-x64-msc18-DA/builds/475 llvm-svn: 244589
-
- Aug 10, 2015
-
-
Justin Bogner authored
Juergen pointed out that this variable is treated in a case insensitive way. llvm-svn: 244516
-
- Aug 08, 2015
-
-
Justin Bogner authored
Apparently if you make a typo in the argument to CMAKE_BUILD_TYPE, cmake silently accepts this but doesn't apply any particular build type to your build. This means you get a build that doesn't really make any sense - it's sort of a debug build with asserts disabled. Error out instead. llvm-svn: 244406
-
- Aug 06, 2015
-
-
Reid Kleckner authored
Fixes build break reported in PR24358. Patch by John Marino. llvm-svn: 244232
-
- Jul 28, 2015
-
-
Douglas Katzman authored
This allows asm files and Cxx files to be compiled with different flags rather than treating them identically. LLVM itself has no asm files other than tests, but this setting is inherited by the compiler-rt project (unless compiled standalone), which does have asm files. Differential Revision: http://reviews.llvm.org/D10707 llvm-svn: 243419
-
- Jul 15, 2015
-
-
Hans Wennborg authored
llvm-svn: 242222
-
- Jun 22, 2015
-
-
Rafael Espindola authored
Patch by Xan López. llvm-svn: 240308
-
- Jun 13, 2015
-
-
Tom Stellard authored
llvm-svn: 239657
-