summaryrefslogtreecommitdiffstats
path: root/llvm/utils/gn/secondary/BUILD.gn
Commit message (Collapse)AuthorAgeFilesLines
* gn build: Add support for building scudo and its unit tests.Peter Collingbourne2019-12-051-0/+1
| | | | Differential Revision: https://reviews.llvm.org/D71081
* gn build: Make builtin library build on macOSNico Weber2019-07-311-1/+3
| | | | | | | | For now, it only builds the x86_64 slice. Differential Revision: https://reviews.llvm.org/D65513 llvm-svn: 367449
* [gn] Support for building libc++Petr Hosek2019-05-021-0/+1
| | | | | | | | | | | | 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
* [gn] Support for building libcxxabiPetr Hosek2019-05-021-0/+1
| | | | | | | | | | | | 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
* [gn] Support for building libunwindPetr Hosek2019-05-021-1/+4
| | | | | | | | | | | | 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
* gn build: Add check-clangd target after r3359424Nico Weber2019-04-301-0/+1
| | | | | | | | | | | | | 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
* [gn] Support for building compiler-rt builtinsPetr Hosek2019-04-051-0/+3
| | | | | | | | | | | | | | | | 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
* gn build: Add check-clang-tools to run clang-tools-extra lit testsNico Weber2019-03-291-12/+1
| | | | | | | | | | | 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
* gn build: Add some build files for clangdNico Weber2019-03-281-0/+1
| | | | | | | | | | | | | | 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
* gn build: Add build files for clang-include-fixer and find-all-symbolsNico Weber2019-03-271-0/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D59838 llvm-svn: 357042
* gn build: Add build files for modularize and pp-traceNico Weber2019-03-231-0/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D59701 llvm-svn: 356845
* gn build: Add build files for some clang-tools-extraNico Weber2019-03-201-0/+4
| | | | | | | | | Adds clang-change-namespace, clang-move, clang-query, clang-reorder-fields. Differential Revision: https://reviews.llvm.org/D59554 llvm-svn: 356567
* gn build: Add build files for clang-docNico Weber2019-03-141-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D59379 llvm-svn: 356199
* gn build: BUILD.gn files for clang-tidy and clang-apply-replacementsNico Weber2019-02-051-0/+2
| | | | | | | | Patch from Mirko Bonadei <mbonadei@webrtc.org>! Differential Revision: https://reviews.llvm.org/D57329 llvm-svn: 353177
* gn build: unbreak mac (and maybe win) after r351258, r351277Nico Weber2019-01-181-1/+3
| | | | | | | | | | | | | 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
* gn build: Add check-hwasan target.Peter Collingbourne2019-01-161-14/+1
| | | | | | | | | | | | | | | | | | | | 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
* gn build: Add a stage2 host toolchain and make the hwasan runtime buildable ↵Peter Collingbourne2019-01-151-2/+5
| | | | | | | | on x86_64 Linux. Differential Revision: https://reviews.llvm.org/D56711 llvm-svn: 351258
* gn build: Add build files for ↵Peter Collingbourne2019-01-151-1/+6
| | | | | | | | | | 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
* gn build: Add a stage2 toolchain for Android.Peter Collingbourne2019-01-111-0/+8
| | | | | | | | | 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
* [gn build] Add check-llvm target and make it workNico Weber2019-01-041-53/+1
| | | | | | | | | | | | | | | | | | | | | 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
* [gn build] Add fuzzers in llvm/tools that are needed for check-llvmNico Weber2019-01-021-0/+2
| | | | | | | | | | | | 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
* [gn build] Add build files for bugpoint-passes and LLVMHello pluginsNico Weber2019-01-021-0/+9
| | | | | | | | | | | | 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
* [gn build] Add some llvm/tools: lli, lli-child-targetNico Weber2019-01-021-0/+2
| | | | | | | | | | 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
* [gn build] Add some llvm/tools: bugpoint, dsymutil, llvm-opt-reportNico Weber2019-01-021-0/+3
| | | | | | | | | | Also add build file for dependency llvm/lib/OptRemarks. Needed for check-llvm. Differential Revision: https://reviews.llvm.org/D56192 llvm-svn: 350217
* [gn build] Add some llvm/tools: llvm-c-test, llvm-cfi-verify, llvm-cov, ↵Nico Weber2019-01-021-0/+4
| | | | | | | | | | llvm-cvtres Needed for check-llvm. Differential Revision: https://reviews.llvm.org/D56191 llvm-svn: 350216
* [gn build] Add some llvm/tools: llvm-cxxdump, llvm-cxxfilt, llvm-cxxmapNico Weber2019-01-021-0/+8
| | | | | | | | | | Needed for check-llvm. This is the last target reading llvm_install_binutils_symlinks. Differential Revision: https://reviews.llvm.org/D56190 llvm-svn: 350215
* [gn build] Add some llvm/tools: llvm-diff, llvm-dwpNico Weber2019-01-021-0/+7
| | | | | | | | Needed for check-llvm. Differential Revision: https://reviews.llvm.org/D56189 llvm-svn: 350214
* [gn build] Add some llvm/tools: llvm-mca, llvm-mtNico Weber2019-01-021-0/+2
| | | | | | | | | | Also add build file for dependency llvm/lib/MCA. Needed for check-llvm. Differential Revision: https://reviews.llvm.org/D56166 llvm-svn: 350213
* [gn build] Add some llvm/tools: llvm-size, llvm-split, llvm-stringsNico Weber2019-01-021-0/+13
| | | | | | | | Needed for check-llvm. Differential Revision: https://reviews.llvm.org/D56164 llvm-svn: 350212
* [gn build] Add some llvm/tools: llvm-xray, sancov, sanstats, ↵Nico Weber2019-01-021-0/+5
| | | | | | | | | | | | | | 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
* [gn build] Add some llvm/tools: llvm-exegesis, llvm-extract, llvm-linkNico Weber2018-12-311-0/+3
| | | | | | | | | | | | | | | | 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
* [gn build] Add some llvm/tools: llvm-rc, llvm-rtdyldNico Weber2018-12-311-0/+2
| | | | | | | | | | | 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
* [gn build] Add check-clang target and make it workNico Weber2018-12-271-15/+1
| | | | | | | | | | | | | | | 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
* [gn build] Add build files for clang/tools/{c-arcmt-test,c-index-test} and ↵Nico Weber2018-12-241-1/+5
| | | | | | | | | | | | | 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
* [gn build] Add build files for ↵Nico Weber2018-12-231-0/+12
| | | | | | | | | | clang/tools/{arcmt-test,clang-check,clang-func-mapping} Needed for check-clang. Differential Revision: https://reviews.llvm.org/D56056 llvm-svn: 350026
* [gn build] Add build files for clang/tools/{clang-refactor,clang-rename}, ↵Nico Weber2018-12-231-0/+3
| | | | | | | | | | clang/utils/hmaptool, clang/lib/Tooling/Refactoring Needed for check-clang. Differential Revision: https://reviews.llvm.org/D56055 llvm-svn: 350025
* [gn build] Add build files for ↵Nico Weber2018-12-231-0/+3
| | | | | | | | | | 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
* [gn build] Add build files for clang, clang-offload-bundler, and ↵Nico Weber2018-12-221-15/+6
| | | | | | | | | | clang/lib/Headers With this, the GN build can build clang! Differential Revision: https://reviews.llvm.org/D55981 llvm-svn: 349991
* [gn build] Add build files for llvm-cat, llvm-lto, llvm-lto2, ↵Nico Weber2018-12-221-0/+11
| | | | | | | | | | 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
* [gn build] Add build file for clang/lib/FrontendToolNico Weber2018-12-221-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D55980 llvm-svn: 349988
* [gn build] Add build file for clang/lib/ARCMigrateNico Weber2018-12-221-0/+1
| | | | | | Differential Revision: https://reviews.llvm.org/D55979 llvm-svn: 349987
* [gn build] Add build files for clang/lib/{ASTMatchers,CrossTU}, ↵Nico Weber2018-12-221-0/+7
| | | | | | | | | | 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
* [gn build] Add build file for clang/lib/CodeGen and ↵Nico Weber2018-12-201-0/+1
| | | | | | | | llvm/lib/ProfileData/Coverage Differential Revision: https://reviews.llvm.org/D55931 llvm-svn: 349834
* [gn build] Add build files for ↵Nico Weber2018-12-201-0/+3
| | | | | | | | clang/lib/{Frontend,Frontend/Rewrite,Serialization} Differential Revision: https://reviews.llvm.org/D55930 llvm-svn: 349833
* [gn build] Add build file for clang/lib/DriverNico Weber2018-12-201-0/+1
| | | | | | | | | 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
* [gn build] Add build file for clang/lib/ParseNico Weber2018-12-201-0/+1
| | | | | | | | | | | | | | | | | 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
* [gn build] Add build files for clang-format and ↵Nico Weber2018-12-201-6/+1
| | | | | | | | lib/{Format,Rewrite,Tooling/Core,Tooling/Inclusions} Differential Revision: https://reviews.llvm.org/D55924 llvm-svn: 349830
* [gn build] Add build files for clang/lib/{Analysis,Edit,Sema}Nico Weber2018-12-201-0/+3
| | | | | | Differential Revision: https://reviews.llvm.org/D55913 llvm-svn: 349757
* [gn build] Add build files for clang/lib/Lex and clang/lib/ASTNico Weber2018-12-201-0/+2
| | | | | | Differential Revision: https://reviews.llvm.org/D55912 llvm-svn: 349756
* [gn build] Add check-lld target and make it workNico Weber2018-12-191-19/+2
| | | | | | | | | | | | | | | | | | | | | | 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
OpenPOWER on IntegriCloud