display_usage() { 
   echo -e "\nSetup a RetroArch PSP build environment on Debian/Ubuntu or MSYS2 (MINGW64 only)" 
   echo -e "\nUsage: [install] [build] [export]\n" 
   echo -e "It will install the toolchain in /home/buildbot/tools\n"
   echo -e "Arguments:\n"
   echo -e "install:\n install or re(install) the toolchain"
   echo -e "build:\n update the source tree and build everything"
   echo -e "export:\n setup the environment for local building, run with source psp-env.sh"
} 

fetch()
{
   cd ~
   if [ ! -d ~/libretro/psp ]; then
      mkdir libretro
      cd libretro
      git clone https://github.com/libretro/libretro-super.git psp
   fi
}

#!/bin/bash
platform=psp1

if [ "$1" = "install" ]; then
   if [[ "$MSYSTEM" == *"MINGW64"* ]]; then

      pacman -S git make p7zip tar wget

      mkdir -p /home/buildbot/tools/devkitpro
      cd /home/buildbot/tools/devkitpro
      wget https://bot.libretro.com/.dev/psp/devkitPSP_r16-1-x86_64-win.tar.gz
      tar zxvf devkitPSP_r16-1-x86_64-win.tar.gz
      rm devkitPSP_r16-1-x86_64-win.tar.gz

      fetch 
   else

      sudo apt install build-essential git p7zip tar wget

      mkdir -p tools/devkitpro
      cd tools/devkitpro
      wget https://bot.libretro.com/.dev/psp/devkitPSP_r16-1-x86_64-linux.tar.bz2
      tar jxvf devkitPSP_r16-1-x86_64-linux.tar.bz2
      rm devkitPSP_r16-1-x86_64-linux.tar.bz2

      fetch 

      if [ ! -d "/home/buildbot/tools" ]; then
         sudo mkdir -p /home/buildbot
         sudo ln -s ~/tools /home/buildbot/tools
      fi;
   fi;
   echo $platform environment ready...
fi;

if [ "$1" = "build" ]; then
   if [ -d "/home/buildbot/tools/devkitpro/" ]; then
      cd ~/libretro/psp
      git pull
      ./libretro-buildbot-recipe.sh recipes/playstation/psp
   else
      echo $platform environment not found, run with install again...
   fi
fi;

if [ "$1" = "export" ]; then
   if [ -d "/home/buildbot/tools/devkitpro/" ]; then
      export PATH=$PATH:/home/buildbot/tools/devkitpro/devkitPSP/bin/
      export DEVKITPRO=/home/buildbot/tools/devkitpro/
      export DEVKITPSP=/home/buildbot/tools/devkitpro/devkitPSP/
      export platform=psp1
      export PLATFORM=psp1
      export CC=psp-gcc
      export CXX=psp-g++
      echo $platform environment ready...
   else
      echo $platform environment not found, run with install again...
   fi;
fi

if [ $# -le 0 ]; then 
   display_usage
fi