Commit Graph

34 Commits

Author SHA1 Message Date
Daniel Dunbar
64c706d674 llvm-build: Add support for non-installed libraries (e.g., gtest).
- These libraries are only reported by llvm-config when run from a development
   tree.

llvm-svn: 156838
2012-05-15 18:44:17 +00:00
Daniel Dunbar
9fa09aa92b llvm-build: Don't emit library information for disabled targets.
llvm-svn: 156837
2012-05-15 18:44:12 +00:00
Preston Gurd
cd8273f842 Make IntelJITEvents and OProfileJIT as optional libraries and add
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!

llvm-svn: 156319
2012-05-07 19:38:40 +00:00
Daniel Dunbar
d2627d2855 build/unittests: Fix llvm-config names for gtest libraries, and bring Makefile
library names in line with those used by CMake.
 - Patch by Johannes Obermayr, with tweaks by me.

llvm-svn: 146706
2011-12-15 23:35:08 +00:00
Daniel Dunbar
a16a63f190 llvm-build: Switch to using the common subdirectory list instead of
autodiscovery.

llvm-svn: 146437
2011-12-12 22:45:59 +00:00
Daniel Dunbar
b72534060e LLVMBuild: Introduce a common section which currently has a list of the
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.

llvm-svn: 146436
2011-12-12 22:45:54 +00:00
Daniel Dunbar
495f7b57f8 llvm-build: Don't write out the required_libraries list for "special" components, it is generated.
llvm-svn: 146435
2011-12-12 22:45:41 +00:00
Daniel Dunbar
ecff3756fa llvm-build: Add sketchy support for preserving comments when using
--write-llvmbuild.

llvm-svn: 146434
2011-12-12 22:45:35 +00:00
Daniel Dunbar
30d6a45140 LLVMBuild: Remove trailing newline, which irked me.
llvm-svn: 146409
2011-12-12 19:48:00 +00:00
Daniel Dunbar
3e99464701 llvm-build: Don't generate duplicate dependencies when LLVMBuild files define
multiple components.

llvm-svn: 145989
2011-12-06 23:13:42 +00:00
Daniel Dunbar
36e9b032cd llvmbuild/CMake: Update CMake output fragment to include explicit library
dependency information.

llvm-svn: 145328
2011-11-29 00:06:50 +00:00
Daniel Dunbar
50227df250 llvm-build: Attempt to work around a CMake Makefile generator bug that doesn't
properly quote strings when writing the CMakeFiles/Makefile.cmake output file
(which lists the dependencies). This shows up when using CMake + MSYS Makefile
generator.

llvm-svn: 144873
2011-11-17 01:19:53 +00:00
Daniel Dunbar
fe59bd30be llvm-build: Add --configure-target-def-file option.
- Can be used to generate the substitution values we currently use for the various target related .def files.

llvm-svn: 144345
2011-11-11 00:24:00 +00:00
Daniel Dunbar
846fb32afc LLVMBuild: Add explicit information on whether targets define an assembly printer, assembly parser, or disassembler.
llvm-svn: 144344
2011-11-11 00:23:56 +00:00
Daniel Dunbar
138437ad27 build/Make & CMake: Pass the appropriate --native-target and --enable-targets
options to llvm-build, so the all-targets etc. components are defined properly.

llvm-svn: 144255
2011-11-10 01:16:48 +00:00
Daniel Dunbar
f0c4aed0ab llvm-build: Add --native-target and --enable-targets options, and add logic to
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".

llvm-svn: 144253
2011-11-10 00:50:07 +00:00
Daniel Dunbar
cd4a25f864 llvm-build: Split out the validation logic.
llvm-svn: 144252
2011-11-10 00:49:58 +00:00
Daniel Dunbar
c09b47db8f llvm-build: Add an explicit component type to represent targets.
- Gives us a place to hang target specific metadata (like whether the target has a JIT).

llvm-svn: 144250
2011-11-10 00:49:51 +00:00
Daniel Dunbar
44d7c5fbba llvm-build: Tidy up options.
llvm-svn: 144249
2011-11-10 00:49:42 +00:00
Daniel Dunbar
ba1bf9cd90 utils/llvm-build: Ensure output directory exists for tools which write various fragments.
llvm-svn: 143782
2011-11-05 04:07:49 +00:00
Daniel Dunbar
eea4a6ec84 utils/llvm-build: Add trivial quoting of slashes for CMake fragment.
llvm-svn: 143781
2011-11-05 04:07:43 +00:00
Daniel Dunbar
f1bb0dd894 llvm-build: Quote colons in target names, in an attempt to make msys happy.
llvm-svn: 143745
2011-11-04 23:40:11 +00:00
Daniel Dunbar
ef2350c738 llvm-build: Add initial --write-cmake-fragment option.
llvm-svn: 143744
2011-11-04 23:10:37 +00:00
Daniel Dunbar
1acfa4de23 llvm-build: Add initial code for --write-make-fragment.
llvm-svn: 143661
2011-11-03 22:46:19 +00:00
Daniel Dunbar
1ab272adac llvm-build: Avoid followlinks keyword argument to os.walk.
- llvm-build should now be Python2.4 compatible as best I know.

llvm-svn: 143641
2011-11-03 19:45:52 +00:00
Daniel Dunbar
33ec90d5a9 llvm-build: Update --write-llvmbuild to write out a standard LLVM style file
header.

llvm-svn: 143629
2011-11-03 17:56:31 +00:00
Daniel Dunbar
59c32a015d llvm-build: Add "--write-library-table" option for generating the C++ library
dependency table used by llvm-config.

llvm-svn: 143628
2011-11-03 17:56:28 +00:00
Daniel Dunbar
c29c610bd2 llvm-build: Add --write-llvmbuild option, which writes out the component tree.
- Useful for migrating or auto-upgrading the format schema.

llvm-svn: 143626
2011-11-03 17:56:21 +00:00
Daniel Dunbar
7bd392c820 llvm-build: Add --print-tree command line option.
llvm-svn: 143625
2011-11-03 17:56:18 +00:00
Daniel Dunbar
53a6995401 llvm-build: Fill in some details w.r.t. component's parents.
llvm-svn: 143624
2011-11-03 17:56:16 +00:00
Daniel Dunbar
a21266263d llvm-build: Validate information on the loaded components and form the 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.

llvm-svn: 143623
2011-11-03 17:56:12 +00:00
Daniel Dunbar
297cc17040 llvm-build: Fill in more of component parsing to be more strict and
differentiate between strings and lists.

llvm-svn: 143622
2011-11-03 17:56:10 +00:00
Daniel Dunbar
a695c7c611 llvm-build: Sketch code to load LLVMBuild.txt files.
llvm-svn: 143621
2011-11-03 17:56:06 +00:00
Daniel Dunbar
d50bc8ff9d build: Stub out llvm-build utility tool.
llvm-svn: 143620
2011-11-03 17:56:03 +00:00