Include OpenSSL in builds

This commit is contained in:
Shoghi Cervantes 2014-02-16 16:10:05 +01:00
parent e22b70296f
commit 9847f38a9f
2 changed files with 40 additions and 5 deletions

View File

@ -3,6 +3,7 @@ PHP_VERSION="5.5.9"
ZEND_VM="GOTO" ZEND_VM="GOTO"
ZLIB_VERSION="1.2.8" ZLIB_VERSION="1.2.8"
OPENSSL_VERSION="1.0.1f"
CURL_VERSION="curl-7_35_0" CURL_VERSION="curl-7_35_0"
LIBEDIT_VERSION="0.3" LIBEDIT_VERSION="0.3"
PTHREADS_VERSION="0.1.0" PTHREADS_VERSION="0.1.0"
@ -44,16 +45,19 @@ if [ "$1" == "rpi" ]; then
[ -z "$march" ] && march=armv6zk; [ -z "$march" ] && march=armv6zk;
[ -z "$mtune" ] && mtune=arm1176jzf-s; [ -z "$mtune" ] && mtune=arm1176jzf-s;
[ -z "$CFLAGS" ] && CFLAGS="-mfloat-abi=hard -mfpu=vfp"; [ -z "$CFLAGS" ] && CFLAGS="-mfloat-abi=hard -mfpu=vfp";
OPENSSL_TARGET="linux-armv4"
echo "[INFO] Compiling for Raspberry Pi ARMv6zk hard float" echo "[INFO] Compiling for Raspberry Pi ARMv6zk hard float"
elif [ "$1" == "mac" ]; then elif [ "$1" == "mac" ]; then
[ -z "$march" ] && march=prescott; [ -z "$march" ] && march=prescott;
[ -z "$mtune" ] && mtune=generic; [ -z "$mtune" ] && mtune=generic;
[ -z "$CFLAGS" ] && CFLAGS="-fomit-frame-pointer"; [ -z "$CFLAGS" ] && CFLAGS="-fomit-frame-pointer";
OPENSSL_TARGET="darwin64-x86_64-cc"
echo "[INFO] Compiling for Intel MacOS" echo "[INFO] Compiling for Intel MacOS"
elif [ "$1" == "ios" ]; then elif [ "$1" == "ios" ]; then
[ -z "$march" ] && march=armv6; [ -z "$march" ] && march=armv6;
[ -z "$mtune" ] && mtune=cortex-a8; [ -z "$mtune" ] && mtune=cortex-a8;
echo "[INFO] Compiling for iOS ARMv6" echo "[INFO] Compiling for iOS ARMv6"
OPENSSL_TARGET="linux-armv4"
elif [ "$1" == "crosscompile" ]; then elif [ "$1" == "crosscompile" ]; then
HAVE_MYSQLI="--without-mysqli" HAVE_MYSQLI="--without-mysqli"
if [ "$2" == "android" ] || [ "$2" == "android-armv6" ]; then if [ "$2" == "android" ] || [ "$2" == "android-armv6" ]; then
@ -66,6 +70,7 @@ elif [ "$1" == "crosscompile" ]; then
CFLAGS="-uclibc --static $CFLAGS"; CFLAGS="-uclibc --static $CFLAGS";
LDFLAGS="--static" LDFLAGS="--static"
echo "[INFO] Cross-compiling for Android ARMv6" echo "[INFO] Cross-compiling for Android ARMv6"
OPENSSL_TARGET="linux-armv4"
elif [ "$2" == "android-armv7" ]; then elif [ "$2" == "android-armv7" ]; then
COMPILE_FOR_ANDROID=yes COMPILE_FOR_ANDROID=yes
[ -z "$march" ] && march=armv7-a; [ -z "$march" ] && march=armv7-a;
@ -76,6 +81,7 @@ elif [ "$1" == "crosscompile" ]; then
CFLAGS="-uclibc --static $CFLAGS"; CFLAGS="-uclibc --static $CFLAGS";
LDFLAGS="--static" LDFLAGS="--static"
echo "[INFO] Cross-compiling for Android ARMv7" echo "[INFO] Cross-compiling for Android ARMv7"
OPENSSL_TARGET="linux-armv4"
elif [ "$2" == "rpi" ]; then elif [ "$2" == "rpi" ]; then
TOOLCHAIN_PREFIX="arm-linux-gnueabihf" TOOLCHAIN_PREFIX="arm-linux-gnueabihf"
[ -z "$march" ] && march=armv6zk; [ -z "$march" ] && march=armv6zk;
@ -84,6 +90,7 @@ elif [ "$1" == "crosscompile" ]; then
export CC="$TOOLCHAIN_PREFIX-gcc" export CC="$TOOLCHAIN_PREFIX-gcc"
CONFIGURE_FLAGS="--host=$TOOLCHAIN_PREFIX" CONFIGURE_FLAGS="--host=$TOOLCHAIN_PREFIX"
[ -z "$CFLAGS" ] && CFLAGS="-uclibc"; [ -z "$CFLAGS" ] && CFLAGS="-uclibc";
OPENSSL_TARGET="linux-armv4"
echo "[INFO] Cross-compiling for Raspberry Pi ARMv6zk hard float" echo "[INFO] Cross-compiling for Raspberry Pi ARMv6zk hard float"
elif [ "$2" == "mac" ]; then elif [ "$2" == "mac" ]; then
[ -z "$march" ] && march=prescott; [ -z "$march" ] && march=prescott;
@ -94,15 +101,18 @@ elif [ "$1" == "crosscompile" ]; then
CONFIGURE_FLAGS="--host=$TOOLCHAIN_PREFIX" CONFIGURE_FLAGS="--host=$TOOLCHAIN_PREFIX"
#zlib doesn't use the correct ranlib #zlib doesn't use the correct ranlib
RANLIB=$TOOLCHAIN_PREFIX-ranlib RANLIB=$TOOLCHAIN_PREFIX-ranlib
OPENSSL_TARGET="darwin64-x86_64-cc"
echo "[INFO] Cross-compiling for Intel MacOS" echo "[INFO] Cross-compiling for Intel MacOS"
elif [ "$2" == "ios" ] || [ "$2" == "ios-armv6" ]; then elif [ "$2" == "ios" ] || [ "$2" == "ios-armv6" ]; then
[ -z "$march" ] && march=armv6; [ -z "$march" ] && march=armv6;
[ -z "$mtune" ] && mtune=generic-armv6; [ -z "$mtune" ] && mtune=generic-armv6;
CONFIGURE_FLAGS="--target=arm-apple-darwin10" CONFIGURE_FLAGS="--target=arm-apple-darwin10"
OPENSSL_TARGET="linux-armv4"
elif [ "$2" == "ios-armv7" ]; then elif [ "$2" == "ios-armv7" ]; then
[ -z "$march" ] && march=armv7-a; [ -z "$march" ] && march=armv7-a;
[ -z "$mtune" ] && mtune=generic-armv7-a; [ -z "$mtune" ] && mtune=generic-armv7-a;
CONFIGURE_FLAGS="--target=arm-apple-darwin10" CONFIGURE_FLAGS="--target=arm-apple-darwin10"
OPENSSL_TARGET="linux-armv4"
else else
echo "Please supply a proper platform [android android-armv6 android-armv7 rpi mac ios ios-armv6 ios-armv7] to cross-compile" echo "Please supply a proper platform [android android-armv6 android-armv7 rpi mac ios ios-armv6 ios-armv7] to cross-compile"
exit 1 exit 1
@ -111,9 +121,11 @@ elif [ -z "$CFLAGS" ]; then
if [ `getconf LONG_BIT` = "64" ]; then if [ `getconf LONG_BIT` = "64" ]; then
echo "[INFO] Compiling for current machine using 64-bit" echo "[INFO] Compiling for current machine using 64-bit"
CFLAGS="-m64 $CFLAGS" CFLAGS="-m64 $CFLAGS"
OPENSSL_TARGET="linux-x86_64"
else else
echo "[INFO] Compiling for current machine using 32-bit" echo "[INFO] Compiling for current machine using 32-bit"
CFLAGS="-m32 $CFLAGS" CFLAGS="-m32 $CFLAGS"
OPENSSL_TARGET="linux-generic32"
fi fi
fi fi
@ -211,6 +223,29 @@ cd ..
rm -r -f ./zlib rm -r -f ./zlib
echo " done!" echo " done!"
#OpenSSL
echo -n "[OpenSSL] downloading $OPENSSL_VERSION..."
download_file "http://www.openssl.org/source/openssl-$OPENSSL_VERSION.tar.gz" | tar -zx >> "$DIR/install.log" 2>&1
mv openssl-$OPENSSL_VERSION openssl
echo -n " checking..."
cd openssl
RANLIB=$RANLIB ./Configure \
$OPENSSL_TARGET \
--prefix="$DIR/install_data/php/ext/openssl" \
no-zlib \
no-shared \
no-asm \
no-hw \
no-engines \
$CONFIGURE_FLAGS >> "$DIR/install.log" 2>&1
echo -n " compiling..."
make -j $THREADS >> "$DIR/install.log" 2>&1
echo -n " installing..."
make install >> "$DIR/install.log" 2>&1
mv "$DIR/install_data/php/ext/openssl/include/openssl/"* "$DIR/install_data/php/ext/openssl/include/"
cd ..
echo " done!"
if [ "$(uname -s)" == "Darwin" ] && [ "$1" != "crosscompile" ] && [ "$2" != "curl" ]; then if [ "$(uname -s)" == "Darwin" ] && [ "$1" != "crosscompile" ] && [ "$2" != "curl" ]; then
HAVE_CURL="shared,/usr" HAVE_CURL="shared,/usr"
else else
@ -223,7 +258,7 @@ else
if [ ! -f ./configure ]; then if [ ! -f ./configure ]; then
./buildconf --force >> "$DIR/install.log" 2>&1 ./buildconf --force >> "$DIR/install.log" 2>&1
fi fi
./configure --disable-dependency-tracking \ PKG_CONFIG_PATH="$DIR/install_data/php/ext/openssl/lib/pkgconfig" ./configure --disable-dependency-tracking \
--enable-ipv6 \ --enable-ipv6 \
--enable-optimize \ --enable-optimize \
--enable-http \ --enable-http \
@ -241,7 +276,7 @@ else
--disable-ldaps \ --disable-ldaps \
--without-libidn \ --without-libidn \
--with-zlib="$DIR/install_data/php/ext/zlib" \ --with-zlib="$DIR/install_data/php/ext/zlib" \
--with-ssl \ --with-ssl="$DIR/install_data/php/ext/openssl" \
--enable-threaded-resolver \ --enable-threaded-resolver \
--prefix="$DIR/install_data/php/ext/curl" \ --prefix="$DIR/install_data/php/ext/curl" \
--disable-shared \ --disable-shared \
@ -314,7 +349,6 @@ if [ "$1" == "crosscompile" ]; then
sed -i 's/pthreads_working=no/pthreads_working=yes/' ./configure sed -i 's/pthreads_working=no/pthreads_working=yes/' ./configure
export LIBS="-lpthread -ldl" export LIBS="-lpthread -ldl"
CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-opcache=no" CONFIGURE_FLAGS="$CONFIGURE_FLAGS --enable-opcache=no"
fi fi
./configure $OPTIMIZATION--prefix="$DIR/bin/php5" \ ./configure $OPTIMIZATION--prefix="$DIR/bin/php5" \
--exec-prefix="$DIR/bin/php5" \ --exec-prefix="$DIR/bin/php5" \
@ -322,6 +356,7 @@ fi
--with-zlib="$DIR/install_data/php/ext/zlib" \ --with-zlib="$DIR/install_data/php/ext/zlib" \
--with-zlib-dir="$DIR/install_data/php/ext/zlib" \ --with-zlib-dir="$DIR/install_data/php/ext/zlib" \
--with-yaml="$DIR/install_data/php/ext/yaml" \ --with-yaml="$DIR/install_data/php/ext/yaml" \
--with-openssl="$DIR/install_data/php/ext/openssl" \
$HAVE_LIBEDIT \ $HAVE_LIBEDIT \
--disable-libxml \ --disable-libxml \
--disable-xml \ --disable-xml \

View File

@ -31,7 +31,7 @@ then
mkdir -p {$COMPILEDIR,$ARCHIVE}/linux/32bit mkdir -p {$COMPILEDIR,$ARCHIVE}/linux/32bit
cd $COMPILEDIR/linux/32bit cd $COMPILEDIR/linux/32bit
CFLAGS="-m32 -static" LDFLAGS="-ldl" march=i686 mtune=none $SCRIPT OPENSSL_TARGET="linux-generic32" CFLAGS="-m32" march=i686 mtune=none $SCRIPT
cp -r $COMPILEDIR/linux/32bit/{install.log,bin/*,install_data/*} $ARCHIVE/linux/32bit/ cp -r $COMPILEDIR/linux/32bit/{install.log,bin/*,install_data/*} $ARCHIVE/linux/32bit/
if [ ! -f $COMPILEDIR/linux/32bit/bin/php5/bin/php ]; then if [ ! -f $COMPILEDIR/linux/32bit/bin/php5/bin/php ]; then
@ -44,7 +44,7 @@ then
mkdir -p {$COMPILEDIR,$ARCHIVE}/linux/64bit mkdir -p {$COMPILEDIR,$ARCHIVE}/linux/64bit
cd $COMPILEDIR/linux/64bit cd $COMPILEDIR/linux/64bit
CFLAGS="-m64 -static" LDFLAGS="-ldl" march=x86-64 mtune=none $SCRIPT OPENSSL_TARGET="linux-x86_64" CFLAGS="-m64" march=x86-64 mtune=none $SCRIPT
cp -r $COMPILEDIR/linux/64bit/{install.log,bin/*,install_data/*} $ARCHIVE/linux/64bit/ cp -r $COMPILEDIR/linux/64bit/{install.log,bin/*,install_data/*} $ARCHIVE/linux/64bit/
if [ ! -f $COMPILEDIR/linux/64bit/bin/php5/bin/php ]; then if [ ! -f $COMPILEDIR/linux/64bit/bin/php5/bin/php ]; then