|
1 | 1 | import("//llvm/include/llvm/Config/config.gni")
|
2 | 2 | import("//llvm/lib/DebugInfo/PDB/enable_dia.gni")
|
3 |
| -import("//llvm/lib/Target/targets.gni") |
4 | 3 | import("//llvm/lib/Target/targets_with_asm_parsers.gni")
|
5 | 4 | import("//llvm/lib/Target/targets_with_disassemblers.gni")
|
6 | 5 | import("//llvm/lib/Target/targets_with_exegesis.gni")
|
7 | 6 | import("//llvm/lib/Target/targets_with_mcas.gni")
|
| 7 | +import("//llvm/lib/Target/write_target_def_file.gni") |
8 | 8 | import("//llvm/triples.gni")
|
9 | 9 | import("//llvm/utils/gn/build/buildflags.gni")
|
10 | 10 | import("//llvm/utils/gn/build/libs/curl/enable.gni")
|
@@ -477,65 +477,41 @@ write_cmake_config("llvm-config") {
|
477 | 477 | ##############################################################################
|
478 | 478 | # .def files used by llvm/lib/Target
|
479 | 479 |
|
480 |
| -template("write_target_def_file") { |
481 |
| - assert(defined(invoker.key), "must set 'key' in $target_name") |
482 |
| - assert(defined(invoker.value), "must set 'value' in $target_name") |
483 |
| - |
484 |
| - write_cmake_config(target_name) { |
485 |
| - visibility = [ ":write_target_def_files" ] |
486 |
| - input = "$target_name.in" |
487 |
| - output = "$target_gen_dir/$target_name" |
488 |
| - |
489 |
| - if (defined(invoker.all_targets)) { |
490 |
| - all_targets = invoker.all_targets |
491 |
| - } else { |
492 |
| - all_targets = llvm_targets_to_build |
493 |
| - } |
494 |
| - |
495 |
| - # Build something like |
496 |
| - # `LLVM_ENUM_ASM_PARSERS=LLVM_ASM_PARSER(ARM)\nLLVM_ASM_PARSER(X86)\n`. Note |
497 |
| - # that \n is a literal '\' followed by a literal 'n', not a newline |
498 |
| - # character. (write_cmake_config.py replaces that with a real newline). |
499 |
| - value = "" |
500 |
| - foreach(target, all_targets) { |
501 |
| - value = "$value${invoker.value}($target)\n" |
502 |
| - } |
503 |
| - if (all_targets == []) { |
504 |
| - not_needed(invoker, [ "value" ]) |
505 |
| - } |
506 |
| - values = [ "${invoker.key}=$value" ] |
507 |
| - } |
508 |
| -} |
509 |
| - |
510 | 480 | write_target_def_file("AsmParsers.def") {
|
| 481 | + visibility = [ ":write_target_def_files" ] |
511 | 482 | key = "LLVM_ENUM_ASM_PARSERS"
|
512 | 483 | value = "LLVM_ASM_PARSER"
|
513 | 484 | all_targets = targets_with_asm_parsers
|
514 | 485 | }
|
515 | 486 |
|
516 | 487 | write_target_def_file("AsmPrinters.def") {
|
| 488 | + visibility = [ ":write_target_def_files" ] |
517 | 489 | key = "LLVM_ENUM_ASM_PRINTERS"
|
518 | 490 | value = "LLVM_ASM_PRINTER"
|
519 | 491 | }
|
520 | 492 |
|
521 | 493 | write_target_def_file("Disassemblers.def") {
|
| 494 | + visibility = [ ":write_target_def_files" ] |
522 | 495 | key = "LLVM_ENUM_DISASSEMBLERS"
|
523 | 496 | value = "LLVM_DISASSEMBLER"
|
524 | 497 | all_targets = targets_with_disassemblers
|
525 | 498 | }
|
526 | 499 |
|
527 | 500 | write_target_def_file("Targets.def") {
|
| 501 | + visibility = [ ":write_target_def_files" ] |
528 | 502 | key = "LLVM_ENUM_TARGETS"
|
529 | 503 | value = "LLVM_TARGET"
|
530 | 504 | }
|
531 | 505 |
|
532 | 506 | write_target_def_file("TargetMCAs.def") {
|
| 507 | + visibility = [ ":write_target_def_files" ] |
533 | 508 | key = "LLVM_ENUM_TARGETMCAS"
|
534 | 509 | value = "LLVM_TARGETMCA"
|
535 | 510 | all_targets = targets_with_mcas
|
536 | 511 | }
|
537 | 512 |
|
538 | 513 | write_target_def_file("TargetExegesis.def") {
|
| 514 | + visibility = [ ":write_target_def_files" ] |
539 | 515 | key = "LLVM_ENUM_EXEGESIS"
|
540 | 516 | value = "LLVM_EXEGESIS"
|
541 | 517 | all_targets = targets_with_exegesis
|
|
0 commit comments