diff options
Diffstat (limited to 'src/lib/libcrypto/util/cygwin.sh')
-rw-r--r-- | src/lib/libcrypto/util/cygwin.sh | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/src/lib/libcrypto/util/cygwin.sh b/src/lib/libcrypto/util/cygwin.sh new file mode 100644 index 0000000000..b607399b02 --- /dev/null +++ b/src/lib/libcrypto/util/cygwin.sh | |||
@@ -0,0 +1,125 @@ | |||
1 | #!/bin/bash | ||
2 | # | ||
3 | # This script configures, builds and packs the binary package for | ||
4 | # the Cygwin net distribution version of OpenSSL | ||
5 | # | ||
6 | |||
7 | # Uncomment when debugging | ||
8 | #set -x | ||
9 | |||
10 | CONFIG_OPTIONS="--prefix=/usr shared no-idea no-rc5 no-mdc2" | ||
11 | INSTALL_PREFIX=/tmp/install | ||
12 | |||
13 | VERSION= | ||
14 | SUBVERSION=$1 | ||
15 | |||
16 | function cleanup() | ||
17 | { | ||
18 | rm -rf ${INSTALL_PREFIX}/etc | ||
19 | rm -rf ${INSTALL_PREFIX}/usr | ||
20 | } | ||
21 | |||
22 | function get_openssl_version() | ||
23 | { | ||
24 | eval `grep '^VERSION=' Makefile.ssl` | ||
25 | if [ -z "${VERSION}" ] | ||
26 | then | ||
27 | echo "Error: Couldn't retrieve OpenSSL version from Makefile.ssl." | ||
28 | echo " Check value of variable VERSION in Makefile.ssl." | ||
29 | exit 1 | ||
30 | fi | ||
31 | } | ||
32 | |||
33 | function base_install() | ||
34 | { | ||
35 | mkdir -p ${INSTALL_PREFIX} | ||
36 | cleanup | ||
37 | make install INSTALL_PREFIX="${INSTALL_PREFIX}" | ||
38 | } | ||
39 | |||
40 | function doc_install() | ||
41 | { | ||
42 | DOC_DIR=${INSTALL_PREFIX}/usr/doc/openssl | ||
43 | |||
44 | mkdir -p ${DOC_DIR} | ||
45 | cp CHANGES CHANGES.SSLeay INSTALL LICENSE NEWS README ${DOC_DIR} | ||
46 | |||
47 | create_cygwin_readme | ||
48 | } | ||
49 | |||
50 | function create_cygwin_readme() | ||
51 | { | ||
52 | README_DIR=${INSTALL_PREFIX}/usr/doc/Cygwin | ||
53 | README_FILE=${README_DIR}/openssl-${VERSION}.README | ||
54 | |||
55 | mkdir -p ${README_DIR} | ||
56 | cat > ${README_FILE} <<- EOF | ||
57 | The Cygwin version has been built using the following configure: | ||
58 | |||
59 | ./config ${CONFIG_OPTIONS} | ||
60 | |||
61 | The IDEA, RC5 and MDC2 algorithms are disabled due to patent and/or | ||
62 | licensing issues. | ||
63 | EOF | ||
64 | } | ||
65 | |||
66 | function create_profile_files() | ||
67 | { | ||
68 | PROFILE_DIR=${INSTALL_PREFIX}/etc/profile.d | ||
69 | |||
70 | mkdir -p $PROFILE_DIR | ||
71 | cat > ${PROFILE_DIR}/openssl.sh <<- "EOF" | ||
72 | export MANPATH="${MANPATH}:/usr/ssl/man" | ||
73 | EOF | ||
74 | cat > ${PROFILE_DIR}/openssl.csh <<- "EOF" | ||
75 | if ( $?MANPATH ) then | ||
76 | setenv MANPATH "${MANPATH}:/usr/ssl/man" | ||
77 | else | ||
78 | setenv MANPATH ":/usr/ssl/man" | ||
79 | endif | ||
80 | EOF | ||
81 | } | ||
82 | |||
83 | if [ -z "${SUBVERSION}" ] | ||
84 | then | ||
85 | echo "Usage: $0 subversion" | ||
86 | exit 1 | ||
87 | fi | ||
88 | |||
89 | if [ ! -f config ] | ||
90 | then | ||
91 | echo "You must start this script in the OpenSSL toplevel source dir." | ||
92 | exit 1 | ||
93 | fi | ||
94 | |||
95 | ./config ${CONFIG_OPTIONS} | ||
96 | |||
97 | get_openssl_version | ||
98 | |||
99 | make || exit 1 | ||
100 | |||
101 | base_install | ||
102 | |||
103 | doc_install | ||
104 | |||
105 | create_cygwin_readme | ||
106 | |||
107 | create_profile_files | ||
108 | |||
109 | cd ${INSTALL_PREFIX} | ||
110 | strip usr/bin/*.exe usr/bin/*.dll | ||
111 | |||
112 | # Runtime package | ||
113 | find etc usr/bin usr/doc usr/ssl/certs usr/ssl/man/man[157] usr/ssl/misc \ | ||
114 | usr/ssl/openssl.cnf usr/ssl/private -empty -o \! -type d | | ||
115 | tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 - | ||
116 | # Development package | ||
117 | find usr/include usr/lib usr/ssl/man/man3 -empty -o \! -type d | | ||
118 | tar cjfT openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 - | ||
119 | |||
120 | ls -l openssl-${VERSION}-${SUBVERSION}.tar.bz2 | ||
121 | ls -l openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 | ||
122 | |||
123 | cleanup | ||
124 | |||
125 | exit 0 | ||