1c87c5fbaSopenharmony_ci############################################################################
2c87c5fbaSopenharmony_ci#
3c87c5fbaSopenharmony_ci# OpenSSL dual versions
4c87c5fbaSopenharmony_ci#
5c87c5fbaSopenharmony_ci# Works with CentOS 7
6c87c5fbaSopenharmony_ci#
7c87c5fbaSopenharmony_ci############################################################################
8c87c5fbaSopenharmony_ci#
9c87c5fbaSopenharmony_ci# Add in alternative OpenSSL support into /opt/openssl.  /opt/openssl is
10c87c5fbaSopenharmony_ci# chosen instead of the default of /usr/local so that existing utilities
11c87c5fbaSopenharmony_ci# continue to use the original version of OpenSSL and so only specific
12c87c5fbaSopenharmony_ci# applications that requires the newer version of OpenSSL will pick up the
13c87c5fbaSopenharmony_ci# new code.
14c87c5fbaSopenharmony_ci#
15c87c5fbaSopenharmony_ci# Download latest stable version of openssl.X.Y.Z.tar.gz from
16c87c5fbaSopenharmony_ci# https://www.openssl.org/source/
17c87c5fbaSopenharmony_ci
18c87c5fbaSopenharmony_citar zxovf openssl.X.Y.Z.tar.gz
19c87c5fbaSopenharmony_cicd openssl.X.Y.X
20c87c5fbaSopenharmony_ci./config --prefix=/opt/openssl --openssldir=/opt/openssl
21c87c5fbaSopenharmony_cimake
22c87c5fbaSopenharmony_cisudo make install_sw
23c87c5fbaSopenharmony_ci
24c87c5fbaSopenharmony_ci# The following should not clash the existing OpenSSL lib*.so.1.0 usage unless
25c87c5fbaSopenharmony_ci# the previous OpenSSL version is 1.1.0 or later.
26c87c5fbaSopenharmony_ci# It just makes things for running executables a lot simpler.
27c87c5fbaSopenharmony_cisudo cp /opt/openssl/lib/lib*.so.1.1 /lib64
28c87c5fbaSopenharmony_cicd ..
29c87c5fbaSopenharmony_ci
30c87c5fbaSopenharmony_ci############################################################################
31c87c5fbaSopenharmony_ci#
32c87c5fbaSopenharmony_ci# libcoap build with updated OpenSSL
33c87c5fbaSopenharmony_ci#
34c87c5fbaSopenharmony_ci############################################################################
35c87c5fbaSopenharmony_ci
36c87c5fbaSopenharmony_ci# Get the latest libcoap
37c87c5fbaSopenharmony_cigit clone https://github.com/obgm/libcoap.git
38c87c5fbaSopenharmony_ci
39c87c5fbaSopenharmony_ci# Build code
40c87c5fbaSopenharmony_cicd libcoap
41c87c5fbaSopenharmony_ci./autogen.sh
42c87c5fbaSopenharmony_ci# Update --enable- / --disable- options as appropriate
43c87c5fbaSopenharmony_ci# libcoap libraries are put into /usr/lib64 for ease of linking
44c87c5fbaSopenharmony_ciPKG_CONFIG_PATH=/opt/openssl/lib/pkgconfig ./configure --libdir=/usr/lib64 \
45c87c5fbaSopenharmony_ci  --with-openssl --enable-tests --enable-examples --disable-doxygen \
46c87c5fbaSopenharmony_ci  --disable-manpages
47c87c5fbaSopenharmony_cimake
48c87c5fbaSopenharmony_cisudo make install
49c87c5fbaSopenharmony_cicd ..
50c87c5fbaSopenharmony_ci
51