(command.CommandList children: [ (command.ShFunction name_tok: <get_variable_value> name: get_variable_value body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'FILENAME='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'VARNAME='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Pipeline children: [ (command.Simple blame_tok: <awk> more_env: [] words: [ {<awk>} { (DQ <'\n'> <' BEGIN { start = 0; }\n'> <' /^'> ($ Id.VSub_DollarName VARNAME) <' =/ { start = 1; }\n'> <' { if (start) { print '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'0; } }\n'> <' /'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'/ { next; }\n'> <' { start = 0; }\n'> <' '> ) } {($ Id.VSub_DollarName FILENAME)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(DQ <'s/^'> ($ Id.VSub_DollarName VARNAME) <' =//'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} { (DQ <'s/[ '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <']//g'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [ {<grep>} {<-v>} { (DQ <'^'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_Dollar '$'> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {<-v>} {(DQ <'^'> <Id.Lit_Dollar '$'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sort> more_env: [(EnvPair left:<Id.Lit_VarLike 'LC_ALL='> name:LC_ALL val:{<C>})] words: [{<sort>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <uniq> more_env: [] words: [{<uniq>}] redirects: [] do_fork: T ) ] ops: [ <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _> ] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <get_header_files> name: get_header_files body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <get_variable_value> more_env: [] words: [{<get_variable_value>} {($ Id.VSub_At '@')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(SQ <'\\.h$'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <get_source_files> name: get_source_files body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <get_variable_value> more_env: [] words: [{<get_variable_value>} {($ Id.VSub_At '@')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(DQ <cc> <Id.Lit_Dollar '$'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <get_proto_files_blacklisted> name: get_proto_files_blacklisted body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <get_proto_files> more_env: [] words: [{<get_proto_files>} {($ Id.VSub_At '@')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'/^google\\/protobuf\\/unittest_enormous_descriptor.proto$/d'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <get_proto_files> name: get_proto_files body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <get_variable_value> more_env: [] words: [{<get_variable_value>} {($ Id.VSub_At '@')}] redirects: [] do_fork: T ) (command.Simple blame_tok: <grep> more_env: [] words: [{<grep>} {(DQ <pb.cc> <Id.Lit_Dollar '$'>)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(DQ <'s/pb.cc/proto/'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <sort_files> name: sort_files body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Pipeline children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [FILE] iterable: (for_iter.Words words:[{($ Id.VSub_At '@')}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName FILE)}] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <sort> more_env: [(EnvPair left:<Id.Lit_VarLike 'LC_ALL='> name:LC_ALL val:{<C>})] words: [{<sort>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <uniq> more_env: [] words: [{<uniq>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _>] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'MAKEFILE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'MAKEFILE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAKEFILE='> name:MAKEFILE) op: assign_op.Equal rhs: {<'src/Makefile.am'>} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName MAKEFILE))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Cannot find: '> ($ Id.VSub_DollarName MAKEFILE))}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'GZHEADERS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'GZHEADERS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GZHEADERS='> name:GZHEADERS) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_variable_value> more_env: [] words: [{<get_variable_value>} {($ Id.VSub_DollarName MAKEFILE)} {<GZHEADERS>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'HEADERS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HEADERS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HEADERS='> name:HEADERS) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_variable_value> more_env: [] words: [ {<get_variable_value>} {($ Id.VSub_DollarName MAKEFILE)} {<nobase_include_HEADERS>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PUBLIC_HEADERS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PUBLIC_HEADERS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PUBLIC_HEADERS='> name:PUBLIC_HEADERS) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <sort_files> more_env: [] words: [ {<sort_files>} {($ Id.VSub_DollarName GZHEADERS)} {($ Id.VSub_DollarName HEADERS)} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LIBPROTOBUF_LITE_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LIBPROTOBUF_LITE_SOURCES='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'LIBPROTOBUF_LITE_SOURCES='> name: LIBPROTOBUF_LITE_SOURCES ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<libprotobuf_lite_la_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LIBPROTOBUF_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LIBPROTOBUF_SOURCES='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'LIBPROTOBUF_SOURCES='> name: LIBPROTOBUF_SOURCES ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<libprotobuf_la_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LIBPROTOC_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LIBPROTOC_SOURCES='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LIBPROTOC_SOURCES='> name:LIBPROTOC_SOURCES) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<libprotoc_la_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LITE_PROTOS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LITE_PROTOS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LITE_PROTOS='> name:LITE_PROTOS) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_proto_files> more_env: [] words: [ {<get_proto_files>} {($ Id.VSub_DollarName MAKEFILE)} {<protoc_lite_outputs>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PROTOS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PROTOS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROTOS='> name:PROTOS) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_proto_files> more_env: [] words: [{<get_proto_files>} {($ Id.VSub_DollarName MAKEFILE)} {<protoc_outputs>}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'PROTOS_BLACKLISTED='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'PROTOS_BLACKLISTED='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'PROTOS_BLACKLISTED='> name:PROTOS_BLACKLISTED) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_proto_files_blacklisted> more_env: [] words: [ {<get_proto_files_blacklisted>} {($ Id.VSub_DollarName MAKEFILE)} {<protoc_outputs>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'WKT_PROTOS='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'WKT_PROTOS='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WKT_PROTOS='> name:WKT_PROTOS) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_variable_value> more_env: [] words: [ {<get_variable_value>} {($ Id.VSub_DollarName MAKEFILE)} {<nobase_dist_proto_DATA>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'COMMON_TEST_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMMON_TEST_SOURCES='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'COMMON_TEST_SOURCES='> name: COMMON_TEST_SOURCES ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<COMMON_TEST_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'COMMON_LITE_TEST_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMMON_LITE_TEST_SOURCES='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'COMMON_LITE_TEST_SOURCES='> name: COMMON_LITE_TEST_SOURCES ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<COMMON_LITE_TEST_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'TEST_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TEST_SOURCES='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_SOURCES='> name:TEST_SOURCES) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<protobuf_test_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LITE_TEST_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LITE_TEST_SOURCES='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'LITE_TEST_SOURCES='> name:LITE_TEST_SOURCES) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<protobuf_lite_test_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'LITE_ARENA_TEST_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'LITE_ARENA_TEST_SOURCES='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'LITE_ARENA_TEST_SOURCES='> name: LITE_ARENA_TEST_SOURCES ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<protobuf_lite_arena_test_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'TEST_PLUGIN_SOURCES='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'TEST_PLUGIN_SOURCES='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'TEST_PLUGIN_SOURCES='> name: TEST_PLUGIN_SOURCES ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <get_source_files> more_env: [] words: [ {<get_source_files>} {($ Id.VSub_DollarName MAKEFILE)} {<test_plugin_SOURCES>} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'CMAKE_DIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CMAKE_DIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CMAKE_DIR='> name:CMAKE_DIR) op: assign_op.Equal rhs: {<cmake>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'EXTRACT_INCLUDES_BAT='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'EXTRACT_INCLUDES_BAT='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'EXTRACT_INCLUDES_BAT='> name: EXTRACT_INCLUDES_BAT ) op: assign_op.Equal rhs: {<'cmake/extract_includes.bat.in'>} ) ] redirects: [] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-d>} {(DQ ($ Id.VSub_DollarName CMAKE_DIR))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Cannot find: '> ($ Id.VSub_DollarName CMAKE_DIR))}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName EXTRACT_INCLUDES_BAT))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Cannot find: '> ($ Id.VSub_DollarName EXTRACT_INCLUDES_BAT))}] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ] ops: [<Id.Op_DPipe _>] ) (command.ShFunction name_tok: <set_cmake_value> name: set_cmake_value body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'FILENAME='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'VARNAME='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'PREFIX='> ($ Id.VSub_Number 3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [ {<awk>} {<-v>} {<Id.Lit_VarLike 'values='> (DQ ($ Id.VSub_Star '*'))} {<-v>} {<Id.Lit_VarLike 'prefix='> (DQ ($ Id.VSub_DollarName PREFIX))} { (DQ <'\n'> <' BEGIN { start = 0; }\n'> <' /^set'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'('> ($ Id.VSub_DollarName VARNAME) <'/ {\n'> <' start = 1;\n'> <' print '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'0;\n'> <' len = split(values, vlist, '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <');\n'> <' for (i = 1; i <= len; ++i) {\n'> <' printf('> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' %s%s'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', prefix, vlist[i]);\n'> <' }\n'> <' next;\n'> <' }\n'> <' start && /^'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <')/ {\n'> <' start = 0;\n'> <' }\n'> <' !start {\n'> <' print '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'0;\n'> <' }\n'> <' '> ) } {($ Id.VSub_DollarName FILENAME)} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/tmp/'> ($ Id.VSub_Dollar '$')} ) ] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {<'/tmp/'> ($ Id.VSub_Dollar '$')} {($ Id.VSub_DollarName FILENAME)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'CMAKE_PREFIX='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'CMAKE_PREFIX='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CMAKE_PREFIX='> name:CMAKE_PREFIX) op: assign_op.Equal rhs: { (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{protobuf_source_dir}/src/'> ) } ) ] redirects: [] ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/libprotobuf-lite.cmake'>} {<libprotobuf_lite_files>} {($ Id.VSub_DollarName CMAKE_PREFIX)} {($ Id.VSub_DollarName LIBPROTOBUF_LITE_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/libprotobuf.cmake'>} {<libprotobuf_files>} {($ Id.VSub_DollarName CMAKE_PREFIX)} {($ Id.VSub_DollarName LIBPROTOBUF_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/libprotoc.cmake'>} {<libprotoc_files>} {($ Id.VSub_DollarName CMAKE_PREFIX)} {($ Id.VSub_DollarName LIBPROTOC_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/tests.cmake'>} {<lite_test_protos>} {(DQ )} {($ Id.VSub_DollarName LITE_PROTOS)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/tests.cmake'>} {<tests_protos>} {(DQ )} {($ Id.VSub_DollarName PROTOS_BLACKLISTED)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/tests.cmake'>} {<common_test_files>} {($ Id.VSub_DollarName CMAKE_PREFIX)} {($ Id.VSub_DollarName COMMON_TEST_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/tests.cmake'>} {<common_lite_test_files>} {($ Id.VSub_DollarName CMAKE_PREFIX)} {($ Id.VSub_DollarName COMMON_LITE_TEST_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/tests.cmake'>} {<tests_files>} {($ Id.VSub_DollarName CMAKE_PREFIX)} {($ Id.VSub_DollarName TEST_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/tests.cmake'>} {<lite_test_files>} {($ Id.VSub_DollarName CMAKE_PREFIX)} {($ Id.VSub_DollarName LITE_TEST_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_cmake_value> more_env: [] words: [ {<set_cmake_value>} {($ Id.VSub_DollarName CMAKE_DIR) <'/tests.cmake'>} {<lite_arena_test_files>} {($ Id.VSub_DollarName CMAKE_PREFIX)} {($ Id.VSub_DollarName LITE_ARENA_TEST_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'mkdir include'>)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName EXTRACT_INCLUDES_BAT)} ) ] do_fork: T ) (command.Pipeline children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [HEADER] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName PUBLIC_HEADERS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'HEADER_DIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HEADER_DIR='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HEADER_DIR='> name:HEADER_DIR) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <dirname> more_env: [] words: [{<dirname>} {($ Id.VSub_DollarName HEADER)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {(DQ ($ Id.VSub_DollarName HEADER_DIR))} {<Id.Lit_Equals '='>} {(DQ <.>)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName HEADER_DIR)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} { (DQ <'s/'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'//'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'/g'> ) } ] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'HEADER_DIR='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'HEADER_DIR='> lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HEADER_DIR='> name: HEADER_DIR ) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <dirname> more_env: [] words: [{<dirname>} {($ Id.VSub_DollarName HEADER_DIR)}] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok:<sort> more_env:[] words:[{<sort>}] redirects:[] do_fork:T) (command.Simple blame_tok:<uniq> more_env:[] words:[{<uniq>}] redirects:[] do_fork:T) (command.Simple blame_tok: <sed> more_env: [] words: [ {<sed>} { (DQ <'s/^/mkdir include'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'/'> ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName EXTRACT_INCLUDES_BAT)} ) ] do_fork: T ) ] ops: [<Id.Op_Pipe _> <Id.Op_Pipe _> <Id.Op_Pipe _>] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [HEADER] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName PUBLIC_HEADERS)}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'WINPATH='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'WINPATH='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WINPATH='> name:WINPATH) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {($ Id.VSub_DollarName HEADER)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <sed> more_env: [] words: [{<sed>} {(SQ <'s;/;\\\\;g'>)}] redirects: [] do_fork: T ) ] ops: [<Id.Op_Pipe _>] ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ <'copy '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'{PROTOBUF_SOURCE_WIN32_PATH}'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <..> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <src> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') ($ Id.VSub_DollarName WINPATH) <' include'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') ($ Id.VSub_DollarName WINPATH) ) } ] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName EXTRACT_INCLUDES_BAT)} ) ] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShFunction name_tok: <set_bazel_value> name: set_bazel_value body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'FILENAME='> ($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'VARNAME='> ($ Id.VSub_Number 2)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <local> more_env: [] words: [{<local>} {<Id.Lit_VarLike 'PREFIX='> ($ Id.VSub_Number 3)}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <shift> more_env: [] words: [{<shift>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <awk> more_env: [] words: [ {<awk>} {<-v>} {<Id.Lit_VarLike 'values='> (DQ ($ Id.VSub_Star '*'))} {<-v>} {<Id.Lit_VarLike 'prefix='> (DQ ($ Id.VSub_DollarName PREFIX))} { (DQ <'\n'> <' BEGIN { start = 0; }\n'> <' /# AUTOGEN'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'('> ($ Id.VSub_DollarName VARNAME) (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <')/ {\n'> <' start = 1;\n'> <' print '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'0;\n'> <' # replace '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'0 with indent.\n'> <' sub(/#.*/, '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'0)\n'> <' len = split(values, vlist, '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <');\n'> <' for (i = 1; i <= len; ++i) {\n'> <' printf('> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'%s'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'%s%s'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <','> <Id.Lit_BadBackslash '\\'> <n> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <', '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'0, prefix, vlist[i]);\n'> <' }\n'> <' next;\n'> <' }\n'> <' start && /'> <Id.Lit_BadBackslash '\\'> <']/ {\n'> <' start = 0\n'> <' }\n'> <' !start {\n'> <' print '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ch: '$' ) <'0;\n'> <' }\n'> <' '> ) } {($ Id.VSub_DollarName FILENAME)} ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/tmp/'> ($ Id.VSub_Dollar '$')} ) ] do_fork: T ) (command.Simple blame_tok: <cp> more_env: [] words: [{<cp>} {<'/tmp/'> ($ Id.VSub_Dollar '$')} {($ Id.VSub_DollarName FILENAME)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShAssignment left: <Id.Lit_VarLike 'BAZEL_BUILD='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BAZEL_BUILD='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BAZEL_BUILD='> name:BAZEL_BUILD) op: assign_op.Equal rhs: {<'./BUILD'>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'BAZEL_PREFIX='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'BAZEL_PREFIX='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'BAZEL_PREFIX='> name:BAZEL_PREFIX) op: assign_op.Equal rhs: {(DQ <'src/'>)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName BAZEL_BUILD))} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<protobuf_lite_srcs>} {($ Id.VSub_DollarName BAZEL_PREFIX)} {($ Id.VSub_DollarName LIBPROTOBUF_LITE_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<protobuf_srcs>} {($ Id.VSub_DollarName BAZEL_PREFIX)} {($ Id.VSub_DollarName LIBPROTOBUF_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<protoc_lib_srcs>} {($ Id.VSub_DollarName BAZEL_PREFIX)} {($ Id.VSub_DollarName LIBPROTOC_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<lite_test_protos>} {(DQ )} {($ Id.VSub_DollarName LITE_PROTOS)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<well_known_protos>} {(DQ )} {($ Id.VSub_DollarName WKT_PROTOS)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<test_protos>} {(DQ )} {($ Id.VSub_DollarName PROTOS)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<common_test_srcs>} {($ Id.VSub_DollarName BAZEL_PREFIX)} {($ Id.VSub_DollarName COMMON_TEST_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<test_srcs>} {($ Id.VSub_DollarName BAZEL_PREFIX)} {($ Id.VSub_DollarName TEST_SOURCES)} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <set_bazel_value> more_env: [] words: [ {<set_bazel_value>} {($ Id.VSub_DollarName BAZEL_BUILD)} {<test_plugin_srcs>} {($ Id.VSub_DollarName BAZEL_PREFIX)} {($ Id.VSub_DollarName TEST_PLUGIN_SOURCES)} ] redirects: [] do_fork: T ) ] spids: [1050 1063] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'Skipped BUILD file update.'>)}] redirects: [] do_fork: T ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] )