Difference between revisions of "Compiling Yabause"

From Yabause
Jump to: navigation, search
(Fixed links for compiling OS X leading to nowhere.)
Line 123: Line 123:
== Building on Mac OS X ==
== Building on Mac OS X ==
* [[Compiling_Yabause/macosx/macosx/cocoa|Cocoa]]
* [[Compiling Yabause/macosx/macosx/cocoa|Cocoa]]
* [[Compiling_Yabause/macosx/dreamcast/dreamcast|Dreamcast]]
* [[Compiling Yabause/macosx/dreamcast/dreamcast|Dreamcast]]
* [[Compiling_Yabause/macosx/macosx/qt|Qt]]
* [[Compiling Yabause/macosx/qt|Qt]]
== Building on Windows ==
== Building on Windows ==

Revision as of 17:46, 4 September 2015

Yabause Manual
For users
For developers

This Document provides first generic steps to build a binary yabause, but specific info may be need if you use some platforms or want to build specific port such Android or Dreamcast.

Since yabause 0.9.13 configure-build system is Cmake only.

Generic procedure build

There is 3 generic steps to make a binary package from any opensource project; first obtaint the sources, then configuring 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 Android; see Specific build info section bellow.


Most linux distributions have packages, for others OS you 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 http://yabause.org/download/. If you want to try latest (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 "http://download.tuxfamily.org/yabause/releases/0.9.14/yabause-0.9.14.tar.gz" for stable 0.9.14 version, change the version number for more recent or previos.

wget http://download.tuxfamily.org/yabause/releases/0.9.14/yabause-0.9.14.tar.gz

Cloning lasted git repo

Open a terminal from finder or menu, and using git clone the main repo "https://github.com/mckayemu/yabause.git" as repository url for lasted master branch.

git clone https://github.com/mckayemu/yabause.git


For compiling you 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 configure 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