- Apr 26, 2012
-
-
Michael J. Spencer authored
While making lld build under the tools directory I decided to refactor how this works. There is now a macro, add_llvm_external_project, which takes the name of the expected subdirectory. This sets up two CMake options. * LLVM_EXTERNAL_${NAME}_SOURCE_DIR This is the path to the source. It defaults to ${CMAKE_CURRENT_SOURCE_DIR}/${name}. * LLVM_EXTERNAL_${NAME}_BUILD Enable and disable building the tool as part of LLVM. I chose LLVM_EXTERNAL_${NAME} as a prefix so they all show up together in the GUI. llvm-svn: 155654
-
- Apr 21, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 155285
-
NAKAMURA Takumi authored
llvm-svn: 155284
-
- Mar 01, 2012
-
-
Michael J. Spencer authored
llvm-svn: 151849
-
- Feb 29, 2012
-
-
Rafael Espindola authored
sure we don't use it with compilers that don't support it. llvm-svn: 151665
-
- Feb 28, 2012
-
-
Chandler Carruth authored
Clang builds. The detection logic for compilers that support the warning isn't working. Rafael is going to investigate it, but didn't want people to have to wade through build spam until then. llvm-svn: 151649
-
Rafael Espindola authored
llvm-svn: 151609
-
- Feb 13, 2012
-
-
Dylan Noblesmith authored
This is useful for clients that want to maintain compatibility across multiple releases of LLVM. Currently users like Klee and Mesa all have to roll their own 'parse llvm-config --version output and generate defines' solution. Also reuse the new macros so that version information is less redundant/likely to fall out of sync again in the future. llvm-svn: 150405
-
- Jan 30, 2012
-
-
NAKAMURA Takumi authored
llvm-svn: 149219
-
- Jan 25, 2012
-
-
Rafael Espindola authored
Thanks to Peter Collingbourne for noticing it. llvm-svn: 148913
-
- Jan 24, 2012
-
-
Chandler Carruth authored
dealing in the host triple, be honest about it and document the decision to default the target triple to the host triple unless overridden. llvm-svn: 148822
-
- Jan 20, 2012
-
-
Rafael Espindola authored
warnings from gcc. llvm-svn: 148539
-
Rafael Espindola authored
Release+Asserts build with -DBUILD_SHARED_LIBS=ON, the install directory goes from 72MB to 70MB. llvm-svn: 148530
-
- Dec 16, 2011
-
-
NAKAMURA Takumi authored
llvm-svn: 146725
-
- Dec 12, 2011
-
-
Dylan Noblesmith authored
CMake versions 2.8.4 and earlier were giving this error since r146323: "string end index: -1 is out of range 0 - 6" Passing -1 as the length of the desired substring was a new feature added in CMake 2.8.5: http://www.cmake.org/Bug/view.php?id=10740 llvm-svn: 146372
-
- Dec 10, 2011
-
-
Chandler Carruth authored
commit-ish. Funny thing, they have a command designed for this. ;] llvm-svn: 146325
-
Chandler Carruth authored
revision and git commit data extracted. This will be used in the Clang CMake build to avoid trying to re-detect the information. llvm-svn: 146324
-
Chandler Carruth authored
in CMake a bit more handy. Previously we would get such charming versions as the following for revision NNNN and commit-ish XXXXX: 3.1svnsvn-rNNNN 3.1svngit-svn-rNNNN 3.1svngit-svn-XXXXX The mechanism selecting betwene the latter two was particularly odd, and didn't work with all of the ways git-svn repos are set up apparently. It also misses an important point -- both the revision *and* the git commit might be relevant when working on a local branch some distance from mainline. The new logic does several things: 1) It strips the redundant initial 'svn'. 2) It always looks for a git-svn revision number base, and when found includes it in the version. 3) If the git commit-ish for the current HEAD is not exactly that revision number, it is also included. The resulting strings should roughly be: 3.1svn-rNNNN 3.1git-svn-rNNNN 3.1git-svn-rNNNN-XXXXX Suggestions on formatting etc always welcome. =] I've only looked at the LLVM version string here, not Clang's (yet). Note that the commit-ish reported is *not* terribly accurate. It updates when 'cmake' is run, not when the binary is built. Still, it may be better than nothing, especially if people have fairly long-lived git repos and branches. This is not a new limitation, just didn't want anyone to be surprised. llvm-svn: 146323
-
- Nov 29, 2011
-
-
Daniel Dunbar authored
llvm-svn: 145420
-
Daniel Dunbar authored
- I verified locally that the current dependency lists are identical. - This makes add_llvm_library_dependencies() a no-op. I'll remove it once this change passes the bots. llvm-svn: 145355
-
- Nov 07, 2011
-
-
NAKAMURA Takumi authored
CMAKE_CONFIGURATION_TYPES is only set on Visual Studio generators. For NMake CMAKE_BUILD_TYPE is used instead. Patch by EJose Fonseca! llvm-svn: 143898
-
- Nov 04, 2011
-
-
Daniel Dunbar authored
for consistency. llvm-svn: 143728
-
- Nov 02, 2011
-
-
Chandler Carruth authored
working today, but it shouldn't corrupt state for some poor soul to debug later. llvm-svn: 143545
-
Chandler Carruth authored
one aspect of them by having them use the (annoying, if not broken) proper library dependency model for adding the LLVMTableGen library as a dependency. This could manifest as a link order issue in the presence of separate LLVM / Clang source builds with CMake and a linker that really cares about such things. Also, add the Support dependency to llvm-tblgen itself so that it doesn't rely on TableGen's transitive Support dependency. A parallel change for clang-tblgen will be forthcoming. llvm-svn: 143531
-
- Oct 11, 2011
-
-
NAKAMURA Takumi authored
llvm-svn: 141663
-
NAKAMURA Takumi authored
llvm-svn: 141662
-
- Oct 06, 2011
-
-
Peter Collingbourne authored
llvm-svn: 141266
-
- Sep 19, 2011
-
-
Eric Christopher authored
Patch by Arrowdodger. llvm-svn: 140064
-
- Sep 05, 2011
-
-
Chandler Carruth authored
some CMake patch backlog... llvm-svn: 139107
-
- Aug 17, 2011
-
-
NAKAMURA Takumi authored
(void)static_func; it is used as idiom in llvm source tree to suppress "Unused static function" warnings. llvm-svn: 137800
-
- Aug 16, 2011
-
-
NAKAMURA Takumi authored
llvm-svn: 137715
-
- Jul 30, 2011
-
-
Chandler Carruth authored
sub-library for the targets depended on the core target CodeGen library. This completely undermined the careful work to separate the those libraries, especially the MC-layer ones. This surfaced as circular dependencies when the libraries were built as shared libraries where CMake doesn't allow cycles. This should fix PR10537. I'll watch the bots to see if there is fallout on other platforms. llvm-svn: 136565
-
Chandler Carruth authored
globally scoped constructs. Also, round-trip these dependencies through the LLVMConfig.cmake.in file thata is used by CMake-based clients of "installed" (or built) LLVM trees. llvm-svn: 136543
-
- Jul 29, 2011
-
-
Chandler Carruth authored
specified in the same file that the library itself is created. This is more idiomatic for CMake builds, and also allows us to correctly specify dependencies that are missed due to bugs in the GenLibDeps perl script, or change from compiler to compiler. On Linux, this returns CMake to a place where it can relably rebuild several targets of LLVM. I have tried not to change the dependencies from the ones in the current auto-generated file. The only places I've really diverged are in places where I was seeing link failures, and added a dependency. The goal of this patch is not to start changing the dependencies, merely to move them into the correct location, and an explicit form that we can control and change when necessary. This also removes a serialization point in the build because we don't have to scan all the libraries before we begin building various tools. We no longer have a step of the build that regenerates a file inside the source tree. A few other associated cleanups fall out of this. This isn't really finished yet though. After talking to dgregor he urged switching to a single CMake macro to construct libraries with both sources and dependencies in the arguments. Migrating from the two macros to that style will be a follow-up patch. Also, llvm-config is still generated with GenLibDeps.pl, which means it still has slightly buggy dependencies. The internal CMake 'llvm-config-like' macro uses the correct explicitly specified dependencies however. A future patch will switch llvm-config generation (when using CMake) to be based on these deps as well. This may well break Windows. I'm getting a machine set up now to dig into any failures there. If anyone can chime in with problems they see or ideas of how to solve them for Windows, much appreciated. llvm-svn: 136433
-
- Jul 28, 2011
-
-
Oscar Fuentes authored
llvm-svn: 136327
-
- Jul 26, 2011
-
-
Chandler Carruth authored
dependence on CodeGen layers and backends from the MC layers. llvm-svn: 136024
-
Chandler Carruth authored
The first problem to fix is to stop creating synthetic *Table_gen targets next to all of the LLVM libraries. These had no real effect as CMake specifies that add_custom_command(OUTPUT ...) directives (what the 'tablegen(...)' stuff expands to) are implicitly added as dependencies to all the rules in that CMakeLists.txt. These synthetic rules started to cause problems as we started more and more heavily using tablegen files from *subdirectories* of the one where they were generated. Within those directories, the set of tablegen outputs was still available and so these synthetic rules added them as dependencies of those subdirectories. However, they were no longer properly associated with the custom command to generate them. Most of the time this "just worked" because something would get to the parent directory first, and run tablegen there. Once run, the files existed and the build proceeded happily. However, as more and more subdirectories have started using this, the probability of this failing to happen has increased. Recently with the MC refactorings, it became quite common for me when touching a large enough number of targets. To add insult to injury, several of the backends *tried* to fix this by adding explicit dependencies back to the parent directory's tablegen rules, but those dependencies didn't work as expected -- they weren't forming a linear chain, they were adding another thread in the race. This patch removes these synthetic rules completely, and adds a much simpler function to declare explicitly that a collection of tablegen'ed files are referenced by other libraries. From that, we can add explicit dependencies from the smaller libraries (such as every architectures Desc library) on this and correctly form a linear sequence. All of the backends are updated to use it, sometimes replacing the existing attempt at adding a dependency, sometimes adding a previously missing dependency edge. Please let me know if this causes any problems, but it fixes a rather persistent and problematic source of build flakiness on our end. llvm-svn: 136023
-
- Jul 25, 2011
-
-
Chandler Carruth authored
refactorings. Several places that shouldn't have dependend on Target no longer do. Also almost all of the CodeGen dependencies have gone away for the MCDisassembler. Others add reasonable dependencies within the target-specific layers. llvm-svn: 135977
-
Oscar Fuentes authored
header search path. llvm-svn: 135952
-
Oscar Fuentes authored
tablegenning to all libraries and executables. llvm-svn: 135908
-