SRC_TARBALL=openssl-1.0.1e.tar.gz SRC_FETCH_PATH="http://www.openssl.org/source/$SRC_TARBALL" SRC_FETCH_METHOD="http" PATCH_LIST=" 01-default_ciphers.patch 02-cryptodev-1.5.patch 03-warning-header.patch 04-fix-for-SSL_get_certificate.patch 05-fix-typo-with-potential-integer-overflow-on-32-bit-platforms.patch 06-do-not-prefer-ECDHE-ECDSA-ciphers-when-the-client-appears-to-be-Safari-on-OS-X.patch 07-fix-verify-loop-with-CRL-checking.patch 08-fix-for-PEM_X509_INFO_read_bio.patch 09-typo-CMS_decrypt-mismatch-out-with-NULL.patch 10-fix-memory-leak-in-p5_crpt2.patch 11-new-cipher-setup-return-immediately.patch 12-ignore-NULL-parameter-in-EVP_MD_CTX_destroy.patch 13-typo-mismatch-in-out-in-buffer.patch 14-set-structure-d1-to-NULL-after-free.patch 15-fix-rare-bad-record-mac-on-AES-NI-plaforms.patch 16-Encode-INTEGER-correctly.patch " function do_config { # To find these options, try "./Configure LIST" then "./Configure TABLE". # The colons are just delimiters and all words are allowed on the line. # Please read the Configure script in openssl to fin the relevant keywords, # as most of them are already implied by the OS target definition and the # default compiler ! if [ "$FLXARCH" == "x86_64" ]; then os="linux-x86_64" opt=( $GCC_ARCH_CURRENT $GCC_CPU_CURRENT $GCC_OPT_FASTEST ) elif [ "$FLX_ARCH_SMALL" == "i386" ]; then os="linux-elf" opt=( $GCC_ARCH_CURRENT $GCC_CPU_CURRENT $GCC_OPT_FASTEST ) elif [ -n "$FLXARCH" -a -z "${FLXARCH##arm*}" ]; then os="linux-armv4" opt=( $GCC_ARCH_CURRENT $GCC_CPU_CURRENT $GCC_OPT_FASTEST ) elif [ "$FLXARCH" == "sparc" ]; then os="linux-sparcv9" opt="" elif [ "$FLXARCH" == "sparc64" ]; then os="linux64-sparcv9" opt="" else os="linux-elf" opt="" fi # Do not enable cryptodev digests (-DUSE_CRYPTODEV_DIGESTS), as indicated in # the README, they significantly lower performance due to the high latency of # the ioctl required for cryptodev. Only enable HAVE_CRYPTODEV. opt=( "${opt[@]}" -DHAVE_CRYPTODEV ) CC="$CC" ./Configure --prefix=/usr --openssldir=/usr/share/openssl threads shared "${opt[@]}" "$os" } function do_compile_only { $FLXMAKE CC=$CC AR='${FLXCROSS}ar r' RANLIB='${FLXCROSS}ranlib' || exit $? $FLXMAKE build-shared CC=$CC AR='${FLXCROSS}ar r' RANLIB='${FLXCROSS}ranlib' || exit $? $FLXMAKE -C apps CC=$CC DLIBCRYPTO=../libcrypto.so AR='${FLXCROSS}ar r' RANLIB='${FLXCROSS}ranlib' || exit $? } function do_prepack { $FLXMAKE install LIBDIR=/lib INSTALL_PREFIX=$ROOTDIR || exit $? set_default_perm $ROOTDIR }