1$Header: /home/jcb/MahJong/newmj/RCS/README,v 12.1 2020/05/26 11:21:25 jcb Exp $
2
3This is the README file for the Unix mah-jong programs by J. C. Bradfield.
4
5
6NOTICES:
7--------
8Please see the file LICENCE for terms and conditions of these
9programs.
10
11Source distribution only:
12-------------------------
13The code in the tiles-v1/ directory was not written by me; see
14tiles-v1/README for information and licensing.
15The file MANIFEST contains a description of all the files you
16should find in this distribution.
17
18Binary distributions only:
19--------------------------
20In the distribution directory, you will find the following files:
21mj-server the controller program. ( mj-server.exe in Windows )
22mj-player a computer player. ( mj-player.exe in Windows )
23xmj a graphical client. ( xmj.exe in Windows )
24README this file
25LICENCE the licence
26rules.txt the rules as implemented by the programs
27use.txt documentation on how to use the programs
28CHANGES summary of changes between releases
29xmj.1 man page (not in Windows)
30mj-player.1 man page (not in Windows)
31mj-server.1 man page (not in Windows)
32tiles-numbered an alternative tileset with some arabic numbers
33tiles-small a set of smaller (3/4 size) tiles
34gtkrc-minimal sample gtkrc files
35gtkrc-plain
36gtkrc-clearlooks
37
38DESCRIPTION:
39------------
40These programs allow the user of a Unix (or Windows) computer to play
41Mah-Jong, in the Chinese Classical style, against other users (locally
42or over the Internet), against programmed players, or both.
43
44
45OBTAINING:
46----------
47Latest releases should be available from:
48 http://mahjong.julianbradfield.org/MahJong/
49
50
51CONTACTING:
52-----------
53If you need to contact me about these programs, please mail me at
54mahjong@stevens-bradfield.com .
55
56
57INSTALLATION - BUILDING FROM SOURCE:
58------------------------------------
59
60Systems:
61--------
62These programs should, in theory, compile on any reasonably modern
6332-bit or 64-bit Unix with an ANSI C compiler and the X Window System.
64They have been known to compile (and run) under GNU/Linux, recent Solaris
65(on Sparc), and recent Irix (on Silicon Graphics workstations).
66They also compile and run on MacOS 10 with X Windows, and on iOS with some work.
67If you try to compile on any "reasonably modern" system, and have a
68problem, do please tell me.
69In addition, they should compile and run under Win32 systems with
70GNU compilers and utilities; they are known to work under NT 4.0 with
71the mingw compiler (you must use the version with the MSVCRT dll).
72Adam Kao <mahjong@ideogram.com> got a pre-release version to compile
73with Microsoft Visual C and nmake, but as I don't have these I don't
74support them. If you wish to try to do this, the file makefile.msvc.old
75is the makefile Adam used; however, it has not been updated to match the
76current release, and is now extremely old.
77They cross-compile for Windows under Linux using the mingw suite.
78
79Prerequisites:
80--------------
81
82On Unix, as of version 1.10 of xmj, you need GTK+ 2.0 or later,
83preferably with the Clearlooks theme installed. If you are running on
84a very old system indeed, or you dislike GTK+2, you can also compile
85against GTK+ 1.2 by making the appropriate change in the Makefile.
86GTK+ 1.2 specific bugs are unlikely to be fixed in future.
87
88If you do not have GTK+, obtain it from www.gtk.org or mirrors.
89
90On Windows, you need the GTK+ 2 development bundle (note that
91GTK+ 2 relies on a lot of other stuff. A bundle is available from
92www.gtk.org.) To compile against GTK+1, you need a 2004 or later
93version 1.3 of the gtk+ Windows port.
94
95To compile the program, you need Perl, version 5 (version 4 is almost
96certainly OK, but I haven't checked). Perl should be installed on any
97decent system. (It is, of course not installed by default on Windows, but
98if you do any development, you've probably already installed it.)
99You do not need any Perl modules.
100
101You need the GNU make utility. If you do not have this, you will need
102to remove the GNU-specific features from the Makefile, as directed therein.
103(This may be hard. There is no good reason not to use GNU make, as far
104as I know.)
105(Windows: see also note above about makefile.msvc.old)
106
107Installing:
108-----------
109Unpack the distribution, and cd into the distribution directory.
110
111Edit the Makefile, and change as directed by the comments.
112
113Then
114 make
115
116You should not see any warnings or errors. If you do get any warning
117or error, please complain to me (unless you've switched on lots of
118superfluous message via the C debug flags, in which case you know what
119you're doing, so don't complain to me!).
120
121Then (Unix only) su to an appropriate user if you need this for
122installation, and
123 make install
124will install the binaries in the place you chose. Alternatively,
125just copy the three binaries
126 mj-server
127 mj-player
128 xmj
129into your chosen directory.
130
131make install.man (Unix only)
132will install the man pages into the appropriate directory.
133
134You may also wish to put the pre-formatted text files use.txt
135and rules.txt (which are basically the two halves of the man page)
136somewhere.
137
138
139INSTALLATION - UNIX BINARY DISTRIBUTIONS:
140-----------------------------------------
141
142Unpack the distribution, and cd into the distribution directory.
143
144Just copy the three binaries
145 mj-server
146 mj-player
147 xmj
148into your chosen directory. If you don't have GTK+, then see above.
149
150The user documentation is use.txt and rules.txt ; put these in
151an appropriate place.
152
153Alternatively, or as well, copy the man pages xmj.1, mj-server.1,
154mj-player.1 to the appropriate man directory (e.g. /usr/local/man/man1).
155
156Make sure that the binary directory is in your PATH; in particular,
157if you run from the source directory, you need to have it in your
158PATH either explicitly or as . .
159
160
161INSTALLATION - WINDOWS BINARY DISTRIBUTION:
162-------------------------------------------
163
164Unpack the distribution.
165Put the three *.exe files plus the DLLs into an appropriate folder.
166Creating menu items and shortcuts is up to you...
167
168Currently the relevant DLLs are packaged into the binary distribution.
169On older versions, these were provided separately in the file gtk2dlls.zip
170in the xmj download directory. If you need to run an old version, put
171these DLLs in the same directory as the xmj binaries. If you are using
172the GTK+ 1 version, you need instead the file gtkdlls1.zip .
173
174Put the documentation use.txt and rules.txt somewhere sensible.
175
176
177RUNNING:
178--------
179Please see the file use.txt in the distribution for usage
180information. The file rules.txt describes the rules applied by
181the programs. (Or see the man page.)
182
183
184PAYMENT & REGISTRATION:
185-----------------------
186What payment? What registration? These programs are free. However, if
187you would like to encourage me to continue development, or thank me
188for what I have already done, you can
189(a) make a donation to your local branch of Amnesty International
190 (please send me a note if you do); or,
191(b) send me a donation, either via PayPal, or by credit card by
192 the link on the xmj home page.
193If you want to be informed when new versions are released, etc.,
194please sign up via the web site.
195
196
197WINDOWS:
198--------
199The Windows port exists thanks to the efforts of Adam Kao
200<mahjong@ideogram.com>, who ported the pre-release version, and thus
201showed me what to do.
202Only Win32 is catered for.
203I do not have a development environment for Windows, so
204Windows-specific bugs will not have a high priority.
205
206
207SUGGESTIONS:
208------------
209xmj is no longer under active development. You're welcome to send me
210suggestions for improvements, but it may take a year or two for me to
211do anything with them.
212
213
214BUGS:
215-----
216Please report any bugs, or anything that might be a bug.
217Any known bugs that cannot be fixed are documented in the user manual.
218
219