LingYun Studio embeded system framwork software, such as thirdparty build shell and lingyun library
guowenxue
2024-08-22 a41651b62ff13fd89aafefd5c1e0ef7a6e5b31ad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/bin/bash
 
set -e
 
PREFIX_PATH=`pwd`/../install/
 
LYFTP_SRC=http://master.weike-iot.com:2211/src/
 
CROSS_COMPILE=/opt/gcc-aarch32-10.3-2021.07/bin/arm-none-linux-gnueabihf-
 
TOOLCHAIN=cortexa7.toolchain.cmake
 
JOBS=`cat /proc/cpuinfo  |  grep processor | wc -l`
 
function msg_banner()
{
    echo ""
    echo "+-----------------------------------------------------------------------"
    echo "|  $1 " 
    echo "+-----------------------------------------------------------------------"
    echo ""
}
 
function check_result()
{
    if [ $? != 0 ] ; then
       echo ""
       echo "+-----------------------------------------------------------------------"
       echo "|  $1 "
       echo "+-----------------------------------------------------------------------"
       echo ""
       exit ;
    fi
}
 
 
function compile_opencv()
{
    SRC_NAME=opencv-3.4.6
    PACK_SUFIX=zip
 
    if [ -f ${PREFIX_PATH}/lib/libopencv_core.so ] ; then
        msg_banner "$SRC_NAME already compile and installed"
        return 0;
    fi
 
    msg_banner "Start cross compile $SRC_NAME "
 
 
    if [ ! -d $SRC_NAME ] ; then 
        if [ ! -f $SRC_NAME.zip ] ; then 
            wget $LYFTP_SRC/$SRC_NAME.${PACK_SUFIX}
        fi
 
        unzip $SRC_NAME.${PACK_SUFIX}
    fi
 
    cd $SRC_NAME
 
    rm -f platforms/linux/${TOOLCHAIN} 
    cat >platforms/linux/${TOOLCHAIN} <<EOF
 
set(GCC_COMPILER_VERSION "" CACHE STRING "GCC Compiler version")
set(GNU_MACHINE "${CROSS_COMPILE%*-}" CACHE STRING "GNU compiler triple")
include("\${CMAKE_CURRENT_LIST_DIR}/arm.toolchain.cmake")
 
EOF
 
    mkdir -p release
    cd release
 
    cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=`pwd`/../../../install \
        -DCMAKE_TOOLCHAIN_FILE="../platforms/linux/${TOOLCHAIN}" -DSOFTFP=ON -DENABLE_PROFILING=OFF \
        -DWITH_OPENCL=OFF -DWITH_TBB=ONĀ  -DWITH_V4L=ON -DHAVE_CAMV4L2=ON -DBUILD_TESTS=OFF \
        -DINSTALL_PYTHON_EXAMPLES=OFF -DBUILD_EXAMPLES=OFF -DWITH_FFMPEG=ON -DHAVE_FFMPEG=ON \
        -DBUILD_opencv_js=OFF -DENABLE_NEON=OFF -DENABLE_VFPV3=OFF ../
 
    make && make install
 
    cd -
}
 
compile_opencv