Difference between revisions of "Compiling ScummVM/GCC"

From ScummVM :: Wiki
Jump to navigation Jump to search
m (Text replacement - "</source>" to "</syntaxhighlight>")
Line 6: Line 6:
<source lang="bash">
<source lang="bash">
apt-get install g++ make libsdl2-dev libjpeg62-turbo-dev libmpeg2-4-dev libogg-dev libvorbis-dev libflac-dev libmad0-dev libpng-dev libtheora-dev libfaad-dev libfluidsynth-dev libfreetype6-dev zlib1g-dev
apt-get install g++ make libsdl2-dev libjpeg62-turbo-dev libmpeg2-4-dev libogg-dev libvorbis-dev libflac-dev libmad0-dev libpng-dev libtheora-dev libfaad-dev libfluidsynth-dev libfreetype6-dev zlib1g-dev
</source>
</syntaxhighlight>


Some distributions, like Ubuntu, do not provide the turbo version of libjpeg. In this case, simply install <tt>libjpeg62-dev</tt> instead of <tt>libjpeg62-turbo-dev</tt>.
Some distributions, like Ubuntu, do not provide the turbo version of libjpeg. In this case, simply install <tt>libjpeg62-dev</tt> instead of <tt>libjpeg62-turbo-dev</tt>.
Line 13: Line 13:
<source lang="bash">
<source lang="bash">
apt-get install libunity-dev
apt-get install libunity-dev
</source>
</syntaxhighlight>


===RPM-based distributions===
===RPM-based distributions===
Line 19: Line 19:
<source lang="bash">
<source lang="bash">
yum install gcc-c++ make SDL-devel libjpeg-turbo-devel libmpeg2-devel libogg-devel libvorbis-devel flac-devel libmad-devel libpng-devel libtheora-devel faad2-devel freetype-devel zlib-devel
yum install gcc-c++ make SDL-devel libjpeg-turbo-devel libmpeg2-devel libogg-devel libvorbis-devel flac-devel libmad-devel libpng-devel libtheora-devel faad2-devel freetype-devel zlib-devel
</source>
</syntaxhighlight>


===Arch Linux-based distributions===
===Arch Linux-based distributions===
Line 25: Line 25:
<source lang="bash">
<source lang="bash">
pacman -S --needed base-devel git curl faad2 freetype2 flac fluidsynth libjpeg-turbo libogg libvorbis libmad libmpeg2 libtheora libpng nasm readline sdl2 sdl2_net zlib
pacman -S --needed base-devel git curl faad2 freetype2 flac fluidsynth libjpeg-turbo libogg libvorbis libmad libmpeg2 libtheora libpng nasm readline sdl2 sdl2_net zlib
</source>
</syntaxhighlight>


Per default, some Arch based distributions like Manjaro and Antergos require the usage of "sudo" to gain root access.
Per default, some Arch based distributions like Manjaro and Antergos require the usage of "sudo" to gain root access.

Revision as of 15:15, 25 October 2018

Compiling ScummVM with GCC under Linux

Installing the needed libraries via a package manager

Debian-based distributions

The following should install all the needed libraries: <source lang="bash"> apt-get install g++ make libsdl2-dev libjpeg62-turbo-dev libmpeg2-4-dev libogg-dev libvorbis-dev libflac-dev libmad0-dev libpng-dev libtheora-dev libfaad-dev libfluidsynth-dev libfreetype6-dev zlib1g-dev </syntaxhighlight>

Some distributions, like Ubuntu, do not provide the turbo version of libjpeg. In this case, simply install libjpeg62-dev instead of libjpeg62-turbo-dev.

For Ubuntu, you can also obtain libunity: <source lang="bash"> apt-get install libunity-dev </syntaxhighlight>

RPM-based distributions

The following should install all the needed libraries (apart from fluidsynth): <source lang="bash"> yum install gcc-c++ make SDL-devel libjpeg-turbo-devel libmpeg2-devel libogg-devel libvorbis-devel flac-devel libmad-devel libpng-devel libtheora-devel faad2-devel freetype-devel zlib-devel </syntaxhighlight>

Arch Linux-based distributions

The following command installs the compiler toolchain and all the needed libraries: <source lang="bash"> pacman -S --needed base-devel git curl faad2 freetype2 flac fluidsynth libjpeg-turbo libogg libvorbis libmad libmpeg2 libtheora libpng nasm readline sdl2 sdl2_net zlib </syntaxhighlight>

Per default, some Arch based distributions like Manjaro and Antergos require the usage of "sudo" to gain root access.

Configuring ScummVM

Run the configure script - type "./configure" in the directory with the ScummVM source files. If no errors come up, you should be ready to compile ScummvM. Run "./configure --help" for a list of optional features (eg additional, not yet enabled engines).

Note: If you are building ScummVM on a system with low main memory (for example, lower than 256MB), 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.

Compiling ScummVM

run "make clean" and then "make"

Installing ScummVM

either run ./scummvm from the current directory or run make install to install ScummVM (you can then run it using "scummvm" from any directory)

Further reading