Compiling Yabause

From Yabause
Revision as of 15:01, 3 September 2015 by Mckaygerhard (Talk | contribs) (update the build information made a more consise page)

Jump to: navigation, search
Yabause Manual
For users
For developers

This Document provide firts generic steps to build a binary yabause, but specific info may be need if you use some platforms or want to buid to specific port such Androit or Dreamcast.

Since yabause 0.9.13 configure-build system are Cmake only.

Generic procedure build

Theres a generic 3 steps to make a binary package from any opensource project, firts obtaint the sources, then comfiguring the target binary to build and finally build the binary.

Take in consideration that some ports need a specific procedure, such Dreamcast, MAC ppc or Androit, see Specific build info section bellow.


Most linux distributions have packages, for others OS u must download a binary from the URL's provided and install. On a M$ environment maybe need install Cywin . See section below.


Sources can be downloaded from the main site, if u want to try lasted (maybe unstable) changes clone git repository.

In any case the minimun requeriments are wget and git, info about how to use those tools are otside of this document, on most linux u only have to install packages.

Downloadin from main site

Open a terminal from finder or menu, and using wget download with url "" for stable 0.9.14 version, change the version number for more recent or previos.


Cloning lasted git repo

Open a terminal from finder or menu, and using git clone the main repo "" as repository url for lasted master branch.

git clone


For compiling u must need cmake 2.8.0 as minimum, on most linux u only have to install packages.

Requerimients are documented in individual README files. Please for specific info about what requirements will need see Specific Building info section.

Dreamcast port are significally different please read the section bellow.

Open a terminal with finder or menu and change to the downloaded file directory. Then uncompress/untar if u download the compresed tarbal lasted stable sources from main site. Into uncompresed/clone sources directory type :

mkdir compiling
cd compiling
cmake ../ -D<option>

Where <option> can be any of the following below. If u want to change, delete the "compiling" directory and start again the process.

Options to parse to cmake

As a note, the gtk interface are very out of sync with some options.

Build flavors options:

  • -DYAB_MULTIBUID=TRUE/FALSE build all posible flavors (gtk/qt/androit/runner) (FALSE)
  • -DYAB_USE_QT5=ON/OFF use qt5, if not or not present qt4, if both are installed will be qt5 (ON)

Build emulation options:

  • -DYAB_WANT_OPENSL=OFF/ON build with opengl 3.X support (androit modern only) (ON)
  • -DYAB_WANT_OPENGL=OFF/ON build with opengl only support (desktop modern only) (ON)
  • -DYAB_WANT_SDL=OFF/ON build with sound SDL cores if available (autodetec SDL1/SDL2)
  • -DYAB_WANT_OPENAL=OFF/ON build with sound OpenAL cores if available (AUTO)
  • -DYAB_NETWORK=ON/OFF build networking support (unix related only for now) (ON)

Internal emulation capabilites:

  • -DYAB_WANT_C68K=ON/OFF use internal c68K compilation build in (ON)
  • -DYAB_WANT_Q68=ON/OFF use internal q68 compilation build in (OFF)
  • -DYAB_USE_SCSP2=ON/OFF build with newer scsp implementation (OFF)
  • -DSH2_DYNAREC=ON/OFF enable SH2 dinarec compiler (ON)
  • -DSH2_TRACE=ON/OFF enable SH2 tracin (ON)
  • YAB_RGB "555/565" only if defined or set, use 16Bpp in the display buffer

Compiler related options:

  • -DYAB_OPTIMIZATION="STRING" parse optimizations from user (-03)
  • -DSH2_TRACE=ON/OFF enable SH2 tracin (ON)

Building a make binaries

Once comfigure the sources in "compiling" directory, run make command. Dreamcast port are significally different please read the section bellow.


Notes on building

  • If multibuild are not set, depends on tarjet will build gtk, qt5, qt4, runner, androit.
  • Qt multimedia package will be autodetected, on debian autodetection are still not performed
  • if u set opengl to OFF will build only a software video rasterizer
  • Currently software rasterizer still make calls to some opengl api's.

Specific building info

For installation/how to use information, check the ports specifics:

Building on Linux

Building on Mac OS X

Building on Windows