| 
									
										
										
										
											2020-11-06 11:05:52 +08:00
										 |  |  | set -e | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | usage() { | 
					
						
							|  |  |  |     echo "Usage: $0 -o path [-b]" | 
					
						
							|  |  |  |     echo -e "\t-o package files output directory" | 
					
						
							| 
									
										
										
										
											2020-12-15 14:12:35 +08:00
										 |  |  |     echo -e "\t-v MNN dist version" | 
					
						
							| 
									
										
										
										
											2020-11-06 11:05:52 +08:00
										 |  |  |     echo -e "\t-b opencl backend" | 
					
						
							|  |  |  |     exit 1 | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | while getopts "o:v:hb" opt; do | 
					
						
							|  |  |  |   case "$opt" in | 
					
						
							|  |  |  |     o ) path=$OPTARG ;; | 
					
						
							| 
									
										
										
										
											2020-12-15 14:12:35 +08:00
										 |  |  |     v ) mnn_version=$OPTARG ;; | 
					
						
							| 
									
										
										
										
											2020-11-06 11:05:52 +08:00
										 |  |  |     b ) opencl=true ;; | 
					
						
							|  |  |  |     h|? ) usage ;; | 
					
						
							|  |  |  |   esac | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ./schema/generate.sh | 
					
						
							|  |  |  | rm -rf $path && mkdir -p $path | 
					
						
							|  |  |  | PACKAGE_PATH=$(realpath $path) | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2022-02-18 11:30:27 +08:00
										 |  |  | CMAKE_ARGS="-DMNN_BUILD_CONVERTER=on -DMNN_BUILD_TRAIN=ON -DCMAKE_BUILD_TYPE=Release -DMNN_BUILD_SHARED_LIBS=OFF -DMNN_SEP_BUILD=OFF -DMNN_USE_THREAD_POOL=OFF -DMNN_OPENMP=ON -DMNN_BUILD_OPENCV=ON -DMNN_IMGCODECS=ON" | 
					
						
							| 
									
										
										
										
											2020-11-06 11:05:52 +08:00
										 |  |  | if [ ! -z $opencl ]; then | 
					
						
							|  |  |  |     CMAKE_ARGS="$CMAKE_ARGS -DMNN_OPENCL=ON" | 
					
						
							|  |  |  | fi | 
					
						
							|  |  |  | rm -rf pymnn_build && mkdir pymnn_build | 
					
						
							|  |  |  | pushd pymnn_build | 
					
						
							| 
									
										
										
										
											2022-02-18 11:30:27 +08:00
										 |  |  | cmake $CMAKE_ARGS .. && make MNN MNNTrain MNNConvert MNNOpenCV -j24 | 
					
						
							| 
									
										
										
										
											2020-11-06 11:05:52 +08:00
										 |  |  | popd | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | pushd pymnn/pip_package | 
					
						
							| 
									
										
										
										
											2021-04-08 15:34:23 +08:00
										 |  |  | echo -e "__version__ = '$mnn_version'" > MNN/version.py | 
					
						
							| 
									
										
										
										
											2021-01-06 16:29:37 +08:00
										 |  |  | rm -rf build && mkdir build | 
					
						
							| 
									
										
										
										
											2020-11-06 11:05:52 +08:00
										 |  |  | rm -rf dist && mkdir dist | 
					
						
							|  |  |  | rm -rf wheelhouse && mkdir wheelhouse | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #Compile wheels | 
					
						
							|  |  |  | for PYBIN in /opt/python/*/bin; do | 
					
						
							|  |  |  |     "${PYBIN}/pip" install -U numpy | 
					
						
							| 
									
										
										
										
											2020-12-15 14:12:35 +08:00
										 |  |  |     "${PYBIN}/python" setup.py bdist_wheel --version $mnn_version | 
					
						
							| 
									
										
										
										
											2020-11-06 11:05:52 +08:00
										 |  |  | done | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # Bundle external shared libraries into the wheels | 
					
						
							|  |  |  | for whl in dist/*.whl; do | 
					
						
							|  |  |  |     auditwheel repair "$whl" --plat manylinux2014_x86_64 -w wheelhouse | 
					
						
							|  |  |  | done | 
					
						
							|  |  |  | cp wheelhouse/* $PACKAGE_PATH | 
					
						
							| 
									
										
										
										
											2021-04-08 15:34:23 +08:00
										 |  |  | rm MNN/version.py | 
					
						
							| 
									
										
										
										
											2020-11-06 11:05:52 +08:00
										 |  |  | popd |