4 Like most GNU software, egcs must be configured before it can be
5 built. This document attempts to describe the recommended
6 configuration procedure for both native and cross targets.
8 We use srcdir to refer to the toplevel source directory for egcs; we
9 use objdir to refer to the toplevel build/object directory for egcs.
11 First, we highly recommend that egcs be built into a separate
12 directory than the sources. This is how we generally build egcs;
13 building where srcdir == objdir should still work, but doesn't get
16 Second, when configuring a native system, either "cc" must be in your
17 path or you must set CC in your environment before running configure.
18 Otherwise the configuration scripts may fail.
25 % srcdir/configure [target] [options]
28 * egcs has code to correctly determine the correct value for target
29 for nearly all native systems. Therefore, we highly recommend you
30 not provide a configure target when configuring a native compiler.
31 * target must be specified when configuring a cross compiler;
32 examples of valid targets would be i960-rtems, m68k-coff, sh-elf,
37 Use options to override several configure time options for egcs. A
38 partial list of supported options:
39 * --prefix=dirname -- Specify the toplevel installation directory.
40 This is the recommended way to install the tools into a directory
41 other than the default. The toplevel installation directory
42 defaults to /usr/local.
43 These additional options control where certain parts of the
44 distribution are installed. Normally you should not need to use
46 + --with-local-prefix=dirname -- Specify the installation
47 directory for local include files. The default is /usr/local.
48 + --with-gxx-include-dir=dirname -- Specify the installation
49 directory for g++ header files. The default is
50 /usr/local/include/g++.
51 * --enable-shared -- Build shared versions of the C++ runtime
52 libraries if supported --disable-shared is the default.
53 * --enable-haifa -- Enable the new Haifa instruction scheduler in
54 the compiler; the new scheduler can significantly improve code on
55 some targets. --disable-haifa is currently the default on all
56 platforms except the HPPA.
57 * --with-gnu-as -- Specify that the compiler should assume the GNU
58 assembler (aka gas) is available.
59 * --with-gnu-ld -- Specify that the compiler should assume the GNU
60 linker (aka gld) is available.
61 * --with-stabs -- Specify that stabs debugging information should be
62 used instead of whatever format the host normally uses. Normally
63 GCC uses the same debug format as the host system.
64 * --enable-multilib -- Specify that multiple target libraries should
65 be built to support different target variants, calling
66 conventions, etc. This is the default.
67 * --enable-threads -- Specify that the target supports threads. This
68 only effects the Objective-C compiler and runtime library.
69 * --enable-threads=lib -- Specify that lib is the thread support
70 library. This only effects the Objective-C compiler and runtime
72 * --with-cpu=cpu -- Specify which cpu variant the compiler should
73 generate code for by default. This is currently only supported on
74 the RS6000/PowerPC ports.
76 Some options which only apply to building cross compilers:
77 * --with-headers=dir -- Specifies a directory which has target
79 * --with-libs=dirs -- Specifies a list of directories which contain
80 the target runtime libraries.
81 * --with-newlib -- Specifies that "newlib" is being used as the
82 target C library. This causes __eprintf to be omitted from
83 libgcc.a on the assumption that it will be provided by newlib.
85 Note that each --enable option has a corresponding --disable option
86 and that each --with option has a corresponding --without option.
88 _________________________________________________________________
90 Last modified on Jan 2, 1998.