| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D71081
|
|
|
|
|
|
|
|
| |
For now, it only builds the x86_64 slice.
Differential Revision: https://reviews.llvm.org/D65513
llvm-svn: 367449
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces support for building libc++. The library
build should be complete, but not all CMake options have been
replicated in GN. We also don't support tests yet.
We only support two stage build at the moment.
Differential Revision: https://reviews.llvm.org/D61143
llvm-svn: 359806
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces support for building libcxxabi. The library
build should be complete, but not all CMake options have been
replicated in GN. We also don't support tests yet.
We only support two stage build at the moment.
Differential Revision: https://reviews.llvm.org/D60372
llvm-svn: 359805
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change introduces support for building libuwind. The library
build should be complete, but not all CMake options have been
replicated in GN. We also don't support tests yet.
We only support two stage build at the moment.
Differential Revision: https://reviews.llvm.org/D60370
llvm-svn: 359804
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r359527 already merged some of that to the GN build,
but it was missing some bits as well.
The check-clangd target works (at least for now) differently than all
the other check-foo targets, see https://reviews.llvm.org/D61187
For that reason, there's no gni file and the generated lit configs are
not (yet?) added to llvm-lit/BUILD.gn.
llvm-svn: 359570
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is support for building compiler-rt builtins, The library build
should be complete for a subset of supported platforms, but not all
CMake options have been replicated in GN.
We always use the just built compiler to build all the runtimes, which
is equivalent to the CMake runtimes build. This simplifies the build
configuration because we don't need to support arbitrary host compiler
and can always assume the latest Clang. With GN's toolchain support,
this is significantly more efficient than the CMake runtimes build.
Differential Revision: https://reviews.llvm.org/D60331
llvm-svn: 357821
|
|
|
|
|
|
|
|
|
|
|
| |
Only runs the clang-tools-extra lit tests; not yet the unit tests.
Add a build file for clangd-indexer too, since it's needed for
the tests.
Differential Revision: https://reviews.llvm.org/D59955
llvm-svn: 357232
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Enough to build the clangd binaries, but this is still missing build
files for:
- fuzzer
- indexer
- index/dex/dexp
- benchmarks
- xpc
Differential Revision: https://reviews.llvm.org/D59899
llvm-svn: 357182
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D59838
llvm-svn: 357042
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D59701
llvm-svn: 356845
|
|
|
|
|
|
|
|
|
| |
Adds clang-change-namespace, clang-move, clang-query,
clang-reorder-fields.
Differential Revision: https://reviews.llvm.org/D59554
llvm-svn: 356567
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D59379
llvm-svn: 356199
|
|
|
|
|
|
|
|
| |
Patch from Mirko Bonadei <mbonadei@webrtc.org>!
Differential Revision: https://reviews.llvm.org/D57329
llvm-svn: 353177
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The check-hwasan build files assert that current_os == "linux" || current_os ==
"android", so pull it in only there.
ar is unused on mac, so don't set it in the stage2 toolchain. (It'd be nicer to
use llvm-libtool on mac instead of host libtool, but llvm-libtool doesn't seem
to understand the -no_warning_for_no_symbols flag.)
Differential Revision: https://reviews.llvm.org/D56898
llvm-svn: 351519
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The Android sanitizer tests are currently some of the most difficult
to run correctly, requiring at least 3 build directories which have
to be configured in just the right way and built in the correct order
(see e.g. [1] and the functions that it calls).
This patch adds a check-hwasan target which greatly simplifies running
the hwasan tests for gn users, taking advantage of its support for
multiple toolchains. With this the tests can be run simply by setting
an NDK path and running "ninja check-hwasan" with a compatible Android
device connected. The Linux/x86_64 and Android/aarch64 targets are
tested in parallel.
[1] https://github.com/llvm/llvm-zorg/blob/master/zorg/buildbot/builders/sanitizers/buildbot_android.sh
Differential Revision: https://reviews.llvm.org/D56713
llvm-svn: 351277
|
|
|
|
|
|
|
|
| |
on x86_64 Linux.
Differential Revision: https://reviews.llvm.org/D56711
llvm-svn: 351258
|
|
|
|
|
|
|
|
|
|
| |
compiler-rt/lib/{hwasan,interception,sanitizer_common,ubsan}.
This allows the hwasan runtime to be built for Android aarch64.
Differential Revision: https://reviews.llvm.org/D56628
llvm-svn: 351246
|
|
|
|
|
|
|
|
|
| |
This makes it possible to build llvm-symbolizer for Android, which
is one of the prerequisites for running the sanitizer tests on Android.
Differential Revision: https://reviews.llvm.org/D56577
llvm-svn: 350979
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this, check-llvm runs and passes all of clang's lit tests. It doesn't run
any of its unit tests yet.
This is the only change in the GN build patch series that needs a change to a
file outside of llvm/utils/gn: llvm/test/tools/llvm-config/booleans.test checks
the result of llvm-config --build-system for some reason, so I'm updating the
test to accept "gn" as valid output in addition to "cmake". (The alternative
would be to let the gn build self-identify as cmake, which seems worse.)
Like with check-clang and check-lld, running just ninja -C out/gn will build
all prerequisites needed to run tests, but it won't run the tests (so that the
build becomes clean after one build). Running ninja -C out/gn check-llvm will
build prerequisites if needed and run the tests. The check-llvm target never
becomes clean and runs tests every time.
Differential Revision: https://reviews.llvm.org/D56195
llvm-svn: 350410
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also add a fuzzer() template for defining fuzzers that's similar to
add_llvm_fuzzer in the CMake build, and a build file for dependency
llvm/lib/FuzzMutate.
Also make `assert(defined(...` error strings a bit more self-consistent.
Differential Revision: https://reviews.llvm.org/D56194
llvm-svn: 350238
|
|
|
|
|
|
|
|
|
|
|
|
| |
These two plugins are loaded into a host process that contains all LLVM
symbols, so they don't link against anything. This required minor readjustments
to the tablegen() setup of IR.
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56204
llvm-svn: 350234
|
|
|
|
|
|
|
|
|
|
| |
Also add build files for dependencies llvm/lib/ExecutionEngine/{Interpreter,Orc}
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56193
llvm-svn: 350226
|
|
|
|
|
|
|
|
|
|
| |
Also add build file for dependency llvm/lib/OptRemarks.
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56192
llvm-svn: 350217
|
|
|
|
|
|
|
|
|
|
| |
llvm-cvtres
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56191
llvm-svn: 350216
|
|
|
|
|
|
|
|
|
|
| |
Needed for check-llvm.
This is the last target reading llvm_install_binutils_symlinks.
Differential Revision: https://reviews.llvm.org/D56190
llvm-svn: 350215
|
|
|
|
|
|
|
|
| |
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56189
llvm-svn: 350214
|
|
|
|
|
|
|
|
|
|
| |
Also add build file for dependency llvm/lib/MCA.
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56166
llvm-svn: 350213
|
|
|
|
|
|
|
|
| |
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56164
llvm-svn: 350212
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
verify-uselistorder, yaml-bench
Also add build file for dependency llvm/lib/XRay.
Needed for check-llvm.
(yaml-bench is an llvm/util, not an llvm/tool.)
Differential Revision: https://reviews.llvm.org/D56163
llvm-svn: 350211
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also add build file for dependency llvm/lib/ExecutionEngine/MCJIT.
The exegesis stuff is pretty hairy and knows a lot about Target internals (in
general, not specifically in the GN build). I put the llvm-tblgen -gen-exegesis
call in llvm/tools/llvm-exegesis/lib/X86, instead of in llvm/lib/Target/X86
where it is in CMake land, and asked on D52932 why it's in that place in the
CMake build.
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56167
llvm-svn: 350184
|
|
|
|
|
|
|
|
|
|
|
| |
Also add build file for dependencies llvm/lib/ExecutionEngine,
llvm/lib/ExecutionEngine/RuntimeDyld.
Needed for check-llvm.
Differential Revision: https://reviews.llvm.org/D56165
llvm-svn: 350183
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this, check-clang runs and passes all of clang's lit tests. It doesn't run
any of its unit tests yet.
Like with check-lld, running just ninja -C out/gn will build all prerequisites
needed to run tests, but it won't run the tests (so that the build becomes
clean after one build). Running ninja -C out/gn check-clang will build
prerequisites if needed and run the tests. The check-clang target never becomes
clean and runs tests every time.
Differential Revision: https://reviews.llvm.org/D56095
llvm-svn: 350108
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
their dependency clang/tools/libclang
libclang is somewhat incomplete. It's just enough to get check-clang to pass,
but that requires it to be pretty complete. The biggest thing is that it's not
built as a shared library on Linux. The libclang/BUILD.gn file has a comment
with details on what else is missing.
Differential Revision: https://reviews.llvm.org/D56059
llvm-svn: 350054
|
|
|
|
|
|
|
|
|
|
| |
clang/tools/{arcmt-test,clang-check,clang-func-mapping}
Needed for check-clang.
Differential Revision: https://reviews.llvm.org/D56056
llvm-svn: 350026
|
|
|
|
|
|
|
|
|
|
| |
clang/utils/hmaptool, clang/lib/Tooling/Refactoring
Needed for check-clang.
Differential Revision: https://reviews.llvm.org/D56055
llvm-svn: 350025
|
|
|
|
|
|
|
|
|
|
| |
clang/tools/{clang-diff,clang-import-test,diagtool and clang/lib/Tooling, clang/lib/Tooling/ASTDiff
Needed for check-clang.
Differential Revision: https://reviews.llvm.org/D56054
llvm-svn: 350024
|
|
|
|
|
|
|
|
|
|
| |
clang/lib/Headers
With this, the GN build can build clang!
Differential Revision: https://reviews.llvm.org/D55981
llvm-svn: 349991
|
|
|
|
|
|
|
|
|
|
| |
llvm-modextract, llvm-profdata, llvm-symbolizer
These are the llvm/tools needed by check-clang.
Differential Revision: https://reviews.llvm.org/D56018
llvm-svn: 349989
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D55980
llvm-svn: 349988
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D55979
llvm-svn: 349987
|
|
|
|
|
|
|
|
|
|
| |
clang/lib/StaticAnalyzer/{Checkers,Core,Frontend}
The intent is to add the build file for clang/lib/StaticAnalyzer/Frontend; everything else is pulled in by that.
Differential Revision: https://reviews.llvm.org/D55978
llvm-svn: 349986
|
|
|
|
|
|
|
|
| |
llvm/lib/ProfileData/Coverage
Differential Revision: https://reviews.llvm.org/D55931
llvm-svn: 349834
|
|
|
|
|
|
|
|
| |
clang/lib/{Frontend,Frontend/Rewrite,Serialization}
Differential Revision: https://reviews.llvm.org/D55930
llvm-svn: 349833
|
|
|
|
|
|
|
|
|
| |
Mostly boring, except for the spurious dependency on StaticAnalyzer/Checkers --
see comments in the code.
Differential Revision: https://reviews.llvm.org/D55927
llvm-svn: 349832
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Nothing really interesting. One thing to consider is where the clang_tablegen()
invocations that generate files that are private to a library should be. The
CMake build puts them in clang/include/clang/Parse (in this case), but maybe
putting them right in clang/lib/Parse/BUILD.gn makes mor sense. (For
clang_tablegen() calls that generate .inc files used by the public headers,
putting the call in the public BUILD file makes sense.)
For now, I've put the build file in the public header folder, since that
matches CMake and what I did in the last 2 clang patches, but I'm not sure I
like this.
Differential Revision: https://reviews.llvm.org/D55925
llvm-svn: 349831
|
|
|
|
|
|
|
|
| |
lib/{Format,Rewrite,Tooling/Core,Tooling/Inclusions}
Differential Revision: https://reviews.llvm.org/D55924
llvm-svn: 349830
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D55913
llvm-svn: 349757
|
|
|
|
|
|
| |
Differential Revision: https://reviews.llvm.org/D55912
llvm-svn: 349756
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Also add a build file for llvm-lit, which in turn needs llvm/tools/llvm-config.
With this, check-lld runs and passes all of lld's lit tests. It doesn't run any
of its unit tests yet.
Running just ninja -C out/gn will build all prerequisites needed to run tests,
but it won't run the tests (so that the build becomes clean after one build).
Running ninja -C out/gn check-lld will build prerequisites if needed and run
the tests. The check-lld target never becomes clean and runs tests every time.
llvm-config's build file is a bit gnarly: Everything not needed to run tests is
basically stubbed out. Also, to generate LibraryDependencies.inc we shell out
to llvm-build at build-time. It would be much nicer to get the library
dependencies by using the dependency data the GN build contains
(http://llvm-cs.pcc.me.uk/gen/tools/llvm-config/LibraryDependencies.inc#1).
Differential Revision: https://reviews.llvm.org/D55836
llvm-svn: 349702
|