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;
 |