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