This file is intended to be a short guide for getting AS compiled on
a Unix-like operating system.  If you are interested in a more in-depth
discussion of the source code of AS, take a look in the appropriate chapter
of the AS user's manual (german resp. english version located in the doc_DE/
resp. doc_EN/ subdirectory).  I highly recommend reading this chapter before
you make extensions or modifications to the source code.

The installation process consists of the following steps:

(1) see if there are additional README files for your platform
(2) create a Makefile.def
(3) compile
(4) execute the test suite
(5) build the documentation
(6) install into the system directories

Step (1): 

On some (especially non-Unix) platforms, some additional preliminaries 
are needed: 

--> If you do not have a C compiler conforming to the ANSI standard,
    take a look into 'README.KR'.

--> For MS-DOS and OS/2 platforms, additionally read README.DOS resp.
    README.OS2

Step (2):

Settings that may vary from platform to platform are located in a file
called 'Makefile.def'.  Your task is either to select an approriate file
from the 'Makefile.def-samples' directory, or to create an own one.  I know
this is a bit tedious process, and one day I will probably replace this
scheme with an autoconf-style configuration, but for now we will have to
live with it.  A good starting point for a gcc-based, 'normal' Unix system
is the file 'Makefile.def.tmpl'.  The settings to make include:

- CC, LD, CFLAGS, LDFLAGS:  The compiler and linker you want to use (nice
  if you have more than just 'cc' on your machine), plus flags that should
  be passed to them. like optimization settings and libraries needed for
  linking.

- BINDIR, INCDIR, MANDIR, LIBDIR, DOCDIR: directiories where AS should be
  placed after compilation.

- CHARSET: character encoding for non ASCII national special characters.
  If your system is absolutely 8-bit-unclean, the ASCII7 setting is a good
  idea.  Most modern Unix systems default to ISO8859-1, and the IBM437
  resp. IBM850 settings are only needed for DOS and OS/2 platforms.

Step (3):

Compilation should be a simple matter of saying 'make' and waiting...
depending on your machine, compliation time can be between a few minutes
(a modern Pentium-based PC or a fast Alpha) and a day (VAXstation 2000).
A few compilers (like newer egcs releases or Borland-C) are known to
generate a lot of warnings about ambigious statements or unused parameters.
I will try to eliminate them when time permits, but I have no high priority
for doing this since they are harmless.

If you are compiling AS for a new platform, you will probably run into
an error message saying that you have to edit 'sysdefs.h'.  This file
collects information about the anomalies and specialities of certain
systems.  The include file detects a system by querying macros the compiler
predefines and makes the appropriate definitions.  The file is sorted by

1. processor architecture
  2. manufacturer
    3. operating system

Find out the preprocessor symbols your compiler defines, make a new section
in 'sysdefs.h' and send it to me so I can include it in the next release of
AS!

Step (4):

Type 'make test' and the freshly compiled AS will be run on a couple of
test programs.  For each program, the output is compared to a reference
binary included in the distribution.  The binary output has to match
*exactly*, i.e. ther must not be any difference.  Any failed test reported
by the script has to be investigated, even if it happens for a target
platform you never intend to use!

Step (5):

The documentation of AS is distributed in LaTeX format.  I chose this format
because TeX is available on about any platform suitable for AS I can think
of.  Other formats are created by typing 'make docs': simple ASCII, HTML,
and Postscript. You need a TeX distribution including dvips for the latter,
while converters to ASCII and HTML are included.

Step (6):

Type 'make install'.  Depending on the target directories you chose in Step
(1), you may have to acquire root privileges to install AS.

Have fun!

Alfred Arnold, alfred@ccac.rwth-aachen.de
