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.
- 1 Generic procedure build
- 2 Specific building info
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.
- QT A GUI are in QT framework, QT5 > 5.1 recomended, if not will try QT 4.6 http://www.qt.io/download/#Licence-anchor
- GTK+2.0 Yabause firts user GUI was made in GTK libs, GTK 2.0 > 2.20 are need to enable a yabause-gtk port for pc.
- Mini18n Its used for internationalization and translation support on interfaces https://www.npmjs.com/package/mini18n
- Mesa Since 0.9.13 required 10.4 that now implements Opengl 3.X http://mesa3d.sourceforge.net/relnotes/10.4.html
- SDL Used for audio. Can be used SDL 1.2 or 2.0, minimun are 1.2.10 or 2.1 https://www.libsdl.org/
- Cocoa For MAC users maybe need install the cocoa framework https://developer.apple.com/osx/
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 http://yabause.org/download/, 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.
- wget http://wget.addictivecode.org/FrequentlyAskedQuestions?action=show&redirect=Faq#download
- git https://git-scm.com/downloads (jump to binaries for M$ocosoft or MAC)
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.
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 u must need cmake 2.8.0 as minimum, on most linux u only have to install packages.
- cmake http://www.cmake.org/download/ (jump to binary if u have M$ocosoft or MAC)
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: