(command.CommandList children: [ (command.ShFunction name: die body: (command.BraceGroup children: [ (command.Simple words: [{(echo)} {(DQ ('FATAL install error: ') ($ Id.VSub_At '$@'))}] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'1>&' span_id:44) fd: 1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:48) arg_word: {(1)} ) ] ) ) (command.ShFunction name: main body: (command.BraceGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [(C {(.)} {(_build/detected-config.sh)})] negated: T ) terminator: (Token id:Id.Op_Semi val:';' span_id:72) ) ] action: [ (C {(die)} {(DQ ("Can't find _build/detected-config.h. Run './configure'"))}) ] spids: [65 74] ) ] ) (C {(local)} {(Id.Lit_VarLike 'exec_filename=') (oil.ovm)}) (C {(local)} {(Id.Lit_VarLike 'dest=') ($ Id.VSub_DollarName '$PREFIX') (/bin/) ($ Id.VSub_DollarName '$exec_filename') } ) (C {(echo)} {(DQ ('Installing to ') ($ Id.VSub_DollarName '$dest'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(install)} {(_bin/) ($ Id.VSub_DollarName '$exec_filename')} {($ Id.VSub_DollarName '$dest')} ) ] negated: T ) terminator: (Token id:Id.Op_Semi val:';' span_id:134) ) ] action: [(C {(die)} {(DQ ("Couldn't install oil binary"))})] spids: [124 136] ) ] ) (C {(cd)} {($ Id.VSub_DollarName '$PREFIX') (/bin)}) (command.ForEach iter_name: link iter_words: [{(osh)} {(oshc)}] do_arg_iter: F body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(ln)} {(-s)} {(-f)} {($ Id.VSub_DollarName '$exec_filename')} {($ Id.VSub_DollarName '$link')} ) ] negated: T ) terminator: (Token id:Id.Op_Semi val:';' span_id:183) ) ] action: [ (C {(die)} {(DQ ("Couldn't create ") ($ Id.VSub_DollarName '$link') (' symlink'))} ) ] spids: [170 185] ) ] ) ] ) ) ] ) ) (C {(main)} {(DQ ($ Id.VSub_At '$@'))}) ] )