diff options
Diffstat (limited to 'src/lib/libcrypto/util/cygwin.sh')
| -rw-r--r-- | src/lib/libcrypto/util/cygwin.sh | 141 |
1 files changed, 141 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..89d1dda95b --- /dev/null +++ b/src/lib/libcrypto/util/cygwin.sh | |||
| @@ -0,0 +1,141 @@ | |||
| 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` | ||
| 25 | if [ -z "${VERSION}" ] | ||
| 26 | then | ||
| 27 | echo "Error: Couldn't retrieve OpenSSL version from Makefile." | ||
| 28 | echo " Check value of variable VERSION in Makefile." | ||
| 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/share/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 certs_install() | ||
| 51 | { | ||
| 52 | CERTS_DIR=${INSTALL_PREFIX}/usr/ssl/certs | ||
| 53 | |||
| 54 | mkdir -p ${CERTS_DIR} | ||
| 55 | cp -rp certs/* ${CERTS_DIR} | ||
| 56 | } | ||
| 57 | |||
| 58 | function create_cygwin_readme() | ||
| 59 | { | ||
| 60 | README_DIR=${INSTALL_PREFIX}/usr/share/doc/Cygwin | ||
| 61 | README_FILE=${README_DIR}/openssl-${VERSION}.README | ||
| 62 | |||
| 63 | mkdir -p ${README_DIR} | ||
| 64 | cat > ${README_FILE} <<- EOF | ||
| 65 | The Cygwin version has been built using the following configure: | ||
| 66 | |||
| 67 | ./config ${CONFIG_OPTIONS} | ||
| 68 | |||
| 69 | The IDEA, RC5 and MDC2 algorithms are disabled due to patent and/or | ||
| 70 | licensing issues. | ||
| 71 | EOF | ||
| 72 | } | ||
| 73 | |||
| 74 | function create_profile_files() | ||
| 75 | { | ||
| 76 | PROFILE_DIR=${INSTALL_PREFIX}/etc/profile.d | ||
| 77 | |||
| 78 | mkdir -p $PROFILE_DIR | ||
| 79 | cat > ${PROFILE_DIR}/openssl.sh <<- "EOF" | ||
| 80 | export MANPATH="${MANPATH}:/usr/ssl/man" | ||
| 81 | EOF | ||
| 82 | cat > ${PROFILE_DIR}/openssl.csh <<- "EOF" | ||
| 83 | if ( $?MANPATH ) then | ||
| 84 | setenv MANPATH "${MANPATH}:/usr/ssl/man" | ||
| 85 | else | ||
| 86 | setenv MANPATH ":/usr/ssl/man" | ||
| 87 | endif | ||
| 88 | EOF | ||
| 89 | } | ||
| 90 | |||
| 91 | if [ -z "${SUBVERSION}" ] | ||
| 92 | then | ||
| 93 | echo "Usage: $0 subversion" | ||
| 94 | exit 1 | ||
| 95 | fi | ||
| 96 | |||
| 97 | if [ ! -f config ] | ||
| 98 | then | ||
| 99 | echo "You must start this script in the OpenSSL toplevel source dir." | ||
| 100 | exit 1 | ||
| 101 | fi | ||
| 102 | |||
| 103 | ./config ${CONFIG_OPTIONS} | ||
| 104 | |||
| 105 | get_openssl_version | ||
| 106 | |||
| 107 | make depend || exit 1 | ||
| 108 | |||
| 109 | make || exit 1 | ||
| 110 | |||
| 111 | base_install | ||
| 112 | |||
| 113 | doc_install | ||
| 114 | |||
| 115 | certs_install | ||
| 116 | |||
| 117 | create_cygwin_readme | ||
| 118 | |||
| 119 | create_profile_files | ||
| 120 | |||
| 121 | cd ${INSTALL_PREFIX} | ||
| 122 | chmod u+w usr/lib/engines/*.so | ||
| 123 | strip usr/bin/*.exe usr/bin/*.dll usr/lib/engines/*.so | ||
| 124 | chmod u-w usr/lib/engines/*.so | ||
| 125 | |||
| 126 | # Runtime package | ||
| 127 | find etc usr/bin usr/lib/engines usr/share/doc usr/ssl/certs \ | ||
| 128 | usr/ssl/man/man[157] usr/ssl/misc usr/ssl/openssl.cnf usr/ssl/private \ | ||
| 129 | -empty -o \! -type d | | ||
| 130 | tar cjfT openssl-${VERSION}-${SUBVERSION}.tar.bz2 - | ||
| 131 | # Development package | ||
| 132 | find usr/include usr/lib/*.a usr/lib/pkgconfig usr/ssl/man/man3 \ | ||
| 133 | -empty -o \! -type d | | ||
| 134 | tar cjfT openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 - | ||
| 135 | |||
| 136 | ls -l openssl-${VERSION}-${SUBVERSION}.tar.bz2 | ||
| 137 | ls -l openssl-devel-${VERSION}-${SUBVERSION}.tar.bz2 | ||
| 138 | |||
| 139 | cleanup | ||
| 140 | |||
| 141 | exit 0 | ||
