| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
|
| |
configuration command line
The basic idea is similar to the existing cross compilation support. A directory must be configured to build host versions of tablegen tools and llvm-config. This directory can be user provided (and configured), or it can be created during the build. During a build the native build directory will be configured and built to supply the tablegen tools used during the build. A user could also explicitly provide the tablegen executables to run on the CMake command line.
llvm-svn: 217105
|
|
|
|
|
|
|
| |
Removing the native CMakeCache.txt causes the target to get re-run needlessly
on some systems. We'll want another solution for that part of the fix.
llvm-svn: 213099
|
|
|
|
|
|
|
|
| |
This adds support for building native artifacts when cross-compiling using the
popular side-by-side source directory layout (no symlinks, no nested
repositories).
llvm-svn: 213091
|
|
|
|
| |
llvm-svn: 201972
|
|
|
|
|
|
| |
add_public_tablegen_target is used somewhere.
llvm-svn: 201787
|
|
|
|
|
|
|
|
|
|
|
| |
This macro depends on several variables to be set in the calling
context. Check them and report an error if they are not set.
Without this, custom commands may be silently specified that
will fail at build time.
Patch by Brad King.
llvm-svn: 201229
|
|
|
|
| |
llvm-svn: 201077
|
|
|
|
| |
llvm-svn: 201054
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Record every logical target that we install with install(TARGETS) in a
global LLVM_EXPORTS property. Then use the export(TARGETS) command to
provide a "LLVMExports.cmake" file that exports logical targets for
import into applications directly from our build tree.
The "LLVMExports.cmake" file is not meant for direct inclusion by
application code but should be included by "LLVMConfig.cmake" in a
future change.
Contributed by Brad King.
llvm-svn: 201050
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use the install(TARGETS) command EXPORT option for every library and
executable that we install with LLVM. Then use the install(EXPORT)
command to provide a "LLVMExports.cmake" file that exports logical
targets for import into applications from our install tree.
The "LLVMExports.cmake" file is not meant for direct inclusion by
application code but should be included by "LLVMConfig.cmake" in a
future change.
Contributed by Brad King.
llvm-svn: 201049
|
|
|
|
|
|
|
|
|
| |
include_directories()."
It missed include/llvm/Target. Could I avoid GLOB_RECURSE anyways? :(
FYI, I intended to prune ${LLVM_MAIN_INCLUDE_DIR} in TableGen.cmake in r200150.
llvm-svn: 200730
|
|
|
|
|
|
| |
For now, local_tds and global_tds are integrated to dependent_tds.
llvm-svn: 200150
|
|
|
|
| |
llvm-svn: 200149
|
|
|
|
|
|
| |
action by default.
llvm-svn: 199058
|
|
|
|
|
|
|
| |
When building Clang separately from LLVM with CMake, one should set
the path of llvm-config via the cache variable LLVM_CONFIG.
llvm-svn: 198316
|
|
|
|
|
|
|
|
|
| |
This changes Clang standalone builds so that clang-tblgen lives in
clang/build/bin instead of llvm/build/bin, and so that with the Xcode
generator it's in clang/build/bin/Debug instead of llvm/build/bin/Debug/Debug/.
Yes, really.
llvm-svn: 197590
|
|
|
|
|
|
| |
${LLVM_MAIN_INCLUDE_DIR}.
llvm-svn: 197396
|
|
|
|
|
|
|
|
|
|
| |
I think, in principle, intrinsics_gen may be added explicitly.
That said, it can be added incidentally, since each target already has dependencies to llvm-tblgen.
Almost all source files depend on both CommonTaleGen and intrinsics_gen.
Explicit add_dependencies() have been pruned under lib/Target.
llvm-svn: 195929
|
|
|
|
|
|
|
|
|
| |
CommonTableGen.
add_public_tablegen_target adds *CommonTableGen to LLVM_COMMON_DEPENDS.
LLVM_COMMON_DEPENDS affects add_llvm_library (and other add_target stuff) within its scope.
llvm-svn: 195927
|
|
|
|
|
|
|
| |
This reverts commit r192070 which reverted r192069, I forgot to
regenerate the configure scripts.
llvm-svn: 192079
|
|
|
|
|
|
|
| |
This is causing MinGW bots to fail.
This reverts commit r192069.
llvm-svn: 192070
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The MSVCRT deliberately sends main() code-page specific characters.
This isn't too useful to LLVM as we end up converting the arguments to
UTF-16 and subsequently attempt to use the result as, for example, a
file name. Instead, we need to have the ability to access the Unicode
command line and transform it to UTF-8.
This has the distinct advantage over using the MSVC-specific wmain()
function as our entry point because:
- It doesn't work on cygwin.
- It only work on MinGW with caveats and only then on certain versions.
- We get to keep our entry point as main(). :)
N.B. This patch includes fixes to other parts of lib/Support/Windows
s.t. we would be able to take advantage of getting the Unicode paths.
E.G. clang spawning clang -cc1 would want to give it Unicode arguments.
Reviewers: aaron.ballman, Bigcheese, rnk, ruiu
Reviewed By: rnk
CC: llvm-commits, ygao
Differential Revision: http://llvm-reviews.chandlerc.com/D1834
llvm-svn: 192069
|
|
|
|
|
|
|
|
|
|
|
| |
It was removed in r189130, but it turns out this makes life hard for
folks packaging LLVM and Clang and building the latter based on the
LLVM package.
Note that this only adds back the LLVM tblgen, and it's obviously
not included when LLVM_INSTALL_TOOLCHAIN_ONLY is set.
llvm-svn: 190419
|
|
|
|
|
|
|
|
|
|
|
| |
Xcode always puts executable targets in the directory
bin/<Config>. When building separate LLVM and Clang projects for
Xcode, this prevents the CMake-configured project for Clang from
finding llvm-tblgen. Add a symlink so that tblgen executables are
always available in bin/ (regardless of the configuration LLVM is
built with).
llvm-svn: 189220
|
|
|
|
|
|
|
|
| |
Since it's an llvm-internal tool, we shouldn't install it.
(This depends on Clang r189127 and lld r189128.)
llvm-svn: 189130
|
|
|
|
|
|
|
|
| |
initial cmake invocation.
Patch reviewed by Reid Kleckner.
llvm-svn: 187591
|
|
|
|
| |
llvm-svn: 158650
|
|
|
|
| |
llvm-svn: 149219
|
|
|
|
|
|
|
| |
working today, but it shouldn't corrupt state for some poor soul to
debug later.
llvm-svn: 143545
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 141266
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
tablegenning to all libraries and executables.
llvm-svn: 135908
|
|
|
|
| |
llvm-svn: 124854
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
library.
Installs tblgen (required by Clang).
Translates handling of user settings and platform-dependant options to
its own file, where it can included by another project.
Installs the .cmake files required by projects like Clang.
llvm-svn: 124816
|
|
|
|
|
|
|
|
|
|
|
| |
(clang/include/clang/Basic/StmtNodes.td, for instance, is tablegenned
from clang/include/clang/AST/CMakeLists.txt) so it is not contained on
the list of all .td files on the current source directory which is
used as the DEPENDS of the custom command. We must add the .td file to
the DEPENDS list of the custom command. Otherwise some .inc files are
not regenerated when the corresponding .td file changes.
llvm-svn: 122768
|
|
|
|
|
|
| |
Patch by Frits van Bommel!
llvm-svn: 117113
|
|
|
|
|
|
|
|
| |
actually changed.
Patch by Frits van Bommel!
llvm-svn: 117102
|
|
|
|
| |
llvm-svn: 106219
|
|
|
|
|
|
| |
work with IDE targets
llvm-svn: 79732
|
|
|
|
|
|
| |
hierarchy to the list of dependencies.
llvm-svn: 75510
|
|
|
|
| |
llvm-svn: 74161
|
|
|
|
|
|
| |
cross-compiling.
llvm-svn: 73180
|
|
|
|
| |
llvm-svn: 67052
|
|
|
|
|
|
| |
it produces are not affected by the change.
llvm-svn: 59763
|
|
|
|
|
|
|
|
| |
consistency.
Patch by Kevin Andre!
llvm-svn: 59326
|
|
|
|
|
|
| |
files.
llvm-svn: 59325
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
built native tblgen which is passed to cmake in the variable
LLVM_TABLEGEN.
See
http://www.cmake.org/Wiki/CmakeMingw
for a quick example on how to cross-compile with CMake.
llvm-svn: 58939
|
|
|
|
| |
llvm-svn: 58358
|
|
llvm-svn: 56641
|