Difference between revisions of "Compiling Yabause"

From Yabause
Jump to: navigation, search
(Fixed links for compiling OS X leading to nowhere.)
(Removed this mess of bad links, spelling mistakes and misinformation.)
Line 1: Line 1:
 
{{Yabause Manual}}
 
{{Yabause Manual}}
 
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.
 
 
== Requeriments ==
 
 
* '''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 first user GUI was made in GTK libs, GTK 2.0 > 2.20 are need to enable a yabause-gtk port for pc.
 
* '''Mini18n''' It's 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 you must download a binary from the URL's provided and install.
 
On a M$ environment maybe need install Cywin . See section below.
 
 
== Source ==
 
 
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.
 
* '''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.
 
 
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
 
 
== Configuring ==
 
 
For compiling you 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 configure the sources in "compiling" directory, run make command. Dreamcast port are significally different please read the section bellow.
 
 
make
 
 
=== 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 Linux ==

Revision as of 21:50, 14 February 2016

Yabause Manual
For users
For developers
edit

Building on Linux

Building on Mac OS X

Building on Windows