source: branches/architecture/INSTALL @ 704

Revision 512, 8.2 KB checked in by dcarter, 4 years ago (diff)

Merge 0.8 development branch

Line 
1Upgrade Instructions
2====================
3
4    Release 0.8 introduces many significant and incompatible changes to
5the Berkeley database formats and shared memory. There is no upgrade path.
6Before you upgrade, be sure remove the previous shared memory segments and
7databases first by running 'arm4_control wipe'. Additionally, 'make uninstall'
8should be run from your original installation source as many of the programs
9and libraries have moved.
10
11    Installation at this point proceeds as normal.
12
13Basic Installation
14==================
15
16    For more information specific to this package, please read the README
17file. This source code distribution  is autoconfiguring and you should be
18able to compile it and install it without manual interventions such as
19editing Makefiles, configuration files, and so on. These are generic
20instructions for people who are not familiar with installing autoconfiguring
21software.
22
23The simplest way to compile this package is to enter the source code
24main directory and do the following:
25   
26  1. Configure the source code by typing:
27        % sh ./configure
28
29     If you're planning to install the package into your home directory
30     or to a location other than `/usr/local' then add the flag
31     `--prefix=PATH' to `configure'. For example, if your home directory 
32     is `/home/luser' you can configure the package to install itself there
33     by invoking:
34        % sh ./configure --prefix=/home/luser
35     
36     While running, `configure' prints some messages telling which
37     features is it checking for.
38
39  2. Compile the package by typing:
40        % make
41     Running `make' takes a while. If this is a very large package, now
42     is the time to go make some coffee.
43     
44  3. Some packages are bundled with self-tests for source-code
45     verification. If this package includes such tests, you can
46     optionally run them after compilation by typing
47        % make check
48
49  4. Type `make install' to install the programs and any data files and
50     documentation. Type `make uninstall' to undo the installation.
51     During installation, the following files go to the following directories:
52        Executables          -> /prefix/bin
53        Libraries            -> /prefix/lib
54        Public header files  -> /prefix/include
55        Man pages            -> /prefix/man/man?
56        Info files           -> /prefix/info
57     where `prefix' is either `/usr/local' or the PATH that you specified
58     in the `--prefix' flag.
59
60     If any of these directories do not presently exist, they will be
61     created on demand.
62
63     If you are installing in your home directory make sure that
64     `/home/luser/bin' is in your path. If you're using the bash shell
65     add this line at the end of your .cshrc file:
66        PATH="/home/luser/bin:${PATH}"
67        export PATH
68     If you are using csh or tcsh, then use this line instead:
69        setenv PATH /home/luser/bin:${PATH}
70     By prepending your home directory to the rest of the PATH you can
71     override systemwide installed software with your own custom installation.
72
73  5. You can remove the program binaries and object files from the
74     source code directory by typing `make clean'.  To also remove the
75     files that `configure' created (so you can compile the package for
76     a different kind of computer), type `make distclean'.
77
78Compiler configuration
79======================
80
81   The `configure' shell script is responsible for choosing and configuring
82the compiler(s).
83
84The following options allow you to specify whether you
85want to enable or disable various debugging mechanisms:
86
87`--with-warnings'
88      Make the compilers very picky about warnings. Try this whenever you
89      write new code since it may catch a few bugs. This is not active by
90      default because all too often warnings can be too picky and scare
91      the end-user.
92
93`--disable-assert'
94      Compile without using assertions. This results in faster code,
95      but should not be used during developerment, or to run `make check'
96      which depends on assertions. It should only be used for production
97      runs on code that you believe is bug free.
98
99All programs are compiled with optimization level 2 by default (-O2).
100Occasionally that confuses the debugger when code is inlined. To disable
101optimization and enable debugging, set the shell environment variables
102CFLAGS, CXXFLAGS, FFLAGS to `-g'. On the bash shell, you can do this
103like this:
104  $ export CFLAGS="-g"
105  $ export CXXFLAGS="-g"
106  $ export FFLAGS="-g"
107On the tcsh shell, use the `setenv' command instead:
108  % setenv CFLAGS "-g"
109  ...etc...
110For other shell, please consult your shell's documentation.
111
112Similarly, you can increase the optimization level by assigning these
113variables to "-g -O3".
114
115The following options allow you to reconsider the `configure' shell script's
116choice of Fortran compilers.
117
118`--with-f2c'
119      Compile the Fortran code by translating it to C, even if a native
120      Fortran compiler is available. A copy of the f2c translator should be
121      bundled in the distribution. It will be compiled and then used to
122      compile your Fortran code.
123`--with-g77'
124      Compile the Fortran code with g77 even if a proprietary Fortran 
125      compiler is available
126`--with-f77=F77'
127      Compile the Fortran code with the specified Fortran compiler.
128
129Depending on what languages the package uses, some of these options may
130or may not be available. To see what is available, type:
131    % sh ./configure --help
132
133About the configure script
134==========================
135 
136   The `configure' shell script attempts to guess correct values for
137various system-dependent variables used during compilation.  It uses
138those values to create a `Makefile' in each directory of the package.
139It may also create one or more `.h' files containing system-dependent
140definitions.  Finally, it creates a shell script `config.status' that
141you can run in the future to recreate the current configuration, a file
142`config.cache' that saves the results of its tests to speed up
143reconfiguring, and a file `config.log' containing compiler output
144(useful mainly for debugging `configure').
145
146   If you need to do unusual things to compile the package, please try
147to figure out how `configure' could check whether to do them, and mail
148diffs or instructions to the address given in the `README' so they can
149be considered for the next release.  If at some point `config.cache'
150contains results you don't want to keep, you may remove or edit it.
151
152   The file `configure.in' is used to create `configure' by a program
153called `autoconf'.  You only need `configure.in' if you want to change
154it or regenerate `configure' using a newer version of `autoconf'.
155
156Advanced installation options.
157==============================
158
159   The `configure' script also understands the following more advanced
160options, to handle situations for which `--prefix' alone is not sufficient.
161
162   You can specify separate installation prefixes for
163architecture-specific files and architecture-independent files.  If you
164give `configure' the option `--exec-prefix=PATH', the package will use
165PATH as the prefix for installing programs and libraries.
166Documentation and other data files will still use the regular prefix.
167
168   In addition, if you use an unusual directory layout you can give
169options like `--bindir=PATH' to specify different values for particular
170kinds of files.  Run `configure --help' for a list of the directories
171you can set and what kinds of files go in them.
172
173   If the package supports it, you can cause programs to be installed
174with an extra prefix or suffix on their names by giving `configure' the
175option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
176
177Optional Features
178=================
179
180   Some packages pay attention to `--enable-FEATURE' options to
181`configure', where FEATURE indicates an optional part of the package.
182They may also pay attention to `--with-PACKAGE' options, where PACKAGE
183is something like `gnu-as' or `x' (for the X Window System).  The
184`README' should mention any `--enable-' and `--with-' options that the
185package recognizes.
186
187   For packages that use the X Window System, `configure' can usually
188find the X include and library files automatically, but if it doesn't,
189you can use the `configure' options `--x-includes=DIR' and
190`--x-libraries=DIR' to specify their locations.
191
Note: See TracBrowser for help on using the repository browser.