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