1*99e0aae7SDavid Rees# Copyright 2019 Google LLC 2*99e0aae7SDavid Rees# 3*99e0aae7SDavid Rees# Licensed under the Apache License, Version 2.0 (the "License"); 4*99e0aae7SDavid Rees# you may not use this file except in compliance with the License. 5*99e0aae7SDavid Rees# You may obtain a copy of the License at 6*99e0aae7SDavid Rees# 7*99e0aae7SDavid Rees# https://www.apache.org/licenses/LICENSE-2.0 8*99e0aae7SDavid Rees# 9*99e0aae7SDavid Rees# Unless required by applicable law or agreed to in writing, software 10*99e0aae7SDavid Rees# distributed under the License is distributed on an "AS IS" BASIS, 11*99e0aae7SDavid Rees# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*99e0aae7SDavid Rees# See the License for the specific language governing permissions and 13*99e0aae7SDavid Rees# limitations under the License. 14*99e0aae7SDavid Rees 15*99e0aae7SDavid Rees# Shared test data for Emboss. 16*99e0aae7SDavid Rees 17*99e0aae7SDavid Reesload( 18*99e0aae7SDavid Rees "//:build_defs.bzl", 19*99e0aae7SDavid Rees "cc_emboss_library", 20*99e0aae7SDavid Rees "emboss_cc_library", 21*99e0aae7SDavid Rees "emboss_library", 22*99e0aae7SDavid Rees) 23*99e0aae7SDavid Rees 24*99e0aae7SDavid Reespackage( 25*99e0aae7SDavid Rees default_visibility = ["//:__subpackages__"], 26*99e0aae7SDavid Rees) 27*99e0aae7SDavid Rees 28*99e0aae7SDavid Reesfilegroup( 29*99e0aae7SDavid Rees name = "golden_files", 30*99e0aae7SDavid Rees srcs = [ 31*99e0aae7SDavid Rees "golden/__init__.py", 32*99e0aae7SDavid Rees "golden/span_se_log_file_status.emb", 33*99e0aae7SDavid Rees "golden/span_se_log_file_status.ir.txt", 34*99e0aae7SDavid Rees "golden/span_se_log_file_status.parse_tree.txt", 35*99e0aae7SDavid Rees "golden/span_se_log_file_status.tokens.txt", 36*99e0aae7SDavid Rees ], 37*99e0aae7SDavid Rees) 38*99e0aae7SDavid Rees 39*99e0aae7SDavid Reesfilegroup( 40*99e0aae7SDavid Rees name = "test_embs", 41*99e0aae7SDavid Rees srcs = [ 42*99e0aae7SDavid Rees "__init__.py", 43*99e0aae7SDavid Rees "absolute_cpp_namespace.emb", 44*99e0aae7SDavid Rees "anonymous_bits.emb", 45*99e0aae7SDavid Rees "bcd.emb", 46*99e0aae7SDavid Rees "bits.emb", 47*99e0aae7SDavid Rees "complex_structure.emb", 48*99e0aae7SDavid Rees "condition.emb", 49*99e0aae7SDavid Rees "cpp_namespace.emb", 50*99e0aae7SDavid Rees "dynamic_size.emb", 51*99e0aae7SDavid Rees "enum.emb", 52*99e0aae7SDavid Rees "enum_case.emb", 53*99e0aae7SDavid Rees "explicit_sizes.emb", 54*99e0aae7SDavid Rees "float.emb", 55*99e0aae7SDavid Rees "import_dir/project/imported.emb", 56*99e0aae7SDavid Rees "import_dir/project/importer.emb", 57*99e0aae7SDavid Rees "imported.emb", 58*99e0aae7SDavid Rees "imported_genfiles.emb", 59*99e0aae7SDavid Rees "importer.emb", 60*99e0aae7SDavid Rees "int_sizes.emb", 61*99e0aae7SDavid Rees "nested_structure.emb", 62*99e0aae7SDavid Rees "next_keyword.emb", 63*99e0aae7SDavid Rees "no_cpp_namespace.emb", 64*99e0aae7SDavid Rees "parameters.emb", 65*99e0aae7SDavid Rees "requires.emb", 66*99e0aae7SDavid Rees "subtypes.emb", 67*99e0aae7SDavid Rees "text_format.emb", 68*99e0aae7SDavid Rees "uint_sizes.emb", 69*99e0aae7SDavid Rees "virtual_field.emb", 70*99e0aae7SDavid Rees ], 71*99e0aae7SDavid Rees) 72*99e0aae7SDavid Rees 73*99e0aae7SDavid Reesfilegroup( 74*99e0aae7SDavid Rees name = "format_embs", 75*99e0aae7SDavid Rees srcs = glob(["format/**"]), 76*99e0aae7SDavid Rees) 77*99e0aae7SDavid Rees 78*99e0aae7SDavid Reesemboss_library( 79*99e0aae7SDavid Rees name = "span_se_log_file_status_emb_ir", 80*99e0aae7SDavid Rees srcs = [ 81*99e0aae7SDavid Rees "golden/span_se_log_file_status.emb", 82*99e0aae7SDavid Rees ], 83*99e0aae7SDavid Rees) 84*99e0aae7SDavid Rees 85*99e0aae7SDavid Reescc_emboss_library( 86*99e0aae7SDavid Rees name = "span_se_log_file_status_emboss", 87*99e0aae7SDavid Rees deps = [ 88*99e0aae7SDavid Rees ":span_se_log_file_status_emb_ir", 89*99e0aae7SDavid Rees ], 90*99e0aae7SDavid Rees) 91*99e0aae7SDavid Rees 92*99e0aae7SDavid Reesemboss_cc_library( 93*99e0aae7SDavid Rees name = "nested_structure_emboss", 94*99e0aae7SDavid Rees srcs = [ 95*99e0aae7SDavid Rees "nested_structure.emb", 96*99e0aae7SDavid Rees ], 97*99e0aae7SDavid Rees) 98*99e0aae7SDavid Rees 99*99e0aae7SDavid Reesemboss_cc_library( 100*99e0aae7SDavid Rees name = "condition_emboss", 101*99e0aae7SDavid Rees srcs = [ 102*99e0aae7SDavid Rees "condition.emb", 103*99e0aae7SDavid Rees ], 104*99e0aae7SDavid Rees) 105*99e0aae7SDavid Rees 106*99e0aae7SDavid Reesemboss_cc_library( 107*99e0aae7SDavid Rees name = "enum_emboss", 108*99e0aae7SDavid Rees srcs = [ 109*99e0aae7SDavid Rees "enum.emb", 110*99e0aae7SDavid Rees ], 111*99e0aae7SDavid Rees # This tag is arbitrary, and exists to ensure you can pass atributes common 112*99e0aae7SDavid Rees # to all build rules to the underlying rules. 113*99e0aae7SDavid Rees tags = ["an_arbitrary_tag"], 114*99e0aae7SDavid Rees) 115*99e0aae7SDavid Rees 116*99e0aae7SDavid Reesemboss_cc_library( 117*99e0aae7SDavid Rees name = "enum_case_emboss", 118*99e0aae7SDavid Rees srcs = [ 119*99e0aae7SDavid Rees "enum_case.emb", 120*99e0aae7SDavid Rees ], 121*99e0aae7SDavid Rees) 122*99e0aae7SDavid Rees 123*99e0aae7SDavid Reesemboss_cc_library( 124*99e0aae7SDavid Rees name = "explicit_sizes_emboss", 125*99e0aae7SDavid Rees srcs = [ 126*99e0aae7SDavid Rees "explicit_sizes.emb", 127*99e0aae7SDavid Rees ], 128*99e0aae7SDavid Rees) 129*99e0aae7SDavid Rees 130*99e0aae7SDavid Reesemboss_cc_library( 131*99e0aae7SDavid Rees name = "imported_emboss", 132*99e0aae7SDavid Rees srcs = [ 133*99e0aae7SDavid Rees "imported.emb", 134*99e0aae7SDavid Rees ], 135*99e0aae7SDavid Rees) 136*99e0aae7SDavid Rees 137*99e0aae7SDavid Reesemboss_cc_library( 138*99e0aae7SDavid Rees name = "import_dir_imported_emboss", 139*99e0aae7SDavid Rees srcs = [ 140*99e0aae7SDavid Rees "import_dir/project/imported.emb", 141*99e0aae7SDavid Rees ], 142*99e0aae7SDavid Rees) 143*99e0aae7SDavid Rees 144*99e0aae7SDavid Rees# This rule is here to test that the Emboss Skylark macro sets eveything up 145*99e0aae7SDavid Rees# correctly for the Emboss front end to read generated .embs. 146*99e0aae7SDavid Rees# 147*99e0aae7SDavid Rees# TODO(bolms): Should genrules with output_to_bindir = 1 be supported as inputs 148*99e0aae7SDavid Rees# to emboss_cc_library? 149*99e0aae7SDavid Reesgenrule( 150*99e0aae7SDavid Rees name = "imported_genfiles", 151*99e0aae7SDavid Rees srcs = ["imported.emb"], 152*99e0aae7SDavid Rees outs = ["imported_genfiles.emb"], 153*99e0aae7SDavid Rees cmd = "sed -e 's/emboss::test/emboss::test::generated/g' $(SRCS) > $(@)", 154*99e0aae7SDavid Rees) 155*99e0aae7SDavid Rees 156*99e0aae7SDavid Reesemboss_cc_library( 157*99e0aae7SDavid Rees name = "imported_genfiles_emboss", 158*99e0aae7SDavid Rees srcs = [ 159*99e0aae7SDavid Rees "imported_genfiles.emb", 160*99e0aae7SDavid Rees ], 161*99e0aae7SDavid Rees) 162*99e0aae7SDavid Rees 163*99e0aae7SDavid Reesemboss_cc_library( 164*99e0aae7SDavid Rees name = "alignments_emboss", 165*99e0aae7SDavid Rees srcs = [ 166*99e0aae7SDavid Rees "alignments.emb", 167*99e0aae7SDavid Rees ], 168*99e0aae7SDavid Rees) 169*99e0aae7SDavid Rees 170*99e0aae7SDavid Reesemboss_cc_library( 171*99e0aae7SDavid Rees name = "importer_emboss", 172*99e0aae7SDavid Rees srcs = [ 173*99e0aae7SDavid Rees "importer.emb", 174*99e0aae7SDavid Rees ], 175*99e0aae7SDavid Rees deps = [ 176*99e0aae7SDavid Rees ":imported_emboss", 177*99e0aae7SDavid Rees ":imported_genfiles_emboss", 178*99e0aae7SDavid Rees ], 179*99e0aae7SDavid Rees) 180*99e0aae7SDavid Rees 181*99e0aae7SDavid Rees# Tests that the `import_dirs` attribute works. 182*99e0aae7SDavid Reesemboss_cc_library( 183*99e0aae7SDavid Rees name = "import_dir_importer_emboss", 184*99e0aae7SDavid Rees srcs = [ 185*99e0aae7SDavid Rees "import_dir/project/importer.emb", 186*99e0aae7SDavid Rees ], 187*99e0aae7SDavid Rees import_dirs = [ 188*99e0aae7SDavid Rees "import_dir", 189*99e0aae7SDavid Rees ], 190*99e0aae7SDavid Rees deps = [ 191*99e0aae7SDavid Rees ":import_dir_imported_emboss", 192*99e0aae7SDavid Rees ], 193*99e0aae7SDavid Rees) 194*99e0aae7SDavid Rees 195*99e0aae7SDavid Reesemboss_cc_library( 196*99e0aae7SDavid Rees name = "importer2_emboss", 197*99e0aae7SDavid Rees srcs = [ 198*99e0aae7SDavid Rees "importer2.emb", 199*99e0aae7SDavid Rees ], 200*99e0aae7SDavid Rees deps = [ 201*99e0aae7SDavid Rees ":importer_emboss", 202*99e0aae7SDavid Rees ], 203*99e0aae7SDavid Rees) 204*99e0aae7SDavid Rees 205*99e0aae7SDavid Reesemboss_cc_library( 206*99e0aae7SDavid Rees name = "float_emboss", 207*99e0aae7SDavid Rees srcs = [ 208*99e0aae7SDavid Rees "float.emb", 209*99e0aae7SDavid Rees ], 210*99e0aae7SDavid Rees) 211*99e0aae7SDavid Rees 212*99e0aae7SDavid Reesemboss_cc_library( 213*99e0aae7SDavid Rees name = "large_array_emboss", 214*99e0aae7SDavid Rees srcs = [ 215*99e0aae7SDavid Rees "large_array.emb", 216*99e0aae7SDavid Rees ], 217*99e0aae7SDavid Rees) 218*99e0aae7SDavid Rees 219*99e0aae7SDavid Reesemboss_cc_library( 220*99e0aae7SDavid Rees name = "uint_sizes_emboss", 221*99e0aae7SDavid Rees srcs = [ 222*99e0aae7SDavid Rees "uint_sizes.emb", 223*99e0aae7SDavid Rees ], 224*99e0aae7SDavid Rees) 225*99e0aae7SDavid Rees 226*99e0aae7SDavid Reesemboss_cc_library( 227*99e0aae7SDavid Rees name = "int_sizes_emboss", 228*99e0aae7SDavid Rees srcs = [ 229*99e0aae7SDavid Rees "int_sizes.emb", 230*99e0aae7SDavid Rees ], 231*99e0aae7SDavid Rees) 232*99e0aae7SDavid Rees 233*99e0aae7SDavid Reesemboss_cc_library( 234*99e0aae7SDavid Rees name = "dynamic_size_emboss", 235*99e0aae7SDavid Rees srcs = [ 236*99e0aae7SDavid Rees "dynamic_size.emb", 237*99e0aae7SDavid Rees ], 238*99e0aae7SDavid Rees) 239*99e0aae7SDavid Rees 240*99e0aae7SDavid Reesemboss_cc_library( 241*99e0aae7SDavid Rees name = "auto_array_size_emboss", 242*99e0aae7SDavid Rees srcs = [ 243*99e0aae7SDavid Rees "auto_array_size.emb", 244*99e0aae7SDavid Rees ], 245*99e0aae7SDavid Rees) 246*99e0aae7SDavid Rees 247*99e0aae7SDavid Reesemboss_cc_library( 248*99e0aae7SDavid Rees name = "no_enum_traits_emboss", 249*99e0aae7SDavid Rees srcs = [ 250*99e0aae7SDavid Rees "no_enum_traits.emb", 251*99e0aae7SDavid Rees ], 252*99e0aae7SDavid Rees enable_enum_traits = False, 253*99e0aae7SDavid Rees) 254*99e0aae7SDavid Rees 255*99e0aae7SDavid Reesemboss_cc_library( 256*99e0aae7SDavid Rees name = "start_size_range_emboss", 257*99e0aae7SDavid Rees srcs = [ 258*99e0aae7SDavid Rees "start_size_range.emb", 259*99e0aae7SDavid Rees ], 260*99e0aae7SDavid Rees) 261*99e0aae7SDavid Rees 262*99e0aae7SDavid Reesemboss_cc_library( 263*99e0aae7SDavid Rees name = "bcd_emboss", 264*99e0aae7SDavid Rees srcs = [ 265*99e0aae7SDavid Rees "bcd.emb", 266*99e0aae7SDavid Rees ], 267*99e0aae7SDavid Rees) 268*99e0aae7SDavid Rees 269*99e0aae7SDavid Reesemboss_cc_library( 270*99e0aae7SDavid Rees name = "no_cpp_namespace_emboss", 271*99e0aae7SDavid Rees srcs = [ 272*99e0aae7SDavid Rees "no_cpp_namespace.emb", 273*99e0aae7SDavid Rees ], 274*99e0aae7SDavid Rees) 275*99e0aae7SDavid Rees 276*99e0aae7SDavid Reesemboss_cc_library( 277*99e0aae7SDavid Rees name = "cpp_namespace_emboss", 278*99e0aae7SDavid Rees srcs = [ 279*99e0aae7SDavid Rees "cpp_namespace.emb", 280*99e0aae7SDavid Rees ], 281*99e0aae7SDavid Rees) 282*99e0aae7SDavid Rees 283*99e0aae7SDavid Reesemboss_cc_library( 284*99e0aae7SDavid Rees name = "absolute_cpp_namespace_emboss", 285*99e0aae7SDavid Rees srcs = [ 286*99e0aae7SDavid Rees "absolute_cpp_namespace.emb", 287*99e0aae7SDavid Rees ], 288*99e0aae7SDavid Rees) 289*99e0aae7SDavid Rees 290*99e0aae7SDavid Reesemboss_cc_library( 291*99e0aae7SDavid Rees name = "requires_emboss", 292*99e0aae7SDavid Rees srcs = [ 293*99e0aae7SDavid Rees "requires.emb", 294*99e0aae7SDavid Rees ], 295*99e0aae7SDavid Rees) 296*99e0aae7SDavid Rees 297*99e0aae7SDavid Reesemboss_cc_library( 298*99e0aae7SDavid Rees name = "subtypes_emboss", 299*99e0aae7SDavid Rees srcs = [ 300*99e0aae7SDavid Rees "subtypes.emb", 301*99e0aae7SDavid Rees ], 302*99e0aae7SDavid Rees) 303*99e0aae7SDavid Rees 304*99e0aae7SDavid Reesemboss_cc_library( 305*99e0aae7SDavid Rees name = "inline_type_emboss", 306*99e0aae7SDavid Rees srcs = [ 307*99e0aae7SDavid Rees "inline_type.emb", 308*99e0aae7SDavid Rees ], 309*99e0aae7SDavid Rees) 310*99e0aae7SDavid Rees 311*99e0aae7SDavid Reesemboss_cc_library( 312*99e0aae7SDavid Rees name = "bits_emboss", 313*99e0aae7SDavid Rees srcs = [ 314*99e0aae7SDavid Rees "bits.emb", 315*99e0aae7SDavid Rees ], 316*99e0aae7SDavid Rees) 317*99e0aae7SDavid Rees 318*99e0aae7SDavid Reesemboss_cc_library( 319*99e0aae7SDavid Rees name = "complex_structure_emboss", 320*99e0aae7SDavid Rees srcs = [ 321*99e0aae7SDavid Rees "complex_structure.emb", 322*99e0aae7SDavid Rees ], 323*99e0aae7SDavid Rees) 324*99e0aae7SDavid Rees 325*99e0aae7SDavid Reesemboss_cc_library( 326*99e0aae7SDavid Rees name = "anonymous_bits_emboss", 327*99e0aae7SDavid Rees srcs = [ 328*99e0aae7SDavid Rees "anonymous_bits.emb", 329*99e0aae7SDavid Rees ], 330*99e0aae7SDavid Rees) 331*99e0aae7SDavid Rees 332*99e0aae7SDavid Reesemboss_cc_library( 333*99e0aae7SDavid Rees name = "text_format_emboss", 334*99e0aae7SDavid Rees srcs = [ 335*99e0aae7SDavid Rees "text_format.emb", 336*99e0aae7SDavid Rees ], 337*99e0aae7SDavid Rees) 338*99e0aae7SDavid Rees 339*99e0aae7SDavid Reesemboss_cc_library( 340*99e0aae7SDavid Rees name = "parameters_emboss", 341*99e0aae7SDavid Rees srcs = [ 342*99e0aae7SDavid Rees "parameters.emb", 343*99e0aae7SDavid Rees ], 344*99e0aae7SDavid Rees) 345*99e0aae7SDavid Rees 346*99e0aae7SDavid Reesemboss_cc_library( 347*99e0aae7SDavid Rees name = "virtual_field_emboss", 348*99e0aae7SDavid Rees srcs = [ 349*99e0aae7SDavid Rees "virtual_field.emb", 350*99e0aae7SDavid Rees ], 351*99e0aae7SDavid Rees) 352*99e0aae7SDavid Rees 353*99e0aae7SDavid Reesemboss_cc_library( 354*99e0aae7SDavid Rees name = "next_keyword_emboss", 355*99e0aae7SDavid Rees srcs = [ 356*99e0aae7SDavid Rees "next_keyword.emb", 357*99e0aae7SDavid Rees ], 358*99e0aae7SDavid Rees) 359*99e0aae7SDavid Rees 360*99e0aae7SDavid Reesemboss_cc_library( 361*99e0aae7SDavid Rees name = "complex_offset_emboss", 362*99e0aae7SDavid Rees srcs = [ 363*99e0aae7SDavid Rees "complex_offset.emb", 364*99e0aae7SDavid Rees ], 365*99e0aae7SDavid Rees) 366