|
|
1.1 root 1: Generator specifics
2: ===================
3:
4: When you configure Generator, make sure you look for these lines:
5:
6: Turning on x86 processor optimisations
7: Turning on gcc optimisations
8: Turning on pentium optimisations
9:
10: If you see warnings about lack of optimisation then Generator will
11: be running non-optimally. If you are using gcc version 3 then
12: read on for specific optimisations for this compiler.
13:
14: Generator version
15: =================
16:
17: This source can be compiled for three different types of interface:
18:
19: --enable-svgalib
20: --enable-allegro
21: --enable-tcltk (deprecated - will re-write soon)
22:
23: One and only one of these options must be given to configure.
24:
25: Example
26: =======
27:
28: An example compilation:
29:
30: ./configure --enable-svgalib --with-gcc=3 --prefix=/home/james
31: make
32: make install
33:
1.1.1.2 ! root 34:
! 35: Cross compile
! 36: =============
! 37:
! 38: I compile for DOS from linux with:
! 39:
! 40: PATH=/usr/i586-pc-msdosdjgpp/bin:$PATH ./configure --enable-allegro \
! 41: --host=i386
! 42: PATH=/usr/i586-pc-msdosdjgpp/bin:$PATH make
! 43:
! 44: Unfortunately this will compile the def68k and gen68k programs for DOS
! 45: rather than linux, so the build will fail to create the cpu files for
! 46: compiling with:
! 47:
! 48: ./def68k: ./def68k: cannot execute binary file
! 49:
! 50: So you need to have built Generator earlier under unix so that you can
! 51: copy the linux version of def68k in place when you see the above error.
! 52:
! 53: You have to do the same for gen68k.
! 54:
! 55: RAZE doesn't seem like djgpp, there is a macro that needs un-commenting
! 56: in the source when you cross-compile, plus nasm needs '-f coff' rather
! 57: than '-f elf' in the Makefile.
! 58:
1.1 root 59: Basic Installation
60: ==================
61:
62: The `configure' shell script attempts to guess correct values for
63: various system-dependent variables used during compilation. It uses
64: those values to create a `Makefile' in each directory of the package.
65: It may also create one or more `.h' files containing system-dependent
66: definitions. Finally, it creates a shell script `config.status' that
67: you can run in the future to recreate the current configuration, a file
68: `config.cache' that saves the results of its tests to speed up
69: reconfiguring, and a file `config.log' containing compiler output
70: (useful mainly for debugging `configure').
71:
72: If you need to do unusual things to compile the package, please try
73: to figure out how `configure' could check whether to do them, and mail
74: diffs or instructions to the address given in the `README' so they can
75: be considered for the next release. If at some point `config.cache'
76: contains results you don't want to keep, you may remove or edit it.
77:
78: The file `configure.in' is used to create `configure' by a program
79: called `autoconf'. You only need `configure.in' if you want to change
80: it or regenerate `configure' using a newer version of `autoconf'.
81:
82: The simplest way to compile this package is:
83:
84: 1. `cd' to the directory containing the package's source code and type
85: `./configure' to configure the package for your system. If you're
86: using `csh' on an old version of System V, you might need to type
87: `sh ./configure' instead to prevent `csh' from trying to execute
88: `configure' itself.
89:
90: Running `configure' takes awhile. While running, it prints some
91: messages telling which features it is checking for.
92:
93: Generator supports these additional options:
94:
95: --with-gcc[=VERSION] GCC optimisation setting
96:
97: By default Generator assumes gcc version 2.95 optimisations
98: but you can specify '2', '3' or 'no' to select 2.95, 3.0 or no
99: optimisations respectively.
100:
101: --with-warnings Turn on gcc warnings
102:
103: This turns on gcc warnings, this is mostly for development
104: purposes.
105:
106: 2. Type `make' to compile the package.
107:
108: 3. Optionally, type `make check' to run any self-tests that come with
109: the package.
110:
111: 4. Type `make install' to install the programs and any data files and
112: documentation.
113:
114: 5. You can remove the program binaries and object files from the
115: source code directory by typing `make clean'. To also remove the
116: files that `configure' created (so you can compile the package for
117: a different kind of computer), type `make distclean'. There is
118: also a `make maintainer-clean' target, but that is intended mainly
119: for the package's developers. If you use it, you may have to get
120: all sorts of other programs in order to regenerate files that came
121: with the distribution.
122:
123: Compilers and Options
124: =====================
125:
126: Some systems require unusual options for compilation or linking that
127: the `configure' script does not know about. You can give `configure'
128: initial values for variables by setting them in the environment. Using
129: a Bourne-compatible shell, you can do that on the command line like
130: this:
131: CC=c89 CFLAGS=-O2 LIBS=-lposix ./configure
132:
133: Or on systems that have the `env' program, you can do it like this:
134: env CPPFLAGS=-I/usr/local/include LDFLAGS=-s ./configure
135:
136: Compiling For Multiple Architectures
137: ====================================
138:
139: You can compile the package for more than one kind of computer at the
140: same time, by placing the object files for each architecture in their
141: own directory. To do this, you must use a version of `make' that
142: supports the `VPATH' variable, such as GNU `make'. `cd' to the
143: directory where you want the object files and executables to go and run
144: the `configure' script. `configure' automatically checks for the
145: source code in the directory that `configure' is in and in `..'.
146:
147: If you have to use a `make' that does not supports the `VPATH'
148: variable, you have to compile the package for one architecture at a time
149: in the source code directory. After you have installed the package for
150: one architecture, use `make distclean' before reconfiguring for another
151: architecture.
152:
153: Installation Names
154: ==================
155:
156: By default, `make install' will install the package's files in
157: `/usr/local/bin', `/usr/local/man', etc. You can specify an
158: installation prefix other than `/usr/local' by giving `configure' the
159: option `--prefix=PATH'.
160:
161: You can specify separate installation prefixes for
162: architecture-specific files and architecture-independent files. If you
163: give `configure' the option `--exec-prefix=PATH', the package will use
164: PATH as the prefix for installing programs and libraries.
165: Documentation and other data files will still use the regular prefix.
166:
167: In addition, if you use an unusual directory layout you can give
168: options like `--bindir=PATH' to specify different values for particular
169: kinds of files. Run `configure --help' for a list of the directories
170: you can set and what kinds of files go in them.
171:
172: If the package supports it, you can cause programs to be installed
173: with an extra prefix or suffix on their names by giving `configure' the
174: option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
175:
176: Optional Features
177: =================
178:
179: Some packages pay attention to `--enable-FEATURE' options to
180: `configure', where FEATURE indicates an optional part of the package.
181: They may also pay attention to `--with-PACKAGE' options, where PACKAGE
182: is something like `gnu-as' or `x' (for the X Window System). The
183: `README' should mention any `--enable-' and `--with-' options that the
184: package recognizes.
185:
186: For packages that use the X Window System, `configure' can usually
187: find the X include and library files automatically, but if it doesn't,
188: you can use the `configure' options `--x-includes=DIR' and
189: `--x-libraries=DIR' to specify their locations.
190:
191: Specifying the System Type
192: ==========================
193:
194: There may be some features `configure' can not figure out
195: automatically, but needs to determine by the type of host the package
196: will run on. Usually `configure' can figure that out, but if it prints
197: a message saying it can not guess the host type, give it the
198: `--host=TYPE' option. TYPE can either be a short name for the system
199: type, such as `sun4', or a canonical name with three fields:
200: CPU-COMPANY-SYSTEM
201:
202: See the file `config.sub' for the possible values of each field. If
203: `config.sub' isn't included in this package, then this package doesn't
204: need to know the host type.
205:
206: If you are building compiler tools for cross-compiling, you can also
207: use the `--target=TYPE' option to select the type of system they will
208: produce code for and the `--build=TYPE' option to select the type of
209: system on which you are compiling the package.
210:
211: Sharing Defaults
212: ================
213:
214: If you want to set default values for `configure' scripts to share,
215: you can create a site shell script called `config.site' that gives
216: default values for variables like `CC', `cache_file', and `prefix'.
217: `configure' looks for `PREFIX/share/config.site' if it exists, then
218: `PREFIX/etc/config.site' if it exists. Or, you can set the
219: `CONFIG_SITE' environment variable to the location of the site script.
220: A warning: not all `configure' scripts look for a site script.
221:
222: Operation Controls
223: ==================
224:
225: `configure' recognizes the following options to control how it
226: operates.
227:
228: `--cache-file=FILE'
229: Use and save the results of the tests in FILE instead of
230: `./config.cache'. Set FILE to `/dev/null' to disable caching, for
231: debugging `configure'.
232:
233: `--help'
234: Print a summary of the options to `configure', and exit.
235:
236: `--quiet'
237: `--silent'
238: `-q'
239: Do not print messages saying which checks are being made. To
240: suppress all normal output, redirect it to `/dev/null' (any error
241: messages will still be shown).
242:
243: `--srcdir=DIR'
244: Look for the package's source code in directory DIR. Usually
245: `configure' can determine that directory automatically.
246:
247: `--version'
248: Print the version of Autoconf used to generate the `configure'
249: script, and exit.
250:
251: `configure' also accepts some other, not widely useful, options.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.