| <html> |
| <head> |
| <title>Configuring egcs-1.0.2 </title> |
| </head> |
| <body bgcolor="white"> |
| <h1 align="center">Configuring egcs-1.0.2</h1> |
| |
| <p>Like most GNU software, egcs must be configured before it can be built. |
| This document attempts to describe the recommended configuration procedure |
| for both native and cross targets. |
| |
| <p>We use <i>srcdir</i> to refer to the toplevel source directory for |
| egcs; we use <i>objdir</i> to refer to the toplevel build/object |
| directory for egcs. |
| |
| <p>First, we <b>highly</b> recommend that egcs be built into a separate |
| directory than the sources. This is how we generally build egcs; building |
| where <i>srcdir</i> == <i>objdir</i> should still work, but doesn't get |
| extensive testing. |
| |
| <p>Second, when configuring a native system, either "cc" must be in your |
| path or you must set CC in your environment before running configure. |
| Otherwise the configuration scripts may fail. |
| |
| <p>To configure egcs: |
| |
| <blockquote> |
| <tt> |
| <br>% mkdir <i>objdir</i> |
| <br>% cd <i>objdir</i> |
| <br>% <i>srcdir</i>/configure <b>[target]</b> <b>[options]</b> |
| </tt> |
| </blockquote> |
| |
| |
| <p><b>target specification</b> |
| <ul> |
| <li> egcs has code to correctly determine the correct value for |
| <b>target</b> for nearly all native systems. Therefore, we highly |
| recommend you not provide a configure target when configuring a |
| native compiler. |
| |
| <li> <b>target</b> must be specified when configuring a cross compiler; |
| examples of valid targets would be i960-rtems, m68k-coff, sh-elf, etc. |
| </ul> |
| |
| |
| <p><b> options specification</b> |
| |
| <p>Use <b>options</b> to override several configure time options for |
| egcs. A partial list of supported <tt>options</tt>: |
| |
| <ul> |
| <li> <tt>--prefix=</tt><i>dirname</i> -- Specify the toplevel installation |
| directory. This is the recommended way to install the tools into a directory |
| other than the default. The toplevel installation directory defaults to |
| /usr/local. |
| |
| <br>These additional options control where certain parts of the distribution |
| are installed. Normally you should not need to use these options. |
| <ul> |
| <li> <tt>--with-local-prefix=</tt><i>dirname</i> -- Specify the installation |
| directory for local include files. The default is /usr/local. |
| |
| <li> <tt>--with-gxx-include-dir=</tt><i>dirname</i> -- Specify the installation |
| directory for g++ header files. The default is /usr/local/include/g++. |
| </ul> |
| |
| <li> <tt>--enable-shared</tt> -- Build shared versions of the C++ runtime |
| libraries if supported <tt>--disable-shared</tt> is the default. |
| |
| <li> <tt>--enable-haifa</tt> -- Enable the new Haifa instruction scheduler in the |
| compiler; the new scheduler can significantly improve code on some targets. |
| <tt>--disable-haifa</tt> is currently the default on all platforms except the HPPA. |
| |
| <li> <tt>--with-gnu-as</tt> -- Specify that the compiler should assume the GNU |
| assembler (aka gas) is available. |
| |
| <li> <tt>--with-gnu-ld</tt> -- Specify that the compiler should assume the GNU |
| linker (aka gld) is available. |
| |
| <li> <tt>--with-stabs</tt> -- Specify that stabs debugging information should be used |
| instead of whatever format the host normally uses. Normally GCC uses the |
| same debug format as the host system. |
| |
| <li> <tt>--enable-multilib</tt> -- Specify that multiple target libraries |
| should be built to support different target variants, calling conventions, |
| etc. This is the default. |
| |
| <li> <tt>--enable-threads</tt> -- Specify that the target supports threads. |
| This only effects the Objective-C compiler and runtime library. |
| |
| <li> <tt>--enable-threads=</tt><i>lib</i> -- Specify that <i>lib</i> is the |
| thread support library. This only effects the Objective-C compiler and |
| runtime library. |
| |
| <li> <tt>--with-cpu=</tt><i>cpu</i> -- Specify which cpu variant the compiler should |
| generate code for by default. This is currently only supported on the |
| RS6000/PowerPC ports. |
| </ul> |
| |
| <p>Some options which only apply to building cross compilers: |
| <ul> |
| <li> <tt>--with-headers=</tt><i>dir</i> -- Specifies a directory which has target |
| include files. |
| <li> <tt>--with-libs=</tt><i>dirs</i> -- Specifies a list of directories which contain |
| the target runtime libraries. |
| <li> <tt>--with-newlib</tt> -- Specifies that "newlib" is being used as the target |
| C library. This causes __eprintf to be omitted from libgcc.a on the |
| assumption that it will be provided by newlib. |
| </ul> |
| |
| <p>Note that each <tt>--enable</tt> option has a corresponding <tt>--disable</tt> option and |
| that each <tt>--with</tt> option has a corresponding <tt>--without</tt> option. |
| |
| |
| <p> |
| <hr> |
| <i>Last modified on Jan 2, 1998.</i> |
| |
| </body> |
| </html> |