55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/sh
 | |
| 
 | |
| # unofficial strict mode
 | |
| set -eu;
 | |
| 
 | |
| FLIPPER_TOOLCHAIN_VERSION="3";
 | |
| 
 | |
| get_kernel_type()
 | |
| {
 | |
|     SYS_TYPE="$(uname -s)"
 | |
|     if [ "$SYS_TYPE" = "Darwin" ]; then
 | |
|         TOOLCHAIN_PATH="toolchain/x86_64-darwin";
 | |
|     elif [ "$SYS_TYPE" = "Linux" ]; then
 | |
|         TOOLCHAIN_PATH="toolchain/x86_64-linux";
 | |
|     elif echo "$SYS_TYPE" | grep -q "MINGW"; then
 | |
|         echo "In MinGW shell use \"fbt.cmd\" instead of \"fbt\"";
 | |
|         exit 1;
 | |
|     else
 | |
|         echo "Your system is not supported. Sorry. Please report us your configuration.";
 | |
|         exit 1;
 | |
|     fi
 | |
| }
 | |
| 
 | |
| check_download_toolchain()
 | |
| {
 | |
|     if [ ! -d "$SCRIPT_PATH/$TOOLCHAIN_PATH" ]; then
 | |
|         download_toolchain;
 | |
|     elif [ ! -f "$SCRIPT_PATH/$TOOLCHAIN_PATH/VERSION" ]; then
 | |
|         download_toolchain;
 | |
|     elif [ "$(cat "$SCRIPT_PATH/$TOOLCHAIN_PATH/VERSION")" -ne "$FLIPPER_TOOLCHAIN_VERSION" ]; then
 | |
|         download_toolchain;
 | |
|     fi
 | |
| }
 | |
| 
 | |
| download_toolchain()
 | |
| {
 | |
|     chmod 755 "$SCRIPT_PATH/scripts/toolchain/unix-toolchain-download.sh";
 | |
|     "$SCRIPT_PATH/scripts/toolchain/unix-toolchain-download.sh" "$FLIPPER_TOOLCHAIN_VERSION" || exit 1;
 | |
| }
 | |
| 
 | |
| main()
 | |
| {
 | |
|     if [ -z "${SCRIPT_PATH:-}" ]; then
 | |
|         echo "Mannual running this script is now allowed.";
 | |
|         exit 1;
 | |
|     fi
 | |
|     get_kernel_type;  # sets TOOLCHAIN_PATH
 | |
|     check_download_toolchain;
 | |
|     PATH="$SCRIPT_PATH/$TOOLCHAIN_PATH/python/bin:$PATH";
 | |
|     PATH="$SCRIPT_PATH/$TOOLCHAIN_PATH/bin:$PATH";
 | |
|     PATH="$SCRIPT_PATH/$TOOLCHAIN_PATH/protobuf/bin:$PATH";
 | |
|     PATH="$SCRIPT_PATH/$TOOLCHAIN_PATH/openocd/bin:$PATH";
 | |
| }
 | |
| main;
 | 
