Skip to content

Compilation guide (Linux)

Themaister edited this page Sep 1, 2011 · 29 revisions

Compilation on Linux and BSD does not have many surprises, as its foundation is Unix-based.

Dependencies

SDL libsnes pkg-config Working OpenGL headers (should be included by default, but you might need to install libgl/mesa development packages)

Optional dependencies

libxml2 - For XML shaders and cheat support.
freetype - TTF font rendering
ffmpeg/libavcodec - FFmpeg recording (Note: You will need a very recent build of FFmpeg to compile, use latest Git checkout)
nvidia-cg-toolkit - Cg shaders

Some other libraries can be built support for as well, please refer to ./configure --help.

Building libsnes

Here I assume you will use the bSNES emulation core. If you have GCC 4.5 or a more recent one, you can build from the vanilla sources which uses C++11 features. If you do not have a GCC 4.5 compiler handy, you can build from the C++98 port. This will allow you to build bSNES even on GCC 3.x compilers and Clang++.

git clone git://github.com/Themaister/libsnes.git
cd libsnes
make profile=performance # You can use compatibility or accuracy if desired.
sudo make install # Use prefix=/path/to/prefix as well to install to someplace else than /usr/local/lib as normal.

Building SSNES

Once dependencies are installed, you can pull and install from Git:

git clone git://github.com/Themaister/SSNES.git
cd SSNES
./configure # Script will autodetect features. Refer to --help if you want to override anything, such as --prefix.
make
sudo make install

Building SSNES-Phoenix (GUI launcher)

If you want a GUI launcher as well, you can build it too:

git clone git://github.com/Themaister/SSNES-Phoenix.git
cd SSNES-Phoenix
make # Will build for GTK2 by default. If you're a KDE user or prefer Qt, you can build for Qt with make -f Makefile.qt.
sudo make install

Enjoy! :)

Clone this wiki locally