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