Difference between revisions of "Compiling ScummVM/RPI"

Jump to navigation Jump to search
76 bytes removed ,  21:11, 16 March 2016
→‎Configuring ScummVM: Mention --no-keep-memory option for linking on a RPi itself.
(→‎Configuring ScummVM: Mention --no-keep-memory option for linking on a RPi itself.)
(10 intermediate revisions by 2 users not shown)
Line 10: Line 10:
Add it to the path so we have the crosscompiler binaries available from our scummvm building directory. If my raspberrry pi tools repository ended cloned in tools at my home directory, I would do:
Add it to the path so we have the crosscompiler binaries available from our scummvm building directory. If my raspberrry pi tools repository ended cloned in tools at my home directory, I would do:


PATH=$PATH:$HOME/tools/arm-bcm2708/arm-bcm2708hardfp-linux-gnueabi/bin
PATH=$PATH:$HOME/tools/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin


After adding the crosscompiler executables directory to the path, we should be able to run bcm2708hardfp-gcc, bcm2708hardfp-g++, etc... just try. They should yield an error because you pass them no input files, but that's expected. It's just a test so we know we've the crosscompiler installed and accesible.
After adding the crosscompiler executables directory to the path, we should be able to run arm-linux-gnueabihf-gcc, arm-linux-gnueabihf-g++, etc... just try. They should yield an error because you pass them no input files, but that's expected. It's just a test so we know we've the crosscompiler installed and accesible.


== Installing the needed Raspberry Pi headers and libraries on PC ==
== Installing the needed Raspberry Pi headers and libraries on PC ==
Line 23: Line 23:
mkdir -p /opt/rpi_root
mkdir -p /opt/rpi_root


export RPI_ROOT=/opt/rpi_root
cd <SD_mountpoint_directory>


cp -R <SD_mountpoint_directory>/usr $RPI_ROOT
cp -R usr lib opt $RPI_ROOT


cp -R <SD_mountpoint_directory>/lib $RPI_ROOT
export RPI_ROOT=/opt/rpi_root
 
cp -R <SD_mountpoint_directory>/opt $RPI_ROOT
 
Now we need to setup the cross-building sdl-config so it's used instead on the host system's sdl-config script. Edit $RPI_ROOT/usr/bin/sdl-config and change the prefix line to:
 
prefix=$RPI_ROOT/usr


== Configuring ScummVM ==
== Configuring ScummVM ==
Line 39: Line 33:
Now we configure scummvm buildsystem so it knows what backend we want and where is our raspberry pi local sysroot living, containing the Raspberry Pi headers and libs the cross-compiler and linker will need. In this example configuration, we disable additional libs, and debug symbols since it's intended for final users.
Now we configure scummvm buildsystem so it knows what backend we want and where is our raspberry pi local sysroot living, containing the Raspberry Pi headers and libs the cross-compiler and linker will need. In this example configuration, we disable additional libs, and debug symbols since it's intended for final users.


Depending on whether we want dispmanx or GLES support, we would pass --enable-dispmanx or --enable-gles-rpi parameters to the configure script.
./configure --host=raspberrypi --with-sdl-prefix=$RPI_ROOT/usr  --disable-debug --enable-release --enable-optimizations --disable-mt32emu --disable-flac --disable-mad --disable-vorbis --disable-tremor --disable-fluidsynth --disable-taskbar --disable-timidity --disable-alsa
For example, we would run configure like this to build a dispmanx version:
 
Remember you should have exported the RPI_ROOT enviroment variable previously.
On the raspberrypi host, SDL2 will be always used since it provides graphics acceleration.


./configure --host=raspberrypi --with-sdl-prefix=$RPI_ROOT/usr --enable-dispmanx --disable-debug --enable-release --enable-optimizations --disable-mt32emu --disable-flac
''Note:'' If you are building ScummVM on your RPi itself, you might run out of memory during linking. If you use GNU ld for compiling you can try exporting LDFLAGS="-Wl,--no-keep-memory" before running configure. This tells GNU ld to optimize for memory usage.
--disable-mad --disable-vorbis --disable-tremor
--disable-fluidsynth --disable-taskbar --disable-timidity --disable-alsa


== Compiling ScummVM ==
== Compiling ScummVM ==
561

edits

Navigation menu