Turned gtk3.22-client left panel unit icon GtkPixcomms to GtkImages
[freeciv.git] / INSTALL
blobde59fc42b54209bc2a55b19242f6bf23f418d2af
1 ===================
2 Installing Freeciv:
3 ===================
5 This file describes how to compile and install Freeciv. Last time we
6 made sure this file is up to date was 16-Jul-06.
7 Last minor update was 21-Apr-15.
9 There may be a localized version of this file in the ./doc directory,
10 named INSTALL.<locale> (e.g., INSTALL.de).
12 This document contains sections and subsections as follows:
13      0. Prerequisites:
14      1. Prerequisites for the clients:
15           1a. Prerequisites for the Gtk2 client:
16           1b. Prerequisites for the Gtk3 client:
17           1c. Prerequisites for the SDL client:
18           1d. Prerequisites for the SDL2 client:
19           1e. Prerequisites for the Xaw client:
20           1f. Prerequisites for the Qt client:
21      2. Generating Makefiles
22           2a. Generating the Makefile for svn versions:
23           2b. Generating the Makefile for release versions:
24      3. Compiling Freeciv:
25      4. Installation:
26      5. Native Language Support:
27      6. Readline Support:
28      7. Reinier's Solaris Installation Notes:
29      8. Reinier's libXpm Solaris Installation Notes:
30      9. Mac OS X and Darwin notes:
31     10. Debian GNU/Linux notes:
32     11. Windows notes:
35 0. Prerequisites:
36 =================
38 Freeciv has a number of prerequisites.  Note, that apart from the first
39 prerequisite, the Freeciv configuration process is smart enough to work
40 out whether your system is suitable.  If in doubt, just try it.
42  - Unix (or similar)
44    The Unix operating system, a work-alike such as Linux or FreeBSD,
45    or some OS that provides a very Unix-like personality or mode, like
46    EMX under OS/2 or the Cygnus Cygwin toolkit under Windows.
47    (See http://sourceware.cygnus.com/cygwin/).  Support for
48    BSD-style TCP/IP sockets is essential, as is a Bourne-shell
49    compatible shell, such as GNU "bash".  (Most Unixes fit the bill...)
51  - An ANSI C compiler.
53    Freeciv is written in very portable (almost) ANSI C.  Both 32- and 64-
54    bit machines are supported.  You cannot use a "K&R C" compiler, or
55    a C++ compiler.
57    Development of Freeciv is primarily done with "gcc", the GNU
58    project's excellent C compiler.  Releases can be compiled with gcc
59    or most other compilers (such as the unbundled Solaris C compiler).
60    Note that there have been reports that gcc with -O3 miscompiled
61    freeciv.
63  - A "make" program.
65    Freeciv developers generally use "gmake", the GNU make program.
67    Officially released versions of Freeciv are designed to have
68    makefiles which work with most make programs.
70    You can check if you have GNU make installed on your system by
71    typing:
73     % make -v                   [and if this doesn't work, try "gmake -v"]
75    The output should include "GNU Make" somewhere.
77  - libcurl version 7.12.1 or better
79    Libcurl takes care of http communication with the metaserver, and
80    file transfers of modpack installers
82    http://curl.haxx.se/
84 The svn version has additional requirements. A release version
85 contains the generated files.
87  - The programs from GNU gettext version 0.14 or better
89    Especial the xgettext program is required to create the *.gmo
90    files which aren't included in the svn tree.
92  - GNU autoconf version 2.61 or better
94    Autoconf is required to create configure from configure.ac.
96  - GNU automake version 1.10 or better
98    Automake is required to create the various Makefile.in from
99    Makefile.am.
101 1. Prerequisites for the clients:
102 =================================
104 The Freeciv client comes in the following forms:
105 * Gtk+ 2.0 widget library ("Gtk+ 2.0").
106 * Gtk+ 3.0 widget library ("Gtk+ 3.0").
107 * X Athena Widgets library ("Xaw").
108 * SDL
109 * Qt
111 These forms have different prerequisites, explained separately below.
113 Your system will need to satisfy at least one of these sets of prerequisites.
115 Note that most Linux systems have separate library packages for "runtime" 
116 library support and for development support (for compiling programs 
117 which use those libraries).  To compile Freeciv on such systems you 
118 will need to have the appropriate "development" packages installed.
121 1a. Prerequisites for the Gtk+ 2.0 client:
122 ==========================================
124  - "pkg-config".
126    "pkg-config" is a system for managing library compile/link flags that
127    works with automake and autoconf. You may obtain it at:
129       http://pkgconfig.freedesktop.org/releases/pkg-config-0.26.tar.gz
131  - The "Glib" utility library.
133    The "Glib" utility library provides non-graphical functions used by the
134    "Gdk" and "Gtk+" libraries, like hash tables, single linked lists, etc.
136    Freeciv requires a version of "Glib" greater or equal to 2.6.0.
138    If the Freeciv configure process tells you that you don't have the
139    Glib library installed, then it may be obtained from here:
141      http://ftp.gnome.org/pub/gnome/sources/glib/2.30/glib-2.30.2.tar.xz
143  - The "Atk" accessibility library.
145    The "Atk" library provides a set of interfaces for accessibility.
146    It allows people with disabilities to utilize all the functionality
147    provided by Gtk+ apps. You may obtain it at:
149      http://ftp.gnome.org/pub/gnome/sources/atk/2.2/atk-2.2.0.tar.xz
151  - The "Pango" text layout and rendering library.
153    "Pango" is library for layout and rendering of text, with an emphasis
154    on internationalization. You may obtain it at:
156      http://ftp.acc.umu.se/pub/gnome/sources/pango/1.28/pango-1.28.4.tar.bz2
158  - The "Gtk+" widget library.
160    The "Gtk+" widget library was designed for the GIMP graphics program.
161    Since then it has gained popularity as an easy to program, free toolkit.
163    The "Gtk+" library comes with two companion libraries:
165      "Gdk":
166        Provides an abstraction layer over X-Windows/LinuxFB/Win32 to implement
167        basic drawing functions, windows, clipping, etc.
169      "GdkPixbuf":
170        Provides image loading/saving facilities.
172    Freeciv requires a version of "Gtk+" greater or equal to 2.12.0.
173    At least 2.16.0 is recommended; some minor UI features will be
174    missing with earlier versions.
176    If the Freeciv configure process tells you that you don't have the
177    Gtk+ library installed, then it may be obtained from here:
179      http://ftp.acc.umu.se/pub/gnome/sources/gtk+/2.24/gtk+-2.24.9.tar.xz
181    "Gtk+" depends on the "Glib", "Atk" and "Pango" libraries.
183 If you are going to make these yourself, build and install them in the
184 following order: pkg-config, Glib, Atk, Pango, Gtk+.
186 1b. Prerequisites for the Gtk+ 3.0 client:
187 ==========================================
189  - "pkg-config".
191    "pkg-config" is a system for managing library compile/link flags that
192    works with automake and autoconf. You may obtain it at:
194       http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz
196  - The "Glib" utility library.
198    The "Glib" utility library provides non-graphical functions used by the
199    "Gdk" and "Gtk+" libraries, like hash tables, single linked lists, etc.
201    Freeciv requires a version of "Glib" greater or equal to 2.36
203    If the Freeciv configure process tells you that you don't have the
204    Glib library installed, then it may be obtained from here:
206      http://ftp.gnome.org/pub/gnome/sources/glib/2.36/glib-2.36.1.tar.xz
208  - The "Atk" accessibility library.
210    The "Atk" library provides a set of interfaces for accessibility.
211    It allows people with disabilities to utilize all the functionality
212    provided by Gtk+ apps. You may obtain it at:
214      http://ftp.gnome.org/pub/gnome/sources/atk/2.8/atk-2.8.0.tar.xz
216  - The "Pango" text layout and rendering library.
218    "Pango" is library for layout and rendering of text, with an emphasis
219    on internationalization. You may obtain it at:
221      http://ftp.gnome.org/pub/gnome/sources/pango/1.34/pango-1.34.0.tar.xz
223  - The "Gdk-Pixbuf" image loading/saving library
225    "Gdk-Pixbuf" used to be part of "Gtk+" itself, but is now separate
226    project. It may be obtained from:
228      http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.28/gdk-pixbuf-2.28.1.tar.xz
230  - The "Gtk+" widget library.
232    The "Gtk+" widget library was designed for the GIMP graphics program.
233    Since then it has gained popularity as an easy to program, free toolkit.
235    "Gtk+ 3" is the default client. If you don't specify any client with
236    "--enable-client" to configure, you will get "Gtk+ 3" client.
238    The "Gtk+" library comes with one companion libraries:
240      "Gdk":
241        Provides an abstraction layer over X-Windows/LinuxFB/Win32 to implement
242        basic drawing functions, windows, clipping, etc.
244    Freeciv requires a version of "Gtk+" greater or equal to 3.8.0.
246    If the Freeciv configure process tells you that you don't have the
247    Gtk+ library installed, then it may be obtained from here:
249      http://ftp.gnome.org/pub/gnome/sources/gtk+/3.12/gtk+-3.12.2.tar.xz
251    "Gtk+" depends on the "Glib", "Atk", "Gdk-Pixbuf", and "Pango" libraries.
253 If you are going to make these yourself, build and install them in the
254 following order: pkg-config, Glib, Atk, Pango, Gdk-Pixbuf, Gtk+.
256 1c. Prerequisites for the SDL client:
257 =====================================
259  - The "SDL" library.
261    "Simple DirectMedia Layer is a cross-platform multimedia library designed
262     to provide low level access to audio, keyboard, mouse, joystick, 3D hardware
263     via OpenGL, and 2D video framebuffer." (http://www.libsdl.org)
264     
265    These features make it a good choice for portable games. You may obtain it
266    at:
267     
268    http://www.libsdl.org/release/SDL-1.2.11.tar.gz
270    To compile the client using the "SDL" library add "--enable-client=sdl"
271    to the Freeciv configure script.  See the section below for more 
272    information about the configure script.
273     
274  - The "SDL_image" library.
276    This library loads the PNG images (with the help of libpng) and converts
277    them to "SDL surfaces" that can be handled by the "SDL" library. You may
278    obtain it at:
280    http://www.libsdl.org/projects/SDL_image/release/SDL_image-1.2.12.tar.gz
282  - The "SDL_gfx" library.
284    http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-2.0.25.tar.gz
286  - The "SDL_ttf" library.
288    http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-2.0.11.tar.gz
290  - The "freetype" library.
292    This library helps to render text for the SDL client, using an externally
293    provided TrueType font. You may obtain it at:
294    
295    http://download.savannah.gnu.org/releases/freetype/freetype-2.3.2.tar.gz
297 1d. Prerequisites for the SDL2 client:
298 =====================================
300  - The "SDL2" library.
302    "Simple DirectMedia Layer is a cross-platform multimedia library designed
303     to provide low level access to audio, keyboard, mouse, joystick, 3D hardware
304     via OpenGL, and 2D video framebuffer." (http://www.libsdl.org)
306    These features make it a good choice for portable games. You may obtain it
307    at:
309    http://www.libsdl.org/release/SDL2-2.0.3.tar.gz
311    To compile the client using the "SDL2" library add "--enable-client=sdl2"
312    to the Freeciv configure script.  See the section below for more 
313    information about the configure script.
315  - The "SDL2_image" library.
317    This library loads the PNG images (with the help of libpng) and converts
318    them to "SDL surfaces" that can be handled by the "SDL" library. You may
319    obtain it at:
321    http://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.0.tar.gz
323  - The "SDL2_gfx" library.
325    http://www.ferzkopp.net/Software/SDL2_gfx/SDL2_gfx-1.0.1.tar.gz
327  - The "SDL2_ttf" library.
329    http://www.ferzkopp.net/Software/SDL_gfx-2.0/SDL_gfx-2.0.25.tar.gz
331  - The "freetype" library.
333    This library helps to render text for the SDL2 client, using an externally
334    provided TrueType font. You may obtain it at:
336    http://download.savannah.gnu.org/releases/freetype/freetype-2.5.4.tar.bz2
338 1e. Prerequisites for the Xaw client:
339 =====================================
341  - X-Windows.
343    The Freeciv Xaw client is an X-Windows program, so you'll need 
344    some way of running X-Windows programs.  (Most Unixes can...)
346    If the Freeciv configuration program can't find X Windows on
347    your system, you may need to use the --x-includes=DIR
348    and --x-libraries=DIR options.
350  - The "Athena" widget library.
352    This library (also known as "Xaw") is usually supplied standard
353    with the rest of X Windows, but some platforms (HP-UX 10 for
354    example) only provide it in a limited form.
356    To compile the client using the "Xaw" library add "--enable-client=xaw"
357    to the Freeciv configure script.  See the section below for more 
358    information about the configure script.
360    Many modern Unix systems (such as Linux) ship with a variant called
361    "Xaw3d", which has a more modern "3D" look.  If you'd like to try
362    compiling with Xaw3d, then add "--with-xaw3d" to the Freeciv
363    configure script.
365    There are also other variants of Xaw, such as Nextaw.  Freeciv
366    does not work with these, although it should be possible to modify
367    it in the same fashion as for Xaw3d.  Another tool which may help
368    is called "xaw_wrappers", although how to use it is beyond the
369    scope of this file.
371  - The "Xpm" library.
373    This library is essential for icon and bitmap handling.  It is in
374    wide use, and is supplied standard on most modern Unix machines,
375    although it may be missing on traditional or older Unixes, eg,
376    Solaris.
378    When you run the Freeciv configure script, it may be necessary for
379    you to use the "--with-xpm-prefix=DIR" command-line option, where
380    DIR is the name of the directory containing the "include" and "lib"
381    subdirectories where Xpm may be found.
383    If the Freeciv configure process tells you that you don't have the
384    Xpm library installed, then it may be obtained from here:
386      ftp://koala.inria.fr/pub/xpm/xpm-3.4k.tar.gz
387      ftp://ftp.x.org/contrib/libraries/xpm-3.4k.tar.gz
389    Install it as you would any other package.  If you can't install
390    it in a standard system directory, then use the --with-xpm-prefix
391    option, as described above.
393    If you have problems installing libXpm on Solaris, or don't want to
394    install it as root, see Reinier's libXpm Solaris Installation Notes
395    section near the end of this file.
397  - A suitable font.
399    To run the Xaw client a suitable font is required. The X fonts should do.
400    If the Xaw client complains about not being able to open a font your X
401    installation probably don't have them. X fonts can be obtained from:
403      http://xorg.freedesktop.org/releases/individual/font/
405    If you use Debian you can install the package named xfonts-base in stead.
406    After installing a suitable font and restarting X the problem should go
407    away.
409 1f. Prerequisites for the Qt client:
410 ====================================
412  - C++ compiler.
414    Qt-client is written in C++, so you need appropriate compiler.
415    In Freeciv development, g++ has been used.
417  - Qt5Core, Qt5Gui, and Qt5Widgets libraries and headers
420 2. Generating Makefiles
421 =======================
422 This section contains two parts, one for generating makefiles from svn
423 versions and one for generating makefiles from release versions.
425 2a. Generating the Makefile for svn versions:
426 =============================================
428 This step is only needed for svn versions.
430 To create the makefile just type
432  % ./autogen.sh
434 This will create the configure script and will run it. All parameters
435 of autogen.sh are passed to configure. Read the next section about the
436 parameters which can be passed to configure.
438 2b. Generating the Makefile for release versions:
439 =================================================
441 Before you compile Freeciv, you must generate a Makefile.  This makefile
442 is configured to suit the features available on your machine.
444 This configuration is done using the GNU "configure" script.
446 To use "configure", "cd" into the top directory containing the Freeciv
447 files, and type:
449  % ./configure
451 This script will then attempt to determine the relevant features (and
452 misfeatures!!) of your system.  It should print a page or two of
453 diagnostics about your machine, then stop gracefully.
455 If you'd like help on the various options supported by the configure
456 script, try the --help option, like this:
458  % ./configure --help
460 By default the configure script will choose the Gtk+ client if the 
461 required libraries are found. If you prefer to override this default,
462 you can give configure the "--enable-client=xaw" option.
464 If you want to change the compiler options, set the CFLAGS environment
465 variable in your shell before running "configure".  For example:
467  % CFLAGS="-O -g -pipe" ./configure   [for people using Bourne shell or bash]
471  % setenv CFLAGS "-O -g -pipe"
472  % ./configure                        [for people using C shell or tcsh]
474 If you're tracking down a "core dump", we suggest that you use
475 a value of "-g" for CFLAGS.
477 When you install Freeciv (later), the game components will be copied into
478 subdirectories of /usr/local by default.  If you would like to use some
479 other installation prefix besides /usr/local, you should specify it now:
481  % ./configure --prefix=/opt/freeciv
483 If for some reason using "configure" gives you trouble, follow these steps:
485   - Read the prerequisites section carefully, to determine if your
486     system meets all the requirements.
488   - If you are compiling the Xaw version of the client: Ensure that
489     you have both the Xpm and Xaw libraries installed on your system.
490     Make sure that the configure script can find them, either by
491     installing them in the standard places on your system, or by
492     instructing the configure script with the appropriate command-line
493     options.  (See ./configure --help).
495   - If the problem is with "gettext", please read the Native Language
496     Support section, below, for possible work-arounds.
498   - Let us know, so that we can fix it for the next release!!
500     Send mail to the freeciv-dev mailing list, telling us what you did,
501     and what the result is.  It would be helpful to include the output
502     of the configure script, and the contents of the "config.status",
503     "config.cache" and "config.log" files, which are generated by the
504     configure script.
506     You can find out about the freeciv-dev mailing list on our web
507     site, at http://www.freeciv.org/
510 3. Compiling Freeciv:
511 =====================
513 If all has gone well previous to this point, then compiling Freeciv
514 should be as easy as typing "make" (or preferably, "gmake").
516 If you have problems, read the file BUGS, and follow the advice 
517 carefully.  If the problem is with "gettext", please read the Native
518 Language Support section, below, for possible work-arounds.
520 After compilation, the important results are:
522   - The "client/freeciv-<GUI>" and "server/freeciv-server" binaries.
523   - The "data/" directory, which contains the graphics and scenarios.
524   - The "translations/" directory, which contains the localization files.
525   - The "fcgui" and "fcser" scripts.
527 It's perfectly feasible to play Freeciv in this directory, without
528 installing it.  If you do this, the "fcgui" and "fcser" scripts may be
529 useful, although they are not as necessary as they used to be.
531 See the README file for more information.
533 (However you cannot use Internationalization when playing Freeciv from
534 the source directory; you must install Freeciv for that.)
537 4. Installation:
538 ================
540 Installing Freeciv involves installing the components mentioned in the
541 Compiling Freeciv section.  These need to be copied to a directory such
542 as /usr/local (the default), /usr/games, /usr/games/freeciv,
543 /usr/local/freeciv, or some other suitable directory.
545 Typing "make install" should install everything correctly on your machine.
546 You may like to use the --prefix=DIR configure option (see the Generating
547 the Makefile section) to ensure the files get placed where you want.
549 When the Freeciv client and Freeciv server are run they both need to 
550 find some files from the "data" directory.  By default freeciv looks
551 in the following directories, in order, for any data files: the current 
552 directory; the "data" subdirectory of the current directory; the 
553 subdirectory ".freeciv" in the user's home directory; and the directory
554 where the files are placed by running "make install".  You can override
555 this search patch by setting the FREECIV_PATH environment variable, to
556 a single directory or a list of directories separated by colons.
558 For example:
560   % setenv FREECIV_PATH "/usr/games/freeciv/data:./data"
561   (for users of csh, tcsh, etc.)
563   % FREECIV_PATH="/usr/games/freeciv/data:./data"; export FREECIV_PATH
564   (for users of sh, bash, ksh, zsh, etc.)
566 Also, note that you generally must install Freeciv if you wish to use
567 its Native Language Support.  See the README file for more information.
569 Finally, if you've chosen to use the Xaw client and you have permission
570 to log in as the 'root' user, you should consider copying the resource
571 file data/Freeciv into your app-defaults directory. (Usually this is
572 /usr/lib/X11/app-defaults).
575 5. Native Language Support:
576 ===========================
578 Freeciv uses the "gettext" system for Native Language Support.
580 If you experience problems with gettext in either configuring or compiling
581 Freeciv, there are a few work-arounds you can try:
583 1. If you don't need Native Language Support, disable it using the
584    "--disable-nls" ./configure option:
586       % ./configure --disable-nls
587       % make
589 2. You can try to install the latest version of GNU gettext.
590    It may be obtained from here:
592       ftp://ftp.gnu.org/pub/gnu/gettext/gettext-0.19.2.tar.xz
595 6. Readline Support:
596 ====================
598 Freeciv has optional support for the readline library.
600 Readline support is what makes the server command line behave sensibly,
601 making it possible to
602  - Use the backspace key.
603  - Use the cursor to move back and forth on the line you have written.
604  - Use TAB completion of commands and command arguments. Ie, when you
605    push tab the server will finish the word for you if there is only one
606    possible choice.
607  - Use the up and down cursor to scroll through the history of previously
608    entered commands.
609  - etc.
611 The configure script will check if you have the readline library correctly
612 installed. If so it will automatically set up the makefiles so that readline
613 is compiled into the server. If not then it will just silently configure
614 without readline support.
615 You can force configure to include readline or die trying by giving
616 configure the --with-readline option:
618  % ./configure --with-readline
620 Some linux distributions (and possibly other operating systems) have
621 readline version 4 incorrectly installed, so that readline is not
622 set up to declare it's dynamic dependencies. In that case configure
623 will try to guess which extra libs it should link against and add them.
624 The configure script will give a warning if it had to add extra libs
625 to make readline work. This should be harmless, and is just meant as
626 a reminder to the folks who distribute readline. :)
628 7. Reinier's Solaris Installation Notes:
629 ========================================
631 Solaris (2.5 and up) has its own version of X in /usr/openwin, its own
632 version of make in /usr/ccs/bin/make, and its own compiler (to be purchased
633 separately) which, if you have it, is available in /opt/SUNWspro/bin.
634 Solaris does not provide the XPM library, which is required for the Xaw
635 client; it doesn't provide any of the stuff required for imlib, gdk and gtk,
636 either, which is required to build the GTK+ client.  However, with some
637 patience, everything can be compiled without problems.
639 For information on how to install XPM on Solaris, see the next section.
641 Many Solaris installations also have MIT X (usually, in /usr/X11), GNU make,
642 the gcc compiler, and the XPM library installed somewhere.  The standard
643 command "./configure && make" may not be able to find your XPM library and
644 it is likely to confuse the different versions.
646 Make sure your environment variables, especially $PATH and $LD_LIBRARY_PATH,
647 and the ./configure options do not point to an inconsistent set of software,
648 and compiling will be fine.
650 A simple recipe to compile with Sun X, Sun make and Sun cc, assuming the xpm
651 libraries are on their own in the nonstandard location /path/to/xpm:
653   % setenv PATH /opt/SUNWspro/bin:/usr/ccs/bin:/bin
654   % unsetenv LD_LIBRARY_PATH
655   % ./configure --with-xpm-prefix=/path/to/xpm
656   % make
658 You can set up your $PATH and ./configure to use only GNU
659 tools.  Furthermore, Freeciv is known to compile with MIT X, and with
660 certain combinations of GNU and Sun tools.  The exact recipes depend on your
661 local installation.
664 8. Reinier's libXpm Solaris Installation Notes:
665 ===============================================
667 When I was root on my Solaris system, I *still* didn't want to install
668 third-party software as root.  It's bad practice.
670 Unfortunately, the libXpm installation procedure assumes installation
671 in /usr/openwin, which is owned by root.  But it's not all that hard to
672 get around that.
674 Caveats:
676  - Make sure /usr/ucb/install is in your $PATH before /usr/bin/install,
677    otherwise 'make install' will break with strange error messages.
679  - The destination you want to install to can be specified with $DESTDIR;
680    however, installation will actually take place in $DESTDIR/$OPENWINDIR,
681    so the additional $OPENWINDIR subdir must be stripped afterwards
682    (changing the value of $OPENWINHOME doesn't work).
684 The Procedure:
686  - Get the source from somewhere, untar it, cd into the source directory,
687    and issue:
689      % setenv MYXPMDEST /usr/local   # or wherever you want to install it
690      % xmkmf; make Makefiles includes depend; make
691      % setenv PATH /usr/local/bin:/usr/ucb:$PATH
692      % make DESTDIR=$MYXPMDEST install
693      % make DESTDIR=$MYXPMDEST install.man
694      % cd $MYXPMDEST; mv ./$OPENWINHOME/* .; rm -rf ./$OPENWINHOME
696    (If you use sh, bash, ksh, zsh, etc., the "setenv"s above should be:
697      % MYXPMDEST=/usr/local; export MYXPMDEST
698      % PATH=/usr/local/bin:/usr/ucb:$PATH
699    .)
701  - You can now configure Freeciv with
703      % ./configure --with-xpm-prefix=$MYXPMDEST
705    which will add the proper -I/-L/-R options to the compile and link
706    commands.
709 9. Mac OS X and Darwin notes:
710 =============================
712 Apple's version of GCC uses precompiled headers that does not support
713 vararg macros (a GCC extension).  This causes GCC to fail when
714 compiling Freeciv since the compiler is otherwise (mostly)
715 indistinguishable from vanilla GCC.  So instead of the usual
717   % ./configure <...>
719 you should use either
721  Bourne shell:
722    $ CC="gcc -no-cpp-precomp" ./configure <...>
726  C shell:
727    % env CC="gcc -no-cpp-precomp" ./configure <...>
729 depending on whether your shell is a Bourne or C shell variant.  (If
730 in doubt, just try both to see which one will work.)
732 Replace <...> with whatever additional arguments you want to give to
733 configure.
736 10. Debian GNU/Linux notes:
737 ===========================
739 To compile freeciv on a debian system you need the following packages:
741  Common requirements:
742    gcc
743    libc6-dev
744    libreadline4-dev
745    zlib1g-dev
746    xlib6g-dev
748  For the xaw client:
749    xaw3dg-dev
750    libxpm4-dev
752 If you want to compile the xaw client you should give configure the
753 argument --with-xaw3d, ie
755   % ./configure --with-xaw3d
757 If you need to run aclocal (if you don't know what aclocal is then you
758 don't need it) you also need to install imlib-dev to get the
759 AM_PATH_GDK_IMLIB macro. It is a bug in debian that this macro isn't
760 in gdk-imlib-dev, and it will hopefully be fixed in future debian
761 releases.
763 11. Windows notes:
764 ==================
766 Windows version of Freeciv can be built either with MinGW or Cygwin.
767 Official Windows binaries are built with MinGW, and they are self-contained
768 packages. For using Cygwin version, you need Cygwin environment installed.
770 Build instructions for MinGW versions are documented on top of file
771 win32/installer/Makefile
773 Cygwin specific installation notes can be found in doc/INSTALL.Cygwin.
775 ** END **