2019-04-11 15:04:24 -04:00
|
|
|
|
.. -*- mode: rst; coding: utf-8 -*-
|
|
|
|
|
|
|
|
|
|
============================================
|
|
|
|
|
Star Traders: A Game of Interstellar Trading
|
|
|
|
|
============================================
|
|
|
|
|
|
|
|
|
|
Star Traders is written in the C99 programming language and uses Autoconf
|
|
|
|
|
and Automake to handle compilation and installation. Assuming you have
|
|
|
|
|
the needed tools, all you should need to do is run the following commands
|
|
|
|
|
from the source directory::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
./configure
|
|
|
|
|
make
|
|
|
|
|
make install
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The first two commands may be run as an ordinary user; the last may need
|
2011-07-25 02:31:35 -04:00
|
|
|
|
to be done as the system administrator (root).
|
|
|
|
|
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
.. contents::
|
|
|
|
|
|
|
|
|
|
|
2011-07-25 02:31:35 -04:00
|
|
|
|
Prerequisites
|
|
|
|
|
=============
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Star Traders requires the following components for successful compilation
|
2011-07-25 02:31:35 -04:00
|
|
|
|
and installation:
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
1. A working C compiler conforming to ISO/IEC 9899:1999 (also known as
|
|
|
|
|
C99). Any recent version of the GNU Compiler Collection (GCC) or the
|
2018-07-24 06:28:05 -04:00
|
|
|
|
Clang LLVM Compiler is more than adequate.
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
2. An operating system ideally conforming to ISO/IEC 9945-1:2008 (POSIX)
|
|
|
|
|
or to the Open Group Single UNIX Specification version 4 or later.
|
|
|
|
|
In short, any modern Unix or Unix-like system like Linux almost
|
|
|
|
|
certainly qualifies.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
In actual fact, Star Traders uses the GNU Portability Library, so
|
|
|
|
|
many older systems may also work without modification.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
3. A working X/Open Curses-compatible library, such as Ncurses. Ncurses
|
|
|
|
|
is preferred over system-native libraries, if present. Locales with
|
|
|
|
|
multibyte character sequences (such as UTF-8) require a
|
|
|
|
|
wide-character version of Curses, such as NcursesW, to work
|
|
|
|
|
correctly.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
4. The GNU Gettext library, version 0.19.8 or later, to allow the game
|
|
|
|
|
to use languages other than English; this is also called Native
|
|
|
|
|
Language Support. If you do not have this library (and do not wish
|
|
|
|
|
to install it), you may pass ``--disable-nls`` to the configure
|
|
|
|
|
script.
|
2011-08-17 05:48:39 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
5. The GNU ``libiconv`` library for supporting multiple character
|
|
|
|
|
encodings, if required by the GNU Gettext library. This is not
|
|
|
|
|
needed on systems with the GNU C Library (``glibc``) version 2.2 or
|
|
|
|
|
later, or on Mac OS X (now called macOS) 10.3 or newer.
|
2018-07-24 06:28:05 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
6. Development libraries and header files for all of the above. On many
|
|
|
|
|
systems, these files are part of ``XXX-dev`` or ``XXX-devel``
|
|
|
|
|
packages.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
7. The GNU Perfect Hash Function Generator, ``gperf``. This utility
|
|
|
|
|
program may be required for parts of the GNU Portability Library.
|
2011-08-07 22:33:25 -04:00
|
|
|
|
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
Installation
|
|
|
|
|
============
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The installation of Star Traders can be broken down into three main
|
|
|
|
|
steps: configuration, compilation and the installation proper.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The first step is configuring the package for your compiler and operating
|
|
|
|
|
system environment. As Star Traders uses Autoconf and Automake, all you
|
|
|
|
|
need to do in most cases is run ``./configure`` from the top-level
|
|
|
|
|
directory of the Star Traders source tree. The configure script
|
|
|
|
|
understands all of the usual Autoconf options; these are explained in
|
|
|
|
|
detail in the `Autoconf manual`__.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
__ https://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
This version of the configure script understands the following additional
|
2011-07-25 02:31:35 -04:00
|
|
|
|
command line options:
|
|
|
|
|
|
2018-07-24 06:34:56 -04:00
|
|
|
|
--disable-nls
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Don’t use Native Language Support. Star Traders will only
|
|
|
|
|
show untranslated US English text and only accept US ASCII
|
|
|
|
|
keyboard input.
|
2018-07-24 06:34:56 -04:00
|
|
|
|
--with-libintl-prefix=DIR
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Find the GNU Gettext library installed in the *DIR*\ `/lib`
|
|
|
|
|
and *DIR*\ `/include` directories. This option is needed if
|
|
|
|
|
your library is not installed in `/usr/lib` and
|
|
|
|
|
`/usr/include` (or, more precisely, if the C compiler cannot
|
|
|
|
|
find the library “``.so``” or “``.a``” archive file using the
|
|
|
|
|
standard “``-l``” command line parameter or the relevant
|
|
|
|
|
header files using standard :code:`#include` directives).
|
2018-07-24 06:34:56 -04:00
|
|
|
|
--with-libiconv-prefix=DIR
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Find the GNU ``libiconv`` library installed in the *DIR*\
|
|
|
|
|
`/lib` and *DIR*\ `/include` directories. This option is
|
|
|
|
|
needed if the GNU Gettext library requires ``libiconv`` on
|
|
|
|
|
your system, and that library is not installed in `/usr/lib`
|
|
|
|
|
and `/usr/include`.
|
2018-07-24 06:34:56 -04:00
|
|
|
|
--with-ncurses
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Force the use of Ncurses over the system’s Curses library.
|
|
|
|
|
In other words, do not search for a native Curses library at
|
|
|
|
|
all.
|
2018-07-24 06:34:56 -04:00
|
|
|
|
--with-ncursesw
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Force the use of the NcursesW library with wide-character
|
|
|
|
|
support. If NcursesW cannot be found, abort the
|
|
|
|
|
``configure`` script.
|
2018-07-24 06:34:56 -04:00
|
|
|
|
--without-ncursesw
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Don’t use the NcursesW library. This will prevent non-8-bit
|
|
|
|
|
character encodings like UTF-8 from working correctly and is
|
|
|
|
|
thus not recommended.
|
2018-07-24 06:34:56 -04:00
|
|
|
|
--without-ncurses
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Don’t use the Ncurses library: use either NcursesW (unless
|
|
|
|
|
``--without-ncursesw`` is also specified) or the system’s
|
|
|
|
|
normal Curses library. This option is not recommended.
|
2018-07-24 06:34:56 -04:00
|
|
|
|
--disable-assert
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Turn off all debugging :code:`assert()` statements.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
By default, ``configure`` uses `/usr/local` as the top-level (prefix)
|
|
|
|
|
install directory. You can change this by specifying ``--prefix=``\
|
|
|
|
|
*DIR* to use *DIR* instead. For example, you can use a directory in your
|
|
|
|
|
own home directory by specifying something like::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
./configure --prefix=$HOME/opt/trader
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
You may also specify certain configuration and/or compilation variables
|
|
|
|
|
on the command line to override choices made by ``configure``. For
|
|
|
|
|
example, you can specify the compiler flags to use by passing the
|
|
|
|
|
``CFLAGS`` variable::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
./configure CFLAGS="-g -O2 -Wall"
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The ``configure`` script has many other options. You may obtain a list
|
|
|
|
|
of these by running::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
./configure --help
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
You can also run ``configure`` in a separate build-only directory tree.
|
|
|
|
|
This feature requires GNU Make and allows you to keep the source code
|
|
|
|
|
tree from being modified by the compilation process. To use this option,
|
|
|
|
|
create a separate `build` directory, then run ``configure``. For
|
|
|
|
|
example, if you placed the Star Traders source code tree in
|
|
|
|
|
`$HOME/src/trader-7.13`, you could run something like::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2018-03-29 20:44:55 -04:00
|
|
|
|
mkdir $HOME/build/trader-build-7.13
|
|
|
|
|
cd $HOME/build/trader-build-7.13
|
|
|
|
|
$HOME/src/trader-7.13/configure
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Once again, the `Autoconf manual`__ describes these options (and many
|
|
|
|
|
others).
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
__ https://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Once the package has been configured, you can type ``make`` to compile
|
|
|
|
|
it, then ``make install`` to install it. You can specify the following
|
|
|
|
|
command lines, amongst others::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
make all
|
|
|
|
|
make install
|
|
|
|
|
make clean
|
|
|
|
|
make distclean
|
|
|
|
|
make uninstall
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The command ``make all`` does the same thing as running ``make`` by
|
|
|
|
|
itself: compile the package source code into an executable.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Running ``make install`` copies the executable program and all associated
|
|
|
|
|
data and documentation files to those directories specified during
|
|
|
|
|
configuration. If any of these directories require system administrator
|
|
|
|
|
access privileges for writing, you will need to run ``make install`` as
|
2011-07-25 02:31:35 -04:00
|
|
|
|
system administrator (root).
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
.. compound::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
If you like, you can specify the ``DESTDIR`` variable to copy all
|
|
|
|
|
installation files to a temporary location before installing them
|
|
|
|
|
later. For example, if the prefix directory is `/usr/local`, typing::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
make install DESTDIR=/tmp/trader-install
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
will copy the final program ``trader`` to
|
|
|
|
|
`/tmp/trader-install/usr/local/bin`, the manual page to
|
|
|
|
|
`/tmp/trader-install/usr/local/share/man/man6` and so on.
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The ``make clean`` command will remove most build-generated files, such
|
|
|
|
|
as object files generated by the compiler, from the source code or build
|
|
|
|
|
directory. Running ``make distclean`` will do the same, but will remove
|
|
|
|
|
the Makefiles generated by ``configure`` as well. In other words, if you
|
|
|
|
|
run ``make distclean``, you will need to rerun ``configure`` if you would
|
|
|
|
|
like to recompile Star Traders at a later date.
|
|
|
|
|
|
|
|
|
|
Finally, ``make uninstall`` will remove the executable program ``trader``
|
|
|
|
|
and associated data and documentation files from their final installation
|
|
|
|
|
location. This assumes, of course, that you have *not* run ``make
|
|
|
|
|
distclean`` to remove the Makefiles that know the path to which those
|
|
|
|
|
files were installed!
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
|
2018-08-22 21:57:42 -04:00
|
|
|
|
Tested Systems
|
|
|
|
|
==============
|
2018-08-22 21:55:03 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The following operating systems and compilers have been successfully
|
|
|
|
|
tested with this version of Star Traders:
|
|
|
|
|
|
2019-11-12 05:12:55 -05:00
|
|
|
|
===================== ====== ===== ========================
|
2019-11-12 05:13:50 -05:00
|
|
|
|
Linux distribution Arch Glibc Compiler
|
2019-11-12 05:12:55 -05:00
|
|
|
|
===================== ====== ===== ========================
|
2019-11-11 10:25:47 -05:00
|
|
|
|
Debian GNU/Linux Sid x86_64 2.29 GNU C Compiler 9.2.1
|
2019-11-11 22:36:42 -05:00
|
|
|
|
Debian GNU/Linux Sid x86_64 2.29 Clang (LLVM) 8.0.1
|
2019-11-11 10:25:47 -05:00
|
|
|
|
Debian GNU/Linux Sid i686 2.29 GNU C Compiler 9.2.1
|
2019-11-11 22:36:42 -05:00
|
|
|
|
Debian GNU/Linux Sid i686 2.29 Clang (LLVM) 8.0.1
|
2019-11-11 10:33:22 -05:00
|
|
|
|
Debian GNU/Linux 10.1 x86_64 2.28 GNU C Compiler 8.3.0
|
2019-11-11 22:36:42 -05:00
|
|
|
|
Debian GNU/Linux 10.1 x86_64 2.28 Clang (LLVM) 7.0.1
|
|
|
|
|
Ubuntu 19.10 x86_64 2.30 GNU C Compiler 9.2.1
|
|
|
|
|
Ubuntu 19.10 x86_64 2.30 Clang (LLVM) 9.0.0
|
|
|
|
|
Ubuntu 19.10 x86_64 2.30 Portland PGI C/C++ 19.10
|
|
|
|
|
Ubuntu 18.04.3 LTS x86_64 2.27 GNU C Compiler 7.4.0
|
|
|
|
|
Ubuntu 18.04.3 LTS x86_64 2.27 Clang (LLVM) 6.0.0
|
2019-11-12 02:59:19 -05:00
|
|
|
|
Fedora 31 x86_64 2.30 GNU C Compiler 9.2.1
|
|
|
|
|
CentOS 8.0 x86_64 2.28 GNU C Compiler 8.2.1
|
2019-11-11 10:25:47 -05:00
|
|
|
|
CentOS 7.5 x86_64 2.17 GNU C Compiler 4.8.5
|
|
|
|
|
CentOS 6.10 x86_64 2.12 GNU C Compiler 4.4.7
|
2019-11-11 23:28:45 -05:00
|
|
|
|
CentOS 6.10 x86_64 2.12 Intel C/C++ 19.0.3.199
|
2019-11-12 02:59:19 -05:00
|
|
|
|
OpenSUSE Leap 15.1 x86_64 2.26 GNU C Compiler 7.4.1
|
2019-11-12 05:12:55 -05:00
|
|
|
|
===================== ====== ===== ========================
|
2019-04-11 15:04:24 -04:00
|
|
|
|
|
|
|
|
|
======================= ====== ============================ ============
|
2019-11-12 05:13:50 -05:00
|
|
|
|
Operating system Arch Compiler Notes
|
2019-04-11 15:04:24 -04:00
|
|
|
|
======================= ====== ============================ ============
|
2019-11-12 05:09:10 -05:00
|
|
|
|
FreeBSD 12.1 x86_64 Clang (LLVM) 8.0.1 [#freebsd1]_
|
|
|
|
|
NetBSD 8.1 x86_64 GNU C Compiler 5.5.0 [#netbsd1]_
|
|
|
|
|
macOS 10.14 x86_64 Apple Clang (LLVM) 11.0.0 [#macos1]_
|
|
|
|
|
macOS 10.14 x86_64 Apple Clang (LLVM) 11.0.0 [#macos2]_
|
|
|
|
|
Solaris 11.4 (x86_64) x86_64 GNU C Compiler 7.3.0 [#solaris1]_
|
|
|
|
|
Solaris 11.4 (x86_64) i386 Oracle Developer Studio 12.6 [#solaris2]_
|
|
|
|
|
Solaris 11.4 (x86_64) x86_64 Oracle Developer Studio 12.6 [#solaris3]_
|
|
|
|
|
Cygwin 3.0.7 (Win7 SP1) i686 GNU C Compiler 7.4.0
|
2019-04-11 15:04:24 -04:00
|
|
|
|
======================= ====== ============================ ============
|
2018-08-22 21:55:03 -04:00
|
|
|
|
|
|
|
|
|
Notes:
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
.. [#freebsd1] FreeBSD with the ``gettext``, ``gettext-runtime``,
|
|
|
|
|
``gettext-tools`` and ``libiconv`` binary packages installed with
|
|
|
|
|
``pkg``\(1), using::
|
2018-08-22 21:55:03 -04:00
|
|
|
|
|
|
|
|
|
./configure --with-libiconv-prefix=/usr/local \
|
|
|
|
|
--with-libintl-prefix=/usr/local
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
.. [#netbsd1] NetBSD with the ``gettext``, ``libiconv`` and ``ncursesw``
|
|
|
|
|
packages installed with ``pkg_add``\(1), using::
|
2018-08-24 07:14:43 -04:00
|
|
|
|
|
|
|
|
|
./configure --with-libiconv-prefix=/usr/pkg \
|
|
|
|
|
--with-libintl-prefix=/usr/pkg \
|
|
|
|
|
--with-ncursesw --with-ncurses \
|
|
|
|
|
CURSES_CFLAGS=-I/usr/pkg/include \
|
|
|
|
|
LDFLAGS=-L/usr/pkg/lib
|
|
|
|
|
|
2019-11-12 05:09:10 -05:00
|
|
|
|
.. [#macos1] macOS with Xcode command line tools, with the ``gettext``
|
|
|
|
|
package installed with Homebrew, using::
|
2018-08-25 01:34:44 -04:00
|
|
|
|
|
|
|
|
|
./configure --with-libintl-prefix=/usr/local/opt/gettext
|
|
|
|
|
|
2019-11-12 05:09:10 -05:00
|
|
|
|
.. [#macos2] macOS with Xcode command line tools, with the ``gettext``,
|
|
|
|
|
``ncurses`` and ``pkg-config`` packages installed with Homebrew,
|
|
|
|
|
using::
|
|
|
|
|
|
|
|
|
|
./configure --with-libintl-prefix=/usr/local/opt/gettext \
|
|
|
|
|
PKG_CONFIG_PATH=/usr/local/opt/ncurses/lib/pkgconfig
|
|
|
|
|
|
|
|
|
|
.. [#solaris1] Using ``./configure CURSES_CFLAGS=-I/usr/include/ncurses``.
|
2019-04-11 15:04:24 -04:00
|
|
|
|
|
2019-11-12 05:09:10 -05:00
|
|
|
|
.. [#solaris2] Using ``./configure CURSES_CFLAGS=-I/usr/include/ncurses
|
|
|
|
|
CC='/opt/developerstudio12.6/bin/cc'``.
|
2018-08-22 21:55:03 -04:00
|
|
|
|
|
2019-11-12 05:09:10 -05:00
|
|
|
|
.. [#solaris3] Using ``./configure CURSES_CFLAGS=-I/usr/include/ncurses
|
|
|
|
|
CC='/opt/developerstudio12.6/bin/cc -m64'``.
|
2018-08-22 21:55:03 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The following systems are known *not* to work at the current time; this
|
|
|
|
|
list is almost certainly not exhaustive:
|
|
|
|
|
|
|
|
|
|
================ ====== ==================== ============
|
|
|
|
|
Operating system Arch Compiler Notes
|
|
|
|
|
================ ====== ==================== ============
|
2019-11-12 05:09:10 -05:00
|
|
|
|
OpenBSD 6.6 x86_64 GNU C Compiler 4.2.1 [#openbsd1]_
|
|
|
|
|
OpenBSD 6.6 x86_64 Clang (LLVM) 8.0.1 [#openbsd1]_
|
2019-04-11 15:04:24 -04:00
|
|
|
|
================ ====== ==================== ============
|
2018-08-22 21:55:03 -04:00
|
|
|
|
|
|
|
|
|
Notes:
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
.. [#openbsd1] The OpenBSD C library does not include
|
|
|
|
|
:code:`<monetary.h>` nor its associated functions, particularly
|
|
|
|
|
:code:`strfmon()`.
|
2018-08-22 21:55:03 -04:00
|
|
|
|
|
|
|
|
|
|
2016-12-12 05:31:30 -05:00
|
|
|
|
Git Repository
|
|
|
|
|
==============
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
You can always download the latest version of Star Traders directly from
|
|
|
|
|
the Git repository on the ZAP Group server::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2016-12-12 05:31:30 -05:00
|
|
|
|
git clone git://git.zap.org.au/data/git/trader.git
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Released versions of Star Traders include all scripts and files needed
|
|
|
|
|
for installation. If you are cloning the source code from the Git
|
|
|
|
|
repository, however, you will need to update these files yourself. You
|
|
|
|
|
will need the following additional tools installed on your system to do
|
|
|
|
|
so:
|
|
|
|
|
|
|
|
|
|
1. `Autoconf`__ v2.69 or later
|
|
|
|
|
2. `Automake`__ v1.15 or later
|
|
|
|
|
3. `pkg-config`__ v0.9.0 or later
|
|
|
|
|
4. `GNU Portability Library`__
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
__ https://www.gnu.org/software/autoconf/
|
|
|
|
|
__ https://www.gnu.org/software/automake/
|
|
|
|
|
__ https://pkg-config.freedesktop.org/
|
|
|
|
|
__ https://www.gnu.org/software/gnulib/
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The GNU Portability Library may be installed by retrieving the latest
|
|
|
|
|
Gnulib source code from the Git repository::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
git clone git://git.savannah.gnu.org/gnulib.git
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Once you have these tools, change to the Star Traders source code tree
|
|
|
|
|
and type::
|
2011-07-25 02:31:35 -04:00
|
|
|
|
|
|
|
|
|
PATH=${PATH}:/path/to/gnulib-tool ./build-aux/bootstrap
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
where ``/path/to/gnulib-tool`` is, of course, the directory containing
|
|
|
|
|
the Gnulib ``gnulib-tool`` script. You should be ready to run
|
|
|
|
|
``./configure && make && make install`` now.
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
For Translators
|
|
|
|
|
===============
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Thank you for even considering to translate Star Traders into your native
|
|
|
|
|
language! You may use either a released version of Star Traders, or an
|
|
|
|
|
unreleased one, as discussed in the Git Repository section above. In
|
2016-12-12 05:31:30 -05:00
|
|
|
|
either case, you may find the following workflow useful.
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
First, run ``./build-aux/bootstrap`` if needed (only for unreleased
|
|
|
|
|
versions of Star Traders).
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Next, configure and install Star Traders into your home directory::
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
|
|
|
|
./configure --prefix=$HOME/opt/trader
|
|
|
|
|
make
|
|
|
|
|
make install
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
If you are adding a new translation, add its GNU Gettext language code to
|
|
|
|
|
the file `po/LINGUAS`, then create the template file for that language
|
|
|
|
|
(“``zz``” is used here)::
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
|
|
|
|
(cd po; msginit --locale=zz --width=132)
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Now, modify the PO file for your language using your favourite editor or
|
|
|
|
|
translation tool. Please note that the generated PO file has extensive
|
|
|
|
|
documentation in its translator comments. If anything is unclear, please
|
|
|
|
|
feel free to ask the author and maintainer; contact details are available
|
|
|
|
|
in the `README` file.
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
To test your PO file, compile and run Star Traders (replace “``zz``” with
|
|
|
|
|
your language code, of course)::
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
|
|
|
|
make && make -C po zz.gmo && make install
|
|
|
|
|
LANGUAGE=zz $HOME/opt/trader/bin/trader
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
The ``make -C po zz.gmo`` forces the rebuilding of the GMO output file;
|
|
|
|
|
the ``LANGUAGE=zz`` parameter sets the language of the messages to use.
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
This process of editing and testing the PO file can be done iteratively,
|
|
|
|
|
of course: make a change, recompile, run the program to see the changes,
|
2014-10-02 19:51:31 -04:00
|
|
|
|
repeat as needed.
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
Once you have finished your translation, please submit the PO file to the
|
|
|
|
|
Translation Project (TP). See the `TP Star Traders`__ web page or read
|
|
|
|
|
their `Translators and the TP`__ page for additional information.
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
__ https://translationproject.org/domain/trader.html
|
|
|
|
|
__ https://translationproject.org/html/translators.html
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
To clean up your install directory, simply run::
|
2014-10-02 19:51:31 -04:00
|
|
|
|
|
|
|
|
|
rm -fr $HOME/opt/trader
|
|
|
|
|
|
2019-04-11 15:04:24 -04:00
|
|
|
|
By the way, as mentioned in the translator comments, formatting the help
|
|
|
|
|
text is probably the most complicated and tedious part of translating
|
|
|
|
|
Star Traders. The author and maintainer of this game is more than happy
|
|
|
|
|
to help you with this task: if you are able to provide a translation,
|
|
|
|
|
even if it is not formatted correctly, the maintainer will perform the
|
|
|
|
|
necessary adjustments for word-wrapping and justification.
|