summaryrefslogtreecommitdiffstats
path: root/runtime/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* [sanitizer] Passthrough CMAKE_OSX_DEPLOYMENT_TARGET and CMAKE_OSX_SYSROOT ↵Kuba Mracek2016-12-151-0/+1
| | | | | | | | | | when building compiler-rt from clang/runtime/CMakeLists.txt Differential Revision: https://reviews.llvm.org/D26558 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@289890 91177308-0d34-0410-b5e6-96231b3b80d8
* [sanitizer] Passthrough CMAKE_OSX_DEPLOYMENT_TARGET when building ↵Kuba Brecka2016-11-141-0/+1
| | | | | | | | | | | | compiler-rt from clang/runtime/CMakeLists.txt This breaks some Swift builds, because Swift's build scripts explicitly set CMAKE_OSX_DEPLOYMENT_TARGET. This however isn't propagated to the compiler-rt build, causing build errors. Differential Revision: https://reviews.llvm.org/D26558 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@286898 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Properly connecting Compiler-RT check and test-dependsChris Bieneman2016-09-011-1/+10
| | | | | | | | | This correctly connects compiler-rt-test-depends to test-depends and check-compiler-rt to check-all. Based on LLVM r280392, and Compiler-RT r280393. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@280394 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Adding USES_TERMINAL to a few additional custom targetsChris Bieneman2016-06-281-2/+3
| | | | | | These are all long-running commands that should be in the ninja console job pool. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274056 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Connect check-compiler-rt to check-allChris Bieneman2016-06-281-1/+2
| | | | | | | | When using the LLVM_BUILD_EXTERNAL_COMPILER_RT option with LLVM_ENABLE_TESTS we should also bind check-compiler-rt to check-all so that the compiler-rt tests run too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274045 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Pass LLVM_LIT_ARGS into compiler-rt build.Chris Bieneman2016-06-281-0/+1
| | | | | | If top-level lit args are specified, you probably want that in the sub-project too. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@274035 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Cleaning up CMake version checks in ExternalProject callsChris Bieneman2016-06-091-8/+3
| | | | | | Now that we're on CMake 3.4.3 all the ExternalProject features we use are supported everywhere, so we don't need the version checks anymore. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272324 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Cleanup uses of USES_TERMINALChris Bieneman2016-06-081-2/+1
| | | | | | | | Now that we are on CMake 3.4.3 we no longer need a version check around this. This is the clang side of r272211. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@272213 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Fixing a typo in a CMake optionChris Bieneman2016-06-061-1/+1
| | | | | | CMake defines are set with -D, forgetting the D doesn’t work. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@271937 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Pass LLVM_LIBDIR_SUFFIX into Compiler-RTChris Bieneman2016-05-101-0/+1
| | | | | | Not passing this causes Compiler-RT to fail to configure on multi-lib systems. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@269069 91177308-0d34-0410-b5e6-96231b3b80d8
* Re-apply r267784, r267824 and r267830.Peter Collingbourne2016-04-281-13/+0
| | | | | | I have updated the compiler-rt tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@267903 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r267784, r267824 and r267830.Benjamin Kramer2016-04-281-0/+13
| | | | | | | | | | It makes compiler-rt tests fail if the gold plugin is enabled. Revert "Rework interface for bitset-using features to use a notion of LTO visibility." Revert "Driver: only produce CFI -fvisibility= error when compiling." Revert "clang/test/CodeGenCXX/cfi-blacklist.cpp: Exclude ms targets. They would be non-cfi." git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@267871 91177308-0d34-0410-b5e6-96231b3b80d8
* Rework interface for bitset-using features to use a notion of LTO visibility.Peter Collingbourne2016-04-271-13/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Bitsets, and the compiler features they rely on (vtable opt, CFI), only have visibility within the LTO'd part of the linkage unit. Therefore, only enable these features for classes with hidden LTO visibility. This notion is based on object file visibility or (on Windows) dllimport/dllexport attributes. We provide the [[clang::lto_visibility_public]] attribute to override the compiler's LTO visibility inference in cases where the class is defined in the non-LTO'd part of the linkage unit, or where the ABI supports calling classes derived from abstract base classes with hidden visibility in other linkage units (e.g. COM on Windows). If the cross-DSO CFI mode is enabled, bitset checks are emitted even for classes with public LTO visibility, as that mode uses a separate mechanism to cause bitsets to be exported. This mechanism replaces the whole-program-vtables blacklist, so remove the -fwhole-program-vtables-blacklist flag. Because __declspec(uuid()) now implies [[clang::lto_visibility_public]], the support for the special attr:uuid blacklist entry is removed. Differential Revision: http://reviews.llvm.org/D18635 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@267784 91177308-0d34-0410-b5e6-96231b3b80d8
* Moving clang-test-depends into the Clang tests folder and moving ↵Aaron Ballman2016-04-121-0/+1
| | | | | | vtables_blacklist into the Misc folder; NFC, this simply cleans up the generated solution so that these targets don't live in the root folder of the IDE. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@266079 91177308-0d34-0410-b5e6-96231b3b80d8
* [cmake] Add a few more compiler-rt check-* targets for EXTERNAL_COMPILER_RTFilipe Cabecinhas2016-03-011-1/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262341 91177308-0d34-0410-b5e6-96231b3b80d8
* [cmake] Try to appease the buildbots.Filipe Cabecinhas2016-03-011-1/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262340 91177308-0d34-0410-b5e6-96231b3b80d8
* [cmake] Pass through the cmake_3_2_USES_TERMINAL variable so we get progress ↵Filipe Cabecinhas2016-03-011-0/+1
| | | | | | bars on an external compiler-rt build git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262336 91177308-0d34-0410-b5e6-96231b3b80d8
* [cmake] Use CMake's USES_TERMINAL for the test targets.Filipe Cabecinhas2016-03-011-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262335 91177308-0d34-0410-b5e6-96231b3b80d8
* [cmake] Fallback to LLVM_EXTERNAL_COMPILER_RT_SOURCE_DIR if ↵Filipe Cabecinhas2016-03-011-0/+7
| | | | | | COMPILER_RT_SRC_ROOT doesn't exist. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@262334 91177308-0d34-0410-b5e6-96231b3b80d8
* Make vtables_blacklist dependency conditional on existence of clang target.Peter Collingbourne2016-02-261-1/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261960 91177308-0d34-0410-b5e6-96231b3b80d8
* Add whole-program vtable optimization feature to Clang.Peter Collingbourne2016-02-241-0/+10
| | | | | | | | | This patch introduces the -fwhole-program-vtables flag, which enables the whole-program vtable optimization feature (D16795) in Clang. Differential Revision: http://reviews.llvm.org/D16821 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@261767 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] ExternalProject for compiler-rt needs to depend on llvm-config and clangChris Bieneman2015-12-161-2/+1
| | | | | | The add_dependencies call on compiler-rt-configure adds llvm-config and clang to the phony target, but not to the actual configure custom command. We need the dependency bound to the custom command so that it can't be re-ordered by Ninja. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255798 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Pass CMAKE_MAKE_PROGRAM through to compiler-rt build.Chris Bieneman2015-12-091-0/+1
| | | | | | This is needed if your make tool is overridden. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255172 91177308-0d34-0410-b5e6-96231b3b80d8
* Add llvm-objdump to compiler-rt test deps.Alexey Samsonov2015-12-071-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254961 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Removing an unnecessary layer of variable indirectionChris Bieneman2015-12-031-1/+1
| | | | | | This prevents passthrough variables from having values. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@254642 91177308-0d34-0410-b5e6-96231b3b80d8
* NFC. Fixing my consistently incorrect spelling.Chris Bieneman2015-11-231-4/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253937 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Fix handling of passing through semi-colon separated lists.Chris Bieneman2015-11-201-1/+2
| | | | | | When passing around CMake arguments as lists of arguments any arguments containing lists need to have their semi-colons escaped otherwise CMake will split the arguments in the middle. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@253720 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Fixing passthrough for variables starting with COMPILER_RTChris Bieneman2015-11-111-1/+1
| | | | | | This allows COMPILER_RT_* variables to be passed from the top-level CMake into the external project when LLVM_BUILD_EXTERNAL_COMPILER_RT=On. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@252809 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Make external compiler-rt install scripts relative to ↵Chris Bieneman2015-10-201-2/+2
| | | | | | | | | | | | | | CMAKE_INSTALL_PREFIX. This change makes LLVM_BUILD_EXTERNAL_COMPILER_RT work correctly when overriding CMAKE_INSTALL_PREFIX on the install action (which is how LLVM_CREATE_XCODE_TOOLCHAIN works). This fix is two parts: (1) Pass CMAKE_INSTALL_PREFIX in as a variable from the parent install to the child install (2) When passing COMPILER_RT_INSTALL_PATH into the external project make sure it is passed as a string not a path. Not specifying the full path for COMPILER_RT_INSTALL_PATH isn't enough to fix the issue because relative paths specified on the CMake command line are expanded relative to the working directory before the cache is populated. Forcing this to a string allows it to remain a relative path through to the install() calls. Relative paths specified in install() calls are expanded relative to CMAKE_INSTALL_PREFIX at install time. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@250834 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] When building clang as an external project we should pass through ↵Chris Bieneman2015-10-131-0/+11
| | | | | | all variables that start with COMPILER_RT git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@250196 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Bug 14109 - CMake build for compiler-rt should use just-built clangChris Bieneman2015-10-121-50/+66
| | | | | | | | | | | | | | | | Summary: Many small improvements to LLVM_BUILD_EXTERNAL_COMPILER_RT. * Works correctly with Ninja by working around CMake Bug 14771 (https://cmake.org/Bug/view.php?id=14771) * Has install-compiler-rt target, and installs as part of the default install target * Sets the install paths properly so that it matches the non-standalone build * Only generate the test targets if(LLVM_INCLUDE_TESTS) Reviewers: samsonov, Bigcheese Differential Revision: http://reviews.llvm.org/D13399 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@250064 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Add check-asan-dynamic command to external compiler-rt setup.Alexey Samsonov2014-12-181-2/+2
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@224545 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Propagate top-level targets for compiler-rt runtimes and test-suitesAlexey Samsonov2014-03-211-14/+46
| | | | | | | | | | | | | | | | | | | | from (external) compiler-rt build tree into LLVM/Clang build tree in LLVM_BUILD_EXTERNAL_COMPILER_RT mode. For instance, running make asan -j12 in LLVM/Clang build tree will now build Clang, use it to configure compiler-rt build tree, and invoke "make asan -j12" there. ASan runtime will be built in the proper location, where Clang driver expects to find it. Running make check-asan will build Clang, use it to configure compiler-rt build tree, build everything there, and then run "make check-asan" in compiler-rt build tree using just-built Clang and ASan runtime. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@204463 91177308-0d34-0410-b5e6-96231b3b80d8
* [CMake] Teach build system to build/test compiler-rt with a just-built ClangAlexey Samsonov2014-02-271-1/+65
| | | | | | | | | | | | | | | | | | | | With this change, one may set LLVM_BUILD_EXTERNAL_COMPILER_RT option to build compiler-rt libraries with just-built Clang. make compiler-rt in the build tree will build all compiler-rt libraries with just-built Clang and copy them to the proper location in the Clang resource directory. make check-compiler-rt will run the compiler-rt test suite using just-built Clang and runtime libraries. The goal is to make LLVM_BUILD_EXTERNAL_COMPILER_RT the default, so that we can always build compiler-rt libraries with Clang, not the host compiler, and for all the platforms Clang can target. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@202367 91177308-0d34-0410-b5e6-96231b3b80d8
* Install a copy of the libc++ headers with clang. <rdar://problem/10096516>Bob Wilson2011-09-301-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140876 91177308-0d34-0410-b5e6-96231b3b80d8
* Doug Gregor tells me that runtime/libcxx/ is a placeholder for stuff we neverNick Lewycky2011-04-151-1/+0
| | | | | | | did. Delete it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@129584 91177308-0d34-0410-b5e6-96231b3b80d8
* CMake: Add runtime dir.Michael J. Spencer2010-12-161-0/+12
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@121957 91177308-0d34-0410-b5e6-96231b3b80d8