139 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			139 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| export PATH=${PWD}/02-extract/raspbian9/bin:${PATH}
 | |
| 
 | |
| split_debug () {
 | |
|     arm-raspbian9-linux-gnueabihf-objcopy --only-keep-debug $1 $1.debug
 | |
|     arm-raspbian9-linux-gnueabihf-strip -g $1
 | |
|     arm-raspbian9-linux-gnueabihf-objcopy --add-gnu-debuglink=$1.debug $1
 | |
| }
 | |
| 
 | |
| split_debug_so () {
 | |
|     pushd $1
 | |
|     for lib in *.so
 | |
|     do
 | |
|         split_debug $lib
 | |
|     done
 | |
|     popd
 | |
| }
 | |
| 
 | |
| split_debug_exe () {
 | |
|     pushd $1
 | |
|     for exe in *
 | |
|     do
 | |
|         split_debug $exe
 | |
|     done
 | |
|     popd
 | |
| }
 | |
| 
 | |
| # opencv
 | |
| build_opencv () {
 | |
|     cmake ../../02-extract/opencv \
 | |
|         -DWITH_CUDA=OFF \
 | |
|         -DWITH_IPP=OFF \
 | |
|         -DWITH_ITT=OFF \
 | |
|         -DWITH_OPENCL=OFF \
 | |
|         -DWITH_FFMPEG=OFF \
 | |
|         -DWITH_OPENEXR=OFF \
 | |
|         -DWITH_GSTREAMER=OFF \
 | |
|         -DWITH_LAPACK=OFF \
 | |
|         -DWITH_GTK=ON \
 | |
|         -DWITH_1394=OFF \
 | |
|         -DWITH_JASPER=OFF \
 | |
|         -DWITH_TIFF=OFF \
 | |
|         -DBUILD_JPEG=ON \
 | |
|         -DBUILD_PNG=ON \
 | |
|         -DBUILD_ZLIB=ON \
 | |
|         -DBUILD_TESTS=OFF \
 | |
|         -DPython_ADDITIONAL_VERSIONS=3.5 \
 | |
|         -DWITH_WEBP=OFF \
 | |
|         -DBUILD_JAVA=$2 \
 | |
|         -DBUILD_WITH_STATIC_CRT=OFF \
 | |
|         -DWITH_PROTOBUF=OFF \
 | |
|         -DWITH_DIRECTX=OFF \
 | |
|         -DENABLE_CXX11=ON \
 | |
|         -DBUILD_SHARED_LIBS=$2 \
 | |
|         -DCMAKE_BUILD_TYPE=$1 \
 | |
|         -DCMAKE_DEBUG_POSTFIX=d \
 | |
|         -DCMAKE_TOOLCHAIN_FILE=${PWD}/../../02-extract/arm-pi-gnueabihf.toolchain.cmake \
 | |
|         -DCMAKE_MAKE_PROGRAM=make \
 | |
|         -DENABLE_NEON=ON \
 | |
|         -DENABLE_VFPV3=ON \
 | |
|         -DBUILD_opencv_python3=$2 \
 | |
|         -DPYTHON3_INCLUDE_PATH=${PWD}/../../02-extract/raspbian9/arm-raspbian9-linux-gnueabihf/usr/include/python3.5m \
 | |
|         -DPYTHON3_NUMPY_INCLUDE_DIRS=${PWD}/../../02-extract/raspbian9/arm-raspbian9-linux-gnueabihf/usr/include/python3.5m/numpy \
 | |
|         -DOPENCV_EXTRA_FLAGS_DEBUG=-Og \
 | |
|         -DCMAKE_MODULE_PATH=${PWD}/../../02-extract/cmake-modules \
 | |
|         || exit 1
 | |
|     make -j3 || exit 1
 | |
|     make install || exit 1
 | |
|     if [ "$1" == "RelWithDebugInfo" ]
 | |
|     then
 | |
|         cp -p install/share/OpenCV/java/libopencv_java*.so install/lib/
 | |
|     fi
 | |
|     split_debug_so install/lib
 | |
| }
 | |
| 
 | |
| mkdir -p 03-build/opencv-build
 | |
| pushd 03-build/opencv-build
 | |
| build_opencv RelWithDebugInfo ON || exit 1
 | |
| popd
 | |
| 
 | |
| mkdir -p 03-build/opencv-build-debug
 | |
| pushd 03-build/opencv-build-debug
 | |
| build_opencv Debug ON || exit 1
 | |
| popd
 | |
| 
 | |
| mkdir -p 03-build/opencv-static
 | |
| pushd 03-build/opencv-static
 | |
| build_opencv RelWithDebugInfo OFF || exit 1
 | |
| popd
 | |
| 
 | |
| # wpiutil, cscore, ntcore, cameraserver
 | |
| # always use the release version of opencv jar/jni
 | |
| build_wpilib () {
 | |
|     cmake ../../allwpilib \
 | |
| 	-DWITHOUT_ALLWPILIB=OFF \
 | |
|         -DCMAKE_BUILD_TYPE=$1 \
 | |
|         -DCMAKE_TOOLCHAIN_FILE=${PWD}/../../02-extract/arm-pi-gnueabihf.toolchain.cmake \
 | |
|         -DCMAKE_MODULE_PATH=${PWD}/../../02-extract/cmake-modules \
 | |
|         -DOPENCV_JAR_FILE=`ls ${PWD}/../opencv-build/install/share/OpenCV/java/opencv-*.jar` \
 | |
|         -DOPENCV_JNI_FILE=`ls ${PWD}/../opencv-build/install/share/OpenCV/java/libopencv_java*.so` \
 | |
|         -DOpenCV_DIR=${PWD}/../$2/install/share/OpenCV \
 | |
|         -DTHREADS_PTHREAD_ARG=-pthread \
 | |
|         || exit 1
 | |
|     make -j3 || exit 1
 | |
|     split_debug_so lib
 | |
| }
 | |
| 
 | |
| mkdir -p 03-build/allwpilib-build
 | |
| pushd 03-build/allwpilib-build
 | |
| build_wpilib RelWithDebugInfo opencv-build || exit 1
 | |
| popd
 | |
| 
 | |
| mkdir -p 03-build/allwpilib-build-debug
 | |
| pushd 03-build/allwpilib-build-debug
 | |
| build_wpilib Debug opencv-build-debug || exit 1
 | |
| popd
 | |
| 
 | |
| # static (for tools)
 | |
| mkdir -p 03-build/allwpilib-static
 | |
| pushd 03-build/allwpilib-static
 | |
| cmake ../../allwpilib \
 | |
|     -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
 | |
|     -DCMAKE_TOOLCHAIN_FILE=${PWD}/../../02-extract/arm-pi-gnueabihf.toolchain.cmake \
 | |
|     -DCMAKE_MODULE_PATH=${PWD}/../../02-extract/cmake-modules \
 | |
|     -DOpenCV_DIR=${PWD}/../opencv-static/install/share/OpenCV \
 | |
|     -DWITHOUT_JAVA=ON \
 | |
|     -DBUILD_SHARED_LIBS=OFF \
 | |
|     -DTHREADS_PTHREAD_ARG=-pthread \
 | |
|     || exit 1
 | |
| make -j3 || exit 1
 | |
| split_debug_exe bin
 | |
| popd
 | |
| 
 | |
| # tools
 | |
| pushd tools
 | |
| make || exit 1
 | |
| popd
 |