Difference between revisions of "Compiling ScummVM/AmigaOS4"

Jump to navigation Jump to search
(Overhaul, updated and reworded)
Line 5: Line 5:


== Prerequisite ==
== Prerequisite ==
* Download and install AmigaOS4 SDK from [http://hyperion-entertainment.biz/index.php/downloads?view=files&parent=30 Hyperion-Entertainment].
* Download and install the latestt AmigaOS4 SDK from [http://hyperion-entertainment.biz/index.php/downloads?view=files&parent=30 Hyperion-Entertainment].
* Download and install SDL(1/2) (where SDL2 should always be preferred) SDK from [https://github.com/AmigaPorts/SDL/releases GitHub].
* Download and install SDL(1 or 2) (where SDL2 should always be preferred) SDK from [https://github.com/AmigaPorts/SDL/releases GitHub].
* You may also need libvorbisfile, libvorbis, libFLAC, libogg, libmad, libtheoradec, libfaad, libmpeg2, liba52, libfreetype, libGL and/or libogles2. They can be retrieved from [http://os4depot.net/index.php?function=browse&cat=development/library OS4Depot.net].
* You may also need libvorbisfile, libvorbis, libFLAC, libogg, libmad, libtheoradec, libfaad, libmpeg2, liba52, libfreetype, libGL and/or libogles2. They can be retrieved from [http://os4depot.net/index.php?function=browse&cat=development/library OS4Depot.net].


Line 12: Line 12:
== Configuring ==
== Configuring ==
Run the configure script.
Run the configure script.
If no errors come up, you should be ready to compile ScummvM.
* type
* type
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sh ./configure
sh ./configure --enable-plugins --disable-detection-full --enable-release
</syntaxhighlight>
in the directory with the ScummVM source files.
* or run
<syntaxhighlight lang="bash">
sh ./configure --help
</syntaxhighlight>
for a list of optional features (e.g. additional, not yet enabled engines).


(Instead of
--enable-release
use
--enable-debug
to add debug flags.


Note:
--enable--plugins
If you are building ScummVM on a system with low main memory (for example, lower than 256MB), you might run out of memory during linking. If you use GNU ld for compiling you can try exporting LDFLAGS="-Wl,--no-keep-memory" before running configure. This tells GNU ld to optimize for memory usage.
is the command to build a shared objects version of ScummVM.
If you must (see below), use
--enable-static
to build the static version.)
</syntaxhighlight>for a list of configure options, additional features etc. (e.g. not yet enabled/unstable engines),


use<syntaxhighlight lang="bash">
sh ./configure --help
</syntaxhighlight>If no errors came up, you are ready to compile ScummvM.


== Compiling ==
== Compiling ==
* type
<syntaxhighlight>
Note on static builds:
 
If you are trying to build ScummVM statically linked (all-in-one binary) your system memory will likely run out during the linking process.
The currently available AmigaOS4 NG systems are limited to 2 GB of RAM (where the limit actually stops at roughly 1550 MB) on the OS level (this may change in the future, but right now i would advise against a natively build static binary. (Cross-compiled static builds are still available throught the ScummVM buildbot (https://buildbot.scummvm.org/#/), albeit not with all available features).
</syntaxhighlight>
*type
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
gmake clean
gmake clean
Line 37: Line 46:
in the directory ScummVM was configured and then
in the directory ScummVM was configured and then
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
gmake
gmake amigaosdist
</syntaxhighlight>
 
 
== Cross-compiling with Cygwin ==
* Make sure that you have SDL(1/2) SDK installed (where SDL2 should always be preferred).
* You may also need libogg, libvorbis, libvorbisfile, zlib, libmad.
* Type
<syntaxhighlight lang="bash">
./configure --host=ppc-amigaos
</syntaxhighlight>
 
 
Note:
If you get an error about sdl-config, use --with-sdl-prefix parameter to set the path.
 
 
* type
<syntaxhighlight lang="bash">
make
</syntaxhighlight>
</syntaxhighlight>


This will automatically install the ready binary with all needed dependancies into a subdirectory named "install/".


This directory can then be copied anywhere and used.
== Installing ==
== Installing ==
Copy the exe wherever you want (an intitial - engine-free - .ini file will be created on the first run).
Copy (and rename, if needed) the final "install/" subdirectory wherever you want.




== Running ==
== Running ==
Double-click the  "ScummVM"  icon to start the program.
Double-click the  "ScummVM"  icon to start the program (if no .ini settings file is availbale, an initial one with default settings will be created during the first run)