2330
|
1 This file documents the use of Octave's configuration script and the |
|
2 command line options it recognizes. |
|
3 |
|
4 See the file INSTALL.OCTAVE for information specific to installing |
|
5 Octave. |
|
6 |
|
7 |
|
8 To compile this package: |
|
9 |
|
10 1. Configure the package for your system. In the directory that this |
|
11 file is in, type `./configure'. If you're using `csh' on an old |
|
12 version of System V, you might need to type `sh configure' instead to |
|
13 prevent `csh' from trying to execute `configure' itself. |
|
14 |
|
15 The `configure' shell script attempts to guess correct values for |
|
16 various system-dependent variables used during compilation, and |
|
17 creates the Makefile(s) (one in each subdirectory of the source |
|
18 directory). In some packages it creates a C header file containing |
|
19 system-dependent definitions. It also creates a file `config.status' |
|
20 that you can run in the future to recreate the current configuration. |
|
21 |
|
22 Running `configure' takes a minute or two. While it is running, it |
|
23 prints some messages that tell what it is doing. If you don't want to |
|
24 see the messages, run `configure' with its standard output redirected |
|
25 to `/dev/null'; for example, `./configure >/dev/null'. |
|
26 |
|
27 To compile the package in a different directory from the one |
|
28 containing the source code, you must use a version of make that |
|
29 supports the VPATH variable, such as GNU make. `cd' to the directory |
|
30 where you want the object files and executables to go and run |
|
31 `configure'. `configure' automatically checks for the source code in |
|
32 the directory that `configure' is in and in `..'. If for some reason |
|
33 `configure' is not in the source code directory that you are |
|
34 configuring, then it will report that it can't find the source code. |
|
35 In that case, run `configure' with the option `--srcdir=DIR', where |
|
36 DIR is the directory that contains the source code. |
|
37 |
|
38 By default, `make install' will install the package's files in |
|
39 /usr/local/bin, /usr/local/lib, /usr/local/man, etc. You can specify |
|
40 an installation prefix other than /usr/local by giving `configure' the |
|
41 option `--prefix=PATH'. Alternately, you can do so by giving a value |
|
42 for the `prefix' variable when you run `make', e.g., |
|
43 make prefix=/usr/gnu |
|
44 |
|
45 You can specify separate installation prefixes for |
|
46 architecture-specific files and architecture-independent files. If |
|
47 you give `configure' the option `--exec_prefix=PATH' or set the |
|
48 `make' variable `exec_prefix' to PATH, the package will use PATH as |
|
49 the prefix for installing programs and libraries. Data files and |
|
50 documentation will still use the regular prefix. Normally, all files |
|
51 are installed using the regular prefix. |
|
52 |
|
53 You can tell `configure' to figure out the configuration for your |
|
54 system, and record it in `config.status', without actually configuring |
|
55 the package (creating `Makefile's and perhaps a configuration header |
|
56 file). To do this, give `configure' the `--no-create' option. Later, |
|
57 you can run `./config.status' to actually configure the package. This |
|
58 option is useful mainly in `Makefile' rules for updating `config.status' |
|
59 and `Makefile'. You can also give `config.status' the `--recheck' |
|
60 option, which makes it re-run `configure' with the same arguments you |
|
61 used before. This is useful if you change `configure'. |
|
62 |
|
63 `configure' ignores any other arguments that you give it. |
|
64 |
|
65 If your system requires unusual options for compilation or linking |
|
66 that `configure' doesn't know about, you can give `configure' initial |
|
67 values for some variables by setting them in the environment. In |
|
68 Bourne-compatible shells, you can do that on the command line like |
|
69 this: |
|
70 CC='gcc -traditional' DEFS=-D_POSIX_SOURCE ./configure |
|
71 |
|
72 The `make' variables that you might want to override with environment |
|
73 variables when running `configure' are: |
|
74 |
|
75 (For these variables, any value given in the environment overrides the |
|
76 value that `configure' would choose:) |
|
77 CC C compiler program. |
|
78 Default is `cc', or `gcc' if `gcc' is in your PATH. |
|
79 INSTALL Program to use to install files. |
|
80 Default is `install' if you have it, `cp' otherwise. |
|
81 |
|
82 (For these variables, any value given in the environment is added to |
|
83 the value that `configure' chooses:) |
|
84 DEFS Configuration options, in the form `-Dfoo -Dbar ...' |
|
85 LIBS Libraries to link with, in the form `-lfoo -lbar ...' |
|
86 |
|
87 If you need to do unusual things to compile the package, we encourage |
|
88 you to figure out how `configure' could check whether to do them, and |
|
89 mail diffs or instructions to the address given in the README so we |
|
90 can include them in the next release. |
|
91 |
|
92 2. Type `make' to compile the package. If you want, you can override |
|
93 the `make' variables CXXFLAGS, CFLAGS, FFLAGS, and LDFLAGS like this: |
|
94 |
|
95 make CXXFLAGS=-O2 CFLAGS=-O2 FFLAGS=-O LDFLAGS=-s |
|
96 |
|
97 3. If the package comes with self-tests and you want to run them, |
|
98 type `make check'. If you're not sure whether there are any, try it; |
|
99 if `make' responds with something like |
|
100 make: *** No way to make target `check'. Stop. |
|
101 then the package does not come with self-tests. |
|
102 |
|
103 4. Type `make install' to install programs, data files, and |
|
104 documentation. |
|
105 |
|
106 5. You can remove the program binaries and object files from the |
|
107 source directory by typing `make clean'. To also remove the |
|
108 Makefile(s), the header file containing system-dependent definitions |
|
109 (if the package uses one), and `config.status' (all the files that |
|
110 `configure' created), type `make distclean'. |
|
111 |
|
112 The file `configure.in' is used as a template to create `configure' by |
|
113 a program called `autoconf'. You will only need it if you want to |
|
114 regenerate `configure' using a newer version of `autoconf'. |