annotate INSTALL.md @ 426:35dd2068b4ab

core: remove vfs support in sound
author David Demelier <markand@malikania.fr>
date Sat, 15 Oct 2022 14:17:11 +0200
parents 7ac4b10eedbe
children 67b52de5d3c0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
366
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
1 Molko's Engine INSTALL
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
2 ======================
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
3
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 Installation instructions.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
5
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 Requirements
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
7 ============
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
8
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
9 - C11 compliant compiler.
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
10 - [GNU Make][], Make build system.
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
11 - [Jansson][], JSON parsing library.
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
12 - [SDL2][], Multimedia library.
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
13 - [SDL2_image][], Image loading addon for SDL2.
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
14 - [SDL2_mixer][], Audio addon for SDL2.
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
15 - [SDL2_ttf][], Fonts addon for SDL2.
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
16 - [zstd][], For compression (optional).
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
17 - [libzip][], For ZIP vfs support (optional).
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
366
19782ea1cf4a misc: start rebranding
David Demelier <markand@malikania.fr>
parents: 326
diff changeset
19 Molko's Engine is mostly written in pure C99 with a very limited POSIX
326
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
20 extensions (including `stat`, `strlcpy`, `fmemopen`) but where support is
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
21 missing fallback implementations are provided.
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
22
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
23 Supported platforms
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
24 ===================
326
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
25
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
26 The project was successfully tested on the following platforms and their
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
27 architectures.
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
28
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
29 - Windows (MinGW-w64, VS2019).
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
30 - Linux (musl/amd64, musl/aarch64, glibc/amd64).
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
31 - FreeBSD (amd64).
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
32 - OpenBSD (amd64).
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
33 - macOS
326
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
34
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 Basic installation
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
36 ==================
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
37
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 Quick install.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
39
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
40 $ bsdtar -xvf molko-x.y.z-tar.xz
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 $ cd molko-x.y.z
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
42 $ make
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
43 # sudo make install
90
a6d6497adb60 make: cleanup a bit and add appropriate dependencies
David Demelier <markand@malikania.fr>
parents: 89
diff changeset
44
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
45 Available options
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
46 =================
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
47
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
48 The following make variables as available:
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
49
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
50 - `WITH_ZSTD`: Enable map and tileset compression through [zstd][] (default:
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
51 yes).
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
52 - `WITH_ZIP`: Enable ZIP file support through VFS API (default: yes).
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
53 - `WITH_DEBUG`: Disable optimizations and turn on debug symbols (default: no).
305
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
54
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
55 The following make variables changes installation directories:
326
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
56
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
57 - `PREFIX`: Root install path (default: /usr/local).
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
58 - `LIBDIR`: Libraries directory (default: $PREFIX/lib).
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
59 - `INCDIR`: C header directory (default: $PREFIX/include).
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
60
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
61 Booleans options can be set to `yes` or `no` (case sensitive).
326
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
62
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
63 Platform: macOS
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
64 ---------------
305
3675021fa6e5 make: add fakeroot support
David Demelier <markand@malikania.fr>
parents: 90
diff changeset
65
326
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
66 The recommended way to build under macOS is to install dependencies through
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
67 [brew][] and compile using XCode or command line generated makefiles.
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
68
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
69 You will need the following packages:
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
70
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
71 - jansson
326
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
72 - sdl2
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
73 - sdl2_image
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
74 - sdl2_mixer
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
75 - sdl2_ttf
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
76 - zstd (only if `WITH_ZSTD` is enabled)
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
77 - libzip (only if `WITH_ZIP` is enabled)
307
363024b76da7 make: create install-data rather than fakeroot
David Demelier <markand@malikania.fr>
parents: 305
diff changeset
78
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 Platform: Windows
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 -----------------
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
81
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
82 On Windows, [MSYS2][] and Visual Studio are supported.
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
83
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
84 ### MSYS2
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
85
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 Once you have MSYS2 installed, simply install the following packages from the
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 appropriate MinGW shell prior to the chapter above.
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
88
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 - *make*
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
90 - *mingw-w64-clang-x86_64-gcc*
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
91 - *mingw-w64-clang-x86_64-SDL2*
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
92 - *mingw-w64-clang-x86_64-SDL2_image*
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
93 - *mingw-w64-clang-x86_64-SDL2_mixer*
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
94 - *mingw-w64-clang-x86_64-SDL2_ttf*
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
95 - *mingw-w64-clang-x86_64-jansson*
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
96 - *mingw-w64-clang-x86_64-zstd* (only if `WITH_ZSTD` is enabled)
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
97 - *mingw-w64-clang-x86_64-zip* (only if `WITH_ZSTD` is enabled)
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
98
89
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
99 Note: replace `x86_64` with `i686` if you have a deprecated system or if you
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
100 have issues while debugging (MinGW-w64 and/or gdb have known issues in
30baadb6f6a2 core: add a panic_state in the adventure, continue #2484 @2h
David Demelier <markand@malikania.fr>
parents: 84
diff changeset
101 this area).
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
102
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
103 Remove `clang-` prefix if you need to use gcc for some reasons.
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
104
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
105 ### Visual Studio
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
106
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
107 On Visual Studio you will need to download or build libraries yourself. It is
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
108 recommended to install all of them in a same directory and hierarchy as
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
109 following:
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
110
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
111 - <dir>/bin
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
112 - <dir>/lib
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
113 - <dir>/include
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
114
417
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
115 Building with Visual Studio is only supported through `clang-cl` which should be
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
116 installed as individual component from the Visual Studio installer. You also
7ac4b10eedbe misc: update INSTALL
David Demelier <markand@malikania.fr>
parents: 366
diff changeset
117 need a POSIX compliant toolset such as [MSYS2][] and add it to your path.
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
118
326
06782f7888f3 misc: update meta files
David Demelier <markand@malikania.fr>
parents: 315
diff changeset
119 [brew][]: http://brew.sh
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
120 [CMake][]: http://cmake.org
25
0d5ecefcccd3 molko-map: reimplement using JSON as it is supported by tiled, closes #2448 @4h
David Demelier <markand@malikania.fr>
parents: 17
diff changeset
121 [Jansson][]: http://www.digip.org/jansson
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
122 [MSYS2]: http://www.msys2.org
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 [SDL2]: http://libsdl.org
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 [SDL2_image]: https://www.libsdl.org/projects/SDL_image
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
125 [SDL2_mixer]: https://www.libsdl.org/projects/SDL_mixer
13
c188e9603faf misc: add basic documentation files
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 [SDL2_ttf]: https://www.libsdl.org/projects/SDL_ttf
315
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
127 [gettext]: https://www.gnu.org/software/gettext
3bfaaf5342a9 cmake: add support for Visual Studio 2019
David Demelier <markand@malikania.fr>
parents: 308
diff changeset
128 [zstd]: http://facebook.github.io/zstd