Difference between revisions of "Compiling ScummVM/AmigaOS4"

From ScummVM :: Wiki
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)

Revision as of 19:35, 10 January 2024

Compiling ScummVM for AmigaOS4

For building ScummVM on AmigaOS4, use the following build instructions:


Prerequisite

  • Download and install the latestt AmigaOS4 SDK from Hyperion-Entertainment.
  • Download and install SDL(1 or 2) (where SDL2 should always be preferred) SDK from GitHub.
  • You may also need libvorbisfile, libvorbis, libFLAC, libogg, libmad, libtheoradec, libfaad, libmpeg2, liba52, libfreetype, libGL and/or libogles2. They can be retrieved from OS4Depot.net.


Configuring

Run the configure script.

  • type
sh ./configure --enable-plugins --disable-detection-full --enable-release

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

--enable--plugins
is the command to build a shared objects version of ScummVM.
If you must (see below), use
--enable-static
to build the static version.)

for a list of configure options, additional features etc. (e.g. not yet enabled/unstable engines), use

sh ./configure --help

If no errors came up, you are ready to compile ScummvM.

Compiling

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).
  • type
gmake clean

in the directory ScummVM was configured and then

gmake amigaosdist

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

Copy (and rename, if needed) the final "install/" subdirectory wherever you want.


Running

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)