Upgrade dependencies
This commit is contained in:
		
							
								
								
									
										116
									
								
								vendor/gocv.io/x/gocv/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							
							
						
						
									
										116
									
								
								vendor/gocv.io/x/gocv/Makefile
									
									
									
										generated
									
									
										vendored
									
									
								
							@@ -2,17 +2,23 @@
 | 
			
		||||
.PHONY: test deps download build clean astyle cmds docker
 | 
			
		||||
 | 
			
		||||
# OpenCV version to use.
 | 
			
		||||
OPENCV_VERSION?=4.2.0
 | 
			
		||||
OPENCV_VERSION?=4.4.0
 | 
			
		||||
 | 
			
		||||
# Go version to use when building Docker image
 | 
			
		||||
GOVERSION?=1.13.1
 | 
			
		||||
GOVERSION?=1.14.4
 | 
			
		||||
 | 
			
		||||
# Temporary directory to put files into.
 | 
			
		||||
TMP_DIR?=/tmp/
 | 
			
		||||
 | 
			
		||||
# Build shared or static library
 | 
			
		||||
BUILD_SHARED_LIBS?=ON
 | 
			
		||||
 | 
			
		||||
# Package list for each well-known Linux distribution
 | 
			
		||||
RPMS=cmake curl git gtk2-devel libpng-devel libjpeg-devel libtiff-devel tbb tbb-devel libdc1394-devel unzip
 | 
			
		||||
DEBS=unzip build-essential cmake curl git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
 | 
			
		||||
RPMS=cmake curl wget git gtk2-devel libpng-devel libjpeg-devel libtiff-devel tbb tbb-devel libdc1394-devel unzip
 | 
			
		||||
DEBS=unzip wget build-essential cmake curl git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev
 | 
			
		||||
 | 
			
		||||
explain:
 | 
			
		||||
	@echo "For quick install with typical defaults of both OpenCV and GoCV, run 'make install'"
 | 
			
		||||
 | 
			
		||||
# Detect Linux distribution
 | 
			
		||||
distro_deps=
 | 
			
		||||
@@ -54,12 +60,35 @@ download:
 | 
			
		||||
	rm opencv.zip opencv_contrib.zip
 | 
			
		||||
	cd -
 | 
			
		||||
 | 
			
		||||
# Download dldt source tarballs.
 | 
			
		||||
download_dldt:
 | 
			
		||||
	sudo rm -rf /usr/local/dldt/
 | 
			
		||||
	sudo git clone https://github.com/opencv/dldt -b 2019 /usr/local/dldt/
 | 
			
		||||
 | 
			
		||||
# Build dldt.
 | 
			
		||||
build_dldt:
 | 
			
		||||
	cd /usr/local/dldt/inference-engine
 | 
			
		||||
	sudo git submodule init
 | 
			
		||||
	sudo git submodule update --recursive
 | 
			
		||||
	sudo ./install_dependencies.sh
 | 
			
		||||
	sudo mv -f thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/Release thirdparty/clDNN/common/intel_ocl_icd/6.3/linux/RELEASE
 | 
			
		||||
	sudo mkdir build
 | 
			
		||||
	cd build
 | 
			
		||||
	sudo rm -rf *
 | 
			
		||||
	sudo cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D ENABLE_VPU=ON -D ENABLE_MKL_DNN=ON -D ENABLE_CLDNN=ON ..
 | 
			
		||||
	sudo $(MAKE) -j $(shell nproc --all)
 | 
			
		||||
	sudo touch VERSION
 | 
			
		||||
	sudo mkdir -p src/ngraph
 | 
			
		||||
	sudo cp thirdparty/ngraph/src/ngraph/version.hpp src/ngraph
 | 
			
		||||
	cd -
 | 
			
		||||
 | 
			
		||||
# Build OpenCV.
 | 
			
		||||
build:
 | 
			
		||||
	cd $(TMP_DIR)opencv/opencv-$(OPENCV_VERSION)
 | 
			
		||||
	mkdir build
 | 
			
		||||
	cd build
 | 
			
		||||
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON ..
 | 
			
		||||
	rm -rf *
 | 
			
		||||
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON ..
 | 
			
		||||
	$(MAKE) -j $(shell nproc --all)
 | 
			
		||||
	$(MAKE) preinstall
 | 
			
		||||
	cd -
 | 
			
		||||
@@ -69,7 +98,19 @@ build_raspi:
 | 
			
		||||
	cd $(TMP_DIR)opencv/opencv-$(OPENCV_VERSION)
 | 
			
		||||
	mkdir build
 | 
			
		||||
	cd build
 | 
			
		||||
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D ENABLE_NEON=ON -D ENABLE_VFPV3=ON -D WITH_JASPER=OFF -D OPENCV_GENERATE_PKGCONFIG=ON ..
 | 
			
		||||
	rm -rf *
 | 
			
		||||
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D ENABLE_NEON=ON -D ENABLE_VFPV3=ON -D WITH_JASPER=OFF -D OPENCV_GENERATE_PKGCONFIG=ON ..
 | 
			
		||||
	$(MAKE) -j $(shell nproc --all)
 | 
			
		||||
	$(MAKE) preinstall
 | 
			
		||||
	cd -
 | 
			
		||||
 | 
			
		||||
# Build OpenCV on Raspberry pi zero which has ARMv6.
 | 
			
		||||
build_raspi_zero:
 | 
			
		||||
	cd $(TMP_DIR)opencv/opencv-$(OPENCV_VERSION)
 | 
			
		||||
	mkdir build
 | 
			
		||||
	cd build
 | 
			
		||||
	rm -rf *
 | 
			
		||||
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=OFF -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D ENABLE_VFPV2=ON -D WITH_JASPER=OFF -D OPENCV_GENERATE_PKGCONFIG=ON ..
 | 
			
		||||
	$(MAKE) -j $(shell nproc --all)
 | 
			
		||||
	$(MAKE) preinstall
 | 
			
		||||
	cd -
 | 
			
		||||
@@ -79,7 +120,19 @@ build_nonfree:
 | 
			
		||||
	cd $(TMP_DIR)opencv/opencv-$(OPENCV_VERSION)
 | 
			
		||||
	mkdir build
 | 
			
		||||
	cd build
 | 
			
		||||
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON ..
 | 
			
		||||
	rm -rf *
 | 
			
		||||
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON ..
 | 
			
		||||
	$(MAKE) -j $(shell nproc --all)
 | 
			
		||||
	$(MAKE) preinstall
 | 
			
		||||
	cd -
 | 
			
		||||
 | 
			
		||||
# Build OpenCV with openvino.
 | 
			
		||||
build_openvino:
 | 
			
		||||
	cd $(TMP_DIR)opencv/opencv-$(OPENCV_VERSION)
 | 
			
		||||
	mkdir build
 | 
			
		||||
	cd build
 | 
			
		||||
	rm -rf *
 | 
			
		||||
	cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D ENABLE_CXX11=ON -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D WITH_INF_ENGINE=ON -D InferenceEngine_DIR=/usr/local/dldt/inference-engine/build -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DOPENCV_ENABLE_NONFREE=ON ..
 | 
			
		||||
	$(MAKE) -j $(shell nproc --all)
 | 
			
		||||
	$(MAKE) preinstall
 | 
			
		||||
	cd -
 | 
			
		||||
@@ -89,7 +142,19 @@ build_cuda:
 | 
			
		||||
	cd $(TMP_DIR)opencv/opencv-$(OPENCV_VERSION)
 | 
			
		||||
	mkdir build
 | 
			
		||||
	cd build
 | 
			
		||||
	cmake -j $(shell nproc --all) -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -DBUILD_opencv_cudacodec=OFF ..
 | 
			
		||||
	rm -rf *
 | 
			
		||||
	cmake -j $(shell nproc --all) -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -DBUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D CUDA_GENERATION=Auto ..
 | 
			
		||||
	$(MAKE) -j $(shell nproc --all)
 | 
			
		||||
	$(MAKE) preinstall
 | 
			
		||||
	cd -
 | 
			
		||||
 | 
			
		||||
# Build OpenCV with cuda.
 | 
			
		||||
build_all:
 | 
			
		||||
	cd $(TMP_DIR)opencv/opencv-$(OPENCV_VERSION)
 | 
			
		||||
	mkdir build
 | 
			
		||||
	cd build
 | 
			
		||||
	rm -rf *
 | 
			
		||||
	cmake -j $(shell nproc --all) -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -D ENABLE_CXX11=ON -D OPENCV_EXTRA_MODULES_PATH=$(TMP_DIR)opencv/opencv_contrib-$(OPENCV_VERSION)/modules -D WITH_INF_ENGINE=ON -D InferenceEngine_DIR=/usr/local/dldt/inference-engine/build -D BUILD_DOCS=OFF -D BUILD_EXAMPLES=OFF -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_opencv_java=NO -D BUILD_opencv_python=NO -D BUILD_opencv_python2=NO -D BUILD_opencv_python3=NO -D WITH_JASPER=OFF -DOPENCV_GENERATE_PKGCONFIG=ON -DWITH_CUDA=ON -DENABLE_FAST_MATH=1 -DCUDA_FAST_MATH=1 -DWITH_CUBLAS=1 -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda/ -DBUILD_opencv_cudacodec=OFF -D WITH_CUDNN=ON -D OPENCV_DNN_CUDA=ON -D CUDA_GENERATION=Auto ..
 | 
			
		||||
	$(MAKE) -j $(shell nproc --all)
 | 
			
		||||
	$(MAKE) preinstall
 | 
			
		||||
	cd -
 | 
			
		||||
@@ -99,14 +164,30 @@ clean:
 | 
			
		||||
	go clean --cache
 | 
			
		||||
	rm -rf $(TMP_DIR)opencv
 | 
			
		||||
 | 
			
		||||
# Cleanup old library files.
 | 
			
		||||
sudo_pre_install_clean:
 | 
			
		||||
	sudo rm -rf /usr/local/lib/cmake/opencv4/
 | 
			
		||||
	sudo rm -rf /usr/local/lib/libopencv*
 | 
			
		||||
	sudo rm -rf /usr/local/lib/pkgconfig/opencv*
 | 
			
		||||
	sudo rm -rf /usr/local/include/opencv*
 | 
			
		||||
 | 
			
		||||
# Do everything.
 | 
			
		||||
install: deps download build sudo_install clean verify
 | 
			
		||||
install: deps download sudo_pre_install_clean build sudo_install clean verify
 | 
			
		||||
 | 
			
		||||
# Do everything on Raspbian.
 | 
			
		||||
install_raspi: deps download build_raspi sudo_install clean verify
 | 
			
		||||
 | 
			
		||||
# Do everything on the raspberry pi zero.
 | 
			
		||||
install_raspi_zero: deps download build_raspi_zero sudo_install clean verify
 | 
			
		||||
 | 
			
		||||
# Do everything with cuda.
 | 
			
		||||
install_cuda: deps download build_cuda sudo_install clean verify
 | 
			
		||||
install_cuda: deps download sudo_pre_install_clean build_cuda sudo_install clean verify verify_cuda
 | 
			
		||||
 | 
			
		||||
# Do everything with openvino.
 | 
			
		||||
install_openvino: deps download download_dldt sudo_pre_install_clean build_dldt sudo_install_dldt build_openvino sudo_install clean verify_openvino
 | 
			
		||||
 | 
			
		||||
# Do everything with openvino and cuda.
 | 
			
		||||
install_all: deps download download_dldt sudo_pre_install_clean build_dldt sudo_install_dldt build_all sudo_install clean verify_openvino verify_cuda
 | 
			
		||||
 | 
			
		||||
# Install system wide.
 | 
			
		||||
sudo_install:
 | 
			
		||||
@@ -115,10 +196,25 @@ sudo_install:
 | 
			
		||||
	sudo ldconfig
 | 
			
		||||
	cd -
 | 
			
		||||
 | 
			
		||||
# Install system wide.
 | 
			
		||||
sudo_install_dldt:
 | 
			
		||||
	cd /usr/local/dldt/inference-engine/build
 | 
			
		||||
	sudo $(MAKE) install
 | 
			
		||||
	sudo ldconfig
 | 
			
		||||
	cd -
 | 
			
		||||
 | 
			
		||||
# Build a minimal Go app to confirm gocv works.
 | 
			
		||||
verify:
 | 
			
		||||
	go run ./cmd/version/main.go
 | 
			
		||||
 | 
			
		||||
# Build a minimal Go app to confirm gocv cuda works.
 | 
			
		||||
verify_cuda:
 | 
			
		||||
	go run ./cmd/cuda/main.go
 | 
			
		||||
 | 
			
		||||
# Build a minimal Go app to confirm gocv openvino works.
 | 
			
		||||
verify_openvino:
 | 
			
		||||
	go run -tags openvino ./cmd/version/main.go
 | 
			
		||||
 | 
			
		||||
# Runs tests.
 | 
			
		||||
# This assumes env.sh was already sourced.
 | 
			
		||||
# pvt is not tested here since it requires additional depenedences.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user