@@ -185,18 +185,20 @@ toolchain {
185
185
flag_group {
186
186
flag: '-fprofile-arcs'
187
187
flag: '-ftest-coverage'
188
- }
188
+ }
189
+
190
+
191
+
189
192
}
190
193
flag_set {
191
194
action: 'c++-link-interface-dynamic-library'
192
195
action: 'c++-link-dynamic-library'
193
196
action: 'c++-link-executable'
194
197
flag_group {
195
198
flag: '-lgcov'
196
- }
199
+ }
197
200
}
198
201
}
199
-
200
202
}
201
203
202
204
toolchain {
@@ -215,23 +217,23 @@ toolchain {
215
217
216
218
tool_path {
217
219
name: "ar"
218
- path: "wrapper/bin/msvc_link.bat "
220
+ path: ""
219
221
}
220
222
tool_path {
221
223
name: "cpp"
222
- path: "wrapper/bin/msvc_cl.bat "
224
+ path: ""
223
225
}
224
226
tool_path {
225
227
name: "gcc"
226
- path: "wrapper/bin/msvc_cl.bat "
228
+ path: ""
227
229
}
228
230
tool_path {
229
231
name: "gcov"
230
232
path: "wrapper/bin/msvc_nop.bat"
231
233
}
232
234
tool_path {
233
235
name: "ld"
234
- path: "wrapper/bin/msvc_link.bat "
236
+ path: ""
235
237
}
236
238
tool_path {
237
239
name: "nm"
@@ -285,8 +287,6 @@ toolchain {
285
287
compiler_flag: "/Gy"
286
288
# Use string pooling.
287
289
compiler_flag: "/GF"
288
- # Warning level 3 (could possibly go to 4 in the future).
289
- compiler_flag: "/W3"
290
290
# Catch both asynchronous (structured) and synchronous (C++) exceptions.
291
291
compiler_flag: "/EHsc"
292
292
@@ -304,6 +304,10 @@ toolchain {
304
304
305
305
linker_flag: "/SUBSYSTEM:CONSOLE"
306
306
307
+ feature {
308
+ name: "no_legacy_features"
309
+ }
310
+
307
311
# Suppress startup banner.
308
312
feature {
309
313
name: "nologo"
@@ -364,6 +368,18 @@ toolchain {
364
368
}
365
369
}
366
370
371
+ feature {
372
+ name: "use_linker"
373
+ env_set {
374
+ action: "c++-link-executable"
375
+ action: "c++-link-dynamic-library"
376
+ env_entry {
377
+ key: "USE_LINKER"
378
+ value: "1"
379
+ }
380
+ }
381
+ }
382
+
367
383
feature {
368
384
name: 'include_paths'
369
385
flag_set {
@@ -425,7 +441,7 @@ toolchain {
425
441
config_name: 'c-compile'
426
442
action_name: 'c-compile'
427
443
tool {
428
- tool_path: 'wrapper/bin/msvc_cl.bat '
444
+ tool_path: ''
429
445
}
430
446
flag_set {
431
447
flag_group {
@@ -461,7 +477,7 @@ toolchain {
461
477
config_name: 'c++-compile'
462
478
action_name: 'c++-compile'
463
479
tool {
464
- tool_path: 'wrapper/bin/msvc_cl.bat '
480
+ tool_path: ''
465
481
}
466
482
flag_set {
467
483
flag_group {
@@ -497,26 +513,25 @@ toolchain {
497
513
config_name: 'c++-link-executable'
498
514
action_name: 'c++-link-executable'
499
515
tool {
500
- tool_path: 'wrapper/bin/msvc_link.bat '
516
+ tool_path: ''
501
517
}
502
518
implies: 'nologo'
503
- implies: 'strip_debug_symbols'
504
519
implies: 'linkstamps'
505
520
implies: 'output_execpath_flags'
506
521
implies: 'input_param_flags'
507
522
implies: 'legacy_link_flags'
508
523
implies: 'linker_param_file'
509
524
implies: 'msvc_env'
525
+ implies: 'use_linker'
510
526
}
511
527
512
528
action_config {
513
529
config_name: 'c++-link-dynamic-library'
514
530
action_name: 'c++-link-dynamic-library'
515
531
tool {
516
- tool_path: 'wrapper/bin/msvc_link.bat '
532
+ tool_path: ''
517
533
}
518
534
implies: 'nologo'
519
- implies: 'strip_debug_symbols'
520
535
implies: 'shared_flag'
521
536
implies: 'linkstamps'
522
537
implies: 'output_execpath_flags'
@@ -525,15 +540,17 @@ toolchain {
525
540
implies: 'legacy_link_flags'
526
541
implies: 'linker_param_file'
527
542
implies: 'msvc_env'
543
+ implies: 'use_linker'
528
544
}
529
545
530
546
action_config {
531
547
config_name: 'c++-link-static-library'
532
548
action_name: 'c++-link-static-library'
533
549
tool {
534
- tool_path: 'wrapper/bin/msvc_link.bat '
550
+ tool_path: ''
535
551
}
536
552
implies: 'nologo'
553
+ implies: 'archiver_flags'
537
554
implies: 'input_param_flags'
538
555
implies: 'linker_param_file'
539
556
implies: 'msvc_env'
@@ -543,9 +560,10 @@ toolchain {
543
560
config_name: 'c++-link-alwayslink-static-library'
544
561
action_name: 'c++-link-alwayslink-static-library'
545
562
tool {
546
- tool_path: 'wrapper/bin/msvc_link.bat '
563
+ tool_path: ''
547
564
}
548
565
implies: 'nologo'
566
+ implies: 'archiver_flags'
549
567
implies: 'input_param_flags'
550
568
implies: 'linker_param_file'
551
569
implies: 'msvc_env'
@@ -557,9 +575,10 @@ toolchain {
557
575
config_name: 'c++-link-pic-static-library'
558
576
action_name: 'c++-link-pic-static-library'
559
577
tool {
560
- tool_path: 'wrapper/bin/msvc_link.bat '
578
+ tool_path: ''
561
579
}
562
580
implies: 'nologo'
581
+ implies: 'archiver_flags'
563
582
implies: 'input_param_flags'
564
583
implies: 'linker_param_file'
565
584
implies: 'msvc_env'
@@ -569,9 +588,10 @@ toolchain {
569
588
config_name: 'c++-link-alwayslink-pic-static-library'
570
589
action_name: 'c++-link-alwayslink-pic-static-library'
571
590
tool {
572
- tool_path: 'wrapper/bin/msvc_link.bat '
591
+ tool_path: ''
573
592
}
574
593
implies: 'nologo'
594
+ implies: 'archiver_flags'
575
595
implies: 'input_param_flags'
576
596
implies: 'linker_param_file'
577
597
implies: 'msvc_env'
@@ -581,10 +601,9 @@ toolchain {
581
601
config_name: 'c++-link-interface-dynamic-library'
582
602
action_name: 'c++-link-interface-dynamic-library'
583
603
tool {
584
- tool_path: 'wrapper/bin/msvc_link.bat '
604
+ tool_path: ''
585
605
}
586
606
implies: 'nologo'
587
- implies: 'strip_debug_symbols'
588
607
implies: 'linker_param_file'
589
608
implies: 'msvc_env'
590
609
}
@@ -603,19 +622,6 @@ toolchain {
603
622
name: 'has_configured_linker_path'
604
623
}
605
624
606
- feature {
607
- name: 'strip_debug_symbols'
608
- flag_set {
609
- action: 'c++-link-executable'
610
- action: 'c++-link-dynamic-library'
611
- action: 'c++-link-interface-dynamic-library'
612
- flag_group {
613
- expand_if_all_available: 'strip_debug_symbols'
614
- flag: '-Wl,-S'
615
- }
616
- }
617
- }
618
-
619
625
feature {
620
626
name: 'shared_flag'
621
627
flag_set {
@@ -652,15 +658,25 @@ toolchain {
652
658
}
653
659
654
660
feature {
655
- name: 'input_param_flags '
661
+ name: 'archiver_flags '
656
662
flag_set {
657
- expand_if_all_available: 'library_search_directories'
658
- action: 'c++-link-executable'
659
- action: 'c++-link-dynamic-library'
663
+ expand_if_all_available: 'output_execpath'
660
664
action: 'c++-link-static-library'
661
665
action: 'c++-link-alwayslink-static-library'
662
666
action: 'c++-link-pic-static-library'
663
667
action: 'c++-link-alwayslink-pic-static-library'
668
+ flag_group {
669
+ flag: '/OUT:%{output_execpath}'
670
+ }
671
+ }
672
+ }
673
+
674
+ feature {
675
+ name: 'input_param_flags'
676
+ flag_set {
677
+ expand_if_all_available: 'library_search_directories'
678
+ action: 'c++-link-executable'
679
+ action: 'c++-link-dynamic-library'
664
680
flag_group {
665
681
iterate_over: 'library_search_directories'
666
682
flag: "-L%{library_search_directories}"
@@ -670,10 +686,6 @@ toolchain {
670
686
expand_if_all_available: 'libopts'
671
687
action: 'c++-link-executable'
672
688
action: 'c++-link-dynamic-library'
673
- action: 'c++-link-static-library'
674
- action: 'c++-link-alwayslink-static-library'
675
- action: 'c++-link-pic-static-library'
676
- action: 'c++-link-alwayslink-pic-static-library'
677
689
flag_group {
678
690
iterate_over: 'libopts'
679
691
flag: '%{libopts}'
@@ -787,12 +799,6 @@ toolchain {
787
799
expand_if_all_available: 'linker_param_file'
788
800
action: 'c++-link-executable'
789
801
action: 'c++-link-dynamic-library'
790
- flag_group {
791
- flag: '-Wl,@%{linker_param_file}'
792
- }
793
- }
794
- flag_set {
795
- expand_if_all_available: 'linker_param_file'
796
802
action: 'c++-link-static-library'
797
803
action: 'c++-link-alwayslink-static-library'
798
804
action: 'c++-link-pic-static-library'
@@ -907,22 +913,6 @@ toolchain {
907
913
implies: 'link_crt_library'
908
914
}
909
915
910
- compilation_mode_flags {
911
- mode: DBG
912
- compiler_flag: "-Xcompilation-mode=dbg"
913
- linker_flag: "-Xcompilation-mode=dbg"
914
- }
915
-
916
- compilation_mode_flags {
917
- mode: FASTBUILD
918
- compiler_flag: "-Xcompilation-mode=fastbuild"
919
- linker_flag: "-Xcompilation-mode=fastbuild"
920
- }
921
916
922
- compilation_mode_flags {
923
- mode: OPT
924
- compiler_flag: "-Xcompilation-mode=opt"
925
- linker_flag: "-Xcompilation-mode=opt"
926
- }
927
917
928
918
}
0 commit comments