blob: 12938b5346c8d18ad0e4b36e8cdec0c02aef9c18 (
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
|
#!/bin/csh
#
# 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 = "vocl.e"
if (`echo $0 | egrep ecl` != "") then
set cl_binary = "ecl.e"
else if (`echo $0 | egrep vo` != "") then
set cl_binary = "vocl.e"
else if ($#argv > 0) then
if ("$argv[1]" == "-old" || "$argv[1]" == "-o") then
set cl_binary = "cl.e"
else if ("$argv[1]" == "-vo") then
set cl_binary = "vocl.e"
else if ("$argv[1]:e" == "c") then
# Workaround for autoconf scripts attempting to use this command as
# a valid compiler option. On some systems (mostly Debian) a valid
# CC command can't be found and eventually the 'cl' (lisp) compiler
# is tried. It will always apparently have the conftest.c test file,
# so simply exit with a code to tell autoconf it won't work.
exit 1
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
# Check for a version query.
if ($#argv > 0) then
if ("$argv[1]" == "-v" || "$argv[1]" == "-version" || \
"$argv[1]" == "-V" || "$argv[1]" == "--version") then
head -1 $iraf/unix/hlib/motd
exit 0
endif
endif
# Determine platform architecture.
if (-e $iraf/unix/hlib/irafarch.csh) then
set ACTUAL_ARCH = `$iraf/unix/hlib/irafarch.csh -actual`
else
set ACTUAL_ARCH = $IRAFARCH
endif
if ($?IRAFARCH) then
if (-e $iraf/bin.${IRAFARCH}/${cl_binary}) then
set MACH = $IRAFARCH
else
echo "ERROR: No $iraf/bin.${IRAFARCH}/${cl_binary} binary found."
if ("$ACTUAL_ARCH" != "$IRAFARCH") then
echo "ERROR: IRAFARCH set to '$IRAFARCH', should be '$ACTUAL_ARCH'"
endif
exit 1
endif
setenv arch ".$MACH"
else
set os_mach = `uname -s | tr '[A-Z]' '[a-z]' | cut -c1-6`
if (-e $iraf/unix/hlib/irafarch.csh) then
set MACH = `$iraf/unix/hlib/irafarch.csh`
else
set MACH = $os_mach
endif
if ("$os_mach" == "linux") then # handle linux systems
if (`uname -m` == "x86_64") then
setenv mach linux64
else
setenv mach linux
endif
else if ("$os_mach" == "darwin") then # handle Mac systems
if ("`uname -m`" == "x86_64") then
setenv mach macintel
else
setenv mach macosx
endif
else if ("$os_mach" == "cygwin") then
setenv mach cygwin
else
set mach = `uname -s | tr '[A-Z]' '[a-z]'`
endif
setenv arch ".$MACH"
if (! $?IRAFARCH) then
setenv IRAFARCH "$MACH"
endif
if (! (-e $iraf/bin.${MACH}/${cl_binary}) ) then
echo "ERROR: No $iraf/bin.${IRAFARCH}/${cl_binary} binary found."
exit 1
endif
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" == "linux64" || \
"$IRAFARCH" == "linux") then
limit stacksize unlimited
endif
# Just run the CL if IRAFARCH already defined.
if ($?IRAFARCH) then
if ($IRAFARCH == "") then
setenv arch ""
else
setenv arch ".$IRAFARCH"
endif
setenv IRAFBIN ${iraf}bin$arch/
set file = ${IRAFBIN}$cl_binary
if (-e $file) then
exec $file
else
echo "$file not found"
endif
endif
# Set the architecture to be used.
setenv IRAFARCH $MACH
setenv arch .$IRAFARCH
setenv IRAFBIN ${iraf}bin$arch/
# Run the desired CL.
exec ${IRAFBIN}$cl_binary
|