xref: /aosp_15_r20/external/grpc-grpc/templates/include/grpc/module.modulemap.template (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker%YAML 1.2
2*cc02d7e2SAndroid Build Coastguard Worker--- |
3*cc02d7e2SAndroid Build Coastguard Worker  <%
4*cc02d7e2SAndroid Build Coastguard Worker  # TODO (mxyan): Make this list from build.yaml
5*cc02d7e2SAndroid Build Coastguard Worker  textual_headers = {"include/grpc/support/atm_gcc_atomic.h",
6*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/support/atm_gcc_sync.h",
7*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/support/atm_windows.h",
8*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/support/sync_custom.h",
9*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/support/sync_posix.h",
10*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/support/sync_windows.h",
11*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/support/tls_gcc.h",
12*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/support/tls_msvc.h",
13*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/support/tls_pthread.h",
14*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/impl/codegen/atm_gcc_atomic.h",
15*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/impl/codegen/atm_gcc_sync.h",
16*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/impl/codegen/atm_windows.h",
17*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/impl/codegen/sync_custom.h",
18*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/impl/codegen/sync_posix.h",
19*cc02d7e2SAndroid Build Coastguard Worker                     "include/grpc/impl/codegen/sync_windows.h"}
20*cc02d7e2SAndroid Build Coastguard Worker
21*cc02d7e2SAndroid Build Coastguard Worker  grpc_public_headers = {
22*cc02d7e2SAndroid Build Coastguard Worker      file for lib in libs for file in lib.get('public_headers', [])
23*cc02d7e2SAndroid Build Coastguard Worker      if lib.name in ("grpc", "gpr")
24*cc02d7e2SAndroid Build Coastguard Worker  }
25*cc02d7e2SAndroid Build Coastguard Worker
26*cc02d7e2SAndroid Build Coastguard Worker  event_engine_files = {
27*cc02d7e2SAndroid Build Coastguard Worker      file for file in grpc_public_headers if 'event_engine' in file
28*cc02d7e2SAndroid Build Coastguard Worker  }
29*cc02d7e2SAndroid Build Coastguard Worker
30*cc02d7e2SAndroid Build Coastguard Worker  def un_dir(files):
31*cc02d7e2SAndroid Build Coastguard Worker    return {f.split ('/', 2)[2] for f in files}
32*cc02d7e2SAndroid Build Coastguard Worker
33*cc02d7e2SAndroid Build Coastguard Worker  def header_lines(files):
34*cc02d7e2SAndroid Build Coastguard Worker    return ('\n  ').join('header "%s"' % f for f in files)
35*cc02d7e2SAndroid Build Coastguard Worker
36*cc02d7e2SAndroid Build Coastguard Worker  def textual_header_lines(files):
37*cc02d7e2SAndroid Build Coastguard Worker    return ('\n  ').join('textual header "%s"' % f for f in files)
38*cc02d7e2SAndroid Build Coastguard Worker  %>
39*cc02d7e2SAndroid Build Coastguard Worker  framework module grpc {
40*cc02d7e2SAndroid Build Coastguard Worker    umbrella header "grpc.h"
41*cc02d7e2SAndroid Build Coastguard Worker
42*cc02d7e2SAndroid Build Coastguard Worker  ${header_lines(
43*cc02d7e2SAndroid Build Coastguard Worker      sorted(un_dir(grpc_public_headers - event_engine_files -
44*cc02d7e2SAndroid Build Coastguard Worker                    textual_headers)))}
45*cc02d7e2SAndroid Build Coastguard Worker
46*cc02d7e2SAndroid Build Coastguard Worker  ${textual_header_lines(
47*cc02d7e2SAndroid Build Coastguard Worker      sorted(un_dir(grpc_public_headers.intersection(textual_headers) -
48*cc02d7e2SAndroid Build Coastguard Worker                    event_engine_files)))}
49*cc02d7e2SAndroid Build Coastguard Worker
50*cc02d7e2SAndroid Build Coastguard Worker    export *
51*cc02d7e2SAndroid Build Coastguard Worker    module * { export * }
52*cc02d7e2SAndroid Build Coastguard Worker  }
53*cc02d7e2SAndroid Build Coastguard Worker
54