OLD | NEW |
1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # ============================================================================= | 5 # ============================================================================= |
6 # BUILD FLAGS | 6 # BUILD FLAGS |
7 # ============================================================================= | 7 # ============================================================================= |
8 # | 8 # |
9 # This block lists input arguments to the build, along with their default | 9 # This block lists input arguments to the build, along with their default |
10 # values. GN requires listing them explicitly so it can validate input and have | 10 # values. GN requires listing them explicitly so it can validate input and have |
(...skipping 698 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
709 } | 709 } |
710 if (defined(invoker.testonly)) { | 710 if (defined(invoker.testonly)) { |
711 testonly = invoker.testonly | 711 testonly = invoker.testonly |
712 } | 712 } |
713 if (defined(invoker.visibility)) { | 713 if (defined(invoker.visibility)) { |
714 visibility = invoker.visibility | 714 visibility = invoker.visibility |
715 } | 715 } |
716 } | 716 } |
717 } | 717 } |
718 } | 718 } |
719 | |
720 # ============================================================================== | |
721 # TEST SETUP | |
722 # ============================================================================== | |
723 | |
724 # Define a test as an executable (or shared_library on Android) with the | |
725 # "testonly" flag set. | |
726 template("test") { | |
727 if (is_android) { | |
728 shared_library(target_name) { | |
729 # Configs will always be defined since we set_defaults for a component | |
730 # above. We want to use those rather than whatever came with the nested | |
731 # shared/static library inside the component. | |
732 configs = [] # Prevent list overwriting warning. | |
733 configs = invoker.configs | |
734 | |
735 # See above call. | |
736 set_sources_assignment_filter([]) | |
737 | |
738 testonly = true | |
739 | |
740 if (defined(invoker.all_dependent_configs)) { | |
741 all_dependent_configs = invoker.all_dependent_configs | |
742 } | |
743 if (defined(invoker.allow_circular_includes_from)) { | |
744 allow_circular_includes_from = invoker.allow_circular_includes_from | |
745 } | |
746 if (defined(invoker.cflags)) { | |
747 cflags = invoker.cflags | |
748 } | |
749 if (defined(invoker.cflags_c)) { | |
750 cflags_c = invoker.cflags_c | |
751 } | |
752 if (defined(invoker.cflags_cc)) { | |
753 cflags_cc = invoker.cflags_cc | |
754 } | |
755 if (defined(invoker.cflags_objc)) { | |
756 cflags_objc = invoker.cflags_objc | |
757 } | |
758 if (defined(invoker.cflags_objcc)) { | |
759 cflags_objcc = invoker.cflags_objcc | |
760 } | |
761 if (defined(invoker.check_includes)) { | |
762 check_includes = invoker.check_includes | |
763 } | |
764 if (defined(invoker.data)) { | |
765 data = invoker.data | |
766 } | |
767 if (defined(invoker.data_deps)) { | |
768 data_deps = invoker.data_deps | |
769 } | |
770 if (defined(invoker.datadeps)) { | |
771 datadeps = invoker.datadeps | |
772 } | |
773 if (defined(invoker.defines)) { | |
774 defines = invoker.defines | |
775 } | |
776 if (defined(invoker.deps)) { | |
777 deps = invoker.deps | |
778 } | |
779 if (defined(invoker.direct_dependent_configs)) { | |
780 direct_dependent_configs = invoker.direct_dependent_configs | |
781 } | |
782 if (defined(invoker.forward_dependent_configs_from)) { | |
783 forward_dependent_configs_from = invoker.forward_dependent_configs_from | |
784 } | |
785 if (defined(invoker.include_dirs)) { | |
786 include_dirs = invoker.include_dirs | |
787 } | |
788 if (defined(invoker.ldflags)) { | |
789 ldflags = invoker.ldflags | |
790 } | |
791 if (defined(invoker.lib_dirs)) { | |
792 lib_dirs = invoker.lib_dirs | |
793 } | |
794 if (defined(invoker.libs)) { | |
795 libs = invoker.libs | |
796 } | |
797 if (defined(invoker.output_extension)) { | |
798 output_extension = invoker.output_extension | |
799 } | |
800 if (defined(invoker.output_name)) { | |
801 output_name = invoker.output_name | |
802 } | |
803 if (defined(invoker.public)) { | |
804 public = invoker.public | |
805 } | |
806 if (defined(invoker.public_configs)) { | |
807 public_configs = invoker.public_configs | |
808 } | |
809 if (defined(invoker.public_deps)) { | |
810 public_deps = invoker.public_deps | |
811 } | |
812 if (defined(invoker.sources)) { | |
813 sources = invoker.sources | |
814 } | |
815 if (defined(invoker.visibility)) { | |
816 visibility = invoker.visibility | |
817 } | |
818 } | |
819 } else { | |
820 executable(target_name) { | |
821 # See above. | |
822 configs = [] # Prevent list overwriting warning. | |
823 configs = invoker.configs | |
824 | |
825 # See above call. | |
826 set_sources_assignment_filter([]) | |
827 | |
828 testonly = true | |
829 | |
830 if (defined(invoker.all_dependent_configs)) { | |
831 all_dependent_configs = invoker.all_dependent_configs | |
832 } | |
833 if (defined(invoker.allow_circular_includes_from)) { | |
834 allow_circular_includes_from = invoker.allow_circular_includes_from | |
835 } | |
836 if (defined(invoker.cflags)) { | |
837 cflags = invoker.cflags | |
838 } | |
839 if (defined(invoker.cflags_c)) { | |
840 cflags_c = invoker.cflags_c | |
841 } | |
842 if (defined(invoker.cflags_cc)) { | |
843 cflags_cc = invoker.cflags_cc | |
844 } | |
845 if (defined(invoker.cflags_objc)) { | |
846 cflags_objc = invoker.cflags_objc | |
847 } | |
848 if (defined(invoker.cflags_objcc)) { | |
849 cflags_objcc = invoker.cflags_objcc | |
850 } | |
851 if (defined(invoker.check_includes)) { | |
852 check_includes = invoker.check_includes | |
853 } | |
854 if (defined(invoker.data)) { | |
855 data = invoker.data | |
856 } | |
857 if (defined(invoker.data_deps)) { | |
858 data_deps = invoker.data_deps | |
859 } | |
860 if (defined(invoker.datadeps)) { | |
861 datadeps = invoker.datadeps | |
862 } | |
863 if (defined(invoker.defines)) { | |
864 defines = invoker.defines | |
865 } | |
866 | |
867 # All shared libraries must have the sanitizer deps to properly link in | |
868 # asan mode (this target will be empty in other cases). | |
869 if (defined(invoker.deps)) { | |
870 deps = invoker.deps + [ "//build/config/sanitizers:deps" ] | |
871 } else { | |
872 deps = [ | |
873 "//build/config/sanitizers:deps", | |
874 ] | |
875 } | |
876 if (defined(invoker.direct_dependent_configs)) { | |
877 direct_dependent_configs = invoker.direct_dependent_configs | |
878 } | |
879 if (defined(invoker.forward_dependent_configs_from)) { | |
880 forward_dependent_configs_from = invoker.forward_dependent_configs_from | |
881 } | |
882 if (defined(invoker.include_dirs)) { | |
883 include_dirs = invoker.include_dirs | |
884 } | |
885 if (defined(invoker.ldflags)) { | |
886 ldflags = invoker.ldflags | |
887 } | |
888 if (defined(invoker.lib_dirs)) { | |
889 lib_dirs = invoker.lib_dirs | |
890 } | |
891 if (defined(invoker.libs)) { | |
892 libs = invoker.libs | |
893 } | |
894 if (defined(invoker.output_extension)) { | |
895 output_extension = invoker.output_extension | |
896 } | |
897 if (defined(invoker.output_name)) { | |
898 output_name = invoker.output_name | |
899 } | |
900 if (defined(invoker.public)) { | |
901 public = invoker.public | |
902 } | |
903 if (defined(invoker.public_configs)) { | |
904 public_configs = invoker.public_configs | |
905 } | |
906 if (defined(invoker.public_deps)) { | |
907 public_deps = invoker.public_deps | |
908 } | |
909 if (defined(invoker.sources)) { | |
910 sources = invoker.sources | |
911 } | |
912 if (defined(invoker.visibility)) { | |
913 visibility = invoker.visibility | |
914 } | |
915 } | |
916 } | |
917 } | |
OLD | NEW |