blob: 7a324d19d811a56192feca751fc3b90f94621cc0 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
|
#!/bin/csh -f
#
# CL.CSH -- Startup the version of the CL executable compiled for the
# architecture or floating point hardware appropriate for the current
# machine. This script can be used to invoke a number of CL flavors
# depending on how it is called. The install script will create a 'cl'
# and 'ecl' command link to this script with the intent that a different
# binary would be started for each command.
# Determine CL binary to run based on how we were called.
set cl_binary = "cl.e"
if (`echo $0 | egrep ecl` != "") then
set cl_binary = "ecl.e"
else if ($#argv > 0) then
if ("$argv[1]" == "-ecl" || "$argv[1]" == "-e") then
set cl_binary = "ecl.e"
endif
else if ($#argv > 0) then
if ("$argv[1]" == "-old" || "$argv[1]" == "-o") then
set cl_binary = "cl.e"
endif
endif
# Determine IRAF root directory (value set in install script).
set d_iraf = "/iraf/iraf/"
if ($?iraf) then
if (! -e $iraf) then
echo "Warning: iraf=$iraf does not exist (check .cshrc or .login)"
echo "Session will default to iraf=$d_iraf"
unsetenv iraf ; sleep 3
endif
endif
if ($?iraf == 0) then
setenv iraf "$d_iraf"
endif
# Determine platform architecture.
if ($?IRAFARCH) then
if (-e $iraf/bin.${IRAFARCH}/${cl_binary}) then
set MACH = $IRAFARCH
endif
endif
if (! $?MACH) then
if (-f /etc/redhat-release) then
if (`uname -m` == "ppc") then
setenv mach linuxppc
else
setenv mach redhat
endif
else if (-f /etc/SuSE-release) then
set mach = suse
else
set mach = `uname -s | tr '[A-Z]' '[a-z]'`
endif
if ($mach == "darwin") then
set mach = macosx
endif
if (-e $iraf/bin.$mach/$cl_binary) then
set MACH = $mach
else if (-e $iraf/bin.freebsd/$cl_binary) then
set MACH = freebsd
else if (-e $iraf/bin.macosx/$cl_binary) then
set MACH = macosx
else if (-e $iraf/bin.linux/$cl_binary) then
set MACH = linux
else if (-e $iraf/bin.redhat/$cl_binary) then
set MACH = redhat
else if (-e $iraf/bin.suse/$cl_binary) then
set MACH = suse
else if (-e $iraf/bin.linuxppc/$cl_binary) then
set MACH = linuxppc
else if (-e $iraf/bin.sunos/$cl_binary) then
set MACH = sunos
else if (-e $iraf/bin.linuz/$cl_binary) then
set MACH = linuz
else
echo "cannot find $iraf/bin.xxx/$cl_binary!"
exit 1
endif
endif
# Check for obsolete IRAFBIN definition.
if ($?IRAFBIN && !($?IRAFARCH)) then
echo "Use IRAFARCH rather than IRAFBIN to specify the machine architecture"
echo "IRAFARCH, if defined, should be one of ffpa,f68881,i386,sparc, etc."
endif
# Just run the CL if IRAFARCH already defined.
if ($?IRAFARCH) then
if ($IRAFARCH == "") then
setenv arch ""
else
setenv arch ".$IRAFARCH"
endif
# Recent linux systems display a problem in how pointer addresses
# interact with the stack and can result in a segfault. Remove the
# stacksize limit for IRAF processes until this is better understood.
if ("$IRAFARCH" == "redhat" || \
"$IRAFARCH" == "linux" || \
"$IRAFARCH" == "linuxppc" || \
"$IRAFARCH" == "suse") then
limit stacksize unlimited
endif
setenv IRAFBIN ${iraf}bin$arch/
set file = ${IRAFBIN}$cl_binary
if (-e $file) then
exec $file
else
echo "$file not found"
endif
endif
# Determine the architecture to be used.
if ("$MACH" == "freebsd") then
setenv IRAFARCH "freebsd"
else if ("$MACH" == "linux") then
setenv IRAFARCH "linux"
else if ("$MACH" == "redhat") then
setenv IRAFARCH "redhat"
else if ("$MACH" == "suse") then
setenv IRAFARCH "suse"
else if ("$MACH" == "linuxppc") then
setenv IRAFARCH "linuxppc"
else if ("$MACH" == "macosx") then
setenv IRAFARCH "macosx"
else if ("$MACH" == "sunos") then
setenv IRAFARCH "sunos"
else if ("$MACH" == "linuz") then
setenv IRAFARCH "linuz"
endif
# Recent linux systems display a problem in how pointer addresses
# interact with the stack and can result in a segfault. Remove the
# stacksize limit for IRAF processes until this is better understood.
if ("$IRAFARCH" == "redhat" || \
"$IRAFARCH" == "linux" || \
"$IRAFARCH" == "linuxppc" || \
"$IRAFARCH" == "suse") then
limit stacksize unlimited
endif
setenv arch .$IRAFARCH
setenv IRAFBIN ${iraf}bin$arch/
set file = ${IRAFBIN}$cl_binary
# Run the desired CL.
exec $file
|