(command.CommandList children: [ (command.ShFunction name: fatal_error body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<print>} {<-u2>} {(DQ (${ Id.VSub_Name progname) <': '> ($ Id.VSub_Star '*'))}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (C {<set>} {<-o>} {<errexit>}) (C {<set>} {<-o>} {<xtrace>}) (C {<typeset>} {<Id.Lit_VarLike 'progname='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<basename>} {(DQ (${ Id.VSub_Number 0))}) right: <Id.Eof_RParen _> ) ) } ) (C {<typeset>} {<Id.Lit_VarLike 'buildmode='> (DQ ($ Id.VSub_Number 1))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name buildmode))} right: {(DQ )} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fatal_error>} {(DQ <'buildmode required.'>)})] spids: [164 183] ) ] else_action: [] redirects: [] ) (C {<export>} {<Id.Lit_VarLike 'LANG='> <C>}) (C {<export>} {<Id.Lit_VarLike 'LC_ALL='> ($ Id.VSub_DollarName LANG)} {<Id.Lit_VarLike 'LC_MONETARY='> ($ Id.VSub_DollarName LANG)} {<Id.Lit_VarLike 'LC_NUMERIC='> ($ Id.VSub_DollarName LANG)} {<Id.Lit_VarLike 'LC_MESSAGES='> ($ Id.VSub_DollarName LANG)} {<Id.Lit_VarLike 'LC_COLLATE='> ($ Id.VSub_DollarName LANG)} {<Id.Lit_VarLike 'LC_CTYPE='> ($ Id.VSub_DollarName LANG)} ) (C {<export>} {<Id.Lit_VarLike 'PATH='> <'/usr/xpg6/bin'> <Id.Lit_Colon ':'> <'/usr/xpg4/bin'> <Id.Lit_Colon ':'> <'/usr/ccs/bin'> <Id.Lit_Colon ':'> <'/usr/bin'> <Id.Lit_Colon ':'> <'/bin'> <Id.Lit_Colon ':'> <'/opt/SUNWspro/bin'> } ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<uname>} {<-s>}) right: <Id.Eof_RParen _> ) ) } right: {(DQ <SunOS>)} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id: Id.BoolUnary_x child: {(DQ <'/usr/xpg6/bin/tr'>)} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<fatal_error>} {(DQ <'XPG6/4 packages (SUNWxcu6,SUNWxcu4) not installed.'>)}) ] spids: [276 292] ) ] else_action: [] redirects: [] ) ] spids: [251 273] ) ] else_action: [] redirects: [] ) (command.ShFunction name: print_solaris_builtin_header body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<ENDOFTEXT>} here_end_span_id: 576 stdin_parts: [ <'/*\n'> <' * CDDL HEADER START\n'> <' *\n'> <' * The contents of this file are subject to the terms of the\n'> <' * Common Development and Distribution License (the '> <Id.Right_DoubleQuote '"'> <License> <Id.Right_DoubleQuote '"'> <').\n'> <' * You may not use this file except in compliance with the License.\n'> <' *\n'> <' * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE\n'> <' * or http://www.opensolaris.org/os/licensing.\n'> <' * See the License for the specific language governing permissions\n'> <' * and limitations under the License.\n'> <' *\n'> <' * When distributing Covered Code, include this CDDL HEADER in each\n'> <' * file and include the License file at usr/src/OPENSOLARIS.LICENSE.\n'> <' * If applicable, add the following below this CDDL HEADER, with the\n'> <' * fields enclosed by brackets '> <Id.Right_DoubleQuote '"'> <'[]'> <Id.Right_DoubleQuote '"'> <' replaced with your own identifying\n'> <' * information: Portions Copyright [yyyy] [name of copyright owner]\n'> <' *\n'> <' * CDDL HEADER END\n'> <' */\n'> <'\n'> <'/*\n'> < ' * Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.\n' > <' */\n'> <'\n'> <'#ifndef _SOLARIS_KSH_CMDLIST_H\n'> <'#define\t_SOLARIS_KSH_CMDLIST_H\n'> <'\n'> <'#ifdef\t__cplusplus\n'> <'extern '> <Id.Right_DoubleQuote '"'> <C> <Id.Right_DoubleQuote '"'> <' {\n'> <'#endif\n'> <'\n'> <'/*\n'> <' * List builtins for Solaris.\n'> <' * The list here is partially autogenerated and partially hand-picked\n'> <' * based on compatibility with the native Solaris versions of these\n'> <' * tools\n'> <' */\n'> <'\n'> <'/*\n'> < ' * Commands which are 100% compatible with native Solaris versions (/bin is\n' > <' * a softlink to ./usr/bin, ksh93 takes care about the lookup)\n'> <' */\n'> <'#define\tBINCMDLIST(f)\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\n'> <'\t{ '> <Id.Right_DoubleQuote '"'> <'/bin/'> <Id.Right_DoubleQuote '"'> <'\t#f, NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },\n'> <'#define\tUSRBINCMDLIST(f)\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\n'> <'\t{ '> <Id.Right_DoubleQuote '"'> <'/usr/bin/'> <Id.Right_DoubleQuote '"'> <'\t#f, NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },\n'> <'#define\tSBINCMDLIST(f)\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\n'> <'\t{ '> <Id.Right_DoubleQuote '"'> <'/sbin/'> <Id.Right_DoubleQuote '"'> <'\t#f, NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },\n'> <'#define\tSUSRBINCMDLIST(f)\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\n'> <'\t{ '> <Id.Right_DoubleQuote '"'> <'/usr/sbin/'> <Id.Right_DoubleQuote '"'> <'\t#f, NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },\n'> <'/* POSIX compatible commands */\n'> <'#define\tXPG6CMDLIST(f)\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\n'> <'\t{ '> <Id.Right_DoubleQuote '"'> <'/usr/xpg6/bin/'> <Id.Right_DoubleQuote '"'> <' #f, NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },\n'> <'#define\tXPG4CMDLIST(f)\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\n'> <'\t{ '> <Id.Right_DoubleQuote '"'> <'/usr/xpg4/bin/'> <Id.Right_DoubleQuote '"'> <' #f, NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },\n'> <'#ifdef SHOPT_USR_GNU_BIN_BUILTINS\n'> <'/* GNU coreutils compatible commands */\n'> <'#define\tGNUCMDLIST(f)\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\n'> <'\t{ '> <Id.Right_DoubleQuote '"'> <'/usr/gnu/bin/'> <Id.Right_DoubleQuote '"'> <' #f, NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },\n'> <'#else\n'> <'#define\tGNUCMDLIST(f)\n'> <'#endif\n'> <'/*\n'> <' * Make all ksh93 builtins accessible when /usr/ast/bin was added to\n'> < ' * /usr/xpg6/bin:/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/bin:/opt/SUNWspro/bin\n' > <' */\n'> <'#define\tASTCMDLIST(f)\t'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) <'\n'> <'\t{ '> <Id.Right_DoubleQuote '"'> <'/usr/ast/bin/'> <Id.Right_DoubleQuote '"'> <' #f, NV_BLTIN|NV_BLTINOPT|NV_NOFREE, bltin(f) },\n'> <'\n'> <'/* undo ast_map.h #defines to avoid collision */\n'> <'#undef basename\n'> <'#undef dirname\n'> <'#undef mktemp\n'> <'\n'> <'/* Generated data, do not edit. */\n'> <'ASTCMDLIST(basename)\n'> <'GNUCMDLIST(basename)\n'> <'XPG4CMDLIST(basename)\n'> <'ASTCMDLIST(cat)\n'> <'BINCMDLIST(cat)\n'> <'ASTCMDLIST(chgrp)\n'> <'// XPG4CMDLIST(chgrp)\n'> <'ASTCMDLIST(chmod)\n'> <'ASTCMDLIST(chown)\n'> <'// XPG4CMDLIST(chown)\n'> <'BINCMDLIST(chown)\n'> <'ASTCMDLIST(cksum)\n'> <'BINCMDLIST(cksum)\n'> <'GNUCMDLIST(cksum)\n'> <'ASTCMDLIST(cmp)\n'> <'BINCMDLIST(cmp)\n'> <'ASTCMDLIST(comm)\n'> <'BINCMDLIST(comm)\n'> <'GNUCMDLIST(comm)\n'> <'ASTCMDLIST(cp)\n'> <'// XPG4CMDLIST(cp)\n'> <'ASTCMDLIST(cut)\n'> <'BINCMDLIST(cut)\n'> <'GNUCMDLIST(cut)\n'> <'ASTCMDLIST(date)\n'> <'// XPG4CMDLIST(date)\n'> <'ASTCMDLIST(dirname)\n'> <'BINCMDLIST(dirname)\n'> <'GNUCMDLIST(dirname)\n'> <'// ASTCMDLIST(egrep)\n'> <'// XPG4CMDLIST(egrep)\n'> <'ASTCMDLIST(expr)\n'> <'GNUCMDLIST(expr)\n'> <'XPG6CMDLIST(expr)\n'> <'ASTCMDLIST(fds)\n'> <'// ASTCMDLIST(fgrep)\n'> <'// XPG4CMDLIST(fgrep)\n'> <'ASTCMDLIST(fmt)\n'> <'ASTCMDLIST(fold)\n'> <'BINCMDLIST(fold)\n'> <'GNUCMDLIST(fold)\n'> <'// ASTCMDLIST(grep)\n'> <'// XPG4CMDLIST(grep)\n'> <'ASTCMDLIST(head)\n'> <'BINCMDLIST(head)\n'> <'ASTCMDLIST(id)\n'> <'XPG4CMDLIST(id)\n'> <'ASTCMDLIST(join)\n'> <'BINCMDLIST(join)\n'> <'GNUCMDLIST(join)\n'> <'ASTCMDLIST(ln)\n'> <'// XPG4CMDLIST(ln)\n'> <'ASTCMDLIST(logname)\n'> <'BINCMDLIST(logname)\n'> <'GNUCMDLIST(logname)\n'> <'ASTCMDLIST(md5sum)\n'> <'ASTCMDLIST(mkdir)\n'> <'BINCMDLIST(mkdir)\n'> <'GNUCMDLIST(mkdir)\n'> <'ASTCMDLIST(mkfifo)\n'> <'BINCMDLIST(mkfifo)\n'> <'GNUCMDLIST(mkfifo)\n'> <'ASTCMDLIST(mktemp)\n'> <'BINCMDLIST(mktemp)\n'> <'GNUCMDLIST(mktemp)\n'> <'ASTCMDLIST(mv)\n'> <'// XPG4CMDLIST(mv)\n'> <'ASTCMDLIST(paste)\n'> <'BINCMDLIST(paste)\n'> <'GNUCMDLIST(paste)\n'> <'ASTCMDLIST(pathchk)\n'> <'BINCMDLIST(pathchk)\n'> <'GNUCMDLIST(pathchk)\n'> <'// ASTCMDLIST(readlink)\n'> <'ASTCMDLIST(rev)\n'> <'BINCMDLIST(rev)\n'> <'ASTCMDLIST(rm)\n'> <'XPG4CMDLIST(rm)\n'> <'ASTCMDLIST(rmdir)\n'> <'BINCMDLIST(rmdir)\n'> <'GNUCMDLIST(rmdir)\n'> <'GNUCMDLIST(sleep)\n'> <'ASTCMDLIST(stty)\n'> <'// XPG4CMDLIST(stty)\n'> <'ASTCMDLIST(sum)\n'> <'BINCMDLIST(sum)\n'> <'ASTCMDLIST(sync)\n'> <'BINCMDLIST(sync)\n'> <'GNUCMDLIST(sync)\n'> <'SBINCMDLIST(sync)\n'> <'SUSRBINCMDLIST(sync)\n'> <'ASTCMDLIST(tail)\n'> <'BINCMDLIST(tail)\n'> <'XPG4CMDLIST(tail)\n'> <'ASTCMDLIST(tee)\n'> <'BINCMDLIST(tee)\n'> <'GNUCMDLIST(tee)\n'> <'ASTCMDLIST(tty)\n'> <'BINCMDLIST(tty)\n'> <'GNUCMDLIST(tty)\n'> <'ASTCMDLIST(uname)\n'> <'ASTCMDLIST(uniq)\n'> <'BINCMDLIST(uniq)\n'> <'GNUCMDLIST(uniq)\n'> <'ASTCMDLIST(wc)\n'> <'BINCMDLIST(wc)\n'> <'GNUCMDLIST(wc)\n'> <'// ASTCMDLIST(xgrep)\n'> <'// BINCMDLIST(xgrep)\n'> <'\n'> <'/* Mandatory for ksh93 test suite and AST scripts */\n'> <'BINCMDLIST(getconf)\n'> <'\n'> <'#ifdef\t__cplusplus\n'> <'}\n'> <'#endif\n'> <'#endif /* !_SOLARIS_KSH_CMDLIST_H */\n'> <'\n'> ] ) ) ] more_env: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: build_shell body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<set>} {<-o>} {<errexit>}) (C {<set>} {<-o>} {<xtrace>}) (command.Case to_match: {(DQ (${ Id.VSub_Name buildmode))} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.linux.> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bast_flags='> name:bast_flags) op: assign_op.Equal rhs: { (DQ <'-DSHOPT_CMDLIB_BLTIN=0 -DSH_CMDLIB_DIR='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'/usr/ast/bin'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' -DSHOPT_SYSRC -D_map_libc=1'> ) } spids: [627] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bgcc99='> name:bgcc99) op: assign_op.Equal rhs: {(DQ <'gcc -std=gnu99 '>)} spids: [645] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bgcc_ccflags='> name: bgcc_ccflags ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name bon_flags) <' '> (${ Id.VSub_Name bast_flags) <' -g'>) } spids: [651] ) ] redirects: [] ) (command.Case to_match: {(DQ (${ Id.VSub_Name buildmode))} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.i386.32bit.gcc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <linux.i386>)} spids: [685] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc99) <' -fPIC'>)} spids: [690] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-shared>)} spids: [698] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc_ccflags))} spids: [703] ) ] redirects: [] ) ] spids: [680 683 711 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<fatal_error>} { (DQ <'build_shell: Illegal Linux type/compiler build mode '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name buildmode) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <.> ) } ) ] spids: [714 715 731 -1] ) ] redirects: [] ) ] spids: [617 620 737 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.solaris.> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'solaris_builtin_header='> name: solaris_builtin_header ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name PWD) <'/tmp_solaris_builtin_header.h'>)} spids: [892] ) ] redirects: [] ) (command.Simple words: [{<print_solaris_builtin_header>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(DQ (${ Id.VSub_Name solaris_builtin_header))} ) ] more_env: [] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bon_flags='> name:bon_flags) op: assign_op.Equal rhs: {(DQ <'-D_TS_ERRNO -D_REENTRANT'>)} spids: [917] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bast_flags='> name:bast_flags) op: assign_op.Equal rhs: { (DQ <'-DSHOPT_CMDLIB_BLTIN=0 -DSH_CMDLIB_DIR='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'/usr/ast/bin'> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <' -DSHOPT_CMDLIB_HDR='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (${ Id.VSub_Name solaris_builtin_header) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <' -DSHOPT_SYSRC -D_map_libc=1'> ) } spids: [929] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bsunc99='> name:bsunc99) op: assign_op.Equal rhs: { (DQ < '/opt/SUNWspro/bin/cc -xc99=%all -D_XOPEN_SOURCE=600 -D__EXTENSIONS__=1' > ) } spids: [955] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bsuncc_app_ccflags_sparc='> name: bsuncc_app_ccflags_sparc ) op: assign_op.Equal rhs: {(DQ <'-xpagesize_stack=64K'>)} spids: [961] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bsuncc_ccflags='> name: bsuncc_ccflags ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name bon_flags) < ' -KPIC -g -xs -xspace -Xa -xstrconst -z combreloc -xildoff -xcsi -errtags=yes ' > (${ Id.VSub_Name bast_flags) <' -D_lib_socket=1 -lsocket -lnsl'> ) } spids: [970] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'bgcc99='> name:bgcc99) op: assign_op.Equal rhs: { (DQ < '/usr/sfw/bin/gcc -std=gnu99 -D_XOPEN_SOURCE=600 -D__EXTENSIONS__=1' > ) } spids: [988] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bgcc_warnflags='> name: bgcc_warnflags ) op: assign_op.Equal rhs: { (DQ < '-Wall -Wextra -Wno-unknown-pragmas -Wno-missing-braces -Wno-sign-compare -Wno-parentheses -Wno-uninitialized -Wno-implicit-function-declaration -Wno-unused -Wno-trigraphs -Wno-char-subscripts -Wno-switch' > ) } spids: [994] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bgcc_ccflags='> name: bgcc_ccflags ) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name bon_flags) <' '> (${ Id.VSub_Name bgcc_warnflags) <' '> (${ Id.VSub_Name bast_flags) <' -D_lib_socket=1 -lsocket -lnsl'> ) } spids: [1000] ) ] redirects: [] ) (command.Case to_match: {(DQ (${ Id.VSub_Name buildmode))} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.i386.32bit.suncc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.i386>)} spids: [1039] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsunc99) <' -m32'>)} spids: [1044] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-G>)} spids: [1052] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsuncc_ccflags))} spids: [1057] ) ] redirects: [] ) ] spids: [1034 1037 1064 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.i386.64bit.suncc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.i386>)} spids: [1072] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsunc99) <' -m64 -KPIC'>)} spids: [1077] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-G>)} spids: [1085] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsuncc_ccflags))} spids: [1090] ) ] redirects: [] ) ] spids: [1067 1070 1097 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.sparc.32bit.suncc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.sun4>)} spids: [1105] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsunc99) <' -m32'>)} spids: [1110] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-G>)} spids: [1118] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsuncc_ccflags))} spids: [1123] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bsuncc_app_ccflags='> name: bsuncc_app_ccflags ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsuncc_app_ccflags_sparc))} spids: [1130] ) ] redirects: [] ) ] spids: [1100 1103 1137 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.sparc.64bit.suncc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.sun4>)} spids: [1145] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsunc99) <' -m64 -dalign -KPIC'>)} spids: [1150] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-G>)} spids: [1158] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsuncc_ccflags))} spids: [1163] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bsuncc_app_ccflags='> name: bsuncc_app_ccflags ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bsuncc_app_ccflags_sparc))} spids: [1170] ) ] redirects: [] ) ] spids: [1140 1143 1177 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.i386.32bit.gcc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.i386>)} spids: [1186] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc99) <' -fPIC'>)} spids: [1191] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-shared>)} spids: [1199] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc_ccflags))} spids: [1204] ) ] redirects: [] ) ] spids: [1181 1184 1211 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.i386.64bit.gcc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.i386>)} spids: [1219] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: { (DQ (${ Id.VSub_Name bgcc99) <' -m64 -mtune=opteron -Ui386 -U__i386 -fPIC'> ) } spids: [1224] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-shared>)} spids: [1232] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc_ccflags))} spids: [1237] ) ] redirects: [] ) ] spids: [1214 1217 1244 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.sparc.32bit.gcc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.sun4>)} spids: [1252] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc99) <' -m32 -mcpu=v8 -fPIC'>)} spids: [1257] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-shared>)} spids: [1265] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc_ccflags))} spids: [1270] ) ] redirects: [] ) ] spids: [1247 1250 1277 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.sparc.64bit.gcc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.sun4>)} spids: [1285] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc99) <' -m64 -mcpu=v9 -fPIC'>)} spids: [1290] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-shared>)} spids: [1298] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc_ccflags))} spids: [1303] ) ] redirects: [] ) ] spids: [1280 1283 1310 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.s390.32bit.gcc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.s390>)} spids: [1318] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc99) <' -m32 -fPIC'>)} spids: [1323] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-shared>)} spids: [1331] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc_ccflags))} spids: [1336] ) ] redirects: [] ) ] spids: [1313 1316 1343 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <.s390.64bit.gcc> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'HOSTTYPE='> name: HOSTTYPE ) op: assign_op.Equal rhs: {(DQ <sol11.s390>)} spids: [1351] ) (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CC='> name:CC) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc99) <' -m64 -fPIC'>)} spids: [1356] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'cc_sharedlib='> name: cc_sharedlib ) op: assign_op.Equal rhs: {(DQ <-shared>)} spids: [1364] ) (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'CCFLAGS='> name: CCFLAGS ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name bgcc_ccflags))} spids: [1369] ) ] redirects: [] ) ] spids: [1346 1349 1376 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<fatal_error>} { (DQ <'build_shell: Illegal Solaris type/compiler build mode '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name buildmode) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <.> ) } ) ] spids: [1380 1381 1397 -1] ) ] redirects: [] ) ] spids: [740 743 1403 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<fatal_error>} { (DQ <'Illegal OS build mode '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name buildmode) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <.> ) } ) ] spids: [1406 1407 1423 -1] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{(DQ (${ Id.VSub_Name CCFLAGS))}) redirects: [] ) (C {<fatal_error>} {(DQ <'build_shell: CCFLAGS is empty.'>)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{(DQ (${ Id.VSub_Name CC))}) redirects: [] ) (C {<fatal_error>} {(DQ <'build_shell: CC is empty.'>)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Unary op_id:Id.BoolUnary_z child:{(DQ (${ Id.VSub_Name HOSTTYPE))}) redirects: [] ) (C {<fatal_error>} {(DQ <'build_shell: HOSTTYPE is empty.'>)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id:Id.BoolUnary_f child:{(DQ <'bin/package'>)}) ) redirects: [] ) (C {<fatal_error>} {(DQ <'build_shell: bin/package missing.'>)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id:Id.BoolUnary_x child:{(DQ <'bin/package'>)}) ) redirects: [] ) (C {<fatal_error>} {(DQ <'build_shell: bin/package not executable.'>)}) ] ) (C {<export>} {<CCFLAGS>} {<CC>} {<HOSTTYPE>}) (C {<'bin/package'>} {<make>} {<Id.Lit_VarLike 'CCFLAGS='> (DQ (${ Id.VSub_Name CCFLAGS))} {<Id.Lit_VarLike 'CC='> (DQ (${ Id.VSub_Name CC))} {<Id.Lit_VarLike 'HOSTTYPE='> (DQ (${ Id.VSub_Name HOSTTYPE))} ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'root='> name:root) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name PWD) <'/arch/'> (${ Id.VSub_Name HOSTTYPE))} spids: [1581] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id:Id.BoolUnary_d child:{(DQ ($ Id.VSub_DollarName root))}) redirects: [] ) (C {<fatal_error>} {(DQ <'build_shell: directory '> (${ Id.VSub_Name root) <' not found.'>)} ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'log='> name:log) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name root) <'/lib/package/gen/make.out'>)} spids: [1616] ) ] redirects: [] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.DBracket expr: (bool_expr.Unary op_id:Id.BoolUnary_s child:{($ Id.VSub_DollarName log)}) redirects: [] ) (C {<fatal_error>} {(DQ <'build_shell: no make.out log found.'>)}) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {(${ Id.VSub_Name root) <'/lib/libast-g.a'>} ) redirects: [] ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libast='> name: link_libast ) op: assign_op.Equal rhs: {(DQ <ast-g>)} spids: [1659] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [1644 1657] ) ] else_action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libast='> name: link_libast ) op: assign_op.Equal rhs: {(DQ <ast>)} spids: [1668] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {(${ Id.VSub_Name root) <'/lib/libdll-g.a'>} ) redirects: [] ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libdll='> name: link_libdll ) op: assign_op.Equal rhs: {(DQ <dll-g>)} spids: [1693] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [1678 1691] ) ] else_action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libdll='> name: link_libdll ) op: assign_op.Equal rhs: {(DQ <dll>)} spids: [1702] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {(${ Id.VSub_Name root) <'/lib/libsum-g.a'>} ) redirects: [] ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libsum='> name: link_libsum ) op: assign_op.Equal rhs: {(DQ <sum-g>)} spids: [1727] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [1712 1725] ) ] else_action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libsum='> name: link_libsum ) op: assign_op.Equal rhs: {(DQ <sum>)} spids: [1736] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {(${ Id.VSub_Name root) <'/lib/libcmd-g.a'>} ) redirects: [] ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libcmd='> name: link_libcmd ) op: assign_op.Equal rhs: {(DQ <cmd-g>)} spids: [1761] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [1746 1759] ) ] else_action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libcmd='> name: link_libcmd ) op: assign_op.Equal rhs: {(DQ <cmd>)} spids: [1770] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {(${ Id.VSub_Name root) <'/lib/libshell-g.a'>} ) redirects: [] ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libshell='> name: link_libshell ) op: assign_op.Equal rhs: {(DQ <shell-g>)} spids: [1795] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [1780 1793] ) ] else_action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link_libshell='> name: link_libshell ) op: assign_op.Equal rhs: {(DQ <shell>)} spids: [1804] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: {(DQ (${ Id.VSub_Name buildmode))} right: {<Id.Lit_Other '*'> <.staticshell> <Id.Lit_Other '*'>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ForEach iter_names: [lib] iterable: (for_iter.Words words: [{<libast>} {<libdll>} {<libsum>} {<libcmd>} {<libshell>}] ) body: (command.DoGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_DollarName lib))} arms: [ (case_arm pat_list: [{<libshell>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'base='> name: base ) op: assign_op.Equal rhs: {(DQ <'src/cmd/ksh93/'>)} spids: [1884] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'vers='> name: vers ) op: assign_op.Equal rhs: {<1>} spids: [1890] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link='> name: link ) op: assign_op.Equal rhs: { (DQ <-L> (${ Id.VSub_Name root) <'/lib/ -l'> (${ Id.VSub_Name link_libcmd) <' -l'> (${ Id.VSub_Name link_libsum) <' -l'> (${ Id.VSub_Name link_libdll) <' -l'> (${ Id.VSub_Name link_libast) <' -lm'> ) } spids: [1894] ) ] redirects: [] ) ] spids: [1880 1881 1920 -1] ) (case_arm pat_list: [{<libdll>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'base='> name: base ) op: assign_op.Equal rhs: {(DQ <'src/lib/'> (${ Id.VSub_Name lib))} spids: [1927] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'vers='> name: vers ) op: assign_op.Equal rhs: {<1>} spids: [1936] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link='> name: link ) op: assign_op.Equal rhs: {(DQ <-ldl>)} spids: [1940] ) ] redirects: [] ) ] spids: [1923 1924 1946 -1] ) (case_arm pat_list: [{<libast>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'base='> name: base ) op: assign_op.Equal rhs: {(DQ <'src/lib/'> (${ Id.VSub_Name lib))} spids: [1953] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'vers='> name: vers ) op: assign_op.Equal rhs: {<1>} spids: [1962] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link='> name: link ) op: assign_op.Equal rhs: {(DQ <-lm>)} spids: [1966] ) ] redirects: [] ) ] spids: [1949 1950 1972 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'base='> name: base ) op: assign_op.Equal rhs: {(DQ <'src/lib/'> (${ Id.VSub_Name lib))} spids: [1979] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'vers='> name: vers ) op: assign_op.Equal rhs: {<1>} spids: [1988] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'link='> name: link ) op: assign_op.Equal rhs: { (DQ <-L> (${ Id.VSub_Name root) <'/lib/ -l'> (${ Id.VSub_Name link_libast) <' -lm'> ) } spids: [1992] ) ] redirects: [] ) ] spids: [1975 1976 2006 -1] ) ] redirects: [] ) (command.Subshell child: (command.CommandList children: [ (C {<cd>} {(DQ (${ Id.VSub_Name root) <'/'> (${ Id.VSub_Name base))}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {(${ Id.VSub_Name lib) <-g.a>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib_a='> name: lib_a ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name lib) <-g.a>)} spids: [2048] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] spids: [2031 2046] ) ] else_action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'lib_a='> name: lib_a ) op: assign_op.Equal rhs: {(DQ (${ Id.VSub_Name lib) <.a>)} spids: [2060] ) ] redirects: [] ) terminator: <Id.Op_Semi _> ) ] redirects: [] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name buildmode))} right: {<Id.Lit_Other '*'> <solaris> <Id.Lit_Other '*'> } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {(${ Id.VSub_Name CC)} {(${ Id.VSub_Name cc_sharedlib)} {(${ Id.VSub_Name CCFLAGS)} {<-Bdirect>} {<-Wl> <Id.Lit_Comma ','> <-zallextract>} {<-Wl> <Id.Lit_Comma ','> <-zmuldefs>} {<-o>} { (DQ (${ Id.VSub_Name root) <'/lib/'> (${ Id.VSub_Name lib) <.so.> (${ Id.VSub_Name vers) ) } {(DQ (${ Id.VSub_Name lib_a))} {($ Id.VSub_DollarName link)} ) ] spids: [2075 2095] ) ] else_action: [ (C {(${ Id.VSub_Name CC)} {(${ Id.VSub_Name cc_sharedlib)} {(${ Id.VSub_Name CCFLAGS)} {<-Wl> <Id.Lit_Comma ','> <--whole-archive>} {<-Wl> <Id.Lit_Comma ','> <-zmuldefs>} {(DQ (${ Id.VSub_Name lib_a))} {<-Wl> <Id.Lit_Comma ','> <--no-whole-archive>} {<-o>} { (DQ (${ Id.VSub_Name root) <'/lib/'> (${ Id.VSub_Name lib) <.so.> (${ Id.VSub_Name vers) ) } {($ Id.VSub_DollarName link)} ) ] redirects: [] ) (C {<mv>} {(DQ (${ Id.VSub_Name lib_a))} {(DQ <disabled_> (${ Id.VSub_Name lib_a) <_>)} ) (C {<cd>} {(DQ (${ Id.VSub_Name root) <'/lib'>)}) (C {<ln>} {<-sf>} {(DQ (${ Id.VSub_Name lib) <.so.> (${ Id.VSub_Name vers))} {(DQ (${ Id.VSub_Name lib) <.so>)} ) ] ) redirects: [] ) ] ) redirects: [] ) (command.Subshell child: (command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base='> name:base) op: assign_op.Equal rhs: {<'src/cmd/ksh93'>} spids: [2266] ) ] redirects: [] ) (C {<cd>} {(DQ (${ Id.VSub_Name root) <'/'> (${ Id.VSub_Name base))}) (C {<rm>} {<-f>} {(DQ (${ Id.VSub_Name root) <'/lib/libshell.a'>)} {(DQ (${ Id.VSub_Name root) <'/lib/libshell-g.a'>)} {(DQ (${ Id.VSub_Name root) <'/lib/libsum.a'>)} {(DQ (${ Id.VSub_Name root) <'/lib/libsum-g.a'>)} {(DQ (${ Id.VSub_Name root) <'/lib/libdll.a'>)} {(DQ (${ Id.VSub_Name root) <'/lib/libdll-g.a'>)} {(DQ (${ Id.VSub_Name root) <'/lib/libast.a'>)} {(DQ (${ Id.VSub_Name root) <'/lib/libast-g.a'>)} ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name buildmode))} right: {<Id.Lit_Other '*'> <solaris> <Id.Lit_Other '*'>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {(${ Id.VSub_Name CC)} {(${ Id.VSub_Name CCFLAGS)} {(${ Id.VSub_Name bsuncc_app_ccflags)} {<-L> (${ Id.VSub_Name root) <'/lib/'>} {<-Bdirect>} {<-o>} {<ksh>} {<pmain.o>} {<-lshell>} {<-Bstatic>} {<-l> (${ Id.VSub_Name link_libcmd)} {<-Bdynamic>} {<-lsum>} {<-ldll>} {<-last>} {<-lm>} {<-lmd>} {<-lsecdb>} ) ] spids: [2353 2373] ) ] else_action: [ (C {(${ Id.VSub_Name CC)} {(${ Id.VSub_Name CCFLAGS)} {(${ Id.VSub_Name bsuncc_app_ccflags)} {<-L> (${ Id.VSub_Name root) <'/lib/'>} {<-o>} {<ksh>} {<pmain.o>} {<-lshell>} {<-lcmd>} {<-lsum>} {<-ldll>} {<-last>} {<-lm>} ) ] redirects: [] ) (C {<file>} {<ksh>}) (C {<file>} {<shcomp>}) (C {<export>} {<Id.Lit_VarLike 'LD_LIBRARY_PATH='> (DQ (${ Id.VSub_Name root) <'/lib:'> (${ Id.VSub_Name LD_LIBRARY_PATH)) } ) (C {<export>} {<Id.Lit_VarLike 'LD_LIBRARY_PATH_32='> (DQ (${ Id.VSub_Name root) <'/lib:'> (${ Id.VSub_Name LD_LIBRARY_PATH_32) ) } ) (C {<export>} {<Id.Lit_VarLike 'LD_LIBRARY_PATH_64='> (DQ (${ Id.VSub_Name root) <'/lib:'> (${ Id.VSub_Name LD_LIBRARY_PATH_64) ) } ) (C {<ldd>} {<ksh>}) ] ) redirects: [] ) ] spids: [1815 1835] ) ] else_action: [] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: test_builtin_getconf body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Subshell child: (command.CommandList children: [ (C {<print>} {(DQ <'# testing getconf builtin...'>)}) (C {<set>} {<Id.Lit_Other '+'> <o>} {<errexit>}) (C {<export>} {<Id.Lit_VarLike 'PATH='> <'/bin'> <Id.Lit_Colon ':'> <'/usr/bin'>}) (command.ForEach iter_names: [lang] iterable: (for_iter.Words words:[{(${ Id.VSub_Name TEST_LANG)}]) body: (command.DoGroup children: [ (command.Subshell child: (command.CommandList children: [ (C {<printf>} {(DQ <'## testing LANG=%s'> <Id.Lit_BadBackslash '\\'> <n>)} {(DQ (${ Id.VSub_Name lang))} ) (C {<export>} {<Id.Lit_VarLike 'LC_ALL='> (DQ (${ Id.VSub_Name lang))} {<Id.Lit_VarLike 'LANG='> (DQ (${ Id.VSub_Name lang))} ) (C {(${ Id.VSub_Name SHELL)} {<-c>} { (SQ <'/usr/bin/getconf -a | \n'> <' while read i ; do \n'> <' t="${i%:*}" ; a="$(getconf "$t" 2>/dev/null)" ; \n'> < ' b="$(/usr/bin/getconf "$t" 2>/dev/null)" ; [ "$a" != "$b" ] && print "# |$t|:|$a| != |$b|" ;\n' > <' done'> ) } ) ] ) redirects: [] ) ] ) redirects: [] ) (C {<print>} {(DQ <'# testing getconf done.'>)}) ] ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: test_shell body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (C {<set>} {<-o>} {<errexit>}) (C {<set>} {<-o>} {<xtrace>}) (C {<ulimit>} {<-s>} {<65536>}) (C {<export>} {<Id.Lit_VarLike 'SHELL='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<ls>} {<-1>} {($ Id.VSub_DollarName PWD) <'/arch/'> <Id.Lit_Star '*'> <'/src/cmd/ksh93/ksh'>} ) right: <Id.Eof_RParen _> ) ) } ) (C {<export>} {<Id.Lit_VarLike 'LD_LIBRARY_PATH='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<ls>} {<-1ad>} {($ Id.VSub_DollarName PWD) <'/arch/'> <Id.Lit_Star '*'> <'/lib'>} ) right: <Id.Eof_RParen _> ) <':'> (${ Id.VSub_Name LD_LIBRARY_PATH) ) } ) (C {<export>} {<Id.Lit_VarLike 'LD_LIBRARY_PATH_32='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<ls>} {<-1ad>} {($ Id.VSub_DollarName PWD) <'/arch/'> <Id.Lit_Star '*'> <'/lib'>} ) right: <Id.Eof_RParen _> ) <':'> (${ Id.VSub_Name LD_LIBRARY_PATH_32) ) } ) (C {<export>} {<Id.Lit_VarLike 'LD_LIBRARY_PATH_64='> (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<ls>} {<-1ad>} {($ Id.VSub_DollarName PWD) <'/arch/'> <Id.Lit_Star '*'> <'/lib'>} ) right: <Id.Eof_RParen _> ) <':'> (${ Id.VSub_Name LD_LIBRARY_PATH_64) ) } ) (C {<printf>} {(DQ <'## SHELL is |%s|'> <Id.Lit_BadBackslash '\\'> <n>)} {(DQ (${ Id.VSub_Name SHELL))} ) (C {<printf>} {(DQ <'## LD_LIBRARY_PATH is |%s|'> <Id.Lit_BadBackslash '\\'> <n>)} {(DQ (${ Id.VSub_Name LD_LIBRARY_PATH))} ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id:Id.BoolUnary_f child:{(DQ (${ Id.VSub_Name SHELL))}) ) redirects: [] ) (C {<fatal_error>} {(DQ <'test_shell: |'> (${ Id.VSub_Name SHELL) <'| is not a file.'>)}) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id:Id.BoolUnary_x child:{(DQ (${ Id.VSub_Name SHELL))}) ) redirects: [] ) (C {<fatal_error>} {(DQ <'test_shell: |'> (${ Id.VSub_Name SHELL) <'| is not executable.'>)} ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (command.DBracket expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {(DQ (${ Id.VSub_Name TEST_LANG))} right: {(DQ )} ) redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TEST_LANG='> name:TEST_LANG) op: assign_op.Equal rhs: {(DQ <'C zh_CN.GB18030 en_US.UTF-8'>)} spids: [2871] ) ] redirects: [] ) ] ) (command.Case to_match: {(DQ (${ Id.VSub_Name buildmode))} arms: [ (case_arm pat_list: [{<testshell.bcheck> <Id.Lit_Star '*'>}] action: [ (command.ForEach iter_names: [lang] iterable: (for_iter.Words words:[{(${ Id.VSub_Name TEST_LANG)}]) body: (command.DoGroup children: [ (command.Subshell child: (command.CommandList children: [ (C {<export>} {<Id.Lit_VarLike 'LC_ALL='> (DQ (${ Id.VSub_Name lang))} {<Id.Lit_VarLike 'LANG='> (DQ (${ Id.VSub_Name lang))} ) (command.ForEach iter_names: [i] iterable: (for_iter.Words words: [{<'./src/cmd/ksh93/tests/'> <Id.Lit_Star '*'> <.sh>}] ) body: (command.DoGroup children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'bc_logfile='> name: bc_logfile ) op: assign_op.Equal rhs: { (DQ (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<basename>} {(DQ ($ Id.VSub_DollarName i))} ) right: <Id.Eof_RParen _> ) <.> ($ Id.VSub_Dollar '$') <.bcheck> ) } spids: [2945] ) ] redirects: [] ) (C {<rm>} {<-f>} {(DQ (${ Id.VSub_Name bc_logfile))}) (C {<'/opt/SUNWspro/bin/bcheck'>} {<-q>} {<-access>} {<-o>} {(DQ (${ Id.VSub_Name bc_logfile))} {(${ Id.VSub_Name SHELL)} {<'./src/cmd/ksh93/tests/shtests'>} {<Id.Lit_VarLike 'LD_LIBRARY_PATH_64='> (DQ ($ Id.VSub_DollarName LD_LIBRARY_PATH_64)) } {<Id.Lit_VarLike 'LD_LIBRARY_PATH='> (DQ ($ Id.VSub_DollarName LD_LIBRARY_PATH))} {<Id.Lit_VarLike 'LD_LIBRARY_PATH_32='> (DQ ($ Id.VSub_DollarName LD_LIBRARY_PATH_32)) } {<Id.Lit_VarLike 'LC_ALL='> (DQ (${ Id.VSub_Name lang))} {<Id.Lit_VarLike 'LANG='> (DQ (${ Id.VSub_Name lang))} {<Id.Lit_VarLike 'VMALLOC_OPTIONS='> <abort>} {(DQ ($ Id.VSub_DollarName i))} ) (C {<cat>} {(DQ (${ Id.VSub_Name bc_logfile))}) ] ) redirects: [] ) ] ) redirects: [] ) ] ) redirects: [] ) ] spids: [2889 2891 3057 -1] ) (case_arm pat_list: [{<testshell.builtin.getconf>}] action: [(C {<test_builtin_getconf>})] spids: [3060 3061 3067 -1] ) (case_arm pat_list: [{<testshell>}] action: [ (command.ForEach iter_names: [lang] iterable: (for_iter.Words words:[{(${ Id.VSub_Name TEST_LANG)}]) body: (command.DoGroup children: [ (command.Subshell child: (command.CommandList children: [ (C {<export>} {<Id.Lit_VarLike 'LC_ALL='> (DQ (${ Id.VSub_Name lang))} {<Id.Lit_VarLike 'LANG='> (DQ (${ Id.VSub_Name lang))} ) (command.ForEach iter_names: [i] iterable: (for_iter.Words words: [{<'./src/cmd/ksh93/tests/'> <Id.Lit_Star '*'> <.sh>}] ) body: (command.DoGroup children: [ (C {(${ Id.VSub_Name SHELL)} {<'./src/cmd/ksh93/tests/shtests'>} {<-a>} {<Id.Lit_VarLike 'LD_LIBRARY_PATH_64='> (DQ ($ Id.VSub_DollarName LD_LIBRARY_PATH_64))} {<Id.Lit_VarLike 'LD_LIBRARY_PATH='> (DQ ($ Id.VSub_DollarName LD_LIBRARY_PATH)) } {<Id.Lit_VarLike 'LD_LIBRARY_PATH_32='> (DQ ($ Id.VSub_DollarName LD_LIBRARY_PATH_32))} {<Id.Lit_VarLike 'LC_ALL='> (DQ (${ Id.VSub_Name lang))} {<Id.Lit_VarLike 'LANG='> (DQ (${ Id.VSub_Name lang))} {<Id.Lit_VarLike 'VMALLOC_OPTIONS='> <abort>} {<Id.Lit_VarLike 'SHCOMP='> ($ Id.VSub_DollarName PWD) <'/arch/'> <Id.Lit_Star '*'> <'/bin/shcomp'> } {(DQ ($ Id.VSub_DollarName i))} ) ] ) redirects: [] ) ] ) redirects: [] ) ] ) redirects: [] ) (C {<test_builtin_getconf>}) ] spids: [3070 3071 3202 -1] ) ] redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Case to_match: {(DQ (${ Id.VSub_Name buildmode))} arms: [ (case_arm pat_list: [{<build.> <Id.Lit_Star '*'>}] action: [(C {<build_shell>})] spids: [3224 3226 3230 -1] ) (case_arm pat_list: [{<testshell> <Id.Lit_Star '*'>}] action: [(C {<test_shell>})] spids: [3233 3235 3239 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (C {<fatal_error>} { (DQ <'Illegal build mode '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) (${ Id.VSub_Name buildmode) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <.> ) } ) ] spids: [3242 3243 3257 -1] ) ] redirects: [] ) ] )