]>
Commit | Line | Data |
---|---|---|
f2d76545 JL |
1 | Configuring egcs-1.0 |
2 | ||
3 | Like most GNU software, egcs must be configured before it can be built. | |
4 | This document attempts to describe the recommended configuration procedure | |
5 | for both native and cross targets. | |
6 | ||
7 | We use srcdir to refer to the toplevel source directory for | |
8 | egcs; we use objdir to refer to the toplevel build/object | |
9 | directory for egcs. | |
10 | ||
11 | First, we highly recommend that egcs be built into a separate | |
12 | directory than the sources. This is how we generally build egcs; building | |
13 | where srcdir == objdir should still work, but doesn't get | |
14 | extensive testing. | |
15 | ||
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. | |
19 | ||
20 | To configure egcs: | |
21 | ||
22 | % mkdir objdir | |
23 | % cd objdir | |
24 | % srcdir/configure [target] [options] | |
25 | ||
26 | ||
27 | target specification | |
28 | ||
29 | egcs has code to correctly determine the correct value for | |
30 | target for nearly all native systems. Therefore, we highly | |
31 | recommend you not provide a configure target when configuring a | |
32 | native compiler. | |
33 | ||
34 | target must be specified when configuring a cross compiler; | |
35 | examples of valid targets would be i960-rtems, m68k-coff, sh-elf, etc. | |
36 | ||
37 | ||
38 | options specification | |
39 | ||
40 | Use options to override several configure time options for | |
41 | egcs. A partial list of supported options: | |
42 | ||
43 | ||
44 | --prefix=dirname -- Specify the toplevel installation | |
45 | directory. This is the recommended way to install the tools into a directory | |
46 | other than the default. The toplevel installation directory defaults to | |
47 | /usr/local. | |
48 | ||
49 | These additional options control where certain parts of the distribution | |
50 | are installed. Normally you should not need to use these options. | |
51 | ||
52 | --with-local-prefix=dirname -- Specify the installation | |
53 | directory for local include files. The default is /usr/local. | |
54 | ||
55 | --with-gxx-include-dir=dirname -- Specify the installation | |
56 | directory for g++ header files. The default is /usr/local/include/g++. | |
57 | ||
58 | ||
59 | --enable-shared -- Build shared versions of the C++ runtime | |
60 | libraries if supported --disable-shared is the default. | |
61 | ||
62 | --enable-haifa -- Enable the new Haifa instruction scheduler in the | |
63 | compiler; the new scheduler can significantly improve code on some targets. | |
64 | --disable-haifa is currently the default on all platforms except the HPPA. | |
65 | ||
66 | --with-gnu-as -- Specify that the compiler should assume the GNU | |
67 | assembler (aka gas) is available. | |
68 | ||
69 | --with-gnu-ld -- Specify that the compiler should assume the GNU | |
70 | linker (aka gld) is available. | |
71 | ||
72 | --with-stabs -- Specify that stabs debugging information should be used | |
73 | instead of whatever format the host normally uses. Normally GCC uses the | |
74 | same debug format as the host system. | |
75 | ||
76 | --enable-multilib -- Specify that multiple target libraries | |
77 | should be built to support different target variants, calling conventions, | |
78 | etc. This is the default. | |
79 | ||
80 | --enable-threads -- Specify that the target supports threads. | |
81 | This only effects the Objective-C compiler and runtime library. | |
82 | ||
83 | --enable-threads=lib -- Specify that lib is the | |
84 | thread support library. This only effects the Objective-C compiler and | |
85 | runtime library. | |
86 | ||
87 | --with-cpu=cpu -- Specify which cpu variant the compiler should | |
88 | generate code for by default. This is currently only supported on the | |
89 | RS6000/PowerPC ports. | |
90 | ||
91 | ||
92 | Some options which only apply to building cross compilers: | |
93 | ||
94 | --with-headers=dir -- Specifies a directory which has target | |
95 | include files. | |
96 | --with-libs=dirs -- Specifies a list of directories which contain | |
97 | the target runtime libraries. | |
98 | --with-newlib -- Specifies that "newlib" is being used as the target | |
99 | C library. This causes __eprintf to be omitted from libgcc.a on the | |
100 | assumption that it will be provided by newlib. | |
101 | ||
102 | ||
103 | Note that each --enable option has a corresponding --disable option and | |
104 | that each --with option has a corresponding --without option. | |
105 | ||
106 | ||
107 | ||
108 | Last modified on December 2, 1997. |