Skip to content

Commit 7e9137f

Browse files
committed
Update INSTALL instructions.
1 parent aab8da0 commit 7e9137f

File tree

1 file changed

+10
-234
lines changed

1 file changed

+10
-234
lines changed

INSTALL

Lines changed: 10 additions & 234 deletions
Original file line numberDiff line numberDiff line change
@@ -1,241 +1,17 @@
1-
Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002 Free Software
2-
Foundation, Inc.
3-
Copyright (C) 2003-2016 Tristan Miller.
4-
5-
This file is free documentation; the Free Software Foundation gives
6-
unlimited permission to copy, distribute and modify it.
7-
81
Basic Installation
92
==================
103

11-
NON-UNIX SYSTEMS, INCLUDING MS-WINDOWS:
12-
13-
You will need a C compiler. Copy the file config.in.h to
14-
src/config.h. Open the file and follow the instructions inside to
15-
modify it based on your system's capabilities. Then compile the gpp.c
16-
file in the `src' subdirectory with the macro HAVE_CONFIG_H #defined.
17-
On MS-Windows systems you may need to also #define the macro WIN_NT if
18-
your compiler does not already #define it by default.
19-
20-
UNIX-LIKE SYSTEMS:
21-
22-
These are generic installation instructions.
23-
24-
The `configure' shell script attempts to guess correct values for
25-
various system-dependent variables used during compilation. It uses
26-
those values to create a `Makefile' in each directory of the package.
27-
It may also create one or more `.h' files containing system-dependent
28-
definitions. Finally, it creates a shell script `config.status' that
29-
you can run in the future to recreate the current configuration, and a
30-
file `config.log' containing compiler output (useful mainly for
31-
debugging `configure').
32-
33-
It can also use an optional file (typically called `config.cache'
34-
and enabled with `--cache-file=config.cache' or simply `-C') that saves
35-
the results of its tests to speed up reconfiguring. (Caching is
36-
disabled by default to prevent problems with accidental use of stale
37-
cache files.)
38-
39-
If you need to do unusual things to compile the package, please try
40-
to figure out how `configure' could check whether to do them, and mail
41-
diffs or instructions to the address given in the `README' so they can
42-
be considered for the next release. If you are using the cache, and at
43-
some point `config.cache' contains results you don't want to keep, you
44-
may remove or edit it.
45-
46-
The file `configure.ac' (or `configure.in') is used to create
47-
`configure' by a program called `autoconf'. You only need
48-
`configure.ac' if you want to change it or regenerate `configure' using
49-
a newer version of `autoconf'.
50-
51-
The simplest way to compile this package is:
52-
53-
1. `cd' to the directory containing the package's source code and type
54-
`./configure' to configure the package for your system. If you're
55-
using `csh' on an old version of System V, you might need to type
56-
`sh ./configure' instead to prevent `csh' from trying to execute
57-
`configure' itself.
58-
59-
Running `configure' takes awhile. While running, it prints some
60-
messages telling which features it is checking for.
61-
62-
2. Type `make' to compile the package.
63-
64-
3. Optionally, type `make check' to run any self-tests that come with
65-
the package.
66-
67-
4. Type `make install' to install the programs and any data files and
68-
documentation.
69-
70-
5. You can remove the program binaries and object files from the
71-
source code directory by typing `make clean'. To also remove the
72-
files that `configure' created (so you can compile the package for
73-
a different kind of computer), type `make distclean'. There is
74-
also a `make maintainer-clean' target, but that is intended mainly
75-
for the package's developers. If you use it, you may have to get
76-
all sorts of other programs in order to regenerate files that came
77-
with the distribution.
78-
79-
Compilers and Options
80-
=====================
81-
82-
Some systems require unusual options for compilation or linking that
83-
the `configure' script does not know about. Run `./configure --help'
84-
for details on some of the pertinent environment variables.
85-
86-
You can give `configure' initial values for configuration parameters
87-
by setting variables in the command line or in the environment. Here
88-
is an example:
89-
90-
./configure CC=c89 CFLAGS=-O2 LIBS=-lposix
91-
92-
*Note Defining Variables::, for more details.
93-
94-
Compiling For Multiple Architectures
95-
====================================
96-
97-
You can compile the package for more than one kind of computer at the
98-
same time, by placing the object files for each architecture in their
99-
own directory. To do this, you must use a version of `make' that
100-
supports the `VPATH' variable, such as GNU `make'. `cd' to the
101-
directory where you want the object files and executables to go and run
102-
the `configure' script. `configure' automatically checks for the
103-
source code in the directory that `configure' is in and in `..'.
104-
105-
If you have to use a `make' that does not support the `VPATH'
106-
variable, you have to compile the package for one architecture at a
107-
time in the source code directory. After you have installed the
108-
package for one architecture, use `make distclean' before reconfiguring
109-
for another architecture.
110-
111-
Installation Names
112-
==================
113-
114-
By default, `make install' will install the package's files in
115-
`/usr/local/bin', `/usr/local/man', etc. You can specify an
116-
installation prefix other than `/usr/local' by giving `configure' the
117-
option `--prefix=PATH'.
118-
119-
You can specify separate installation prefixes for
120-
architecture-specific files and architecture-independent files. If you
121-
give `configure' the option `--exec-prefix=PATH', the package will use
122-
PATH as the prefix for installing programs and libraries.
123-
Documentation and other data files will still use the regular prefix.
124-
125-
In addition, if you use an unusual directory layout you can give
126-
options like `--bindir=PATH' to specify different values for particular
127-
kinds of files. Run `configure --help' for a list of the directories
128-
you can set and what kinds of files go in them.
129-
130-
If the package supports it, you can cause programs to be installed
131-
with an extra prefix or suffix on their names by giving `configure' the
132-
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
133-
134-
Optional Features
135-
=================
136-
137-
Some packages pay attention to `--enable-FEATURE' options to
138-
`configure', where FEATURE indicates an optional part of the package.
139-
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
140-
is something like `gnu-as' or `x' (for the X Window System). The
141-
`README' should mention any `--enable-' and `--with-' options that the
142-
package recognizes.
143-
144-
For packages that use the X Window System, `configure' can usually
145-
find the X include and library files automatically, but if it doesn't,
146-
you can use the `configure' options `--x-includes=DIR' and
147-
`--x-libraries=DIR' to specify their locations.
148-
149-
Specifying the System Type
150-
==========================
151-
152-
There may be some features `configure' cannot figure out
153-
automatically, but needs to determine by the type of machine the package
154-
will run on. Usually, assuming the package is built to be run on the
155-
_same_ architectures, `configure' can figure that out, but if it prints
156-
a message saying it cannot guess the machine type, give it the
157-
`--build=TYPE' option. TYPE can either be a short name for the system
158-
type, such as `sun4', or a canonical name which has the form:
159-
160-
CPU-COMPANY-SYSTEM
161-
162-
where SYSTEM can have one of these forms:
163-
164-
OS KERNEL-OS
165-
166-
See the file `config.sub' for the possible values of each field. If
167-
`config.sub' isn't included in this package, then this package doesn't
168-
need to know the machine type.
169-
170-
If you are _building_ compiler tools for cross-compiling, you should
171-
use the `--target=TYPE' option to select the type of system they will
172-
produce code for.
173-
174-
If you want to _use_ a cross compiler, that generates code for a
175-
platform different from the build platform, you should specify the
176-
"host" platform (i.e., that on which the generated programs will
177-
eventually be run) with `--host=TYPE'.
178-
179-
Sharing Defaults
180-
================
181-
182-
If you want to set default values for `configure' scripts to share,
183-
you can create a site shell script called `config.site' that gives
184-
default values for variables like `CC', `cache_file', and `prefix'.
185-
`configure' looks for `PREFIX/share/config.site' if it exists, then
186-
`PREFIX/etc/config.site' if it exists. Or, you can set the
187-
`CONFIG_SITE' environment variable to the location of the site script.
188-
A warning: not all `configure' scripts look for a site script.
189-
190-
Defining Variables
191-
==================
192-
193-
Variables not defined in a site shell script can be set in the
194-
environment passed to `configure'. However, some packages may run
195-
configure again during the build, and the customized values of these
196-
variables may be lost. In order to avoid this problem, you should set
197-
them in the `configure' command line, using `VAR=value'. For example:
198-
199-
./configure CC=/usr/local2/bin/gcc
200-
201-
will cause the specified gcc to be used as the C compiler (unless it is
202-
overridden in the site shell script).
203-
204-
`configure' Invocation
205-
======================
206-
207-
`configure' recognizes the following options to control how it
208-
operates.
209-
210-
`--help'
211-
`-h'
212-
Print a summary of the options to `configure', and exit.
213-
214-
`--version'
215-
`-V'
216-
Print the version of Autoconf used to generate the `configure'
217-
script, and exit.
218-
219-
`--cache-file=FILE'
220-
Enable the cache: use and save the results of the tests in FILE,
221-
traditionally `config.cache'. FILE defaults to `/dev/null' to
222-
disable caching.
223-
224-
`--config-cache'
225-
`-C'
226-
Alias for `--cache-file=config.cache'.
4+
Typical CMake style build:
2275

228-
`--quiet'
229-
`--silent'
230-
`-q'
231-
Do not print messages saying which checks are being made. To
232-
suppress all normal output, redirect it to `/dev/null' (any error
233-
messages will still be shown).
6+
mkdir build && cd build
7+
cmake ..
8+
make
2349

235-
`--srcdir=DIR'
236-
Look for the package's source code in directory DIR. Usually
237-
`configure' can determine that directory automatically.
10+
On Windows systems (with Visual Studio installed) using the 'NMake Makefiles'
11+
generator is easiest. The procedure then becomes:
23812

239-
`configure' also accepts some other, not widely useful, options. Run
240-
`configure --help' for more details.
13+
mkdir build && cd build
14+
cmake -G"NMake Makefiles" ..
15+
nmake
24116

17+
In all cases the binary will be placed in the 'build/src' directory.

0 commit comments

Comments
 (0)