summaryrefslogtreecommitdiff
path: root/utils/llvm-build/llvmbuild
Commit message (Collapse)AuthorAge
* Provide CMake package modules in install treeNAKAMURA Takumi2014-02-09
| | | | | | | | | | | | | | | | | | | | | | Teach the Makefile build system to generate and install CMake modules LLVMConfig.cmake and LLVMConfigVersion.cmake so that applications that build with CMake can use 'find_package(LLVM)' even when LLVM is not built with CMake. These modules tell such applications about available LLVM libraries and their dependencies. Run llvm-config to generate the list of libraries and use the results of llvm-build to generate the library dependencies. Use sed to perform substitutions in the LLVMConfig.cmake.in and LLVMConfigVersion.cmake.in sources that our CMake build system uses. Teach the Makefile build system to generate the LLVMExports.cmake file with content similar to that produced by the CMake install(EXPORT) command. Extend llvm-build with an option to generate the library dependencies fragment for this file. Contributed by Brad King. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@201053 91177308-0d34-0410-b5e6-96231b3b80d8
* [llvm-build] Make Py3 compatible.Daniel Dunbar2013-08-14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188424 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename VMCore directory to IR.Chandler Carruth2013-01-02
| | | | | | | | | | | | | | | | | | Aside from moving the actual files, this patch only updates the build system and the source file comments under lib/... that are relevant. I'll be updating other docs and other files in smaller subsequnet commits. While I've tried to test this, but it is entirely possible that there will still be some build system fallout. Also, note that I've not changed the library name itself: libLLVMCore.a is still the library name. I'd be interested in others' opinions about whether we should rename this as well (I think we should, just not sure what it might break) git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@171359 91177308-0d34-0410-b5e6-96231b3b80d8
* llvmbuild/main.py: Let LibraryDependencies.inc deterministic.NAKAMURA Takumi2012-12-20
| | | | | | | | | FYI, llvm and clang can be built deterministically between stage 2 and stage3, among iterative clean rebuilds, with GNU ar; configure --disable-timestamps make AR.Flags=crsD RANLIB=echo git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@170682 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix typos found by http://github.com/lyda/misspell-checkBenjamin Kramer2012-06-02
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157885 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add support for non-installed libraries (e.g., gtest).Daniel Dunbar2012-05-15
| | | | | | | - These libraries are only reported by llvm-config when run from a development tree. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156838 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Don't emit library information for disabled targets.Daniel Dunbar2012-05-15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156837 91177308-0d34-0410-b5e6-96231b3b80d8
* Make IntelJITEvents and OProfileJIT as optional libraries and addPreston Gurd2012-05-07
| | | | | | | | | | | | | | optional library support to the llvm-build tool: - Add new command line parameter to llvm-build: “--enable-optional-libraries” - Add handing of new llvm-build library type “OptionalLibrary” - Update Cmake and automake build systems to pass correct flags to llvm-build based on configuration Patch by Dan Malea! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156319 91177308-0d34-0410-b5e6-96231b3b80d8
* build/unittests: Fix llvm-config names for gtest libraries, and bring MakefileDaniel Dunbar2011-12-15
| | | | | | | library names in line with those used by CMake. - Patch by Johannes Obermayr, with tweaks by me. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146706 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Switch to using the common subdirectory list instead ofDaniel Dunbar2011-12-12
| | | | | | autodiscovery. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146437 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVMBuild: Introduce a common section which currently has a list of theDaniel Dunbar2011-12-12
| | | | | | | | | | | subdirectories to traverse into. - Originally I wanted to avoid this and just autoscan, but this has one key flaw in that new subdirectories can not automatically trigger a rerun of the llvm-build tool. This is particularly a pain when switching back and forth between trees where one has added a subdirectory, as the dependencies will tend to be wrong. This will also eliminates FIXME implicitly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146436 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Don't write out the required_libraries list for "special" ↵Daniel Dunbar2011-12-12
| | | | | | components, it is generated. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146435 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add sketchy support for preserving comments when usingDaniel Dunbar2011-12-12
| | | | | | --write-llvmbuild. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146434 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVMBuild: Remove trailing newline, which irked me.Daniel Dunbar2011-12-12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146409 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Don't generate duplicate dependencies when LLVMBuild files defineDaniel Dunbar2011-12-06
| | | | | | multiple components. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145989 91177308-0d34-0410-b5e6-96231b3b80d8
* llvmbuild/CMake: Update CMake output fragment to include explicit libraryDaniel Dunbar2011-11-29
| | | | | | dependency information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@145328 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Attempt to work around a CMake Makefile generator bug that doesn'tDaniel Dunbar2011-11-17
| | | | | | | | properly quote strings when writing the CMakeFiles/Makefile.cmake output file (which lists the dependencies). This shows up when using CMake + MSYS Makefile generator. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144873 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add --configure-target-def-file option.Daniel Dunbar2011-11-11
| | | | | | - Can be used to generate the substitution values we currently use for the various target related .def files. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144345 91177308-0d34-0410-b5e6-96231b3b80d8
* LLVMBuild: Add explicit information on whether targets define an assembly ↵Daniel Dunbar2011-11-11
| | | | | | printer, assembly parser, or disassembler. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144344 91177308-0d34-0410-b5e6-96231b3b80d8
* build/Make & CMake: Pass the appropriate --native-target and --enable-targetsDaniel Dunbar2011-11-10
| | | | | | options to llvm-build, so the all-targets etc. components are defined properly. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144255 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add --native-target and --enable-targets options, and add logic toDaniel Dunbar2011-11-10
| | | | | | | | | | handle defining the "magic" target related components (like native, nativecodegen, and engine). - We still require these components to be in the project (currently in lib/Target) so that we have a place to document them and hopefully make it more obvious that they are "magic". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144253 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Split out the validation logic.Daniel Dunbar2011-11-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144252 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add an explicit component type to represent targets.Daniel Dunbar2011-11-10
| | | | | | - Gives us a place to hang target specific metadata (like whether the target has a JIT). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144250 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Tidy up options.Daniel Dunbar2011-11-10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@144249 91177308-0d34-0410-b5e6-96231b3b80d8
* utils/llvm-build: Ensure output directory exists for tools which write ↵Daniel Dunbar2011-11-05
| | | | | | various fragments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143782 91177308-0d34-0410-b5e6-96231b3b80d8
* utils/llvm-build: Add trivial quoting of slashes for CMake fragment.Daniel Dunbar2011-11-05
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143781 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Quote colons in target names, in an attempt to make msys happy.Daniel Dunbar2011-11-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143745 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add initial --write-cmake-fragment option.Daniel Dunbar2011-11-04
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143744 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add initial code for --write-make-fragment.Daniel Dunbar2011-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143661 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Avoid followlinks keyword argument to os.walk.Daniel Dunbar2011-11-03
| | | | | | - llvm-build should now be Python2.4 compatible as best I know. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143641 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Update --write-llvmbuild to write out a standard LLVM style fileDaniel Dunbar2011-11-03
| | | | | | header. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143629 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add "--write-library-table" option for generating the C++ libraryDaniel Dunbar2011-11-03
| | | | | | dependency table used by llvm-config. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143628 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add --write-llvmbuild option, which writes out the component tree.Daniel Dunbar2011-11-03
| | | | | | - Useful for migrating or auto-upgrading the format schema. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143626 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Add --print-tree command line option.Daniel Dunbar2011-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143625 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Fill in some details w.r.t. component's parents.Daniel Dunbar2011-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143624 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Validate information on the loaded components and form the ↵Daniel Dunbar2011-11-03
| | | | | | | | topological ordering among them (as well as validating that there are no cycles). - Currently we require that all references between components (except the parent relation) fit into a DAG -- this could be relaxed later if it ever proves to be useful. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143623 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Fill in more of component parsing to be more strict andDaniel Dunbar2011-11-03
| | | | | | differentiate between strings and lists. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143622 91177308-0d34-0410-b5e6-96231b3b80d8
* llvm-build: Sketch code to load LLVMBuild.txt files.Daniel Dunbar2011-11-03
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143621 91177308-0d34-0410-b5e6-96231b3b80d8
* build: Stub out llvm-build utility tool.Daniel Dunbar2011-11-03
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@143620 91177308-0d34-0410-b5e6-96231b3b80d8