| | |
| | | |
| | | LYFTP_SRC=ftp://master.iot-yun.club/src/ |
| | | |
| | | # display in red |
| | | function pr_error() { |
| | | echo -e "\033[40;31m --E-- $1 \033[0m" |
| | | } |
| | | |
| | | # display in yellow |
| | | function pr_warn() { |
| | | echo -e "\033[40;33m --W-- $1 \033[0m" |
| | | } |
| | | |
| | | # display in green |
| | | function pr_info() { |
| | | echo -e "\033[40;32m --I-- $1 \033[0m" |
| | | } |
| | | |
| | | function msg_banner() |
| | | { |
| | | echo "" |
| | | echo "+-----------------------------------------------------------------------" |
| | | echo "| $1 " |
| | | echo -e "|\033[40;33m $1 \033[0m" |
| | | echo "+-----------------------------------------------------------------------" |
| | | echo "" |
| | | } |
| | |
| | | function check_result() |
| | | { |
| | | if [ $? != 0 ] ; then |
| | | echo "" |
| | | echo "+-----------------------------------------------------------------------" |
| | | echo "| $1 " |
| | | echo "+-----------------------------------------------------------------------" |
| | | echo "" |
| | | exit ; |
| | | pr_error $1 |
| | | fi |
| | | } |
| | | |
| | |
| | | if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then |
| | | msg_banner "Start download ${SRC_NAME}.${PACK_SUFIX} " |
| | | wget ${LYFTP_SRC}/qt/${SRC_NAME}.${PACK_SUFIX} |
| | | check_result "ERROR: download ${SRC_NAME} failure" |
| | | check_result "download ${SRC_NAME} failure" |
| | | fi |
| | | |
| | | msg_banner "Start decompress $SRC_NAME.${PACK_SUFIX} and patch" |
| | |
| | | sed -i "s|arm-linux-gnueabi-|$CROSSTOOL|" ${QMAKE_FILE} |
| | | fi |
| | | |
| | | ./configure -opensource -confirm-license -release -shared -strip -prefix ${QT_INST_PATH} -no-c++11 \ |
| | | -xplatform linux-arm-gnueabi-g++ -qt-freetype -no-libproxy -no-avx -make libs \ |
| | | -qt-zlib -no-mtdev -no-gif -qt-libpng -qt-libjpeg -no-openssl -no-cups -no-dbus -pch \ |
| | | -no-xcb -no-eglfs -no-kms -no-directfb -no-opengl -linuxfb -qpa linuxfb \ |
| | | -no-sse2 -no-sse3 -no-ssse3 -no-sse4.1 -no-sse4.2 -no-rpath -no-glib \ |
| | | -no-separate-debug-info -nomake tests -nomake tools -nomake examples \ |
| | | -tslib -I${LIBS_PATH}/include/ -L${LIBS_PATH}/lib/ -I${QT_INST_PATH}/include/ -L${QT_INST_PATH}/lib/ |
| | | ./configure -opensource -confirm-license -release -shared -strip -no-c++11 \ |
| | | -prefix ${QT_INST_PATH} -xplatform linux-arm-gnueabi-g++ -make libs \ |
| | | -no-cups -no-libproxy -no-avx -no-mtdev -no-rpath -no-glib -no-xcb -pch \ |
| | | -no-eglfs -no-opengl -no-openssl -no-separate-debug-info -nomake tests \ |
| | | -qt-freetype -qt-zlib -qt-libpng -qt-libjpeg -tslib -linuxfb -qpa linuxfb \ |
| | | -I${LIBS_PATH}/include/ -L${LIBS_PATH}/lib/ -I${QT_INST_PATH}/include/ -L${QT_INST_PATH}/lib/ |
| | | |
| | | msg_banner "Start cross compile $SRC_NAME " |
| | | make -j${JOBS} && make install |
| | | check_result "ERROR: compile ${SRC_NAME} failure" |
| | | check_result "compile ${SRC_NAME} failure" |
| | | cp ./qtbase/plugins/platforms/libqlinuxfb.so ${QT_INST_PATH}/lib |
| | | cp -af ${LIBS_PATH}/lib/libts*so* ${QT_INST_PATH}/lib |
| | | |
| | |
| | | if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then |
| | | #tslib official download address: https://github.com/libts/tslib/tags |
| | | wget ${LYFTP_SRC}/${SRC_NAME}.${PACK_SUFIX} |
| | | check_result "ERROR: download ${SRC_NAME} failure" |
| | | check_result "download ${SRC_NAME} failure" |
| | | fi |
| | | |
| | | tar -xjf ${SRC_NAME}.${PACK_SUFIX} |
| | |
| | | if [ ! -f ${SRC_NAME}.${PACK_SUFIX} ] ; then |
| | | #wget https://ftp.gnu.org/gnu/libiconv/${SRC_NAME}.${PACK_SUFIX} |
| | | wget ${LYFTP_SRC}/${SRC_NAME}.${PACK_SUFIX} |
| | | check_result "ERROR: download ${SRC_NAME} failure" |
| | | check_result "download ${SRC_NAME} failure" |
| | | fi |
| | | |
| | | tar -xzf ${SRC_NAME}.${PACK_SUFIX} |
| | |
| | | export CFLAGS="" |
| | | } |
| | | |
| | | function check_deptool() |
| | | { |
| | | ${CROSSTOOL}g++ -v > /dev/null 2>&1 |
| | | if [ $? != 0 ] ; then |
| | | echo "" |
| | | pr_error "Crosstool not installed, please install it by follow command:" |
| | | pr_info "sudo apt install gcc-arm-linux-gnueabihf g++-arm-linux-gnueabihf" |
| | | echo "" |
| | | exit 1; |
| | | fi |
| | | } |
| | | |
| | | check_deptool |
| | | |
| | | export_cross |
| | | |
| | | compile_libiconv |