1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153
|
Adonthell on Windows
This file contains additional information for compiling Adonthell under
Windows for x86 and/or x64. For general compilation instructions refer
to the INSTALL file. Even more details are found within the NEWBIE file.
Build Environment:
==================
The recommended way to compile Adonthell for Windows is to use the mingw64
distribution of the GNU Compiler Collection. Since Adonthell uses a build
system based on GNU Autotools, a unixish environment such as provided by
MSys2 is also required. So start by downloading the latest version from:
https://sourceforge.net/projects/msys2/files/Base/x86_64/
For detailed installation instructions please refer to:
https://github.com/msys2/msys2/wiki/MSYS2-installation
As an alternative, http://www.msys2.org/ also links to the download and
runs you through the installation with a number of screenshots.
Using the 64 bit version of MSys2 is recommended as it can create both 32bit
and 64bit binaries.
Dependencies:
=============
Once MSys2 has been installed, you will need to install a number of packages
through the MSys2 package manager (pacman) which are required by Adonthell.
The package names below are the 64bit variants and as such result in a 64bit
version of Adonthell. To create 32bit binaries, replace x86_64 with i686 in
the package names below. Install each package by typing
pacman -S <package name>
The following packages are required:
tar
make
mingw-w64-x86_64-gcc
mingw-w64-x86_64-gettext
mingw-w64-x86_64-pkg-config
mingw-w64-x86_64-python3
mingw-w64-x86_64-SDL2_mixer
mingw-w64-x86_64-SDL2_ttf
Compiling Adonthell:
====================
After installing all the libraries and tools above, we're finally
ready to compile Adonthell. For this, make sure to exit the MSys2 shell
and open the mingw64 (or mingw32) environment instead.
Extract both adonthell-0.3.x.tar.gz and wastesedge-0.3.x.tar.gz and
in each directory, run the usual commands:
./configure
make
make install
to compile and install Adonthell locally. You can now launch Adonthell
by typing
adonthell-wastesedge
Distributable Package:
======================
To create a version of Adonthell that can be used outside the mingw
environment, or on a different computer running Windows, a set of scripts
are provided. Make sure that the dependencies listed above are installed
and the compile step worked. Then, in the adonthell-0.3.x directory, run
./make_windows_pkg.sh
If all goes well, it will configure, build and install into a directory
called Adonthell/, including all the required DLLs not present in the
Windows System32 folder. Now only the actual game data is missing.
Change into the wastesedge-0.3.x directory and run
make_windows_pkg.sh ../adonthell-0.3.x/Adonthell
(adjusting the location to the Adonthell directory as needed). This will
configure, build and install Waste's Edge and make the package ready to
use. You can now zip it up and transfer it to any other Windows system.
To start the game, use the adonthell-wastesedge.bat script.
Installer:
==========
To make distribution of the Windows package a little more professional,
a .msi installer can be built once the steps above are complete.
This requires the WiX Toolset, downloadable from
http://wixtoolset.org/
Make sure it is in your PATH, i.e.
export PATH=$PATH:/C/Program\ Files\ \(x86\)/WiX\ Toolset\ v3.10/bin
(adjusting the location to the WiX bin directory accordingly)
Change into the wastesedge-0.3.x/win32 directory and run
./make_msi.sh ../../adonthell-0.3.x/Adonthell
(adjusting the location to the Adonthell directory as needed).
If all goes well, the installer will be created in the current directory.
Additional Notes:
=================
(1) In order to embed the correct icon in the Adonthell executable,
the rcedit program needs to be present in the PATH. It can be
dowloaded from
https://github.com/electron/node-rcedit/tree/master/bin
(2) In order to keep the list of external DLLs included in the package
at a minimum, it pays to use custom compiled versions of SDL2_mixer,
Freetype and SDL2_tff. Configure those with the following flags
Freetype : ./configure --with-png=no --with-bzip2=no
SDL2_mixer : ./configure --disable-music-ogg-shared
In this case, make sure to install mingw-w64-x86_64-libvorbis and
mingw-w64-x86_64-SDL2 instead of SDL2_mixer and SDL2_ttf.
(3) Due to bugs present in SDL 2.0.4, it is recommended to use version
2.0.5 (once available), or to compile SDL from source as well, using
at least revision 17e0ded12e6f:
https://hg.libsdl.org/SDL/archive/17e0ded12e6f.tar.bz2
To compile this using mingw, the following patch also needs to be
applied
https://bugzilla.libsdl.org/show_bug.cgi?id=3399
(4) Codesigning of the Adonthell executable and the MSI installer will
be done automatically by the make_msi.sh script, provided you have
Microsofts signtool from the Windows Platform SDK in your PATH and
a suitable certificate added to the Windows certificate store.
|