aboutsummaryrefslogtreecommitdiff
path: root/OpenSSL.sh
blob: e48cdfbca19e2d86de1fe7f5a56b4aa25b667b91 (plain)
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
#! /bin/bash

################################################################################
# Prepare
################################################################################

# Set up shell
set -x                          # Output commands
set -e                          # Abort on errors

# Set locations
NAME=openssl-0.9.8l
SRCDIR=$(dirname $0)
INSTALL_DIR=${SCRATCH_BUILD}
OPENSSL_DIR=${INSTALL_DIR}/${NAME}

# Clean up environment
unset EXE
unset LIBS
unset MAKEFLAGS



################################################################################
# Build
################################################################################

(
    exec >&2                    # Redirect stdout to stderr
    set -x                      # Output commands
    set -e                      # Abort on errors
    cd ${INSTALL_DIR}
    if [ -e done-${NAME} -a done-${NAME} -nt ${SRCDIR}/dist/${NAME}.tar.gz ]; then
        echo "OpenSSL: The enclosed OpenSSL library has already been built; doing nothing"
    else
        echo "OpenSSL: Building enclosed OpenSSL library"
        
        echo "OpenSSL: Unpacking archive..."
        rm -rf build-${NAME}
        mkdir build-${NAME}
        pushd build-${NAME}
        # Should we use gtar or tar?
        TAR=$(gtar --help > /dev/null 2> /dev/null && echo gtar || echo tar)
        ${TAR} xzf ${SRCDIR}/dist/${NAME}.tar.gz
        patch -p1 < ${SRCDIR}/dist/darwin.patch
        popd
        
        echo "OpenSSL: Configuring..."
        rm -rf ${NAME}
        mkdir ${NAME}
        pushd build-${NAME}/${NAME}
        ./config --prefix=${OPENSSL_DIR}
        
        echo "OpenSSL: Building..."
        make
        
        echo "OpenSSL: Installing..."
        make install
        popd
        
        echo 'done' > done-${NAME}
        echo "OpenSSL: Done."
    fi
)



################################################################################
# Configure Cactus
################################################################################

# Set options
OPENSSL_INC_DIRS="${OPENSSL_DIR}/include"
OPENSSL_LIB_DIRS="${OPENSSL_DIR}/lib"
OPENSSL_LIBS='ssl crypto'

# Pass options to Cactus
echo "BEGIN MAKE_DEFINITION"
echo "HAVE_OPENSSL     = 1"
echo "OPENSSL_DIR      = ${OPENSSL_DIR}"
echo "OPENSSL_INC_DIRS = ${OPENSSL_INC_DIRS}"
echo "OPENSSL_LIB_DIRS = ${OPENSSL_LIB_DIRS}"
echo "OPENSSL_LIBS     = ${OPENSSL_LIBS}"
echo "END MAKE_DEFINITION"

echo 'INCLUDE_DIRECTORY $(OPENSSL_INC_DIRS)'
echo 'LIBRARY_DIRECTORY $(OPENSSL_LIB_DIRS)'
echo 'LIBRARY           $(OPENSSL_LIBS)'