(command.CommandList children: [ (C {<cd>} { (command_sub left_token: <Id.Left_Backtick '`'> command_list: (command.CommandList children: [(C {<dirname>} {(DQ ($ Id.VSub_Number '$0'))})] ) ) </../..> } ) (C {<Id.KW_Set set>} {<-e>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:bits) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [43] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$bits')} arms: [ (case_arm pat_list: [{<32>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host) op: assign_op.Equal rhs: {<i686-w64-mingw32>} spids: [58] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:exc) op: assign_op.Equal rhs: {<sjlj>} spids: [62] ) ] ) ] spids: [54 55 66 -1] ) (case_arm pat_list: [{<64>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:host) op: assign_op.Equal rhs: {<x86_64-w64-mingw32>} spids: [73] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:exc) op: assign_op.Equal rhs: {<seh>} spids: [77] ) ] ) ] spids: [69 70 81 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Simple words: [ {<echo>} { (SQ < 'error: run script either as `./get_toolchain.sh 32` or `./get_toolchain.sh 64`' > ) } ] redirects: [(redir.Redir op:<Id.Redir_GreatAnd '>&'> fd:-1 arg_word:{<2>})] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [84 85 103 -1] ) ] ) (C {<echo>} { (DQ <'Downloading '> ($ Id.VSub_DollarName '$host') <' toolchain, check '> ($ Id.VSub_DollarName '$PWD') <'/get_toolchain.log for full output'> ) } ) (command.Simple words: [ {<contrib/windows/winrpm.sh>} {<http> <Id.Lit_Other ':'> <//download.opensuse.org/repositories/windows> <Id.Lit_Other ':'> </mingw> <Id.Lit_Other ':'> </win> ($ Id.VSub_DollarName '$bits') </openSUSE_Leap_42.2> } { (DQ <mingw> ($ Id.VSub_DollarName '$bits') <'-gcc mingw'> ($ Id.VSub_DollarName '$bits') <'-gcc-c++ mingw'> ($ Id.VSub_DollarName '$bits') <'-gcc-fortran '> <' mingw'> ($ Id.VSub_DollarName '$bits') <'-libssp0 mingw'> ($ Id.VSub_DollarName '$bits') <'-libstdc++6 mingw'> ($ Id.VSub_DollarName '$bits') <-libgfortran3> ) } ] redirects: [(redir.Redir op:<Id.Redir_Great '>'> fd:-1 arg_word:{<get_toolchain.log>})] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mingwdir) op: assign_op.Equal rhs: {<usr/> ($ Id.VSub_DollarName '$host') </sys-root/mingw>} spids: [154] ) ] ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {($ Id.VSub_DollarName '$mingwdir') </bin/> <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$mingwdir') </> ($ Id.VSub_DollarName '$host') </bin/> <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$mingwdir') </libexec/gcc/> ($ Id.VSub_DollarName '$host') </> <Id.Lit_Star '*'> </> <Id.Lit_Star '*'> } ) (C {<mkdir>} {<-p>} {<usr/bin>}) (command.ForEach iter_name: i iter_words: [ {<gcc_s_> ($ Id.VSub_DollarName '$exc') <-1>} {<ssp-0>} {<stdc> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <-6>} {<gfortran-3>} {<quadmath-0>} ] do_arg_iter: F body: (command.DoGroup children: [ (C {<cp>} {($ Id.VSub_DollarName '$mingwdir') </bin/lib> ($ Id.VSub_DollarName '$i') <.dll>} {<usr/bin>} ) ] ) ) (C {($ Id.VSub_DollarName '$mingwdir') </bin/g> <Id.Lit_Other '+'> <Id.Lit_Other '+'>} {<--version>} ) (C {<cp>} {($ Id.VSub_DollarName '$mingwdir') </> ($ Id.VSub_DollarName '$host') </bin/> <Id.Lit_Star '*'>} {($ Id.VSub_DollarName '$mingwdir') </bin>} ) (command.Case to_match: { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children:[(C {<uname>})]) ) } arms: [ (case_arm pat_list: [{<CYGWIN> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mklink) op: assign_op.Equal rhs: {(DQ <'cmd /C mklink /J'>)} spids: [259] ) ] ) (command.ForEach iter_name: i iter_words: [{<gcc>} {<g> <Id.Lit_Other '+'> <Id.Lit_Other '+'>} {<gfortran>}] do_arg_iter: F body: (command.DoGroup children: [ (C {<mv>} {($ Id.VSub_DollarName '$mingwdir') </bin/> ($ Id.VSub_DollarName '$i') <.exe>} {($ Id.VSub_DollarName '$mingwdir') </bin/> ($ Id.VSub_DollarName '$host') <-> ($ Id.VSub_DollarName '$i') <.exe> } ) ] ) ) ] spids: [254 256 305 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:mklink) op: assign_op.Equal rhs: {(DQ <'cmd //C mklink //J'>)} spids: [312] ) ] ) ] spids: [308 309 318 -1] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {<Id.Lit_LBracket '['>} {<-e>} {($ Id.VSub_DollarName '$mingwdir') </> ($ Id.VSub_DollarName '$host') </include>} {<Id.Lit_RBracket ']'>} ) ] negated: T ) terminator: <Id.Op_Semi _> ) ] action: [ (C {($ Id.VSub_DollarName '$mklink')} { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [ (C {<cygpath>} {<-w>} {($ Id.VSub_DollarName '$mingwdir') </> ($ Id.VSub_DollarName '$host') </include> } ) ] ) ) } { (command_sub left_token: <Id.Left_DollarParen '$('> command_list: (command.CommandList children: [(C {<cygpath>} {<-w>} {($ Id.VSub_DollarName '$mingwdir') </include>})] ) ) } ) ] spids: [322 338] ) ] ) (C {<echo>} { (DQ <'Toolchain successfully downloaded to '> ($ Id.VSub_DollarName '$PWD') </> ($ Id.VSub_DollarName '$mingwdir') ) } ) (C {<echo>} { (DQ <'Add toolchain to your path by running '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) <'export PATH='> ($ Id.VSub_DollarName '$PWD') </> ($ Id.VSub_DollarName '$mingwdir') <'/bin:'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'>) <PATH> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\`'>) ) } ) ] )