annotate README @ 10:4f6bf50dbc4a default tip

Detect the OS and configure build flags and libraries automatically
author Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
date Tue, 13 Sep 2016 18:19:44 +0200
parents 0ec0edfcb752
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
1 rantaiwarna
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
2 ===========
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
3
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
4 Description
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
5 -----------
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
6
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
7 rantaiwarna is a tile-matching puzzle game which is also known under the names
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
8 "Chain Shot!" or "SameGame". It is played on a rectangular board which is
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
9 initially filled with elements of several different colors. Two or more
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
10 adjacent elements of the same color may be eliminated, the score resulting from
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
11 the elimination of elements depends on the number of elements eliminated at
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
12 once. The goal of the game is to eliminate as many elements as possible until
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
13 there are no more adjacent elements of the same color left or the board is
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
14 completely cleared. Vertical gaps resulting from the elimination of elements
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
15 are filled by sliding down elements from above the gap, column gaps are filled
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
16 by sliding columns on the right side of the column gap to the left.
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
17
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
18 Build Instructions
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
19 ------------------
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
20
8
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
21 rantaiwarna requires a POSIX:2004 compatible operating system, it has been
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
22 tested to work on Linux distributions, FreeBSD, NetBSD, Solaris and
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
23 Illumos-derived distributions, and UnixWare. The following tools and shared
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
24 libraries are required to build rantaiwarna:
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
25
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
26 - GNU make >= 3.81
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
27 - GNU or BSD install
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
28 - an implementation of the curses library compatible with X/Open CURSES
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
29 Issue 4 (rantaiwarna can take advantage of advanced features of recent
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
30 ncurses versions, in particular mouse support, but it also works with the
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
31 native curses implementations of at least Solaris, NetBSD, and UnixWare)
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
32
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
33 Rebuilding the man pages additionally requires the xsltproc tool from libxml2.
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
34
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
35 Before building rantaiwarna check the commented macros in the Makefile for any
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
36 macros you may need to override depending on the used toolchain and operating
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
37 system.
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
38
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
39 By default, all files will be installed under the "/usr/local" directory, a
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
40 different installation path prefix can be set via the `prefix` macro. In
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
41 addition, a second path prefix can be specified via the `DESTDIR` macro which
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
42 will be prepended to any path, incuding the `prefix` macro path prefix. In
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
43 contrast to `prefix`, the path specified via the `DESTDIR` macro will only be
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
44 prepended to paths during installation and not be used for constructing
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
45 internal paths.
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
46
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
47 The following instructions assume that `make` is GNU make, on some platforms
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
48 it may be installed under a different name or a non-default path. In order to
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
49 start the build process run `make all`. After a successful build, run `make
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
50 install` to install the program, any associated data files and the
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
51 documentation.
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
52
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
53 Previously built binaries, object files, generated data files and
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
54 documentation can be removed by running `make clean`, any additional,
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
55 generated files which are not removed by the `clean` target can be removed by
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
56 running `make clobber`.
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
57
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
58 Contact
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
59 -------
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
60
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
61 Please send any feedback, translations or bug reports via email to
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
62 <guido+rantaiwarna@berhoerster.name>.
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
63
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
64 Bug Reports
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
65 -----------
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
66
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
67 When sending bug reports, please always mention the exact version of
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
68 rantaiwarna with which the issue occurs as well as the version of the
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
69 operating system you are using and make sure that you provide sufficient
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
70 information to reproduce the issue and include any input, output, any error
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
71 messages.
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
72
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
73 In case of build issues, please also specify the implementations and versions
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
74 of the tools and shared libraries used to build the program, in particular the
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
75 compiler.
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
76
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
77 In case of crashes, please generate a stack trace with a suitable debugger
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
78 such as gdb, lldb, dbx, or debug after a crash has occurred either by
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
79 examining the resulting core file or by running the program from the debugger
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
80 and attach it to the bug report. In order to generate a meaningful stack
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
81 trace the program as well as any dynamically linked libraries need to be built
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
82 with debugging information, see the documentation of the used compiler for the
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
83 required compiler flags. If any of the dynamically linked shared libraries do
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
84 not contain debugging information, please either install debugging information
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
85 for these libraries using mechanisms provided by your operating system or
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
86 rebuild the libraries accordingly. Please refer to the documentation of the
0ec0edfcb752 Improve README file
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents: 0
diff changeset
87 debugger for detailed instructions on generating backtraces.
0
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
88
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
89 License
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
90 -------
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
91
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
92 Except otherwise noted, all files are Copyright (C) 2014 Guido Berhoerster and
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
93 distributed under the following license terms:
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
94
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
95 Copyright (C) 2014 Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
96
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
97 Permission is hereby granted, free of charge, to any person obtaining
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
98 a copy of this software and associated documentation files (the
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
99 "Software"), to deal in the Software without restriction, including
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
100 without limitation the rights to use, copy, modify, merge, publish,
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
101 distribute, sublicense, and/or sell copies of the Software, and to
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
102 permit persons to whom the Software is furnished to do so, subject to
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
103 the following conditions:
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
104
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
105 The above copyright notice and this permission notice shall be included
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
106 in all copies or substantial portions of the Software.
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
107
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
108 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
109 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
110 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
111 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
112 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
113 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
a9a7ad180c3b Initial revision
Guido Berhoerster <guido+rantaiwarna@berhoerster.name>
parents:
diff changeset
114 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.