Overview
| Comment: | Updated to support building our own libSSL (LibreSSL) if none is available or if requested (KC_TLS_BUILDSSL) | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | 
| Files: | files | file ages | folders | 
| SHA1: | 
3defed1bc38425d084fad6c98a49238a | 
| User & Date: | rkeene on 2016-07-08 19:41:13 | 
| Other Links: | manifest | tags | 
Context
| 
   2016-07-08 
 | ||
| 21:36 | Disable SSLv3 from our TclTLS builds -- newer versions of LibSSL no longer support it check-in: cac6170c7a user: rkeene tags: trunk | |
| 19:41 | Updated to support building our own libSSL (LibreSSL) if none is available or if requested (KC_TLS_BUILDSSL) check-in: 3defed1bc3 user: rkeene tags: trunk | |
| 
   2016-05-13 
 | ||
| 02:00 | Fix to build of TCL_UTF_MAX check-in: 71bd41f921 user: rkeene tags: trunk | |
Changes
Modified tls/build.sh from [caf2415988] to [1b0c40489d].
| ︙ | ︙ | |||
41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64  | 
	mkdir 'src' >/dev/null 2>/dev/null
	if [ ! -d 'buildsrc' ]; then
		download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
	fi
fi
(
	cd 'build' || exit 1
	if [ ! -d '../buildsrc' ]; then
		gzip -dc "../${SRC}" | tar -xf -
	else    
		cp -rp ../buildsrc/* './'
	fi
	# Determine SSL directory
	if [ -z "${CPP}" ]; then
		CPP="${CC:-cc} -E"
	fi
	if [ -n "${KC_TLS_SSLDIR}" ]; then
		SSLDIR="${KC_TLS_SSLDIR}"
	else
 | > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > | > > > > > >  | 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  | 
	mkdir 'src' >/dev/null 2>/dev/null
	if [ ! -d 'buildsrc' ]; then
		download "${SRCURL}" "${SRC}" "${SRCHASH}" || exit 1
	fi
fi
function buildSSLLibrary() {
	local version url hash
	local archive
	version='2.4.1'
	url="http://ftp.openbsd.org/pub/OpenBSD/LibreSSL/libressl-${version}.tar.gz"
	hash='121922b13169cd47a85e3e77f0bc129f8d04247193b42491cb1fab9074e80477'
	archive="src/libressl-${version}.tar.gz"
	echo " *** Building LibreSSL v${version}" >&2
	if [ ! -e "../${archive}" ]; then
		download "${url}" "../${archive}" "${hash}" || return 1
	fi
	(
		rm -rf libressl-*
		gzip -dc "../${archive}" | tar -xf - || exit 1
		cd "libressl-${version}" || exit 1
		echo "Running: ./configure ${CONFIGUREEXTRA} --disable-shared --enable-static --prefix=\"$(pwd)/INST\""
		./configure ${CONFIGUREEXTRA} --disable-shared --enable-static --prefix="$(pwd)/INST" || exit 1
		echo "Running: ${MAKE:-make} V=1"
		${MAKE:-make} V=1 || exit 1
		echo "Running: ${MAKE:-make} V=1 install" 
		${MAKE:-make} V=1 install || exit 1
	) || return 1
	SSLDIR="$(pwd)/libressl-${version}/INST"
}
(
	cd 'build' || exit 1
	if [ ! -d '../buildsrc' ]; then
		gzip -dc "../${SRC}" | tar -xf -
	else    
		cp -rp ../buildsrc/* './'
	fi
	# Determine SSL directory
	if [ -z "${CPP}" ]; then
		CPP="${CC:-cc} -E"
	fi
	if [ -n "${KC_TLS_SSLDIR}" ]; then
		SSLDIR="${KC_TLS_SSLDIR}"
	else
		SSLDIR=''
		if [ -z "${KC_TLS_BUILDSSL}" ]; then
			SSLDIR="$(echo '#include <openssl/ssl.h>' 2>/dev/null | ${CPP} - 2> /dev/null | awk '/# 1 "\/.*\/ssl\.h/{ print $3; exit }' | sed 's@^"@@;s@"$@@;s@/include/openssl/ssl\.h$@@')"
		fi
		if [ -z "${SSLDIR}" ]; then
			buildSSLLibrary || SSLDIR=''
		fi
		if [ -z "${SSLDIR}" ]; then
			echo "Unable to find OpenSSL, aborting." >&2
			exit 1
		fi
	fi
 | 
| ︙ | ︙ |