Difference between revisions of "Compiling ScummVM/Nintendo DS"

From ScummVM :: Wiki
Jump to navigation Jump to search
(Added some basic NDS build instructions (partially based on Neil's homepage))
m
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Compiling ScummVM for Nintendo DS under Linux ==
== Compiling ScummVM for Nintendo DS ==
 
== Getting the source ==
* Open a Terminal and type:
 
<pre>git clone https://github.com/scummvm/scummvm.git</pre>


== Tools/libraries needed ==
== Tools/libraries needed ==
You must have [http://www.devkitpro.org/ devitPro] installed. Version r24 is known to work, more recent versions may work, but occasionally introduce non-backward compatibility changes which cause them to break compatibility with ScummVM.
You must have [https://devkitpro.org/wiki/Getting_Started devkitARM] installed. Version r55 is known to work, more recent versions may work, but occasionally introduce non-backward compatibility changes which cause them to break compatibility with ScummVM.
 
Moreover, by default, ScummVM DS expects to find libmad, an MP3 compressor library targeted for the ARM platform. If you don't have this, you must disable libmad support by opening 'backends/platform/ds/arm9/makefile' and commenting out the line which says USE_MAD = 1.


To sum it up, you need to install at least the following:
You need to install at least the following packages:
* devkitPro, e.g. [https://sourceforge.net/projects/devkitpro/files/devkitARM/previous/devkitARM%20release%2024/ devkitPro r24]
<syntaxhighlight lang="bash">
* libnds
sudo dkp-pacman -Sy
* libfat
sudo dkp-pacman -S \
* libmad
    dkp-toolchain-vars \
    nds-dev \
    nds-zlib
</syntaxhighlight>


== Compiling ScummVM ==
== Compiling ScummVM ==
To build ScummVM DS from source, it's probably better to checkout the latest version of the code from the ScummVM SVN repository. The ScummVM Sourceforge.net homepage has all the information about how to do this.
The following commands should be run in order to setup your environment for cross-compiling:
 
<syntaxhighlight lang="bash">
Enter the <code>backends/platform/ds</code> folder and type:
source /opt/devkitpro/devkitarm.sh
 
source /opt/devkitpro/ndsvars.sh
<syntax type="bash">
</syntaxhighlight>
make SCUMM_BUILD=a
</syntax>
The executable nds file will build inside <code>backends/platform/ds/arm9/SCUMMVM-A</code>.
 
For other builds, substitute the letters <code>b</code> to <code>g</code> in the above line.


To build everything, type:
To compile ScummVM, issue the following commands inside the scummvm folder:


<syntax type="bash">
<syntaxhighlight lang="bash">
make allbuildssafe
./configure --host=ds --enable-plugins --enable-all-engines
</syntax>
make
</syntaxhighlight>


Alternatively, you can build with only a single engine enabled using the following commands:


== Further reading ==
<syntaxhighlight lang="bash">
* [http://forums.scummvm.org/viewtopic.php?t=3478 Forum thread "Compile Directions"]
./configure --host=ds --disable-all-engines --enable-engine=scumm
* [http://forums.scummvm.org/viewtopic.php?t=7535 Forum thread "version of devkitpro needed to compile 13.1"]
make
</syntaxhighlight>

Latest revision as of 23:23, 4 November 2023

Compiling ScummVM for Nintendo DS

Getting the source

  • Open a Terminal and type:
git clone https://github.com/scummvm/scummvm.git

Tools/libraries needed

You must have devkitARM installed. Version r55 is known to work, more recent versions may work, but occasionally introduce non-backward compatibility changes which cause them to break compatibility with ScummVM.

You need to install at least the following packages:

sudo dkp-pacman -Sy
sudo dkp-pacman -S \
    dkp-toolchain-vars \
    nds-dev \
    nds-zlib

Compiling ScummVM

The following commands should be run in order to setup your environment for cross-compiling:

source /opt/devkitpro/devkitarm.sh
source /opt/devkitpro/ndsvars.sh

To compile ScummVM, issue the following commands inside the scummvm folder:

./configure --host=ds --enable-plugins --enable-all-engines
make

Alternatively, you can build with only a single engine enabled using the following commands:

./configure --host=ds --disable-all-engines --enable-engine=scumm
make