Fix the Ubuntu build.

pull/13171/head
Josh Haberman 6 years ago
parent 239d4a90db
commit 9fa3e8bd62
  1. 21
      build_defs.bzl

@ -406,18 +406,29 @@ _upb_proto_library_aspect = aspect(
fragments = ["cpp"], fragments = ["cpp"],
) )
def filter_none(elems):
out = []
for elem in elems:
if elem:
out.append(elem)
return out
def _upb_proto_library_impl(ctx): def _upb_proto_library_impl(ctx):
if len(ctx.attr.deps) != 1: if len(ctx.attr.deps) != 1:
fail("only one deps dependency allowed.") fail("only one deps dependency allowed.")
dep = ctx.attr.deps[0] dep = ctx.attr.deps[0]
if CcInfo not in dep: if CcInfo not in dep:
fail("proto_library rule must generate CcInfo (have cc_api_version>0).") fail("proto_library rule must generate CcInfo (have cc_api_version>0).")
lib = dep[CcInfo].linking_context.libraries_to_link[0]
files = filter_none([
lib.static_library,
lib.pic_static_library,
lib.dynamic_library,
])
return [ return [
DefaultInfo( DefaultInfo(files = depset(files)),
files = depset(
[dep[CcInfo].linking_context.libraries_to_link[0].static_library],
),
),
dep[CcInfo], dep[CcInfo],
] ]

Loading…
Cancel
Save