HhoopeCheungv3.23.3
3c04472f创建于 2023年4月25日历史提交
#!/bin/bash
echo =========== compile log4cpp==================
ARCH=`uname -m`
open_src_path=`pwd`
log4cpp_dir="./../../../platform/eSDK_LogAPI_V2.1.10/log4cpp"
logAPI_dir="./../../../platform/eSDK_LogAPI_V2.1.10/eSDKLogAPI"
log4cpplib_dir=$log4cpp_dir/lib


cd $log4cpp_dir
chmod 777 configure
aclocal -I m4
autoreconf -ivf
automake -a -c
if [ $# = 0 ]; then 
    if [ $BUILD_FOR_ARM = "true" ];then
        CXXFLAGS="-fstack-protector-all -Wl,-z,relro,-z,now -O2" ./configure --prefix=/usr/local/log4cpp --host=aarch64-linux-gnu --build=aarch64-gnu-linux --with-gnu-ld --with-pthreads
        lib_out=aarch64
    elif [ $BUILD_FOR_NDK_AARCH64 = "true" ];then
        CXXFLAGS="-fstack-protector-all -O2" LDFLAGS="-Wl,-z,relro,-z,now" ./configure --prefix=/usr/local/log4cpp --host=aarch64-linux-android CC=aarch64-linux-android-gcc --with-pthreads
        lib_out=ndk-aarch64
    elif [ $BUILD_FOR_MACOS = "true" ]; then
        mkdir build
        cd build
        cmake ../ -DCMAKE_BUILD_TYPE=Release
        lib_out = macos
    else
        CXXFLAGS="-fstack-protector-all -Wl,-z,relro,-z,now -O2" ./configure --prefix=/usr/local/log4cpp --with-pthreads
        lib_out=linux_64
    fi
elif [ $1 = "BUILD_FOR_ARM" ]; then
    CXXFLAGS="-fstack-protector-all -Wl,-z,relro,-z,now -O2" ./configure --prefix=/usr/local/log4cpp --host=aarch64-linux-gnu --build=aarch64-gnu-linux --with-gnu-ld --with-pthreads
    lib_out=aarch64
elif [ $1 = "BUILD_FOR_NDK_AARCH64" ]; then
    CXXFLAGS="-fstack-protector-all -O2" LDFLAGS="-Wl,-z,relro,-z,now" ./configure --prefix=/usr/local/log4cpp --host=aarch64-linux-android CC=aarch64-linux-android-gcc --with-pthreads
    lib_out=ndk-aarch64
elif [ $1 = "BUILD_FOR_MACOS" ]; then
    mkdir build
    cd build
    cmake ../ -DCMAKE_BUILD_TYPE=Release
    lib_out = macos
fi

make clean 
make -j16
make uninstall
make install

cd $open_src_path

mkdir -p $log4cpplib_dir

mkdir -p $logAPI_dir/../C/$lib_out
if [ "$lib_out"x = "ndk-aarch64"x ];then
cp -af /usr/local/log4cpp/lib/liblog4cpp.a $logAPI_dir/../C/$lib_out
elif [ "$lib_out"x = "macos"x ];then
cp -af $log4cpp_dir/build/liblog4cpp.a $logAPI_dir/../C/$lib_out
else
cp -af /usr/local/log4cpp/lib/liblog4cpp*.so* $logAPI_dir/../C/$lib_out
fi

echo =========build the libeSDKLogAPI.so=========
cd $logAPI_dir
make clean
if [ "$lib_out"x = "ndk-aarch64"x ];then
make -f Makefile.ndk-aarch64
elif [ "$lib_out"x = "macos"x ];then
make -f Makefile.Macos
else
make
fi

if [ "$lib_out"x = "macos"x ]; then
cp libeSDKLogAPI.dylib ../C/$lib_out -f
else
cp libeSDKLogAPI.so ../C/$lib_out -f
fi

cd $open_src_path