(List (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -z]} {[DQ [VarSub 1]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Usage: "][VarSub 0][LIT_CHARS " "]]}) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]}) ) ) (= scope= flags=0 words=[] bindings=[('UNAME', {[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Linux]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('SHLIB_EXT', {[DQ [LIT_CHARS so]]})]) (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('SHLIB_EXT', {[DQ [LIT_CHARS dylib]]})]) (ElseTrue) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "WARNING: Could not autodetect platform type ('uname -s' == "][VarSub UNAME][LIT_CHARS "); assuming Linux"]]}) (= scope= flags=0 words=[] bindings=[('UNAME', {[DQ [LIT_CHARS Linux]]})]) (= scope= flags=0 words=[] bindings=[('SHLIB_EXT', {[DQ [LIT_CHARS so]]})]) ) ) (= scope= flags=0 words=[] bindings=[('private_libdir', {[VarSub 1]})]) (If (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub private_libdir][LIT_CHARS /libarpack.][VarSub SHLIB_EXT]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "ERROR: Could not open "][VarSub private_libdir][LIT_CHARS /libarpack.][VarSub SHLIB_EXT]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 2]}) ) ) (FunctionDef find_shlib [] (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub private_libdir][LIT_CHARS /lib][VarSub 1][LIT_CHARS .][VarSub SHLIB_EXT]]} {[LIT_OTHER "]"]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Linux]]} {[LIT_OTHER "]"]}) (Pipeline (Com {[LIT_CHARS ldd]} {[DQ [VarSub private_libdir][LIT_CHARS /lib][VarSub 1][LIT_CHARS .][VarSub SHLIB_EXT]]}) (Com {[LIT_CHARS grep]} {[VarSub 2]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d] [SQ ]} {[LIT_CHARS -f3]}) (Com {[LIT_CHARS xargs]}) ) (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (Pipeline (Com {[LIT_CHARS otool]} {[LIT_CHARS -L]} {[DQ [VarSub private_libdir][LIT_CHARS /lib][VarSub 1][LIT_CHARS .][VarSub SHLIB_EXT]]}) (Com {[LIT_CHARS grep]} {[VarSub 2]}) (Com {[LIT_CHARS cut]} {[LIT_CHARS -d] [SQ ]} {[LIT_CHARS -f1]}) (Com {[LIT_CHARS xargs]}) ) ) ) ) (For lib [{[LIT_CHARS arpack]}, {[LIT_CHARS openlibm]}, {[LIT_CHARS openspecfun]}, {[LIT_CHARS lapack]}]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub private_libdir][LIT_CHARS /lib][VarSub lib][LIT_CHARS .][VarSub SHLIB_EXT]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('LIBGFORTRAN_DIRS', {[DQ [VarSub LIBGFORTRAN_DIRS][LIT_CHARS " "][ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS dirname]} {[ComSub (Com {[LIT_CHARS find_shlib]} {[VarSub lib]} {[LIT_CHARS libgfortran]})]})]]})]) (= scope= flags=0 words=[] bindings=[('LIBGFORTRAN_DIRS', {[DQ [VarSub LIBGFORTRAN_DIRS][LIT_CHARS " "][ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS dirname]} {[ComSub (Com {[LIT_CHARS find_shlib]} {[VarSub lib]} {[LIT_CHARS libgcc_s]})]})]]})]) (= scope= flags=0 words=[] bindings=[('LIBGFORTRAN_DIRS', {[DQ [VarSub LIBGFORTRAN_DIRS][LIT_CHARS " "][ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS dirname]} {[ComSub (Com {[LIT_CHARS find_shlib]} {[VarSub lib]} {[LIT_CHARS libquadmath]})]})]]})]) ) ) ) (= scope= flags=0 words=[] bindings=[('LIBGFORTRAN_DIRS', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub LIBGFORTRAN_DIRS]]}) (Com {[LIT_CHARS tr]} {[DQ [LIT_CHARS " "]]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"]]}) (Com {[LIT_CHARS sort]}) (Com {[LIT_CHARS uniq]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[SQ ]}) (Com {[LIT_CHARS tr]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"]]} {[DQ [LIT_CHARS " "]]}) )]})]) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Linux]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('NAMEXTS', {[DQ [LIT_CHARS "gcc_s.so.1 gfortran.so.3 quadmath.so.0"]]})]) (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (= scope= flags=0 words=[] bindings=[('NAMEXTS', {[DQ [LIT_CHARS "gcc_s.1.dylib gfortran.3.dylib quadmath.0.dylib"]]})]) ) (For namext [{[VarSub NAMEXTS]}]) (For dir [{[VarSub LIBGFORTRAN_DIRS]}]) (If (AndOr OP_AND_IF (Com {[LIT_OTHER "["]} {[LIT_OTHER "!"]} {[LIT_CHARS -f]} {[DQ [VarSub private_libdir][LIT_CHARS /lib][VarSub namext]]} {[LIT_OTHER "]"]}) (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub dir][LIT_CHARS /lib][VarSub namext]]} {[LIT_OTHER "]"]}) ) (List (Com {[LIT_CHARS cp]} {[LIT_CHARS -v]} {[DQ [VarSub dir][LIT_CHARS /lib][VarSub namext]]} {[DQ [VarSub private_libdir]]}) (Com {[LIT_CHARS chmod]} {[LIT_CHARS 755]} {[DQ [VarSub private_libdir][LIT_CHARS /lib][VarSub namext]]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (Com {[LIT_CHARS install_name_tool]} {[LIT_CHARS -id]} {[LIT_OTHER "@"] [LIT_CHARS rpath/lib] [VarSub namext]} {[DQ [VarSub private_libdir][LIT_CHARS /lib][VarSub namext]]}) ) ) ) ) ) (For lib [{[LIT_CHARS gfortran.3]}, {[LIT_CHARS quadmath.0]}, {[LIT_CHARS gcc_s.1]}]) (If (Com {[LIT_OTHER "["]} {[LIT_CHARS -f]} {[DQ [VarSub private_libdir][LIT_CHARS /lib][VarSub lib][LIT_CHARS .][VarSub SHLIB_EXT]]} {[LIT_OTHER "]"]}) (List (= scope= flags=0 words=[] bindings=[('LIBGFORTRAN_DIRS', {[DQ [VarSub LIBGFORTRAN_DIRS][LIT_CHARS " "][ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS dirname]} {[ComSub (Com {[LIT_CHARS find_shlib]} {[VarSub lib]} {[LIT_CHARS libgfortran]})]})]]})]) (= scope= flags=0 words=[] bindings=[('LIBGFORTRAN_DIRS', {[DQ [VarSub LIBGFORTRAN_DIRS][LIT_CHARS " "][ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS dirname]} {[ComSub (Com {[LIT_CHARS find_shlib]} {[VarSub lib]} {[LIT_CHARS libgcc_s]})]})]]})]) (= scope= flags=0 words=[] bindings=[('LIBGFORTRAN_DIRS', {[DQ [VarSub LIBGFORTRAN_DIRS][LIT_CHARS " "][ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS dirname]} {[ComSub (Com {[LIT_CHARS find_shlib]} {[VarSub lib]} {[LIT_CHARS libquadmath]})]})]]})]) ) ) ) (= scope= flags=0 words=[] bindings=[('LIBGFORTRAN_DIRS', {[ComSub (Pipeline (Com {[LIT_CHARS echo]} {[DQ [VarSub LIBGFORTRAN_DIRS]]}) (Com {[LIT_CHARS tr]} {[DQ [LIT_CHARS " "]]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"]]}) (Com {[LIT_CHARS sort]}) (Com {[LIT_CHARS uniq]}) (Com {[LIT_CHARS grep]} {[LIT_CHARS -v]} {[SQ ]}) (Com {[LIT_CHARS tr]} {[DQ [\ LIT_ESCAPED_CHAR "\\n"]]} {[DQ [LIT_CHARS " "]]}) )]})]) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Found traces of libgfortran/libgcc in "][VarSub LIBGFORTRAN_DIRS]]}) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Darwin]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS cd]} {[VarSub private_libdir]}) (For file [{[LIT_CHARS openlibm]}, {[LIT_CHARS quadmath.0]}, {[LIT_CHARS gfortran.3]}, {[LIT_CHARS openblas]}, {[LIT_CHARS arpack]}, {[LIT_CHARS lapack]}, {[LIT_CHARS openspecfun]}]) (For dylib [{[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS ls]} {[LIT_CHARS lib] [VarSub file] [LIT_OTHER "*"] [LIT_CHARS .dylib] [LIT_OTHER "*"]})]}]) (For dir [{[VarSub LIBGFORTRAN_DIRS]}]) (List (Com {[LIT_CHARS install_name_tool]} {[LIT_CHARS -change]} {[DQ [VarSub dir][LIT_CHARS /libgfortran.3.dylib]]} {[LIT_OTHER "@"] [LIT_CHARS rpath/libgfortran.3.dylib]} {[VarSub dylib]}) (Com {[LIT_CHARS install_name_tool]} {[LIT_CHARS -change]} {[DQ [VarSub dir][LIT_CHARS /libquadmath.0.dylib]]} {[LIT_OTHER "@"] [LIT_CHARS rpath/libquadmath.0.dylib]} {[VarSub dylib]}) (Com {[LIT_CHARS install_name_tool]} {[LIT_CHARS -change]} {[DQ [VarSub dir][LIT_CHARS /libgcc_s.1.dylib]]} {[LIT_OTHER "@"] [LIT_CHARS rpath/libgcc_s.1.dylib]} {[VarSub dylib]}) ) ) ) ) ) ) (If (Com {[LIT_OTHER "["]} {[DQ [VarSub UNAME]]} {[LIT_OTHER "="]} {[DQ [LIT_CHARS Linux]]} {[LIT_OTHER "]"]}) (List (Com {[LIT_CHARS cd]} {[VarSub private_libdir]}) (For file [{[LIT_CHARS openlibm]}, {[LIT_CHARS quadmath]}, {[LIT_CHARS gfortran]}, {[LIT_CHARS openblas]}, {[LIT_CHARS arpack]}, {[LIT_CHARS lapack]}, {[LIT_CHARS openspecfun]}]) (For dylib [{[ComSub (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS ls]} {[LIT_CHARS lib] [VarSub file] [LIT_OTHER "*"] [LIT_CHARS .so] [LIT_OTHER "*"]})]}]) (Com {[LIT_CHARS patchelf]} {[LIT_CHARS --set-rpath]} {[\ LIT_ESCAPED_CHAR "\\$"] [LIT_CHARS ORIGIN]} {[VarSub dylib]}) ) ) ) ) )