You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							77 lines
						
					
					
						
							2.1 KiB
						
					
					
				
			
		
		
	
	
							77 lines
						
					
					
						
							2.1 KiB
						
					
					
				| #!/usr/bin/bash -e
 | |
| 
 | |
| DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null && pwd)"
 | |
| 
 | |
| ARCHNAME="x86_64"
 | |
| BLAS_TARGET="X64_AUTOMATIC"
 | |
| if [ -f /TICI ]; then
 | |
|   ARCHNAME="larch64"
 | |
|   BLAS_TARGET="ARMV8A_ARM_CORTEX_A57"
 | |
| elif [ -f /EON ]; then
 | |
|   ARCHNAME="aarch64"
 | |
|   BLAS_TARGET="ARMV8A_ARM_CORTEX_A57"
 | |
| fi
 | |
| 
 | |
| if [ ! -d acados_repo/ ]; then
 | |
|   git clone https://github.com/acados/acados.git $DIR/acados_repo
 | |
|   # git clone https://github.com/commaai/acados.git $DIR/acados_repo
 | |
| fi
 | |
| cd acados_repo
 | |
| git fetch
 | |
| git checkout 105e06df87f06ea02df4af825867c946b31defdd
 | |
| git submodule update --recursive --init
 | |
| 
 | |
| # build
 | |
| mkdir -p build
 | |
| cd build
 | |
| cmake -DACADOS_WITH_QPOASES=ON -UBLASFEO_TARGET -DBLASFEO_TARGET=$BLAS_TARGET ..
 | |
| make -j20 install
 | |
| 
 | |
| INSTALL_DIR="$DIR/$ARCHNAME"
 | |
| rm -rf $INSTALL_DIR
 | |
| mkdir -p $INSTALL_DIR
 | |
| 
 | |
| rm $DIR/acados_repo/lib/*.json
 | |
| 
 | |
| rm -rf $DIR/include
 | |
| cp -r $DIR/acados_repo/include $DIR
 | |
| cp -r $DIR/acados_repo/lib $INSTALL_DIR
 | |
| rm -rf $DIR/../../pyextra/acados_template
 | |
| cp -r $DIR/acados_repo/interfaces/acados_template/acados_template $DIR/../../pyextra
 | |
| #pip3 install -e $DIR/acados/interfaces/acados_template
 | |
| 
 | |
| # hack to workaround no rpath on android
 | |
| if [ -f /EON ]; then
 | |
|   pushd $INSTALL_DIR/lib
 | |
|   for lib in $(ls .); do
 | |
|     if ! readlink $lib; then
 | |
|       patchelf --set-soname $PWD/$lib $lib
 | |
| 
 | |
|       if [ "$lib" = "libacados.so" ]; then
 | |
|         for nlib in "libhpipm.so" "libblasfeo.so" "libqpOASES_e.so.3.1"; do
 | |
|           patchelf --replace-needed $nlib $PWD/$nlib $lib
 | |
|         done
 | |
|       fi
 | |
| 
 | |
|       if [ "$lib" = "libhpipm.so" ]; then
 | |
|         patchelf --replace-needed libblasfeo.so $PWD/libblasfeo.so $lib
 | |
|       fi
 | |
| 
 | |
|       # pad extra byte to workaround bionic linker bug
 | |
|       # https://android.googlesource.com/platform/bionic/+/93ce35434ca5af43a7449e289959543f0a2426fa%5E%21/#F0
 | |
|       dd if=/dev/zero bs=1 count=1 >> $lib
 | |
|     fi
 | |
|   done
 | |
|   popd
 | |
| 
 | |
|   cd $DIR
 | |
|   git checkout $INSTALL_DIR/t_renderer
 | |
| fi
 | |
| 
 | |
| # build tera
 | |
| # build with commaai/termux-packages for NEOS
 | |
| if [ ! -f /EON ]; then
 | |
|   cd $DIR/acados_repo/interfaces/acados_template/tera_renderer/
 | |
|   cargo build --verbose --release
 | |
|   cp target/release/t_renderer $INSTALL_DIR/
 | |
| fi
 | |
| 
 |