initial commit
[shapestoy] / README.md
1 Shapestoy
2 =========
3
4 Multiplatform Android, GNU/Linux, Windows codebase.
5
6 License
7 -------
8 Copyright (C) 2022 John Tsiombikas <nuclear@member.fsf.org>
9
10 This demo is free software. Feel free to use, modify, and/or redistribute it
11 under the terms of the GNU General Public License version 3, or at your option
12 any later version published by the Free Software Foundation. See COPYING for
13 details.
14
15
16 Android build
17 -------------
18 Set up the environment with two variables: `SDK` and `NDK` pointing to the
19 directories where the android SDK and NDK are installed. The default paths
20 correspond with the locations debian's package manager installs them after
21 running:
22
23     apt-get install android-sdk android-sdk-platform-23 google-android-ndk-installer
24
25 Also the `AVER` variable can be set to something other than 23 to change which
26 android platform version to use.
27
28   - `make android` to build the apk.
29   - `make install` to install to the connected android device.
30   - `make run` to install and run on the connected android device.
31   - `make stop` to kill the demo forcefully.
32
33 The above are "shortcuts" in the main makefile. The real android makefile is
34 `Makefile.android`. Some operations might have to be performed using that one.
35 For instance to clean and rebuild all libraries:
36
37     make -f Makefile.android clean-libs
38     make -f Makefile.android libs
39
40 Or to monitor the android log stream:
41
42     make -f Makefile.android logcat
43
44
45 PC version build
46 ----------------
47 On UNIX and windows under msys2, just type `make`. No external dependencies are
48 needed, everything is included in the source tree.
49
50 For msys2 builds, start either a "mingw32 console" or a "mingw64 console", to
51 have the environment set up correctly to build native 32bit or 64bit binaries.
52 Do not start an "msys2 console"; that's for building with the UNIX system call
53 emulation layers linked to the binary (similar to old cygwin).
54
55 Alternatively msvc2022 project files are included, configured to build for
56 64bit x86. Warning: msvc project files might be out of date. If you encounter
57 unresolved symbols, make sure to add any new source files to the project.
58