Mercurial > projects > rantaiwarna
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 |
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. |