Desarrollo de videojuegos para PSP con C++ y SDL/Instalación
Dependencias
[editar]Lo primero que debemos hacer es instalar las dependencias del kit de desarrollo de PSP. Para ello abriremos una terminal e introduciremos el siguiente comando:
sudo apt-get install build-essential autoconf automake bison flex \
libncurses5-dev libreadline-dev libusb-dev texinfo libmpfr-dev \
libgmp3-dev libtool
Variables de entorno
[editar]Ahora debemos establecer algunas variables de entorno para que el sistema sepa dónde encontrar las nuevas librerías de PSP a la hora de compilar. Editamos el fichero ~/.bashrc y añadimos al final las siguientes líneas:
export PSPDEV="/usr/local/pspdev"
export PSPSDK="$PSPDEV/psp/sdk"
export PATH="$PATH:$PSPDEV/bin:$PSPSDK/bin"
Cuando reiniciemos el equipo ~/.bashrc volverá a cargarse pero no
es necesario hacerlo, podemos ejecutar la siguiente orden:
syntaxhighlight ~/.bashrc
Instalación del SDK de PSP
[editar]El siguiente paso es descargarnos una copia del directorio trunk del repositorio de ps2dev, el cual contiene todo lo que necesitamos (y más). El repositorio tiene un tamaño considerable y, dependiendo de cómo ande el servidor, puede tardar bastante.
svn co svn://svn.ps2dev.org/psp/trunk/ pspsdk
Bueno, si habéis tenido la paciencia suficiente de llegar hasta aquí vamos
por buen camino. Ahora toca instalar el toolchain, el kit básico:
cd pspsdk
cd toolchain
sudo ./toolchain-sudo.sh
Existe un pack de bibliotecas adicionales entre las que se encuentran las
SDL llamado psplibraries. Este pack contiene: bzip2, freetype, jpeg,
libbulletml, libmad, libmikmod, libogg, libpng, libpspvram, libTremor,
libvorbis, lua, pspgl, pspirkeyb, SDL, SDL_gfx, SDL_image, SDL_mixer,
SDL_ttf, smpeg-psp, sqlite, zlib y zziplib. Muchas son dependencias de las
SDL pero algunas como sqlite (bases de datos), lua (lenguaje de scripting)
o pspgl (versión de Open GL para PSP) no tienen nada que ver aunque son muy
interesantes también. Lo instalamos de la siguiente manera:
cd ..
cd psplibraries
sudo ./libraries-sudo.sh
En teoría ya deberíamos estar listos para crear nuestros proyectos en C++
que usen las SDL para PSP, ¡pero no es así! Debe haber algún error en el
script anterior porque SDL_mixer no se instala como debería. Hemos de
compilar e instalar sus dependencias manualmente. Comenzamos cambiando
el propietario de la carpeta donde se instala el kit de desarrollo, sino
las bibliotecas no pueden instalarse (al menos yo no he conseguido hacerlo):
sudo chown -R username:group /usr/local/pspdev
sudo chown username:group /usr/local/pspdev/*
Donde group y username son los nombres de nuestro grupo y
usuario en el sistema.
Nos dirigimos a instalar libTremor manualmente, dependencia de SDL_mixer:
cd ..
cd libTremor
LDFLAGS="-L$(psp-config --pspsdk-path)/lib" LIBS="-lc -lpspuser" ./autogen.sh \
--host psp --prefix=$(psp-config --psp-prefix)
make clean
make
make install
Finalmente le toca el turno a SDL_mixer y toca seguir el siguiente proceso:
cd ..
cd SDL_mixer
./autogen.sh
LDFLAGS="-L$(psp-config --pspsdk-path)/lib" LIBS="-lc -lpspuser" \
./configure --host psp --with-sdl-prefix=$(psp-config --psp-prefix) \
--disable-music-mp3 --prefix=$(psp-config --psp-prefix) \
--disable-music-libmikmod --enable-music-mod
make clean
make
make install
Finalizamos
[editar]Con eso debería bastar, siento el rodeo, si alguien encuentra una manera mejor de instalar el kit de desarrollo para PSP con SDL en GNU/Linux, por favor, que me lo comunique. Entre todos podemos hacer una gran guía.