Do not return NULL as boolean from wonder_is_lost() nor wonder_is_built()
[freeciv.git] / vms / readme.vms
blobf80d44e47536b368ab31047e95697ce6fe4dae85
1 ===========================================================================
2                         README.VMS
3 ===========================================================================
5 A more complete and HTML'ized version of these directions can be found at.
7         http://www.ourservers.net/openvms_ports
9 For help or problems with these directions please e-mail 
10 "byer@mail.ourservers.net"
12 What platforms are supported?
13 - -----------------------------
15 The Freeciv v1.12.0 CIVCLIENT and CIVSERVER for OpenVMS so far has only
16 been tested by me personally on the following Alpha platforms.
18    * AlphaStation-250 4/166, OpenVMS v7.2, DEC C v6.0-001, DECWindows Motif
19      v1.2.5, Multinet TCP/IP v4.2a
20    * AlphaStation-250 4/266, OpenVMS v7.2, DEC C v6.0-001, DECWindows Motif
21      v1.2.5, Multinet TCP/IP v4.2a
22    * AlphaStation 500/333, OpenVMS v7.2, DEC C v6.0-001, DECWindows Motif
23      v1.2.5, Multinet TCP/IP v4.2a
25 The Freeciv v1.12.0 CIVSERVER for OpenVMS has only been tested by me
26 personally on the following VAX platforms.
28    * VAXStation-4000/60, OpenVMS v7.2, DEC C v6.0-001, DECWindows Motif
29      v1.2.5, Multinet TCP/IP v4.2a
30    * MicroVAX-3400, OpenVMS v7.2, DEC C v6.0-001, DECWindows Motif v1.2.5,
31      Multinet TCP/IP v4.2a
32    * VAXServer-3300, OpenVMS v7.2, DEC C v6.0-001, DECWindows Motif v1.2.5,
33      Multinet TCP/IP v4.2a
35 Note: Currently the Freeciv CIVCLIENT is only supported on the Alpha
36 platform. The Freeciv CIVSERVER is suppored on both the VAX and Alpha
37 platforms.
39 The problem with having a Freeciv CIVCLIENT for VAX is the IMLIB and GTK+
40 graphics libraries haven't been ported to VAX yet, they have been ported to
41 Alpha and hopefully someone will port them to VAX.
43 One should have no problems with older versions of OpenVMS just as long as
44 one is using the DEC C compiler and DECWindows Motif, but I've only tested
45 Freeciv on OpenVMS v7.2 with DEC C v6.0-001.
47 But having said that, I would be happy to help someone having problems with
48 older C compilers and older versions of OpenVMS.
50   ========================================================================
52 What do I need to build Freeciv v1.12.0 for OpenVMS?
53 - ----------------------------------------------------
55 O.k., here's is what you need to build Freeciv v1.12.0 on an OpenVMS
56 system.
58   1. A copy of the "current stable" Freeciv v1.12.4 distribution kit. The
59      "current stable" Freeciv v1.12.0 source files can be found at
60      http://download.gna.org/freeciv/stable/OLD/freeciv-1.12.0.tar.gz
62   2. A installed copy of Digital Equipments DEC C compiler. If you do not
63      have a copy of the DEC C compiler you can obtain a copy via the
64      OpenVMS Hobbyist Program at http://www.montagar.com/hobbyist
66   3. An OpenVMS version of the Unix TAR utility. If you do not have a copy
67      of an OpenVMS TAR utility you can obtain a copy at
68      ftp://ftp.levitte.org/vms/
70   4. An OpenVMS version of the Unix GNU ZIP utility. If you do not have a
71      copy of an OpenVMS GNU ZIP utility you can obtain a copy at
72      http://www.openvms.digital.com/freeware/gzip/
74 If you want to build the Freeciv X CIVCLIENT you will also need to have the
75 following. You can build just the Freeciv CIVSERVER without having to build
76 the Freeciv X CIVCLIENT.
78   1. DECWindows Motif installed and running along with the compiler
79      libraries for DECWindows Motif.
81   2. You will need to download, compile and install the lastest version of
82      the OpenVMS Porting library. You can get the lastest version of the
83      OpenVMS Porting library from
84      http://www.openvms.digital.com/openvms/products/ips/porting.html
86   3. You will need the latest version of GTK+ for OpenVMS Alpha. This can
87      be found at
88      http://www.openvms.digital.com/openvms/products/ips/gtk.html
90      If your version of DEC C is pre v6.2 you will need to download this
91      patch kit for GTK+ so you can compile and link the GTK+ libraries. The
92      GTK+ patch kit can be found at
93      http://www.ourservers.net/openvms_ports/gtk/gtk_contents.html
95   4. You will need the latest version of IMLIB. This can be found at
96      ftp://ftp.gnome.org/pub/GNOME/stable/sources/imlib/imlib-1.9.8.1.tar.gz
98   ========================================================================
100 Building Freeciv v1.12.0 for OpenVMS.
101 - ------------------------------------
103 O.k. You have everything outlined in the previous section and you want to
104 get the ball rolling.
106 Note: For pupose of example we will use the installation directory of
107 DISK$WORK:[000000]
109   1. If needed, install the DEC C compiler, DECWindows Motif, OpenVMS TAR
110      or GNU ZIP for OpenVMS.
112   2. If you are planning on building the Freeciv v1.12.0 X CIVCLIENT you
113      will need to compile, link and install the OpenVMS Porting Library if
114      it is not already installed.
116   3. If you are planning on building the Freeciv v1.12.0 X CIVCLIENT you
117      will need to compile and link the GTK+ For OpenVMS Alpha kit.
119      Note: You need to unpack the GTK+ kit in the same directory root where
120      you will be unpacking Freeciv and the directory needs to start with
121      GTK as the compile script will look for a directory starting with GTK
122      in the same root directory as the Freeciv distribution.
124              Example:
126                      [000000]
127                              [.GTK128]
128                              [.FREECIV-1_12_0]
131      If your version of DEC C is pre v6.2 you will need to download this
132      patch kit for GTK+ so you can compile and link the GTK+ libraries. The
133      GTK+ patch kit can be found at
134      http://www.ourservers.net/openvms_ports/gtk/gtk_contents.html
136   4. Unpack the Unix Freeciv v1.12.0 distribution file
137      FREECIV-1.12.0.TAR-GZ into a directory of your choice.
139              $ SET DEFAULT DISK$WORK:[000000]
140              $ GUNZIP [.DOWNLOAD]FREECIV-1_12_0.TAR-GZ
141              $ TAR -vxf FREECIV-1_12_0.TAR
144   5. If building the Freeciv v1.12.0 X CIVCLIENT, unpack the IMLIB v1.9.8.1
145      distribution file IMLIB-1_9_8_1.TAR-GZ into THE SAME DIRECTORY where
146      you unpacked the Freeciv v1.12.0 files.
148              $ SET DEFAULT DISK$WORK:[000000]
149              $ GUNZIP [.DOWNLOAD]IMLIB-1_9_8_1.TAR-GZ
150              $ TAR -vxf IMLIB-1_9_8_1.TAR
153   6. If you are just building everything you should see the following
154      directories.
156              FREECIV-1_12_0.DIR
157              <your GTK+ directory>
158              IMLIB-1_9_8_1.DIR
161      If you are just building the Freeciv v1.12.0 server you should only
162      see the FREECIV-1_12_0 directory unless you also installed the other
163      files to build the client later.
165   7. You need to define a logical to point to the directory where you
166      installed your OpenVMS Porting library.
168              $ DEFINE/NOLOG PORTING_LIB DISK$CARTMAN:[PORTING_LIB.]
171   8. Go to the Freeciv [.VMS] directory where you will find the compile
172      script VMS_BUILD.COM. The VMS_BUILD.COM script accepts the following
173      parameters.
175           P1:  ALL             Just Build Everything.
176                IMLIB           Just Build The IMLIB Library.
177                COMMONLIB       Just Build The Library Of Common Routines.
178                AILIB           Just Build The AI Library.
179                SERVERLIB       Just Build The Server Library.
180                CIVSERVER       Just Build The CIVSERVER Server Executable.
181                CLIENTLIB       Just Build The Client Library.
182                GTKCLIENTLIB    Just Build The GTK Client Library.
183                CIVCLIENT       Just Build The CIVCLEINT Executable.
185           P2:  DEBUG           Build With Debugger Information.
186                NODEBUG         Build Without Debugger Information.
188           P3:  PRE_DECC_V6_2   Compiling With A Pre DEC C v6.2 Compiler.
191      If you execute VMS_BUILD.COM without any options the script will
192      default to "ALL" and "NODEBUG".
194      Note: If you are JUST building the Freeciv server and haven't unpacked
195      any of the necessary files for the X client (i.e. GLIB, IMLIB, GTK and
196      Mozilla) then DON'T use the options ALL, CLIENTLIB, GTKCLIENTLIB or
197      CIVCLIENT as the script will complain about the necessary files not
198      being found.
200      If you are compiling on a machine with a pre DEC C v6.2 compiler YOU
201      MUST enter PRE_DECC_V6_2 as the third option if you are going to build
202      the CIVCLIENT or you will get compile errors.
204      So if you are just building the server, just use the SERVER option to
205      save the hassle.
207   9. The VMS_BUILD.COM script will then proceed compiling and linking with
208      the options you have selected.
210      Depending on what options you chose, you may see compiler and linker
211      warnings, espically for IMLIB, CLIENTLIB, GTKCLIENTLIB and CIVCLIENT.
212      These are norml and won't harm anything and we are working on having
213      them resolved.
215  10. When all is done, you should have one of the following executables (or
216      more depending on the build parameters you gave) in your [.VMS]
217      directory.
219              CIVCLIENT-AXP.EXE               AXP Freeciv v1.12.0 GTK-GUI Client.
220              CIVSERVER-AXP.EXE               AXP Freeciv v1.12.0 Server.
222              CIVCLIENT-AXP.EXE-DEBUG         AXP Freeciv v1.12.0 GTK-GUI Client With OpenVMS Debug Information.
223              CIVCSERVER-AXP.EXE-DEBUG        AXP Freeciv v1.12.0 Server With OpenVMS Debug Information.
225              CIVSERVER-VAX.EXE               VAX Freeciv v1.12.0 Server.
226              CIVSERVER-VAX.EXE-DEBUG         VAX Freeciv v1.12.0 Server With OpenVMS Debug Information.
228   ========================================================================
230 Customizing Freeciv v1.12.0 for OpenVMS.
231 - ----------------------------------------
233 Basically, the only customizations that need to be done is to define some
234 logicals.
236 For the CIVSERVER and CIVCLIENT you need to define the logical FREECIV_PATH
237 that points to the directory [.FREECIV-1_12_0.DATA]. This needs to be
238 defined in Unix format.
240         Example:
242         $ DEFINE/SYSTEM FREECIV_PATH "/DISK$WORK/FREECIV-1_12_0/DATA"
244 If you plan to run Freeciv alot (either the server or client) I would
245 define the above logical in your system startup file.
247 You also need to define a symbol for the Freeciv server.
249         $ CIVSERVER :== $DISK$WORK:[FREECIV-1_12_0.VMS]CIVSREVER.EXE-AXP
251 If you plan to run Freeciv alot (either the server or client) I would put
252 this in your system login file.
254 For the CIVCLIENT, you need to define the following logicals to point to
255 where you have your GTK+ and OpenVMS Porting libraries.
257         $ DEFINE/SYSTEM LIBGLIB DISK$WORK:[GTK128.GLIB]LIBGLIB.EXE
258         $ DEFINE/SYSTEM LIBGMODULE DISK$WORK:[GTK128.GLIB]LIBGMODULE.EXE
259         $ DEFINE/SYSTEM LIBGDK DISK$WORK:[GTK128.GTK.GDK]LIBGDK.EXE
260         $ DEFINE/SYSTEM LIBGTK DISK$WORK:[GTK128.GTK.GTK]LIBGTK.EXE
261         $ DEFINE/SYSTEM VMS_JACKETS DISK$CARTMAN:[PORTING_LIB.LIB]VMS_JACKETS.EXE
263 I would also define a symbol for the Freeciv client.
265         $ CIVCLIENT :== $DISK$WORK:[FREECIV-1_12_0.VMS]CIVCLIENT-AXP.EXE
267 If you don't define the above logicals you will get an error when you
268 attempt to run the CIVCLIENT. If you plan on running the client often I
269 would recomend defining the above logicals in your system startup file and
270 defining the client symbol in your system login file.
272   ========================================================================
274 Testing Freeciv v1.12.0 for OpenVMS.
275 - -----------------------------------
277 You have done the following:
279    * Compiled Freeciv v1.12.0 for OpenVMS as outlined in Building Freeciv
280      v1.12.0 for OpenVMS.
282    * Defined the appropriate logicals and symbols to suite your
283      installation as outlined in Customizing Freeciv v1.12.0 for OpenVMS.
285 And now you want to test Freeciv to make sure it works. Here's how you can
286 test things out.
288 Freeciv Client:
290   1. Make sure you have your X display set up properly so you can display X
291      windows processes.
293   2. Launch the Freeciv client.
295              $ CIVCLIENT
298      If all goes well, you should see the client startup and you should see
299      the connection box.
301   3. Click on the Metaserver tab and press the Update button. You should
302      see a list of available Freeciv servers you can connect to.
304   4. Select a server that show a Status of Pregame and click on the Connect
305      button.
307   5. You should now be connected to a server. When someone else joins the
308      game or the game starts you should be able to pay the game with no
309      problems.
311   6. Enjoy.
313 Freeciv Server:
315   1. Make sure you have your X display set up properly so you can display X
316      windows processes.
318   2. Run the Freeciv server process in debug mode and to send information
319      to the Metaserver.
321              $ CIVSERVER -D 3 -M
324   3. The server should start in debug mode and you will get the server
325      prompt.
327   4. Launch the Freeciv client in a different window.
329              $ CIVCLIENT
332      If all goes well, you should see the client startup and you should see
333      the connection box.
335   5. Click on the Metaserver tab and press the Update button. You should
336      see a list of available Freeciv servers you can connect to.
338   6. You should see your server listed in the Metaserver list. Click on
339      your server and click on the Connect button.
341   7. You should now be connected to your server and the server should show
342      your connection and you should see the connection dialog in the client
343      text window.
345   8. On your server process, type START and the game should start and you
346      should see the game start dialog on the client.
348   9. Play a game for a bit to see if the server is working. If it appears
349      to be working, Enjoy.
351 Normally when you start the server to play a game, you don't usually use
352 the -D 3 option, this is just a debug option. The Metaserver option -M is
353 used to report to the public Metaserver that you are running a public game.
354 If you want to run a private game, don't use the -M option. Most of the
355 type just typing CIVSERVER will be enough to run a game.
357 The Freeciv server has other options for loading saved games etc. If you
358 use the -H option you will see a list of all the options and typing HELP
359 inside the server process will show a list of server options you can
360 change/execute from the server command line.
362 Note: All file names and paths need to be in Unix format.
364 For more information on running a Freeciv server, see the Freeciv WWW site.