summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/libssl/src/README218
-rw-r--r--src/lib/libssl/src/config955
2 files changed, 0 insertions, 1173 deletions
diff --git a/src/lib/libssl/src/README b/src/lib/libssl/src/README
deleted file mode 100644
index 10b74d19d2..0000000000
--- a/src/lib/libssl/src/README
+++ /dev/null
@@ -1,218 +0,0 @@
1
2 OpenSSL 1.0.1g 7 Apr 2014
3
4 Copyright (c) 1998-2011 The OpenSSL Project
5 Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
6 All rights reserved.
7
8 DESCRIPTION
9 -----------
10
11 The OpenSSL Project is a collaborative effort to develop a robust,
12 commercial-grade, fully featured, and Open Source toolkit implementing the
13 Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1)
14 protocols as well as a full-strength general purpose cryptography library.
15 The project is managed by a worldwide community of volunteers that use the
16 Internet to communicate, plan, and develop the OpenSSL toolkit and its
17 related documentation.
18
19 OpenSSL is based on the excellent SSLeay library developed from Eric A. Young
20 and Tim J. Hudson. The OpenSSL toolkit is licensed under a dual-license (the
21 OpenSSL license plus the SSLeay license) situation, which basically means
22 that you are free to get and use it for commercial and non-commercial
23 purposes as long as you fulfill the conditions of both licenses.
24
25 OVERVIEW
26 --------
27
28 The OpenSSL toolkit includes:
29
30 libssl.a:
31 Implementation of SSLv2, SSLv3, TLSv1 and the required code to support
32 both SSLv2, SSLv3 and TLSv1 in the one server and client.
33
34 libcrypto.a:
35 General encryption and X.509 v1/v3 stuff needed by SSL/TLS but not
36 actually logically part of it. It includes routines for the following:
37
38 Ciphers
39 libdes - EAY's libdes DES encryption package which was floating
40 around the net for a few years, and was then relicensed by
41 him as part of SSLeay. It includes 15 'modes/variations'
42 of DES (1, 2 and 3 key versions of ecb, cbc, cfb and ofb;
43 pcbc and a more general form of cfb and ofb) including desx
44 in cbc mode, a fast crypt(3), and routines to read
45 passwords from the keyboard.
46 RC4 encryption,
47 RC2 encryption - 4 different modes, ecb, cbc, cfb and ofb.
48 Blowfish encryption - 4 different modes, ecb, cbc, cfb and ofb.
49 IDEA encryption - 4 different modes, ecb, cbc, cfb and ofb.
50
51 Digests
52 MD5 and MD2 message digest algorithms, fast implementations,
53 SHA (SHA-0) and SHA-1 message digest algorithms,
54 MDC2 message digest. A DES based hash that is popular on smart cards.
55
56 Public Key
57 RSA encryption/decryption/generation.
58 There is no limit on the number of bits.
59 DSA encryption/decryption/generation.
60 There is no limit on the number of bits.
61 Diffie-Hellman key-exchange/key generation.
62 There is no limit on the number of bits.
63
64 X.509v3 certificates
65 X509 encoding/decoding into/from binary ASN1 and a PEM
66 based ASCII-binary encoding which supports encryption with a
67 private key. Program to generate RSA and DSA certificate
68 requests and to generate RSA and DSA certificates.
69
70 Systems
71 The normal digital envelope routines and base64 encoding. Higher
72 level access to ciphers and digests by name. New ciphers can be
73 loaded at run time. The BIO io system which is a simple non-blocking
74 IO abstraction. Current methods supported are file descriptors,
75 sockets, socket accept, socket connect, memory buffer, buffering, SSL
76 client/server, file pointer, encryption, digest, non-blocking testing
77 and null.
78
79 Data structures
80 A dynamically growing hashing system
81 A simple stack.
82 A Configuration loader that uses a format similar to MS .ini files.
83
84 openssl:
85 A command line tool that can be used for:
86 Creation of RSA, DH and DSA key parameters
87 Creation of X.509 certificates, CSRs and CRLs
88 Calculation of Message Digests
89 Encryption and Decryption with Ciphers
90 SSL/TLS Client and Server Tests
91 Handling of S/MIME signed or encrypted mail
92
93
94 PATENTS
95 -------
96
97 Various companies hold various patents for various algorithms in various
98 locations around the world. _YOU_ are responsible for ensuring that your use
99 of any algorithms is legal by checking if there are any patents in your
100 country. The file contains some of the patents that we know about or are
101 rumored to exist. This is not a definitive list.
102
103 RSA Security holds software patents on the RC5 algorithm. If you
104 intend to use this cipher, you must contact RSA Security for
105 licensing conditions. Their web page is http://www.rsasecurity.com/.
106
107 RC4 is a trademark of RSA Security, so use of this label should perhaps
108 only be used with RSA Security's permission.
109
110 The IDEA algorithm is patented by Ascom in Austria, France, Germany, Italy,
111 Japan, the Netherlands, Spain, Sweden, Switzerland, UK and the USA. They
112 should be contacted if that algorithm is to be used; their web page is
113 http://www.ascom.ch/.
114
115 NTT and Mitsubishi have patents and pending patents on the Camellia
116 algorithm, but allow use at no charge without requiring an explicit
117 licensing agreement: http://info.isl.ntt.co.jp/crypt/eng/info/chiteki.html
118
119 INSTALLATION
120 ------------
121
122 To install this package under a Unix derivative, read the INSTALL file. For
123 a Win32 platform, read the INSTALL.W32 file. For OpenVMS systems, read
124 INSTALL.VMS.
125
126 Read the documentation in the doc/ directory. It is quite rough, but it
127 lists the functions; you will probably have to look at the code to work out
128 how to use them. Look at the example programs.
129
130 PROBLEMS
131 --------
132
133 For some platforms, there are some known problems that may affect the user
134 or application author. We try to collect those in doc/PROBLEMS, with current
135 thoughts on how they should be solved in a future of OpenSSL.
136
137 SUPPORT
138 -------
139
140 See the OpenSSL website www.openssl.org for details of how to obtain
141 commercial technical support.
142
143 If you have any problems with OpenSSL then please take the following steps
144 first:
145
146 - Download the current snapshot from ftp://ftp.openssl.org/snapshot/
147 to see if the problem has already been addressed
148 - Remove ASM versions of libraries
149 - Remove compiler optimisation flags
150
151 If you wish to report a bug then please include the following information in
152 any bug report:
153
154 - On Unix systems:
155 Self-test report generated by 'make report'
156 - On other systems:
157 OpenSSL version: output of 'openssl version -a'
158 OS Name, Version, Hardware platform
159 Compiler Details (name, version)
160 - Application Details (name, version)
161 - Problem Description (steps that will reproduce the problem, if known)
162 - Stack Traceback (if the application dumps core)
163
164 Report the bug to the OpenSSL project via the Request Tracker
165 (http://www.openssl.org/support/rt.html) by mail to:
166
167 openssl-bugs@openssl.org
168
169 Note that the request tracker should NOT be used for general assistance
170 or support queries. Just because something doesn't work the way you expect
171 does not mean it is necessarily a bug in OpenSSL.
172
173 Note that mail to openssl-bugs@openssl.org is recorded in the publicly
174 readable request tracker database and is forwarded to a public
175 mailing list. Confidential mail may be sent to openssl-security@openssl.org
176 (PGP key available from the key servers).
177
178 HOW TO CONTRIBUTE TO OpenSSL
179 ----------------------------
180
181 Development is coordinated on the openssl-dev mailing list (see
182 http://www.openssl.org for information on subscribing). If you
183 would like to submit a patch, send it to openssl-bugs@openssl.org with
184 the string "[PATCH]" in the subject. Please be sure to include a
185 textual explanation of what your patch does.
186
187 If you are unsure as to whether a feature will be useful for the general
188 OpenSSL community please discuss it on the openssl-dev mailing list first.
189 Someone may be already working on the same thing or there may be a good
190 reason as to why that feature isn't implemented.
191
192 Patches should be as up to date as possible, preferably relative to the
193 current Git or the last snapshot. They should follow the coding style of
194 OpenSSL and compile without warnings. Some of the core team developer targets
195 can be used for testing purposes, (debug-steve64, debug-geoff etc). OpenSSL
196 compiles on many varied platforms: try to ensure you only use portable
197 features.
198
199 Note: For legal reasons, contributions from the US can be accepted only
200 if a TSU notification and a copy of the patch are sent to crypt@bis.doc.gov
201 (formerly BXA) with a copy to the ENC Encryption Request Coordinator;
202 please take some time to look at
203 http://www.bis.doc.gov/Encryption/PubAvailEncSourceCodeNofify.html [sic]
204 and
205 http://w3.access.gpo.gov/bis/ear/pdf/740.pdf (EAR Section 740.13(e))
206 for the details. If "your encryption source code is too large to serve as
207 an email attachment", they are glad to receive it by fax instead; hope you
208 have a cheap long-distance plan.
209
210 Our preferred format for changes is "diff -u" output. You might
211 generate it like this:
212
213 # cd openssl-work
214 # [your changes]
215 # ./Configure dist; make clean
216 # cd ..
217 # diff -ur openssl-orig openssl-work > mydiffs.patch
218
diff --git a/src/lib/libssl/src/config b/src/lib/libssl/src/config
deleted file mode 100644
index ed8db0219c..0000000000
--- a/src/lib/libssl/src/config
+++ /dev/null
@@ -1,955 +0,0 @@
1#!/bin/sh
2#
3# OpenSSL config: determine the operating system and run ./Configure
4#
5# "config -h" for usage information.
6#
7# this is a merge of minarch and GuessOS from the Apache Group.
8# Originally written by Tim Hudson <tjh@cryptsoft.com>.
9
10# Original Apache Group comments on GuessOS
11
12# Simple OS/Platform guesser. Similar to config.guess but
13# much, much smaller. Since it was developed for use with
14# Apache, it follows under Apache's regular licensing
15# with one specific addition: Any changes or additions
16# to this script should be Emailed to the Apache
17# group (apache@apache.org) in general and to
18# Jim Jagielski (jim@jaguNET.com) in specific.
19#
20# Be as similar to the output of config.guess/config.sub
21# as possible.
22
23PREFIX=""
24SUFFIX=""
25TEST="false"
26EXE=""
27
28# pick up any command line args to config
29for i
30do
31case "$i" in
32-d*) PREFIX="debug-";;
33-t*) TEST="true";;
34-h*) TEST="true"; cat <<EOF
35Usage: config [options]
36 -d Add a debug- prefix to machine choice.
37 -t Test mode, do not run the Configure perl script.
38 -h This help.
39
40Any other text will be passed to the Configure perl script.
41See INSTALL for instructions.
42
43EOF
44;;
45*) options=$options" $i" ;;
46esac
47done
48
49# First get uname entries that we use below
50
51[ "$MACHINE" ] || MACHINE=`(uname -m) 2>/dev/null` || MACHINE="unknown"
52[ "$RELEASE" ] || RELEASE=`(uname -r) 2>/dev/null` || RELEASE="unknown"
53[ "$SYSTEM" ] || SYSTEM=`(uname -s) 2>/dev/null` || SYSTEM="unknown"
54[ "$BUILD" ] || VERSION=`(uname -v) 2>/dev/null` || VERSION="unknown"
55
56
57# Now test for ISC and SCO, since it is has a braindamaged uname.
58#
59# We need to work around FreeBSD 1.1.5.1
60(
61XREL=`uname -X 2>/dev/null | grep "^Release" | awk '{print $3}'`
62if [ "x$XREL" != "x" ]; then
63 if [ -f /etc/kconfig ]; then
64 case "$XREL" in
65 4.0|4.1)
66 echo "${MACHINE}-whatever-isc4"; exit 0
67 ;;
68 esac
69 else
70 case "$XREL" in
71 3.2v4.2)
72 echo "whatever-whatever-sco3"; exit 0
73 ;;
74 3.2v5.0*)
75 echo "whatever-whatever-sco5"; exit 0
76 ;;
77 4.2MP)
78 case "x${VERSION}" in
79 x2.0*) echo "whatever-whatever-unixware20"; exit 0 ;;
80 x2.1*) echo "whatever-whatever-unixware21"; exit 0 ;;
81 x2*) echo "whatever-whatever-unixware2"; exit 0 ;;
82 esac
83 ;;
84 4.2)
85 echo "whatever-whatever-unixware1"; exit 0
86 ;;
87 5*)
88 case "x${VERSION}" in
89 # We hardcode i586 in place of ${MACHINE} for the
90 # following reason. The catch is that even though Pentium
91 # is minimum requirement for platforms in question,
92 # ${MACHINE} gets always assigned to i386. Now, problem
93 # with i386 is that it makes ./config pass 386 to
94 # ./Configure, which in turn makes make generate
95 # inefficient SHA-1 (for this moment) code.
96 x[678]*) echo "i586-sco-unixware7"; exit 0 ;;
97 esac
98 ;;
99 esac
100 fi
101fi
102# Now we simply scan though... In most cases, the SYSTEM info is enough
103#
104case "${SYSTEM}:${RELEASE}:${VERSION}:${MACHINE}" in
105 MPE/iX:*)
106 MACHINE=`echo "$MACHINE" | sed -e 's/-/_/g'`
107 echo "parisc-hp-MPE/iX"; exit 0
108 ;;
109 A/UX:*)
110 echo "m68k-apple-aux3"; exit 0
111 ;;
112
113 AIX:[3-9]:4:*)
114 echo "${MACHINE}-ibm-aix"; exit 0
115 ;;
116
117 AIX:*:[5-9]:*)
118 echo "${MACHINE}-ibm-aix"; exit 0
119 ;;
120
121 AIX:*)
122 echo "${MACHINE}-ibm-aix3"; exit 0
123 ;;
124
125 BeOS:*:BePC)
126 if [ -e /boot/develop/headers/be/bone ]; then
127 echo "beos-x86-bone"; exit 0
128 else
129 echo "beos-x86-r5"; exit 0
130 fi
131 ;;
132
133 dgux:*)
134 echo "${MACHINE}-dg-dgux"; exit 0
135 ;;
136
137 HI-UX:*)
138 echo "${MACHINE}-hi-hiux"; exit 0
139 ;;
140
141 HP-UX:*)
142 HPUXVER=`echo ${RELEASE}|sed -e 's/[^.]*.[0B]*//'`
143 case "$HPUXVER" in
144 1[0-9].*) # HPUX 10 and 11 targets are unified
145 echo "${MACHINE}-hp-hpux1x"; exit 0
146 ;;
147 *)
148 echo "${MACHINE}-hp-hpux"; exit 0
149 ;;
150 esac
151 ;;
152
153 IRIX:5.*)
154 echo "mips2-sgi-irix"; exit 0
155 ;;
156
157 IRIX:6.*)
158 echo "mips3-sgi-irix"; exit 0
159 ;;
160
161 IRIX64:*)
162 echo "mips4-sgi-irix64"; exit 0
163 ;;
164
165 Linux:[2-9].*)
166 echo "${MACHINE}-whatever-linux2"; exit 0
167 ;;
168
169 Linux:1.*)
170 echo "${MACHINE}-whatever-linux1"; exit 0
171 ;;
172
173 GNU*)
174 echo "hurd-x86"; exit 0;
175 ;;
176
177 LynxOS:*)
178 echo "${MACHINE}-lynx-lynxos"; exit 0
179 ;;
180
181 BSD/OS:4.*) # BSD/OS always says 386
182 echo "i486-whatever-bsdi4"; exit 0
183 ;;
184
185 BSD/386:*:*:*486*|BSD/OS:*:*:*:*486*)
186 case `/sbin/sysctl -n hw.model` in
187 Pentium*)
188 echo "i586-whatever-bsdi"; exit 0
189 ;;
190 *)
191 echo "i386-whatever-bsdi"; exit 0
192 ;;
193 esac;
194 ;;
195
196 BSD/386:*|BSD/OS:*)
197 echo "${MACHINE}-whatever-bsdi"; exit 0
198 ;;
199
200 FreeBSD:*:*:*386*)
201 VERS=`echo ${RELEASE} | sed -e 's/[-(].*//'`
202 MACH=`sysctl -n hw.model`
203 ARCH='whatever'
204 case ${MACH} in
205 *386* ) MACH="i386" ;;
206 *486* ) MACH="i486" ;;
207 Pentium\ II*) MACH="i686" ;;
208 Pentium* ) MACH="i586" ;;
209 * ) MACH="$MACHINE" ;;
210 esac
211 case ${MACH} in
212 i[0-9]86 ) ARCH="pc" ;;
213 esac
214 echo "${MACH}-${ARCH}-freebsd${VERS}"; exit 0
215 ;;
216
217 FreeBSD:*)
218 echo "${MACHINE}-whatever-freebsd"; exit 0
219 ;;
220
221 NetBSD:*:*:*386*)
222 echo "`(/usr/sbin/sysctl -n hw.model || /sbin/sysctl -n hw.model) | sed 's,.*\(.\)86-class.*,i\186,'`-whatever-netbsd"; exit 0
223 ;;
224
225 NetBSD:*)
226 echo "${MACHINE}-whatever-netbsd"; exit 0
227 ;;
228
229 OpenBSD:*)
230 echo "${MACHINE}-whatever-openbsd"; exit 0
231 ;;
232
233 OpenUNIX:*)
234 echo "${MACHINE}-unknown-OpenUNIX${VERSION}"; exit 0
235 ;;
236
237 OSF1:*:*:*alpha*)
238 OSFMAJOR=`echo ${RELEASE}| sed -e 's/^V\([0-9]*\)\..*$/\1/'`
239 case "$OSFMAJOR" in
240 4|5)
241 echo "${MACHINE}-dec-tru64"; exit 0
242 ;;
243 1|2|3)
244 echo "${MACHINE}-dec-osf"; exit 0
245 ;;
246 *)
247 echo "${MACHINE}-dec-osf"; exit 0
248 ;;
249 esac
250 ;;
251
252 QNX:*)
253 case "$RELEASE" in
254 4*)
255 echo "${MACHINE}-whatever-qnx4"
256 ;;
257 6*)
258 echo "${MACHINE}-whatever-qnx6"
259 ;;
260 *)
261 echo "${MACHINE}-whatever-qnx"
262 ;;
263 esac
264 exit 0
265 ;;
266
267 Paragon*:*:*:*)
268 echo "i860-intel-osf1"; exit 0
269 ;;
270
271 Rhapsody:*)
272 echo "ppc-apple-rhapsody"; exit 0
273 ;;
274
275 Darwin:*)
276 case "$MACHINE" in
277 Power*)
278 echo "ppc-apple-darwin${VERSION}"
279 ;;
280 *)
281 echo "i686-apple-darwin${VERSION}"
282 ;;
283 esac
284 exit 0
285 ;;
286
287 SunOS:5.*)
288 echo "${MACHINE}-whatever-solaris2"; exit 0
289 ;;
290
291 SunOS:*)
292 echo "${MACHINE}-sun-sunos4"; exit 0
293 ;;
294
295 UNIX_System_V:4.*:*)
296 echo "${MACHINE}-whatever-sysv4"; exit 0
297 ;;
298
299 VOS:*:*:i786)
300 echo "i386-stratus-vos"; exit 0
301 ;;
302
303 VOS:*:*:*)
304 echo "hppa1.1-stratus-vos"; exit 0
305 ;;
306
307 *:4*:R4*:m88k)
308 echo "${MACHINE}-whatever-sysv4"; exit 0
309 ;;
310
311 DYNIX/ptx:4*:*)
312 echo "${MACHINE}-whatever-sysv4"; exit 0
313 ;;
314
315 *:4.0:3.0:3[34]?? | *:4.0:3.0:3[34]??,*)
316 echo "i486-ncr-sysv4"; exit 0
317 ;;
318
319 ULTRIX:*)
320 echo "${MACHINE}-unknown-ultrix"; exit 0
321 ;;
322
323 SINIX*|ReliantUNIX*)
324 echo "${MACHINE}-siemens-sysv4"; exit 0
325 ;;
326
327 POSIX-BC*)
328 echo "${MACHINE}-siemens-sysv4"; exit 0 # Here, $MACHINE == "BS2000"
329 ;;
330
331 machten:*)
332 echo "${MACHINE}-tenon-${SYSTEM}"; exit 0;
333 ;;
334
335 library:*)
336 echo "${MACHINE}-ncr-sysv4"; exit 0
337 ;;
338
339 ConvexOS:*:11.0:*)
340 echo "${MACHINE}-v11-${SYSTEM}"; exit 0;
341 ;;
342
343 NEWS-OS:4.*)
344 echo "mips-sony-newsos4"; exit 0;
345 ;;
346
347 MINGW*)
348 echo "${MACHINE}-whatever-mingw"; exit 0;
349 ;;
350 CYGWIN*)
351 case "$RELEASE" in
352 [bB]*|1.0|1.[12].*)
353 echo "${MACHINE}-whatever-cygwin_pre1.3"
354 ;;
355 *)
356 echo "${MACHINE}-whatever-cygwin"
357 ;;
358 esac
359 exit 0
360 ;;
361
362 *"CRAY T3E")
363 echo "t3e-cray-unicosmk"; exit 0;
364 ;;
365
366 *CRAY*)
367 echo "j90-cray-unicos"; exit 0;
368 ;;
369
370 NONSTOP_KERNEL*)
371 echo "nsr-tandem-nsk"; exit 0;
372 ;;
373
374 vxworks*)
375 echo "${MACHINE}-whatever-vxworks"; exit 0;
376 ;;
377esac
378
379#
380# Ugg. These are all we can determine by what we know about
381# the output of uname. Be more creative:
382#
383
384# Do the Apollo stuff first. Here, we just simply assume
385# that the existance of the /usr/apollo directory is proof
386# enough
387if [ -d /usr/apollo ]; then
388 echo "whatever-apollo-whatever"
389 exit 0
390fi
391
392# Now NeXT
393ISNEXT=`hostinfo 2>/dev/null`
394case "$ISNEXT" in
395 *'NeXT Mach 3.3'*)
396 echo "whatever-next-nextstep3.3"; exit 0
397 ;;
398 *NeXT*)
399 echo "whatever-next-nextstep"; exit 0
400 ;;
401esac
402
403# At this point we gone through all the one's
404# we know of: Punt
405
406echo "${MACHINE}-whatever-${SYSTEM}"
407exit 0
408) 2>/dev/null | (
409
410# ---------------------------------------------------------------------------
411# this is where the translation occurs into SSLeay terms
412# ---------------------------------------------------------------------------
413
414# Only set CC if not supplied already
415if [ -z "$CROSS_COMPILE$CC" ]; then
416 GCCVER=`sh -c "gcc -dumpversion" 2>/dev/null`
417 if [ "$GCCVER" != "" ]; then
418 # then strip off whatever prefix egcs prepends the number with...
419 # Hopefully, this will work for any future prefixes as well.
420 GCCVER=`echo $GCCVER | LC_ALL=C sed 's/^[a-zA-Z]*\-//'`
421 # Since gcc 3.1 gcc --version behaviour has changed. gcc -dumpversion
422 # does give us what we want though, so we use that. We just just the
423 # major and minor version numbers.
424 # peak single digit before and after first dot, e.g. 2.95.1 gives 29
425 GCCVER=`echo $GCCVER | sed 's/\([0-9]\)\.\([0-9]\).*/\1\2/'`
426 CC=gcc
427 else
428 CC=cc
429 fi
430fi
431GCCVER=${GCCVER:-0}
432if [ "$SYSTEM" = "HP-UX" ];then
433 # By default gcc is a ILP32 compiler (with long long == 64).
434 GCC_BITS="32"
435 if [ $GCCVER -ge 30 ]; then
436 # PA64 support only came in with gcc 3.0.x.
437 # We check if the preprocessor symbol __LP64__ is defined...
438 if echo "__LP64__" | gcc -v -E -x c - 2>/dev/null | grep "^__LP64__" 2>&1 > /dev/null; then
439 : # __LP64__ has slipped through, it therefore is not defined
440 else
441 GCC_BITS="64"
442 fi
443 fi
444fi
445if [ "$SYSTEM" = "SunOS" ]; then
446 if [ $GCCVER -ge 30 ]; then
447 # 64-bit ABI isn't officially supported in gcc 3.0, but it appears
448 # to be working, at the very least 'make test' passes...
449 if gcc -v -E -x c /dev/null 2>&1 | grep __arch64__ > /dev/null; then
450 GCC_ARCH="-m64"
451 else
452 GCC_ARCH="-m32"
453 fi
454 fi
455 # check for WorkShop C, expected output is "cc: blah-blah C x.x"
456 CCVER=`(cc -V 2>&1) 2>/dev/null | \
457 egrep -e '^cc: .* C [0-9]\.[0-9]' | \
458 sed 's/.* C \([0-9]\)\.\([0-9]\).*/\1\2/'`
459 CCVER=${CCVER:-0}
460 if [ $MACHINE != i86pc -a $CCVER -gt 40 ]; then
461 CC=cc # overrides gcc!!!
462 if [ $CCVER -eq 50 ]; then
463 echo "WARNING! Detected WorkShop C 5.0. Do make sure you have"
464 echo " patch #107357-01 or later applied."
465 sleep 5
466 fi
467 fi
468fi
469
470if [ "${SYSTEM}-${MACHINE}" = "Linux-alpha" ]; then
471 # check for Compaq C, expected output is "blah-blah C Vx.x"
472 CCCVER=`(ccc -V 2>&1) 2>/dev/null | \
473 egrep -e '.* C V[0-9]\.[0-9]' | \
474 sed 's/.* C V\([0-9]\)\.\([0-9]\).*/\1\2/'`
475 CCCVER=${CCCVER:-0}
476 if [ $CCCVER -gt 60 ]; then
477 CC=ccc # overrides gcc!!! well, ccc outperforms inoticeably
478 # only on hash routines and des, otherwise gcc (2.95)
479 # keeps along rather tight...
480 fi
481fi
482
483if [ "${SYSTEM}" = "AIX" ]; then # favor vendor cc over gcc
484 (cc) 2>&1 | grep -iv "not found" > /dev/null && CC=cc
485fi
486
487CCVER=${CCVER:-0}
488
489# read the output of the embedded GuessOS
490read GUESSOS
491
492echo Operating system: $GUESSOS
493
494# now map the output into SSLeay terms ... really should hack into the
495# script above so we end up with values in vars but that would take
496# more time that I want to waste at the moment
497case "$GUESSOS" in
498 uClinux*64*)
499 OUT=uClinux-dist64
500 ;;
501 uClinux*)
502 OUT=uClinux-dist
503 ;;
504 mips2-sgi-irix)
505 CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
506 CPU=${CPU:-0}
507 if [ $CPU -ge 4000 ]; then
508 options="$options -mips2"
509 fi
510 OUT="irix-$CC"
511 ;;
512 mips3-sgi-irix)
513 #CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
514 #CPU=${CPU:-0}
515 #if [ $CPU -ge 5000 ]; then
516 # options="$options -mips4"
517 #else
518 # options="$options -mips3"
519 #fi
520 OUT="irix-mips3-$CC"
521 ;;
522 mips4-sgi-irix64)
523 echo "WARNING! If you wish to build 64-bit library, then you have to"
524 echo " invoke './Configure irix64-mips4-$CC' *manually*."
525 if [ "$TEST" = "false" -a -t 1 ]; then
526 echo " You have about 5 seconds to press Ctrl-C to abort."
527 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
528 fi
529 #CPU=`(hinv -t cpu) 2>/dev/null | head -1 | sed 's/^CPU:[^R]*R\([0-9]*\).*/\1/'`
530 #CPU=${CPU:-0}
531 #if [ $CPU -ge 5000 ]; then
532 # options="$options -mips4"
533 #else
534 # options="$options -mips3"
535 #fi
536 OUT="irix-mips3-$CC"
537 ;;
538 ppc-apple-rhapsody) OUT="rhapsody-ppc-cc" ;;
539 ppc-apple-darwin*)
540 ISA64=`(sysctl -n hw.optional.64bitops) 2>/dev/null`
541 if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then
542 echo "WARNING! If you wish to build 64-bit library, then you have to"
543 echo " invoke './Configure darwin64-ppc-cc' *manually*."
544 if [ "$TEST" = "false" -a -t 1 ]; then
545 echo " You have about 5 seconds to press Ctrl-C to abort."
546 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
547 fi
548 fi
549 if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then
550 OUT="darwin64-ppc-cc"
551 else
552 OUT="darwin-ppc-cc"
553 fi ;;
554 i?86-apple-darwin*)
555 ISA64=`(sysctl -n hw.optional.x86_64) 2>/dev/null`
556 if [ "$ISA64" = "1" -a -z "$KERNEL_BITS" ]; then
557 echo "WARNING! If you wish to build 64-bit library, then you have to"
558 echo " invoke './Configure darwin64-x86_64-cc' *manually*."
559 if [ "$TEST" = "false" -a -t 1 ]; then
560 echo " You have about 5 seconds to press Ctrl-C to abort."
561 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
562 fi
563 fi
564 if [ "$ISA64" = "1" -a "$KERNEL_BITS" = "64" ]; then
565 OUT="darwin64-x86_64-cc"
566 else
567 OUT="darwin-i386-cc"
568 fi ;;
569 armv6+7-*-iphoneos)
570 options="$options -arch%20armv6 -arch%20armv7"
571 OUT="iphoneos-cross" ;;
572 *-*-iphoneos)
573 options="$options -arch%20${MACHINE}"
574 OUT="iphoneos-cross" ;;
575 alpha-*-linux2)
576 ISA=`awk '/cpu model/{print$4;exit(0);}' /proc/cpuinfo`
577 case ${ISA:-generic} in
578 *[678]) OUT="linux-alpha+bwx-$CC" ;;
579 *) OUT="linux-alpha-$CC" ;;
580 esac
581 if [ "$CC" = "gcc" ]; then
582 case ${ISA:-generic} in
583 EV5|EV45) options="$options -mcpu=ev5";;
584 EV56|PCA56) options="$options -mcpu=ev56";;
585 *) options="$options -mcpu=ev6";;
586 esac
587 fi
588 ;;
589 ppc64-*-linux2)
590 echo "WARNING! If you wish to build 64-bit library, then you have to"
591 echo " invoke './Configure linux-ppc64' *manually*."
592 if [ "$TEST" = "false" -a -t 1 ]; then
593 echo " You have about 5 seconds to press Ctrl-C to abort."
594 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
595 fi
596 OUT="linux-ppc"
597 ;;
598 ppc-*-linux2) OUT="linux-ppc" ;;
599 ppc60x-*-vxworks*) OUT="vxworks-ppc60x" ;;
600 ppcgen-*-vxworks*) OUT="vxworks-ppcgen" ;;
601 pentium-*-vxworks*) OUT="vxworks-pentium" ;;
602 simlinux-*-vxworks*) OUT="vxworks-simlinux" ;;
603 mips-*-vxworks*) OUT="vxworks-mips";;
604 ia64-*-linux?) OUT="linux-ia64" ;;
605 sparc64-*-linux2)
606 echo "WARNING! If you *know* that your GNU C supports 64-bit/V9 ABI"
607 echo " and wish to build 64-bit library, then you have to"
608 echo " invoke './Configure linux64-sparcv9' *manually*."
609 if [ "$TEST" = "false" -a -t 1 ]; then
610 echo " You have about 5 seconds to press Ctrl-C to abort."
611 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
612 fi
613 OUT="linux-sparcv9" ;;
614 sparc-*-linux2)
615 KARCH=`awk '/^type/{print$3;exit(0);}' /proc/cpuinfo`
616 case ${KARCH:-sun4} in
617 sun4u*) OUT="linux-sparcv9" ;;
618 sun4m) OUT="linux-sparcv8" ;;
619 sun4d) OUT="linux-sparcv8" ;;
620 *) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
621 esac ;;
622 parisc*-*-linux2)
623 # 64-bit builds under parisc64 linux are not supported and
624 # compiler is expected to generate 32-bit objects...
625 CPUARCH=`awk '/cpu family/{print substr($5,1,3); exit(0);}' /proc/cpuinfo`
626 CPUSCHEDULE=`awk '/^cpu.[ ]*: PA/{print substr($3,3); exit(0);}' /proc/cpuinfo`
627
628 # ??TODO ?? Model transformations
629 # 0. CPU Architecture for the 1.1 processor has letter suffixes. We strip that off
630 # assuming no further arch. identification will ever be used by GCC.
631 # 1. I'm most concerned about whether is a 7300LC is closer to a 7100 versus a 7100LC.
632 # 2. The variant 64-bit processors cause concern should GCC support explicit schedulers
633 # for these chips in the future.
634 # PA7300LC -> 7100LC (1.1)
635 # PA8200 -> 8000 (2.0)
636 # PA8500 -> 8000 (2.0)
637 # PA8600 -> 8000 (2.0)
638
639 CPUSCHEDULE=`echo $CPUSCHEDULE|sed -e 's/7300LC/7100LC/' -e 's/8.00/8000/'`
640 # Finish Model transformations
641
642 options="$options -DB_ENDIAN -mschedule=$CPUSCHEDULE -march=$CPUARCH"
643 OUT="linux-generic32" ;;
644 armv[1-3]*-*-linux2) OUT="linux-generic32" ;;
645 armv[7-9]*-*-linux2) OUT="linux-armv4"; options="$options -march=armv7-a" ;;
646 arm*-*-linux2) OUT="linux-armv4" ;;
647 sh*b-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
648 sh*-*-linux2) OUT="linux-generic32"; options="$options -DL_ENDIAN" ;;
649 m68k*-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
650 s390-*-linux2) OUT="linux-generic32"; options="$options -DB_ENDIAN" ;;
651 s390x-*-linux2)
652 # To be uncommented when glibc bug is fixed, see Configure...
653 #if egrep -e '^features.* highgprs' /proc/cpuinfo >/dev/null ; then
654 # echo "WARNING! If you wish to build \"highgprs\" 32-bit library, then you"
655 # echo " have to invoke './Configure linux32-s390x' *manually*."
656 # if [ "$TEST" = "false" -a -t -1 ]; then
657 # echo " You have about 5 seconds to press Ctrl-C to abort."
658 # (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
659 # fi
660 #fi
661 OUT="linux64-s390x"
662 ;;
663 x86_64-*-linux?) OUT="linux-x86_64" ;;
664 *86-*-linux2) OUT="linux-elf"
665 if [ "$GCCVER" -gt 28 ]; then
666 if grep '^model.*Pentium' /proc/cpuinfo >/dev/null ; then
667 options="$options -march=pentium"
668 fi
669 if grep '^model.*Pentium Pro' /proc/cpuinfo >/dev/null ; then
670 options="$options -march=pentiumpro"
671 fi
672 if grep '^model.*K6' /proc/cpuinfo >/dev/null ; then
673 options="$options -march=k6"
674 fi
675 fi ;;
676 *-*-linux1) OUT="linux-aout" ;;
677 *-*-linux2) OUT="linux-generic32" ;;
678 sun4[uv]*-*-solaris2)
679 OUT="solaris-sparcv9-$CC"
680 ISA64=`(isalist) 2>/dev/null | grep sparcv9`
681 if [ "$ISA64" != "" -a "$KERNEL_BITS" = "" ]; then
682 if [ "$CC" = "cc" -a $CCVER -ge 50 ]; then
683 echo "WARNING! If you wish to build 64-bit library, then you have to"
684 echo " invoke './Configure solaris64-sparcv9-cc' *manually*."
685 if [ "$TEST" = "false" -a -t 1 ]; then
686 echo " You have about 5 seconds to press Ctrl-C to abort."
687 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
688 fi
689 elif [ "$CC" = "gcc" -a "$GCC_ARCH" = "-m64" ]; then
690 # $GCC_ARCH denotes default ABI chosen by compiler driver
691 # (first one found on the $PATH). I assume that user
692 # expects certain consistency with the rest of his builds
693 # and therefore switch over to 64-bit. <appro>
694 OUT="solaris64-sparcv9-gcc"
695 echo "WARNING! If you wish to build 32-bit library, then you have to"
696 echo " invoke './Configure solaris-sparcv9-gcc' *manually*."
697 if [ "$TEST" = "false" -a -t 1 ]; then
698 echo " You have about 5 seconds to press Ctrl-C to abort."
699 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
700 fi
701 elif [ "$GCC_ARCH" = "-m32" ]; then
702 echo "NOTICE! If you *know* that your GNU C supports 64-bit/V9 ABI"
703 echo " and wish to build 64-bit library, then you have to"
704 echo " invoke './Configure solaris64-sparcv9-gcc' *manually*."
705 if [ "$TEST" = "false" -a -t 1 ]; then
706 echo " You have about 5 seconds to press Ctrl-C to abort."
707 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
708 fi
709 fi
710 fi
711 if [ "$ISA64" != "" -a "$KERNEL_BITS" = "64" ]; then
712 OUT="solaris64-sparcv9-$CC"
713 fi
714 ;;
715 sun4m-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
716 sun4d-*-solaris2) OUT="solaris-sparcv8-$CC" ;;
717 sun4*-*-solaris2) OUT="solaris-sparcv7-$CC" ;;
718 *86*-*-solaris2)
719 ISA64=`(isalist) 2>/dev/null | grep amd64`
720 if [ "$ISA64" != "" -a ${KERNEL_BITS:-64} -eq 64 ]; then
721 OUT="solaris64-x86_64-$CC"
722 else
723 OUT="solaris-x86-$CC"
724 if [ `uname -r | sed -e 's/5\.//'` -lt 10 ]; then
725 options="$options no-sse2"
726 fi
727 fi
728 ;;
729 *-*-sunos4) OUT="sunos-$CC" ;;
730
731 *86*-*-bsdi4) OUT="BSD-x86-elf"; options="$options no-sse2 -ldl" ;;
732 alpha*-*-*bsd*) OUT="BSD-generic64"; options="$options -DL_ENDIAN" ;;
733 powerpc64-*-*bsd*) OUT="BSD-generic64"; options="$options -DB_ENDIAN" ;;
734 sparc64-*-*bsd*) OUT="BSD-sparc64" ;;
735 ia64-*-*bsd*) OUT="BSD-ia64" ;;
736 amd64-*-*bsd*) OUT="BSD-x86_64" ;;
737 *86*-*-*bsd*) # mimic ld behaviour when it's looking for libc...
738 if [ -L /usr/lib/libc.so ]; then # [Free|Net]BSD
739 libc=/usr/lib/libc.so
740 else # OpenBSD
741 # ld searches for highest libc.so.* and so do we
742 libc=`(ls /usr/lib/libc.so.* | tail -1) 2>/dev/null`
743 fi
744 case "`(file -L $libc) 2>/dev/null`" in
745 *ELF*) OUT="BSD-x86-elf" ;;
746 *) OUT="BSD-x86"; options="$options no-sse2" ;;
747 esac ;;
748 *-*-*bsd*) OUT="BSD-generic32" ;;
749
750 *-*-osf) OUT="osf1-alpha-cc" ;;
751 *-*-tru64) OUT="tru64-alpha-cc" ;;
752 *-*-[Uu]nix[Ww]are7)
753 if [ "$CC" = "gcc" ]; then
754 OUT="unixware-7-gcc" ; options="$options no-sse2"
755 else
756 OUT="unixware-7" ; options="$options no-sse2 -D__i386__"
757 fi
758 ;;
759 *-*-[Uu]nix[Ww]are20*) OUT="unixware-2.0"; options="$options no-sse2 no-sha512" ;;
760 *-*-[Uu]nix[Ww]are21*) OUT="unixware-2.1"; options="$options no-sse2 no-sha512" ;;
761 *-*-vos)
762 options="$options no-threads no-shared no-asm no-dso"
763 EXE=".pm"
764 OUT="vos-$CC" ;;
765 BS2000-siemens-sysv4) OUT="BS2000-OSD" ;;
766 RM*-siemens-sysv4) OUT="ReliantUNIX" ;;
767 *-siemens-sysv4) OUT="SINIX" ;;
768 *-hpux1*)
769 if [ $CC = "gcc" -a $GCC_BITS = "64" ]; then
770 OUT="hpux64-parisc2-gcc"
771 fi
772 [ "$KERNEL_BITS" ] || KERNEL_BITS=`(getconf KERNEL_BITS) 2>/dev/null`
773 KERNEL_BITS=${KERNEL_BITS:-32}
774 CPU_VERSION=`(getconf CPU_VERSION) 2>/dev/null`
775 CPU_VERSION=${CPU_VERSION:-0}
776 # See <sys/unistd.h> for further info on CPU_VERSION.
777 if [ $CPU_VERSION -ge 768 ]; then # IA-64 CPU
778 if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
779 OUT="hpux64-ia64-cc"
780 else
781 OUT="hpux-ia64-cc"
782 fi
783 elif [ $CPU_VERSION -ge 532 ]; then # PA-RISC 2.x CPU
784 OUT=${OUT:-"hpux-parisc2-${CC}"}
785 if [ $KERNEL_BITS -eq 64 -a "$CC" = "cc" ]; then
786 echo "WARNING! If you wish to build 64-bit library then you have to"
787 echo " invoke './Configure hpux64-parisc2-cc' *manually*."
788 if [ "$TEST" = "false" -a -t 1 ]; then
789 echo " You have about 5 seconds to press Ctrl-C to abort."
790 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
791 fi
792 fi
793 elif [ $CPU_VERSION -ge 528 ]; then # PA-RISC 1.1+ CPU
794 OUT="hpux-parisc-${CC}"
795 elif [ $CPU_VERSION -ge 523 ]; then # PA-RISC 1.0 CPU
796 OUT="hpux-parisc-${CC}"
797 else # Motorola(?) CPU
798 OUT="hpux-$CC"
799 fi
800 options="$options -D_REENTRANT" ;;
801 *-hpux) OUT="hpux-parisc-$CC" ;;
802 *-aix)
803 [ "$KERNEL_BITS" ] || KERNEL_BITS=`(getconf KERNEL_BITMODE) 2>/dev/null`
804 KERNEL_BITS=${KERNEL_BITS:-32}
805 OBJECT_MODE=${OBJECT_MODE:-32}
806 if [ "$CC" = "gcc" ]; then
807 OUT="aix-gcc"
808 if [ $OBJECT_MODE -eq 64 ]; then
809 echo 'Your $OBJECT_MODE was found to be set to 64'
810 OUT="aix64-gcc"
811 fi
812 elif [ $OBJECT_MODE -eq 64 ]; then
813 echo 'Your $OBJECT_MODE was found to be set to 64'
814 OUT="aix64-cc"
815 else
816 OUT="aix-cc"
817 if [ $KERNEL_BITS -eq 64 ]; then
818 echo "WARNING! If you wish to build 64-bit kit, then you have to"
819 echo " invoke './Configure aix64-cc' *manually*."
820 if [ "$TEST" = "false" -a -t 1 ]; then
821 echo " You have ~5 seconds to press Ctrl-C to abort."
822 (trap "stty `stty -g`" 2 0; stty -icanon min 0 time 50; read waste) <&1
823 fi
824 fi
825 fi
826 if (lsattr -E -O -l `lsdev -c processor|awk '{print$1;exit}'` | grep -i powerpc) >/dev/null 2>&1; then
827 : # this applies even to Power3 and later, as they return PowerPC_POWER[345]
828 else
829 options="$options no-asm"
830 fi
831 ;;
832 # these are all covered by the catchall below
833 # *-dgux) OUT="dgux" ;;
834 mips-sony-newsos4) OUT="newsos4-gcc" ;;
835 *-*-cygwin_pre1.3) OUT="Cygwin-pre1.3" ;;
836 *-*-cygwin) OUT="Cygwin" ;;
837 t3e-cray-unicosmk) OUT="cray-t3e" ;;
838 j90-cray-unicos) OUT="cray-j90" ;;
839 nsr-tandem-nsk) OUT="tandem-c89" ;;
840 beos-*) OUT="$GUESSOS" ;;
841 x86pc-*-qnx6) OUT="QNX6-i386" ;;
842 *-*-qnx6) OUT="QNX6" ;;
843 x86-*-android|i?86-*-android) OUT="android-x86" ;;
844 armv[7-9]*-*-android) OUT="android-armv7" ;;
845 *) OUT=`echo $GUESSOS | awk -F- '{print $3}'`;;
846esac
847
848if expr "$options" : '.*no\-asm' > /dev/null; then :; else
849 sh -c "$CROSS_COMPILE${CC:-gcc} -Wa,--help -c -o /tmp/null.$$.o -x assembler /dev/null && rm /tmp/null.$$.o" 2>&1 | \
850 grep \\--noexecstack >/dev/null && \
851 options="$options -Wa,--noexecstack"
852fi
853
854# gcc < 2.8 does not support -march=ultrasparc
855if [ "$OUT" = solaris-sparcv9-gcc -a $GCCVER -lt 28 ]
856then
857 echo "WARNING! Falling down to 'solaris-sparcv8-gcc'."
858 echo " Upgrade to gcc-2.8 or later."
859 sleep 5
860 OUT=solaris-sparcv8-gcc
861fi
862if [ "$OUT" = "linux-sparcv9" -a $GCCVER -lt 28 ]
863then
864 echo "WARNING! Falling down to 'linux-sparcv8'."
865 echo " Upgrade to gcc-2.8 or later."
866 sleep 5
867 OUT=linux-sparcv8
868fi
869
870case "$GUESSOS" in
871 i386-*) options="$options 386" ;;
872esac
873
874for i in aes bf camellia cast des dh dsa ec hmac idea md2 md5 mdc2 rc2 rc4 rc5 ripemd rsa seed sha
875do
876 if [ ! -d crypto/$i ]
877 then
878 options="$options no-$i"
879 fi
880done
881
882# Discover Kerberos 5 (since it's still a prototype, we don't
883# do any guesses yet, that's why this section is commented away.
884#if [ -d /usr/kerberos ]; then
885# krb5_dir=/usr/kerberos
886# if [ \( -f $krb5_dir/lib/libgssapi_krb5.a -o -f $krb5_dir/lib/libgssapi_krb5.so* \)\
887# -a \( -f $krb5_dir/lib/libkrb5.a -o -f $krb5_dir/lib/libkrb5.so* \)\
888# -a \( -f $krb5_dir/lib/libcom_err.a -o -f $krb5_dir/lib/libcom_err.so* \)\
889# -a \( -f $krb5_dir/lib/libk5crypto.a -o -f $krb5_dir/lib/libk5crypto.so* \)\
890# -a \( -f $krb5_dir/include/krb5.h \) ]; then
891# options="$options --with-krb5-flavor=MIT"
892# fi
893#elif [ -d /usr/heimdal ]; then
894# krb5_dir=/usr/heimdal
895# if [ \( -f $krb5_dir/lib/libgssapi.a -o -f $krb5_dir/lib/libgssapi.so* \)\
896# -a \( -f $krb5_dir/lib/libkrb5.a -o -f $krb5_dir/lib/libkrb5.so* \)\
897# -a \( -f $krb5_dir/lib/libcom_err.a -o -f $krb5_dir/lib/libcom_err.so* \)\
898# -a \( -f $krb5_dir/include/krb5.h \) ]; then
899# options="$options --with-krb5-flavor=Heimdal"
900# fi
901#fi
902
903if [ -z "$OUT" ]; then
904 OUT="$CC"
905fi
906
907if [ ".$PERL" = . ] ; then
908 for i in . `echo $PATH | sed 's/:/ /g'`; do
909 if [ -f "$i/perl5$EXE" ] ; then
910 PERL="$i/perl5$EXE"
911 break;
912 fi;
913 done
914fi
915
916if [ ".$PERL" = . ] ; then
917 for i in . `echo $PATH | sed 's/:/ /g'`; do
918 if [ -f "$i/perl$EXE" ] ; then
919 if "$i/perl$EXE" -e 'exit($]<5.0)'; then
920 PERL="$i/perl$EXE"
921 break;
922 fi;
923 fi;
924 done
925fi
926
927if [ ".$PERL" = . ] ; then
928 echo "You need Perl 5."
929 exit 1
930fi
931
932# run Configure to check to see if we need to specify the
933# compiler for the platform ... in which case we add it on
934# the end ... otherwise we leave it off
935
936$PERL ./Configure LIST | grep "$OUT-$CC" > /dev/null
937if [ $? = "0" ]; then
938 OUT="$OUT-$CC"
939fi
940
941OUT="$PREFIX$OUT"
942
943$PERL ./Configure LIST | grep "$OUT" > /dev/null
944if [ $? = "0" ]; then
945 echo Configuring for $OUT
946
947 if [ "$TEST" = "true" ]; then
948 echo $PERL ./Configure $OUT $options
949 else
950 $PERL ./Configure $OUT $options
951 fi
952else
953 echo "This system ($OUT) is not supported. See file INSTALL for details."
954fi
955)