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