' U; j- {" J+ j2 Xif [ "$EPIC_WRAPPER_DVLP" = "" ]; then+ y' g1 I8 I0 m% C7 Z/ y
TEMP_ARCH="$SES_ARCH"5 M* L2 t; S. K2 {' z# h6 ~& B
else, K+ |" d! w) I8 R u
TEMP_ARCH="$EPIC_ARCH" ( U3 }" ~% {0 r- R1 @4 U3 yfi: ^" t% } N& ?3 d' k! N
1 ]" C' k6 S t4 oscan_for_hva_args()/ q4 R6 p; [0 I3 y; v+ W
{ 8 {9 }' K) s* p# e- b/ a# z& F% l /bin/rm -f hva.init 1>&28 E( [; S6 b" a8 M7 Z/ V
while [ $# -gt 0 ]; do " ~0 g0 u; z& A) z1 x case "$1" in 6 w9 @9 g# n4 m% }$ K) g -vaf)/ O1 @+ t. @% T$ f) x; W
have_vaf_flag=1 $ m' l) E$ D' f, ^ have_va_flag=0 , u$ T% V1 h+ T6 O F shift;& p! ^; p! r1 A) U" B' D( I
continue; ! R7 Q! I) X* D ~9 }0 F5 H0 F ;; % [! ~8 D5 U: n; h& }. b9 h+ ~ -va). D K1 H. @" P- P9 b& D, k
have_va_flag=1 5 G7 D7 }$ y2 G! C9 a have_vaf_flag=0) f9 X4 C- t. ]# l5 H; m
shift; - y# l6 o' }* o. }4 [, \, `1 r5 i) c continue;* j) ]( t9 m! `! p# U' i M5 s5 C/ U9 u
;;6 D* p) E5 h! C
-*) 1 [6 R$ H3 r, Y/ R% ? ARGV="$ARGV $1"% Q" Z9 M8 Y/ H- j u: ]( X: Z
have_va_flag=0 4 {' O7 G+ u) p" c! d6 ~* X y have_vaf_flag=0 ; f! J' r) _% J0 i; |4 n shift;( ?/ Z+ n- z! d! D: C
continue;( O( {( `: s8 i F5 F; e! z
;;) a" a- h$ v8 U# t
*)/ X3 l& v* w" G4 I$ K5 b( C
if [ x"$have_va_flag" = x"1" ] ; then : x" D7 ^- Q3 l) Q; ?
VA_FILE="$VA_FILE $1" # r% _( n* n7 ^2 R) p" E& G L elif [ x"$have_vaf_flag" = x"1" ] ; then . V3 \& u# B% `3 F6 X9 ? X="`cat $1 | sed -e '/\;/d;`"/ u( U* `; D% a& f
for token in ${X}; do - k8 Q% h" D. g5 s VA_FILE="$VA_FILE $token" ) _6 |- |+ w1 O d8 s4 ? done % I7 C2 f' v2 q8 Q. O$ D. G0 Z
else 6 G8 {9 Q w0 F4 V" h" R8 X ARGV="$ARGV $1" ! T# L( a$ r* S5 m/ ^, T; G: u fi I' j0 I+ ?. E" ]
shift; % P- _4 b4 n0 M1 _0 @: ^ ;;8 ^. B( K( x* O) v& s4 s7 H6 q
esac. w/ d t$ I6 p2 ^1 e! x6 \
done . S a. _; J7 l, u" z& ? & p: Z: K% M M2 r if [ x"$VA_FILE" != x"" ] ; then 7 n+ I& T1 l3 H6 U1 q
## /bin/echo " xxx ARGV $ARGV"& d4 S( E- \0 p% D8 a0 i! K
/bin/echo "choose nanosim $ARGV ;" > hva.init 7 ~' l* {; z5 c' ~ echo vcs +ad=hva.init $VA_FILE -o simv # J, e g A7 [- e/ X; k5 w$ P vcs +ad=hva.init $VA_FILE -o simv [& l( d' Z9 z! w/ U* a' f
exe_status=$?0 [- Z/ R/ t; D0 \) \% D2 K
if [ $exe_status != 100 ]; then V: b$ ~0 F3 }) X7 Q
/bin/echo ""' R7 t5 l q. V3 o3 H
/bin/echo "ERROR: Execution of vcs exited with code $exe_status" 8 X+ U9 i) s% F" S8 n1 U1 X a* K /bin/echo ""- A) C/ v4 J# C z- \4 i( J% z! N% v
exit $exe_status . M1 G# G9 o! A3 H fi. ]- P$ A1 |/ X
hva_files="-n simv.daidir/amsVD.ntl simv.daidir/amsWRAP.spi"& q: R' b/ u: i. k. j; w# U
ARGV="$ARGV $hva_files"$ p8 X: j1 V: j% }# t7 J
fi- f3 Y5 h. y8 {) `+ R6 S8 Z
} , q% ]. l2 w7 d$ _( a#------------------------------------------------------------------------- ! ~( L. ]% }/ C' F1 p ~% s$ x8 K0 ccleanup() 2 N6 O3 g; U, s5 y- y; @2 _+ b{& y6 @( Z& d0 Z) o6 G6 q
if [ -d "$rundir" ]; then: X) J& n ~& ^+ m
# On AIX, a .nfsXXX file is created if libModel.o is removed . `; `6 k. b' [ # so .epicrun is not removed because directory is not empty. & Z& T8 u, _+ D* n1 ^& G" n& ~ # Solution is to remove it again if the first rm failed1 a" v* E, r5 |/ ]) `: R. E
# (rm -rf $rundir || rm -rf $rundir) 1> /dev/null 2>&1 ; ?) I# _: { f! @ if [ "$EXTRA_CAPACITY" = "YES" ]; then Q' C3 `2 Z' m3 [5 l3 K
chmod u+x $rundir/rpcidfile+ G# E) ]1 D: b! B! O" P# ^
$rundir/rpcidfile 3 f6 f9 D; ^( b' z* m rm $rundir/rpcidfile V3 c; s3 z$ K$ }2 [& o
fi9 P0 T; U) N: Y+ u
rm -rf $rundir 9 ?" _* J0 y7 a1 ~; x$ H' f' A+ v0 s; ?& Z
#Due to NFS problem, we have to copy files needed to + `5 L) L. a6 v; P" Z #/tmp/<temporary directory>, then symlink's files4 j, ]1 b7 K& G; O1 F8 P
#to the local temporary 'rundir'. This avoids the problem; u6 k3 i, f( E. h6 m% j
#to remove 'rundir' * O( B" T9 l$ v- Y# q9 w3 L if [ "$EPIC_ARCH" = "RS6000_AIX_4" -o "$EPIC_ARCH" = "RS6000_AIX_5" -o "$EPIC_ARCH" = "aix64" ]; then ; e6 g* E2 ^9 f& p. N+ O if [ -d "$tdir" ]; then7 Q) }7 S: S( m
rm -rf $tdir 0 |( i/ M% ^8 g7 i5 u, U* |, ? fi + Y" b) N; c/ ^: p fi0 a6 G2 M! o/ }7 G% I: D9 t& Q
fi 8 c, i# Y/ }2 w: V* e9 _7 \7 p if [ ${exitstatus:-0} -eq $ld_err_code ]; then& b' j5 o$ ~) f7 h
[ "$has_model" = "YES" ] && rm -f $cwd/libModel$suffix- S8 K5 r( j/ h+ i
[ "$has_custom" = "YES" ] && rm -f $cwd/libCustom$suffix 0 y5 }; q* J" a0 r fi! f- W5 \) u7 E: p) p
[ -f "$EPIC_SCRIPT_MESSAGES_FILE" ] && rm -f $EPIC_SCRIPT_MESSAGES_FILE 1>&2 0 _5 x6 O' D9 w g" u exit ${exitstatus:-0} 8 _' K, m; g: B; L b} 9 K7 y3 m; P2 T, {3 }$ |) f9 g 7 R3 M: F* f/ }8 R1 jExit()8 |' {/ J5 z. }- e# I3 |6 P3 U U
{3 q2 ^6 Y; u1 e2 S G& d0 X
exitstatus=$1" h. n; c0 Y: H8 N5 n2 J
exit $exitstatus ) w9 q& W) S0 g, ^} ; G0 D: X* g# D: I/ L- O0 L' h% I0 _7 }/ z" [+ O
# get_epicrc filename keyword % D3 D1 R! ^6 ?2 nget_epicrc() ' R8 I- b2 s0 h: n- X{* h1 l& q* _& a1 T5 Y
[ -f $1 ] || exit 07 m0 a' r" A h) X5 U
key="/^$cmd2:/{print \$3}" ! U- c1 K( a" Z4 I* g awk -F":" "$key" $1 1 j z7 D. ^1 q- k} 0 o, {8 M G1 b9 \8 ~8 |4 ~6 Y. B, d) p# z5 s# R1 H
#6 Q( r* w( W! w( l/ V' ~/ A
# set datasize limit to hardlimit8 l' i# P2 u5 ^6 U& T" p5 @
#( K( l( m8 H( r! T9 z6 q: Y( V
set_data_limit() & E' e( O2 K. L" h0 x' k{ 6 j5 O9 z$ a- o8 K dbglimit=05 w; z- v( X1 K" B$ ]9 A8 Y8 U
hardlimit=`ulimit -Hd` 7 ]; J: }% M+ @$ g softlimit=`ulimit -d` ( s g$ L) r/ t desiredlimit=35000007 ^, X4 G2 j& N
hardisunlimited=0! X4 }& E" h! s+ ]1 c' m
softisunlimited=0 * D5 p0 j. Y! `' {+ S# v is64=0 / K: h4 U! g6 {4 ~- z4 [6 ^# m3 t; q5 M) T
case "$EPIC_ARCH" in1 T; Q! h. M. T) b0 h0 @" n
*SUN*64)) U, K6 N( ` Z, S3 n5 ~9 q4 W
is64=1 * O4 \$ w/ R- ]! V4 U ;; / |0 y# K! A+ _* e7 H amd64) 9 k% t0 Q% d* P5 ]. t is64=1; a6 _- T: c6 U& Y% H; |; D
;;" h$ j7 s9 Z+ d
x86sol64)3 Q% j! r! S, N* G& S+ @: Z2 T: b
is64=1 0 ^7 J9 `3 P3 X1 h1 o9 ~, y0 v" u ;; ; h: b! w o* B/ N6 `- M6 o6 @; S p aix64); n9 z' P4 L, P" {
is64=1 3 E0 F7 p6 `. Z! [1 S8 _! a' K8 H ;; & ^% W: H/ t8 I4 ? suse64) + E' O/ s. R5 f/ n* C- ]! f is64=1: T$ P* d i+ v
;;8 z$ U9 D- W- q7 i
esac 6 u- K: n/ l6 \9 s' f. A. m) P h7 @- i; P+ W( x r
if [ $dbglimit -eq 1 ]; then 8 k7 J! X6 J, q' a# m1 g echo hard $hardlimit soft $softlimit S+ @5 {+ h, D7 u2 q
fi. b: `* \1 f& t4 N2 G
1 M( D" Y1 x. W" k. D# G
if [ x$softlimit = "xunlimited" ]; then) S s1 R; l; _( B) }
softisunlimited=18 I& l- x" W6 l$ Z
fi" w6 Y- H+ | M( W( c M `2 L/ I3 Q
. W' ?/ _' K4 H; F if [ x$hardlimit = "xunlimited" ]; then $ ]- ^: L( @4 v& l* v9 d Y: V% E0 o hardisunlimited=1 % s y! H- d. Y0 g fi ; v3 e% t6 Z: [% s k $ }8 L7 E0 X: \0 A @ # 64 bit machine should have bigger than 4G & X' W4 K. M( P4 N+ n, q5 s4 a if [ $is64 -eq 1 ]; then1 }& w/ ^0 }# x; l% Z
desiredlimit=50000005 O2 O( i! }& |* C2 m8 Y, a
fi4 B4 @( @% J: e5 t3 _+ H
5 P+ U) c# n& R- F. p0 p4 N n& ]2 W if [ $hardisunlimited -eq 0 ]; then, z0 ]" G% l- u- [' W E
if [ $hardlimit -lt $desiredlimit ]; then : b! A3 n, E" A2 _/ `( j/ f! n# R echo "WARNING: datasize hard limit $hardlimit K is too small." 5 r4 J6 d/ ^ p4 F% c4 R fi 7 v4 M" e7 x0 k2 J. O2 f fi . K6 T( e. ]9 {/ A; P) z$ [ . }" V% S2 s, ]- f9 Z' o if [ $hardlimit != $softlimit ]; then) l2 L. S5 f- D6 M1 l; u. @
ulimit -Sd $hardlimit" M1 X# ~- ~: E( i' v% D& O6 u
# echo "WARNING: datasize limit is set to `ulimit -Sd`"# p! f' L4 L1 F& H
fi8 d& p+ m) G& p- @+ U. ?4 S
/ D: |$ e0 }3 E1 I if [ $dbglimit -eq 1 ]; then( H, C; z6 w* n' @9 s* a3 p; E* c
echo datasize hard limit: `ulimit -Hd`4 c" p! Y; [2 a9 Q6 U
echo datasize soft limit: `ulimit -d` 3 p% @# b0 D2 g* Q, _ fi " S' X; t0 a: S- q ]2 M$ w& w} * E2 P1 g1 N0 n) o/ U) Y" s9 k# \1 r* J( ?3 D4 E" J7 D
# ~% E4 \ P0 G( x8 w4 v! A" y- @
# set stacksize limit to desired limit 1 H9 ~( o0 y. t6 _, s7 F8 L4 I# 7 u9 w2 ^9 H8 i& [! ^set_stack_limit()4 q/ l2 f$ g, X' n9 ^+ A. n0 Y. h
{ * D( Q. t4 _0 M dbglimit=06 X* h# u7 w) V6 O
hardlimit=`ulimit -Hs` $ [* j: H9 `% i3 c' W softlimit=`ulimit -s` ! S, s$ K9 W) i- o& a1 n, g9 s7 Y desiredlimit=60000 # y3 R! A/ z" ^% U- Z% f. t% C hardisunlimited=0 $ n8 ^% w/ g d, a7 ` softisunlimited=0 ! {% i" \7 E) I3 m is64=0 4 y. ^% U8 L" n9 }9 I8 U # L- n3 K1 \ T$ t1 I7 T case "$EPIC_ARCH" in9 r( u8 |7 g5 q3 a4 {. h+ e
*SUN*64) * p3 V3 _7 q" n. Z4 n is64=1 2 A# g3 S9 ^- N9 R) G ;; 4 Q* u- {( D5 V. X; ] p3 ~/ A amd64) 4 v3 X- s! u( R is64=18 T- R' F V# |' c0 ?
;;( x$ N5 [# V* G; W, v: |1 F' a4 e6 ^
x86sol64) 8 u/ l a: D1 P, H is64=1 ! I, @: P2 r4 v% O% b& B) q ;; 8 @& h, y5 f, \& Y4 h aix64)& g0 y6 X- h6 n+ y
is64=1$ ^+ D! [) f0 a% D
;; 1 o/ K" Z! s3 H' `) W2 J9 o$ y suse64)7 j0 M5 E% O% g
is64=1/ q4 T) P% W! H
;;2 C$ z+ }( @0 x
esac1 B& [; D# m& v- X( }
A+ u4 Y( ?. |( r, Eif [ "$EPIC_WRAPPER_DVLP" = "" ]; then- J( r' I' @3 q) p7 n& ]
if [ $is64 -eq 1 ]; then 6 G' c% ~, a8 v7 u2 d" L desiredlimit=200000 3 s* C0 D7 E/ q: p7 \1 n fi ) K# v# U6 }) Q& ]else+ c4 t ]1 \+ }$ c! q
case "$EPIC_ARCH" in / Q( E, ^1 Y$ N7 U *SUN*64)0 [; q& ~0 e! |! x. V) |
desiredlimit=200000 2 M9 W" K9 z i# h3 E( Y2 @ ;;0 `: S3 I; t( n: d6 w6 C0 [% U$ V
esac 5 r. C$ [5 K$ o* A" T) ^5 Hfi5 b; T+ z: }* |7 ~2 \
; ]: v$ ]3 z$ z- } if [ $dbglimit -eq 1 ]; then. h9 i1 g) c" I) m0 t) K
echo hard $hardlimit soft $softlimit 9 O% c# _7 N# W8 o7 K# M( N& J fi - f3 e, |4 V/ [/ [% U( m! |" e" ~# d7 X
#stacksize can not be unlimited, pick smaller number 4 y/ @. p4 A- B* b" V0 A* H9 z R. K1 E' S- `; X4 E
stacklimit=$desiredlimit3 A6 s- `0 V' [% ]2 q
, q2 M7 G6 S: {8 J
if [ x$hardlimit = "xunlimited" ]; then# e+ W4 F& Z2 H+ u, z
hardisunlimited=12 d9 x5 ? b* V0 l( g$ z b" i
fi \, J7 \7 X1 s4 }& K ( k& D# r4 q2 z1 P1 W2 | if [ x$softlimit = "xunlimited" ]; then % F6 }& J8 M, O softisunlimited=1 : ~) n! H+ S! e3 Y9 ] fi $ G. c3 {! `6 g9 G+ m v. [! P6 `- w+ w$ ~0 n( ?
if [ $hardisunlimited -eq 0 ]; then5 D. y5 v8 a8 A4 n) b; U! p
if [ $hardlimit -lt $desiredlimit ]; then) t( p: p4 Q2 n+ }- g
echo "WARNING: stacksize hard limit $hardlimit K is too small." . C% h* G3 ^- I" W+ ]% k% _4 p5 ]% y desiredlimit=$hardlimit ( ^. k& h5 b" U- D) I stacklimit=$desiredlimit . _, O6 f: O* j7 O% Z+ S' l fi ! ~5 H+ b/ M/ Z4 F fi ; f+ [/ J' Q2 N/ h; D. i8 u( U9 i" g; p5 w# S
# desiredlimit is set to proper value (< hardlimit) ' z6 E" }( G/ v9 ` 5 M. G4 R! n( K7 c. L1 f8 b9 E% k9 D if [ $softisunlimited -eq 0 ]; then 5 M5 m+ G( m& L9 d/ p7 S7 r if [ $softlimit -gt $desiredlimit ]; then J4 @* h# t" k/ v2 e+ H7 R: [' J" G
stacklimit=$softlimit ( H! V4 P) u+ `7 `/ n* v fi 0 D/ l8 I% K7 F, { fi j6 M$ H9 N/ d4 [ w' L% q1 y2 q4 s5 q/ C+ h
if [ $softlimit != $stacklimit ]; then / g& o1 F' W' h- z# ` ulimit -Ss $stacklimit8 g* _! G" D: ^0 n
# echo "WARNING: stacksize limit is set to `ulimit -Ss`"" d- {6 y! v# @9 F
fi 5 d2 a" ^6 h) Z; [) e: a- t$ y( M, m6 c
if [ $dbglimit -eq 1 ]; then 0 n. j; H% v0 v: t% i) V' |" n echo stacksize hard limit: `ulimit -Hs` % L, u0 V _8 C# |* g echo stackize soft limit: `ulimit -s`7 O5 q1 g8 b' f* _& h- [1 Q% \' S
fi$ Y* l, _1 l* h' h9 i; Q6 v; N
} - |# a3 r1 `9 P# G/ a6 E " Q1 T! A: V7 U6 i2 P* Popen_epicscriptmessages() 3 Q/ H5 F: m. o2 _" B{- ~+ A5 U) O/ g) a' V0 b" i
#generate temp ".epicscriptmessages" file based on pid : Z3 R# y5 a K6 _2 z e9 d& @EPIC_SCRIPT_MESSAGES_FILE="$EPIC_SCRIPT_MESSAGES_FILE"$$- D6 @4 f" y4 R! t5 c7 y' a
if [ -f $EPIC_SCRIPT_MESSAGES_FILE ]/ w9 k M; f# L4 l
then 1 n+ O, {( k o7 k
until [ ! -f $EPIC_SCRIPT_MESSAGES_FILE ] 7 }) I4 l. a( ` do ( _9 v4 {1 K# S Q1 B% C EPIC_SCRIPT_MESSAGES_FILE="$EPIC_SCRIPT_MESSAGES_FILE"$$ ; z7 f4 \1 {0 b8 ~' K% E9 B done 7 ]' A" G( d. S Sfi }. ]$ J0 `2 q7 |% x
, O: K* _) f0 Q, p) O5 \9 M
export EPIC_SCRIPT_MESSAGES_FILE6 o/ ^( A& K/ d% A* [: w
} 9 _) l+ [5 t4 U3 p" X; e: V1 z/ ]$ t2 D' _% E6 _; y
' ]+ i, t0 s. w: ~6 @
cmdname=`basename $0`3 A. @# v& L5 H6 M' m
postgres="n" , D! I8 J) k# E2 {. }. ~ostore="n" 0 Q+ @* r U2 {gui="n" ' Z) o2 e! ?5 g# \7 }0 K. edatabaseOn="n" 3 c- T; ]+ o; ~3 Of_next=07 G1 X3 T9 x" T+ {( i/ V4 r
f_option=""& E. Z# z- J, _$ ?# s2 }& W
o_next=02 q/ C8 P5 v- p0 g
o_option=""! `: l5 ? f G+ @
workDir=""" C8 N0 m" V! G% B2 ]& c) j# k7 E4 z
workDir_next=0 ! U2 e) _% T- d. KerrFile="powrmill.err" v. G' \9 ^6 P' gwin32flags="" ; C' V# {) d9 hln_default="ln -s" . o: W$ l* |# w, k ' V/ Q: T$ R9 rhar_hilo_file=""; o# K7 q6 W3 h- b V! c
have_har_flag=04 T, i1 {6 {! g* g, X
have_har_setup_flag=0+ e4 ]8 p7 e3 f0 p) B+ k* V
is_special_har_run=04 s6 ^1 s' z) h- t( g; k
har_ofile_prefix=""5 Z( A8 w; ]+ Q( L, @3 |4 K
6 ^) f# X; h& ?, e8 F0 g$ Ahave_va_flag=0 % z, E3 R% Q- F/ ~/ s8 Q3 Whave_vaf_flag=0 1 u! A/ y0 z# Z N3 `% \VAF_FILE="" : `" P! c2 m h' @VA_FILE=""1 \2 Z7 G. V1 X, g/ @3 A
ARGV=""' ?0 j) S! _# ^
1 `0 Y6 R2 A# G0 Y4 a
ORIGINAL_COMMAND_LINE=: ]% @( H/ ?) H
LOOP_CTRL_FILE=".ns_ba_env". c9 R8 Z- A' @, r$ r
ALTER_HK_FILE=".alter_hkf"3 e" x- s2 c- u, m
ALTER_COUNT_FILE=".alter_count"' M. x" R ]; f$ j
MONTE_IMG_FILE=".monte_img_f" : n( n, i7 K, w" c' pMONTE_COUNT_FILE=".monte_count"' I& o+ P6 L7 w T/ b3 l% h }# h, `
MONTE_CFG_FILE=".monte_cfg" 2 ~% m/ D8 z8 N1 |2 KEPIC_SCRIPT_MESSAGES_FILE=".epicscriptmessages" ' B: ^2 L) t2 \" J, ?0 y8 d 6 }9 A& f4 i( {' Popen_epicscriptmessages $@8 J( z) c" Z- H- t- J+ G$ Q7 X
/ @2 V0 t, C* Z9 t
scan_for_hva_args $@1 |, H7 a/ N; @
% o' n! a3 p" d* o9 W. ?" nscan_for_har_args()7 v3 z9 V' \/ h2 a2 c- \
{4 v: p# U1 e8 i6 }
while [ $# -gt 0 ]; do 2 k% {) y' G1 j; j' }+ U case "$1" in: H; J# L6 Y% k+ L( l
-har) 3 J5 K, j1 @- t/ r% `% J have_har_flag=1 9 E+ l! j% n" P- a1 M [ $# -gt 0 ] && shift/ \8 T. R9 Y! {; T1 V# e
if [ $# -gt 0 -a `expr "$1" : '-.*'` -eq 0 ]; then/ q8 p) N1 k+ L
har_hilo_file=$1, t" U/ j, E( I- P5 L
shift- t$ g& h8 ~5 w- M; g* r! _, `& {
fi' X+ q7 m/ ^( y1 v0 c: ~: w3 i
if [ $# -gt 0 -a `expr "$1" : '-.*'` -eq 0 ]; then ) r" P0 u# O9 ^3 u+ o echo "Too many arguments to -har flag. Only one hilo file allowed." + @* G5 Z O) h1 B5 y/ c exit 1/ N$ ^6 ], N5 D% ?+ b
fi 7 a7 N+ J! d" ^) e% A5 R break # |; D* i* g2 A; V6 O ;;( a# d7 X2 s( [* a3 l2 b
-har_setup) ( @' V: _" ]8 T' r have_har_setup_flag=1 5 d- N; x% h/ e" z6 v+ e break3 j7 N- k) c$ D$ c% {; Y
;; ( P9 g% @6 `3 m$ G *) q5 @ B4 h3 @6 p6 _ b8 E shift * ^% j, X8 W4 p( t& |: g ;; . |7 o3 i) S7 S esac. H) E2 L/ k2 [+ B
done: |4 [" H, {) E* ^
}' u. Z) D. @0 y2 Y2 Z* N* T( |
9 w9 e! d, R7 L6 b& I, bscan_for_har_args $@/ f9 c3 }2 S0 k! u4 `
- M- y4 L" E+ Y! T k3 L; K1 h& z
for argv in $@ A' o0 `' M$ e: Gdo 9 M; o& C' k f ]$ R ORIGINAL_COMMAND_LINE="$ORIGINAL_COMMAND_LINE $argv"2 f# L0 V* t) V4 T. G/ E
if [ $argv = "-gadb" ]; then% h. q% k. j7 T) X" Z5 F
databaseOn="y"3 R2 H: E+ F# `3 l) X
workDir_next=1 # C2 T+ p' ?! y; l' F! b5 j2 S- S elif [ $workDir_next -eq 1 ]; then 4 h% w9 `9 S$ r; v workDir=$argv " x* v/ N O& M workDir_next=0$ P* P, t1 V" b9 ]
elif [ $argv = "-ga" ]; then! ]) ?7 ?# ]) R# S! q) C! h( G- X
gui="y" # f9 i* v1 V3 H' B" B. L elif [ $argv = "-f" ]; then : J' z0 y( C. \4 G f_next=1' {$ M8 T3 D% G
elif [ $f_next -eq 1 ]; then 4 ^/ g- J# _' \5 Q. y f_option=$argv q0 f7 r: g; D f_next=0 / s3 [, \& ^: R, Q' N0 u+ H/ j0 ] elif [ $argv = "-o" ]; then. T5 ^0 I0 T" w* T, W
o_next=1- d/ K7 _8 I" J4 }
elif [ $o_next -eq 1 ]; then" B F2 s1 ~! j+ s: q( V
o_option=$argv * z' O! n# E' u! s7 g o_next=07 D# j/ O. Q& ^7 X" Y/ w! ]# p
fi # @1 k R8 S: ]0 W, {done ; V3 X0 i, N, F+ S3 }echo "Command line options: $ORIGINAL_COMMAND_LINE" > $EPIC_SCRIPT_MESSAGES_FILE $ Q! m, q1 x% M; _. U/ P, r 3 {0 s" n% G. m& |! oif [ $databaseOn = "y" -o $gui = "y" ]; then 2 }2 W3 g7 C7 ?# d! j- |9 ^. l if [ $cmdname = "pathmill" ]; then N b: B/ M' n% o if [ "$EPIC_ARCH" = "SUN4_SUNOS_5" -o "$EPIC_ARCH" = "SUN4_SUNOS_5_64" ]; then! V2 B5 Y; U( P2 ~( r& F
ostore="y", K# U6 W M+ M6 F% h: l
postgres="n"# d- e2 f7 T; l/ W& Y7 G9 s
else0 {1 c9 A2 i# b( z' O+ u
echo "athmill GUI is supported on Solaris platforms only" 1>&2 ! b+ ? q( b* N4 k! X: g8 q4 k- J
exit : I2 y- t: Y4 j3 A8 W fi - l* r8 Y9 W4 B. v; K6 N2 a else 5 X& a4 S2 l" _) k postgres="y" 1 h# K5 y$ f. ]) [0 s5 Q ostore="n"7 _. R& c) q3 f- U
fi; [( N9 P: f1 d9 k) W
fi& {+ |2 g, A& k/ E% t, h
/ ~; g! m+ C$ e9 Pif [ $gui = "y" ]; then 1 j, S. q' f9 w9 [+ f9 I8 N1 O4 o, H if [ $cmdname = "powrmill" ]; then. H0 e2 g1 w- N1 o5 R
pwga $@ 1 z' k+ `* ]! G2 W% e exit ; M8 O3 {' N! _) b) Z4 q fi6 N/ Z! n9 N2 Q# |
* X/ S( v6 C9 m Q% x if [ $cmdname = "pathmill" ]; then B1 R( @9 Z3 ~3 d- z* n4 W) } if [ $ostore = "y" ]; then 6 _% z5 _1 c; s4 a ./pathfinder $@ % a# Q0 n% G8 t" ~: x; {9 ~2 B exit4 @6 R/ K9 t0 ?
elif [ $postgres = "y" ]; then " ?# z8 g7 _# f7 M pmga $@ 4 k' X" V1 O) w: z$ R exit+ l/ R2 _; j4 I- Z9 x0 X
fi% M9 ^; i4 ` m! Y/ C
fi3 {- `( `6 ^2 A. v9 K+ Z7 d
fi% s3 V9 K6 M3 r7 O* q6 Y* A
' s- P, J# @3 `" Z+ X+ ?, u# o, Y q
if [ $databaseOn = "y" ]; then , |& k8 d& H. ` if [ $ostore = "y" ]; then s+ [& t: V6 i' b8 A$ @; Y1 c. \
if [ -z "$workDir" ]; then2 X0 L" ]- x. i5 `; C- u1 D3 L4 C
echo "Error: Missing argument for -gadb option" 4 G2 @* J/ k* P, {1 R0 V0 M" D Exit 1 h9 K# F' M) s( ~2 [7 l fi/ `4 Z! ?/ c4 `$ d9 P
fi" H7 \5 W" \2 g$ }) y* x/ k+ n
if [ $postgres = "y" ]; then 1 O/ P) x( D" i" u& W) a- f' [- h if [ -z "$workDir" ]; then , ]' C0 j I* M echo "Error: Missing argument for -gadb option": S' i P& x2 m! w/ `9 \7 J% m7 J
Exit 1; @' `! ?) C$ k* ]" |, \1 s( v/ N
fi / q( z/ t, A. ]3 b fi, f/ A9 @& V# {+ N. {3 [/ q
fi 5 r y9 [* u6 R# _ $ q2 i! X9 O( H" q9 B: }0 V- O# rif [ $postgres = "y" ]; then) t4 P% L. x# G/ h
# b+ M9 E) m* K# t$ j$ D1 M
if [ -r $EPIC_BIN/scripts/gui-init ]; then . ^& R" G5 ?" L g . $EPIC_BIN/scripts/gui-init0 |- X; E6 z& X* i! }1 d
elif [ -r $SES_ROOT/bin/scripts/gui-init ]; then & d* }* U+ _4 p: E- B8 a* e' k* \ . $SES_ROOT/bin/scripts/gui-init `2 a* L9 k4 n+ X9 q4 r( z else S; T9 r" a) W. v: g, x1 u0 P. L$ W
echo " ** Installation in \"$EPIC_HOME\" has been corrupted!" 1>&2 , ~, `& S; f0 W7 x% P echo " file bin/scripts/gui-init is missing." 1>&2# a3 K! v/ ?; Y: |7 l7 S! i
fi4 G b6 i I2 f
3 ]$ W. ` S3 l1 o* w! j$ M
workfile -tool $cmdname $@ , P q$ }: v9 T. H3 i) Z9 kfi # q t. |8 |& Q. j/ B% Q! ] 9 C1 ~- i( ~0 W* ^6 vif [ ! -z "$o_option" ]; then) @/ h# [% N, H8 f' E
errFile=${o_option}.err 9 [/ ?% v6 L3 ielif [ ! -z "$f_option" ]; then5 r S% [5 x& f1 o/ M7 K
if [ -d $f_option ]; then8 w# {; e+ p! u' e7 F: D3 R
errFile=${f_option}/powrmill.err, a6 H' A! H1 w4 l$ k
else errFile=${f_option}.err! }. o6 @$ h: ]& t
fi ' B4 R [9 C3 Z$ c" }fi4 q$ P, Q4 Q l! G2 O* a
4 c) a9 T0 o" K, E/ j- x
& C- K% P" u ?3 o3 V: dif [ "$EPIC_ARCH" = "RS6000_AIX_4" -o "$EPIC_ARCH" = "RS6000_AIX_5" -o "$EPIC_ARCH" = "aix64" ]; then - d( O* a: g! T rundir=.epicrun$ E( d- ? b0 ~
else+ @, y$ W$ O. n4 W' U
rundir=.epicrun$$ ( e9 ]* w$ E' M7 _6 ^6 X }, E. Cfi 3 B/ O% Y/ E" X0 K# b 7 z. k6 U* D% o, z9 llibpath="$rundir${EPIC_DLIM}$EPIC_DIR"9 I: ?. W g( j9 s$ h- f! Y( [4 ]
( Y" A$ J y* Ucwd=`pwd -P` * G3 x4 V( |6 U: aif [ $cmdname = "acehdl_w" ]; then 3 G5 F9 S' U7 [- k cmd=`basename $0 .sun` " x, s8 N/ H$ r8 G, W3 y+ Y cmd=`basename $cmd _w` 8 ~& |7 @4 u, D* T s: Pelse & F) ~' c: U1 f h cmd=`basename $0 .sun`0 F1 ~. O0 {( ^' J
fi7 I" [( W1 h. W, R! ?5 |6 q
3 ^" b9 z- _$ O7 J0 f+ Tcommand="$EPIC_EXEC/$cmd$EPIC_EXEX") p. @" B& w% _4 x2 W0 B0 T
[ ! -x "$command" ] && echo "$cmd: not installed!" 1>&2 && exit 1& V# r8 o' `( ?* J
7 C g4 Y9 `/ t3 U0 t3 D
# buildmod extracts -u/-fm options and calls genepiclib" @' w. O) p. i4 @$ T
# It also set the remaining options to variable CMDLINE4 O C7 R) A5 I: l# Y# l0 F
# look up in .epicrc for -fm & -FM parameters 4 x. R& U P6 {8 p# K 0 d( F. N' R! K$ t' Q; T! cfmlist1="`get_epicrc ./.epicrc user_adfm_obj_modules`"# a* J- L( ~& K
[ "$fmlist1" = "" ] && fmlist1="`get_epicrc $HOME/.epicrc user_adfm_obj_modules`" + e$ G8 }) M' x$ e7 b+ z[ "$fmlist1" = "" ] && fmlist1="`get_epicrc $EPIC_DIR/.epicrc user_adfm_obj_modules`") D6 W) B0 }' }) N; x