Cross compile Lighttpd with Openssl

1 . Compile pcre

Build command as below
CUR_PATH=`pwd`
BUILD_PATH=$CUR_PATH/MyBuild
mkdir -p $CUR_PATH/MyBuild
make distclean
./configure CC=arm-linux-gnueabihf-gcc  RANLIB=arm-linux-gnueabihf-ranlib CXX=arm-linux-gnueabihf-g++ --host=arm-linux-gnueabihf
make -j8 CC=arm-linux-gnueabihf-gcc AR="arm-linux-gnueabihf-ar r" RANLIB=arm-linux-gnueabihf-ranlib 


2 . Compile openssl
Build command as below
CUR_PATH=`pwd`
BUILD_PATH=$CUR_PATH/MyBuild
mkdir -p $CUR_PATH/MyBuild && -p mkdir $CUR_PATH/MyBuild/ssl
make distclean
CC=arm-linux-gnueabihf-gcc  RANLIB=arm-linux-gnueabihf-ranlib ./config no-asm shared --openssldir=ssl --prefix=$BUILD_PATH
cp ./Makefile.none_m64 Makefile
make -j8 CC=arm-linux-gnueabihf-gcc AR="arm-linux-gnueabihf-ar r" RANLIB=arm-linux-gnueabihf-ranlib
arm-linux-gnueabihf-strip -s libcrypto.so.1.0.0
arm-linux-gnueabihf-strip -s libssl.so.1.0.0 


 3 . Compile lighttpd(static build)
Before build lighttpd, it must add plugin-static.h to src folder (plugin-static.h)
Add modulds that you would like to build-in lighttpd
example : 
PLUGIN_INIT(mod_access)
PLUGIN_INIT(mod_auth)
PLUGIN_INIT(mod_authn_file)
PLUGIN_INIT(mod_redirect)
PLUGIN_INIT(mod_rewrite)
PLUGIN_INIT(mod_cgi)
PLUGIN_INIT(mod_fastcgi)
PLUGIN_INIT(mod_scgi)
PLUGIN_INIT(mod_ssi)
PLUGIN_INIT(mod_proxy)
PLUGIN_INIT(mod_indexfile)
PLUGIN_INIT(mod_dirlisting)
PLUGIN_INIT(mod_staticfile)
PLUGIN_INIT(mod_openssl)


Build command as below  (build.sh)
make distclean
CUR_PATH=`pwd`
rm -rf arm-bin
mkdir -p arm-bin
echo "current_path = $CUR_PATH"
OPENSSL_PATH=$CUR_PATH/../openssl-1.0.2m
PCRE_PATH=$CUR_PATH/../pcre-8.41
BUILD_PATH=$CUR_PATH/arm-bin
LIGHTTPD_STATIC=yes CPPFLAGS=-DLIGHTTPD_STATIC ./configure  --prefix=$BUILD_PATH CC=arm-linux-gnueabihf-gcc \
    RANLIB=arm-linux-gnueabihf-ranlib STRIP=arm-linux-gnueabihf-strip \
    LDFLAGS="-static -L$PCRE_PATH/.libs/ -L$OPENSSL_PATH -lpcre" CFLAGS="-I$PCRE_PATH" \
    CPP=arm-linux-gnueabihf-cpp --without-zlib  --without-bzip2 --with-openssl=$OPENSSL_PATH \
    --host=arm-linux-gnueabihf --enable-static --disable-shared


 Note : below link is patch for my system config.patch

沒有留言:

張貼留言

Install KDE Desktop for Ubuntu 24.04

1. Enter following command to install the KDE-plasma sudo apt install kde-plasma-desktop 2. Disable the login screen 2-1. Create default sdd...