From b6d1dd28a2e218d6e0caa7df54e7aca73f5f9c46 Mon Sep 17 00:00:00 2001 From: law Date: Mon, 1 Dec 1997 21:46:33 +0000 Subject: [PATCH] Installation stuff. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/egcs_1_00_branch@16870 138bc75d-0d04-0410-961f-82ee72b054a4 --- INSTALL/BUILD | 48 +++++++++++++++++++ INSTALL/CONFIGURE | 93 ++++++++++++++++++++++++++++++++++++ INSTALL/FINALINSTALL | 17 +++++++ INSTALL/INDEX | 28 +++++++++++ INSTALL/README | 14 ++++++ INSTALL/SPECIFIC | 83 ++++++++++++++++++++++++++++++++ INSTALL/TEST | 23 +++++++++ INSTALL/build.html | 67 ++++++++++++++++++++++++++ INSTALL/configure.html | 119 ++++++++++++++++++++++++++++++++++++++++++++++ INSTALL/finalinstall.html | 27 +++++++++++ INSTALL/index.html | 47 ++++++++++++++++++ INSTALL/specific.html | 103 +++++++++++++++++++++++++++++++++++++++ INSTALL/test.html | 37 ++++++++++++++ 13 files changed, 706 insertions(+) create mode 100644 INSTALL/BUILD create mode 100644 INSTALL/CONFIGURE create mode 100644 INSTALL/FINALINSTALL create mode 100644 INSTALL/INDEX create mode 100644 INSTALL/README create mode 100644 INSTALL/SPECIFIC create mode 100644 INSTALL/TEST create mode 100644 INSTALL/build.html create mode 100644 INSTALL/configure.html create mode 100644 INSTALL/finalinstall.html create mode 100644 INSTALL/index.html create mode 100644 INSTALL/specific.html create mode 100644 INSTALL/test.html diff --git a/INSTALL/BUILD b/INSTALL/BUILD new file mode 100644 index 00000000000..942ce1b5055 --- /dev/null +++ b/INSTALL/BUILD @@ -0,0 +1,48 @@ +Building egcs-1.00 + +Now that egcs is configured, you are ready to build the compiler and runtime +libraries. + +We highly recommend that egcs be built using gnu-make; other versions make +work, then again they might not. To be safe build with gnu-make. + +Building a native compiler + +For a native build issue the command "make bootstrap". This will build the +entire egcs compiler system, which includes the following steps: + + * Build host tools necessary to build the compiler such as texinfo, bison, + gperf. + + * Build target tools for use by the compiler such as gas, gld, and binutils. + + * Perform a 3-stage bootstrap of the compiler. + + * Perform a comparison test of the stage2 and stage3 compilers. + + * Build runtime libraries using the stage3 compiler from the previous step. + + +If you are short on disk space you might consider "make bootstrap-lean" +instead. This is identical to "make bootstrap" except that object files from the +stage1 and stage2 of the 3-stage bootstrap of the compiler are deleted as soon +as they are no longer needed. Building a cross compiler + +We recommend reading the crossgcc FAQ for information about building cross +compilers. (ftp.cygnus.com:pub/crossgcc) + +For a cross build, issue the command "make cross", which performs the +following steps: + + * Build host tools necessary to build the compiler such as texinfo, bison, + gperf. + + * Build target tools for use by the compiler such as gas, gld, and binutils. + + * Build the compiler (single stage only). + + * Build runtime libraries using the compiler from the previous step. + +Note that if an error occurs in any step the make process will exit. + + diff --git a/INSTALL/CONFIGURE b/INSTALL/CONFIGURE new file mode 100644 index 00000000000..07bee0bdd69 --- /dev/null +++ b/INSTALL/CONFIGURE @@ -0,0 +1,93 @@ +Configuring egcs-1.00 + +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. + +We use srcdir to refer to the toplevel source directory for egcs; we use objdir +to refer to the toplevel build/object directory for egcs. + +First, we highly recommend that egcs be built into a separate directory than the +sources. This is how we generally build egcs; building where srcdir == objdir +should still work, but doesn't get extensive testing. + +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. + +To configure egcs: + + % mkdir objdir + % cd objdir + % srcdir/configure [target] [options] + +target specification + + egcs has code to correctly determine the correct value for target for + nearly all native systems. Therefore, we highly recommend you not + provide a configure target when configuring a native compiler. + target must be specified when configuring a cross compiler; examples of + valid targets would be i960-rtems, m68k-coff, sh-elf, etc. + +options specification + +Use options to override several configure time options for egcs. A partial list +of supported options: + + * --prefix=dirname -- Specify the toplevel installation directory; + /usr/local is the default prefix. This is the recommended way to install + the tools into a directory other than the default. + These additional options control where certain parts of the distribution + are installed. Normally you should not need to use these options. + --with-local-prefix=dirname -- Specify the installation + directory for local include files. The default is /usr/local. + --with-gxx-include-dir=dirname -- Specify the installation + directory for g++ header files. The default is + /usr/local/include/g++. + + * --enable-shared -- Build shared libraries if supported + --disable-shared is the default. + + * --enable-haifa -- Enable the new Haifa instruction scheduler in the + compiler; the new scheduler can significantly improve code on some + targets. --disable-haifa is currently the default on all platforms + except the HPPA. + + * --with-gnu-as -- Specify that the compiler should assume the GNU + assembler (aka gas) is available. + + * --with-gnu-ld -- Specify that the compiler should assume the GNU + linker (aka gld) is available. + + * --with-stabs -- 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. + + * --enable-multilib -- Specify that multiple libraries should be built + to support different target variants, calling conventions, etc. This is the + default. + + * --enable-threads -- Specify that the target supports threads. + * --enable-threads=lib -- Specify that lib is the thread support + library. + + * --with-cpu=cpu -- Specify which cpu variant the compiler should + generate code for by default. This is currently only supported on the + RS6000/PowerPC ports. + +Some options which only apply to building cross compilers: + + * --with-headers=dir -- Specifies a directory which has target include + files. + + * --with-libs=dirs -- Specifies a list of directories which contain the + target runtime libraries. + + * --with-newlib -- 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. + +Note that each --enable option has a corresponding --disable option and +that each --with option has a corresponding --without option. + + diff --git a/INSTALL/FINALINSTALL b/INSTALL/FINALINSTALL new file mode 100644 index 00000000000..0a220349db0 --- /dev/null +++ b/INSTALL/FINALINSTALL @@ -0,0 +1,17 @@ +Final install egcs-1.00 + +Now that egcs has been built and tested, you can install it with +"cd objdir; make install". + +That step completes the installation of egcs; user level binaries can be found +in prefix/bin where prefix is the value you specified with the --prefix to +configure (or /usr/local by default). + +If you don't mind, please send egcs@cygnus.com a short mail message +indicating that you successfully built and installed egcs. Include the output +from running srcdirconfig.guess. + +If you find a bug in egcs, please report it to egcs-bugs@cygnus.com. + + + diff --git a/INSTALL/INDEX b/INSTALL/INDEX new file mode 100644 index 00000000000..fe18b9c5606 --- /dev/null +++ b/INSTALL/INDEX @@ -0,0 +1,28 @@ + Installing egcs-1.00 + +This document describes the generic installation procedure for egcs as well as +detailing some target specific installation instructions for egcs. + +egcs includes several components that previously were separate distributions +with their own installation instructions. This document supercedes all package +specific installation instructions. We provide the component specific +installation information in the source distribution for historical reference +purposes only. + +We recommend you read the entire generic installation instructions as well as +any target specific installation instructions before you proceed to configure, +build, test and install egcs. + +If something goes wrong in the configure, build, test or install procedures, +first double check that you followed the generic and target specific +installation instructions carefully. Then check the FAQ to see if your problem +is covered before you file a bug report. + +The installation procedure is broken into four steps. + + configure CONFIGURE + build BUILD + test (optional) TEST + install FINALINSTALL + +Before starting the build/install procedure please browse the host/target specific installation notes (SPECIFIC). diff --git a/INSTALL/README b/INSTALL/README new file mode 100644 index 00000000000..786ca89ece4 --- /dev/null +++ b/INSTALL/README @@ -0,0 +1,14 @@ +This directory contains installation instrutions for egcs-1.00. + +We're providing installation instructions in two forms, html and +plaintext. + +index.html is the toplevel install file for html browsers. + +INDEX is the toplevel install file in plaintext form. + +The most recent HTML installation instructions for egcs can be obtained from +the egcs web site: + +http://www.cygnus.com/egcs/install + diff --git a/INSTALL/SPECIFIC b/INSTALL/SPECIFIC new file mode 100644 index 00000000000..f29069c394b --- /dev/null +++ b/INSTALL/SPECIFIC @@ -0,0 +1,83 @@ +Host/Target specific installation notes for + egcs-1.00 + +alpha*-*-* +No specific installation needs/instructions. + +i?86-*-linux-gnulibc1 +You will need binutils-2.8.1.0.15 or newer for exception handling to work. + +i?86-*-sco3.2v5* +The SCO assembler is currently required. The GNU assembler is not up to the +task of switching between ELF and COFF at runtime. +Unlike various prereleases of GCC, that used '-belf' and defaulted to COFF, +you must now use the '-melf' and '-mcoff' flags to toggle between the two +object file formats. ELF is now the default. +Look in gcc/config/i386/sco5.h (search for "messy") for additional +OpenServer-specific flags. + +hppa*-hp-hpux* +We highly recommend using gas/binutils-2.8 on all hppa platforms; you may +encounter a variety of problems when using the HP assembler. XXX How to +make sure gcc finds/uses gas. + +hppa*-hp-hpux9 +The HP assembler has major problems on this platform. We've tried to work +around the worst of the problems. However, those workarounds may be causing +linker crashes in some circumstances; the workarounds also probably prevent +shared libraries from working. Use the GNU assembler to avoid these +problems. + +The configuration scripts for egcs will also trigger a bug in the hpux9 shell. +To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to /bin/ksh in +your environment. + +hppa*-hp-hpux10 +For hpux10.20, we highly recommend you pick up the latest sed patch from +HP. HP has two sites which provide patches free of charge. +US, Canada, Asia-Pacific, and Latin-America +Europe + +Retrieve patch PHCO_12862. + + +The HP assembler on these systems is much better than the hpux9 assembler, +but still has some problems. Most notably the assembler inserts timestamps +into each object file it creates, causing the 3-stage comparison test to fail +during a "make bootstrap". You should be able to continue by saying "make +all" after getting the failure from "make bootstrap". + +m68k-*-nextstep* +You absolutely must use GNU sed and GNU make on this platform. If you try +to build the integrated C++ & C++ runtime libraries on this system you will +run into trouble with include files. The way to get around this is to use the +following sequence. + +cd objdir +make all-texinfo all-bison all-byacc all-binutils all-gas all-ld +cd gcc +make bootstrap +make install-headers-tar +cd .. +make bootstrap3 + +mips*-sgi-irix4 + +mips*-sgi-irix5 +You must use GAS on these platforms, the native assembler can not handle the +code for exception handling support on this platform. These systems don't have +ranlib, which various components in egcs need; you should be able to avoid this +problem by installing GNU binutils, which includes a functional ranlib for this +system. + + +You may get the following warning on irix4 platforms, it can be safely +ignored. + + warning: foo.o does not have gp tables for all its sections. + +powerpc-*-linux-gnu* +You will need binutils-2.8.1.0.17 for a working egcs. It is strongly +recommended to recompile binutils with egcs if you initially built it with +gcc-2.7.2.*. + diff --git a/INSTALL/TEST b/INSTALL/TEST new file mode 100644 index 00000000000..50620b1e558 --- /dev/null +++ b/INSTALL/TEST @@ -0,0 +1,23 @@ +Testing egcs-1.00 + +Before you install egcs, you might wish to run the egcs testsuite; this step is +optional and may require you to download additional software. + +First, you must have downloaded the egcs testsuites; the full distribution +contains testsuites. If you downloaded the "core" compiler plus any front ends, +then you do not have the testsuites. You can download the testsuites from the +same site where you downloaded the core distribution and language front ends. + +Second, you must have a new version of dejagnu on your system; dejagnu-1.3 +will not work. We have made a dejagnu snapshot available in +ftp.cygnus.com:/pub/egcs/infrastructure until a new version of dejagnu can be +released. + +Assuming you've got the testsuites unpacked and have installed an appropriate +dejagnu, you can run the testsuite with "cd objdir; make -k check". This may +take a long time. Go get some lunch. + +The testing process will try to test as many components in the egcs distrubution +as possible, including the C, C++ and Fortran compiler as well as the C++ +runtime libraries. + diff --git a/INSTALL/build.html b/INSTALL/build.html new file mode 100644 index 00000000000..e7a9d27a0ce --- /dev/null +++ b/INSTALL/build.html @@ -0,0 +1,67 @@ + + +Building egcs-1.00 + + +

Building egcs-1.00

+ +

Now that egcs is configured, you are ready to build the compiler and +runtime libraries. + +

We highly recommend that egcs be built using gnu-make; other +versions make work, then again they might not. To be safe build with gnu-make. +

+ +Building a native compiler +

For a native build issue the command "make bootstrap". This will build +the entire egcs compiler system, which includes the following steps: + +

+ +

If you are short on disk space you might consider "make bootstrap-lean" +instead. This is identical to "make bootstrap" except that object files +from the stage1 and stage2 of the 3-stage bootstrap of the compiler are +deleted as soon as they are no longer needed. + +Building a cross compiler + +

We recommend reading the + +crossgcc FAQ for information about building cross compilers. + +

For a cross build, issue the command "make cross", which performs the +following steps: +

+ +

Note that if an error occurs in any step the make process will exit. + +

+


+Last modified on December 1, 1997. + + + diff --git a/INSTALL/configure.html b/INSTALL/configure.html new file mode 100644 index 00000000000..29b0b860c7f --- /dev/null +++ b/INSTALL/configure.html @@ -0,0 +1,119 @@ + + +Configuring egcs-1.00 + + +

Configuring egcs-1.00

+ +

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. + +

We use srcdir to refer to the toplevel source directory for +egcs; we use objdir to refer to the toplevel build/object +directory for egcs. + +

First, we highly recommend that egcs be built into a separate +directory than the sources. This is how we generally build egcs; building +where srcdir == objdir should still work, but doesn't get +extensive testing. + +

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. + +

To configure egcs: + +

+ +
% mkdir objdir +
% cd objdir +
% srcdir/configure [target] [options] +
+
+ + +

target specification +

+ + +

options specification + +

Use options to override several configure time options for +egcs. A partial list of supported options: + +

+ +

Some options which only apply to building cross compilers: +

+ +

Note that each --enable option has a corresponding --disable option and +that each --with option has a corresponding --without option. + + +

+


+Last modified on December 1, 1997. + + + diff --git a/INSTALL/finalinstall.html b/INSTALL/finalinstall.html new file mode 100644 index 00000000000..1cb90abc4ca --- /dev/null +++ b/INSTALL/finalinstall.html @@ -0,0 +1,27 @@ + + +Final install egcs-1.00 + + +

Final install egcs-1.00

+ +

Now that egcs has been built and tested, you can install it with +"cd objdir; make install". + +

That step completes the installation of egcs; user level binaries can +be found in prefix/bin where prefix is the value you specified +with the --prefix to configure (or /usr/local by default). + +

If you don't mind, please send egcs@cygnus.com a short mail message +indicating that you successfully built and installed egcs. Include +the output from running srcdirconfig.guess. + +

If you find a bug in egcs, please report it to +egcs-bugs@cygnus.com. + +

+


+Last modified on December 1, 1997. + + + diff --git a/INSTALL/index.html b/INSTALL/index.html new file mode 100644 index 00000000000..fd62562e4e1 --- /dev/null +++ b/INSTALL/index.html @@ -0,0 +1,47 @@ + + +Installing egcs-1.00 + + +

Installing egcs-1.00

+ +

This document describes the generic installation procedure for egcs as +well as detailing some target specific installation instructions for egcs. + +

egcs includes several components that previously were separate distributions +with their own installation instructions. This document supercedes all +package specific installation instructions. We provide the component specific +installation information in the source distribution for historical reference +purposes only. + +

We recommend you read the entire generic installation instructions as +well as any target specific installation instructions before you proceed +to configure, build, test and install egcs. + +

If something goes wrong in the configure, build, test or install +procedures, first double check that you followed the generic and target +specific installation instructions carefully. Then check the +FAQ to see if your problem is covered before you file +a bug report. + +

The installation procedure is broken into four steps. + +

+ +

Before starting the build/install procedure please browse the +host/target specific installation notes. + +


+Return to the egcs home page + + +
+Last modified on December 1, 1997. + diff --git a/INSTALL/specific.html b/INSTALL/specific.html new file mode 100644 index 00000000000..894c1c49e2f --- /dev/null +++ b/INSTALL/specific.html @@ -0,0 +1,103 @@ + + +Host/Target specific installation notes for egcs-1.00 + + +

Host/Target specific installation notes for egcs-1.00

+ +

alpha*-*-*
+No specific installation needs/instructions. + + +

i?86-*-linux-gnulibc1
+You will need binutils-2.8.1.0.15 or newer for exception handling to work. + +

i?86-*-sco3.2v5*
+The SCO assembler is currently required. The GNU assembler is not up +to the task of switching between ELF and COFF at runtime. + +
Unlike various prereleases of GCC, that used '-belf' and defaulted to +COFF, you must now use the '-melf' and '-mcoff' flags to toggle between +the two object file formats. ELF is now the default. + +
Look in gcc/config/i386/sco5.h (search for "messy") for additional +OpenServer-specific flags. + + + +

hppa*-hp-hpux*
+We highly recommend using gas/binutils-2.8 on all hppa platforms; you +may encounter a variety of problems when using the HP assembler. + +XXX How to make sure gcc finds/uses gas. + +

hppa*-hp-hpux9
+The HP assembler has major problems on this platform. We've tried to work +around the worst of the problems. However, those workarounds may be causing +linker crashes in some circumstances; the workarounds also probably prevent +shared libraries from working. Use the GNU assembler to avoid these problems. + +
The configuration scripts for egcs will also trigger a bug in the hpux9 +shell. To avoid this problem set CONFIG_SHELL to /bin/ksh and SHELL to +/bin/ksh in your environment. + +

hppa*-hp-hpux10
+For hpux10.20, we highly recommend you pick up the latest sed +patch from HP. HP has two sites which provide patches free of charge. + +
US, Canada, Asia-Pacific, and +Latin-America +
Europe + +

Retrieve patch PHCO_12862. + +

The HP assembler on these systems is much better than the hpux9 assembler, +but still has some problems. Most notably the assembler inserts timestamps +into each object file it creates, causing the 3-stage comparison test to fail +during a "make bootstrap". You should be able to continue by saying "make all" +after getting the failure from "make bootstrap". + +

m68k-*-nextstep*
+You absolutely must use GNU sed and GNU make on this platform. + +If you try to build the integrated C++ & C++ runtime libraries on this system +you will run into trouble with include files. The way to get around this is +to use the following sequence. +

cd objdir
+make all-texinfo all-bison all-byacc all-binutils all-gas all-ld
+cd gcc
+make bootstrap
+make install-headers-tar
+cd ..
+make bootstrap3
+ +

mips*-sgi-irix4
+

mips*-sgi-irix5
+You must use GAS on these platforms, the native assembler can not handle the +code for exception handling support on this platform. + +These systems don't have ranlib, which various components in egcs need; you +should be able to avoid this problem by installing GNU binutils, which includes +a functional ranlib for this system. + +

You may get the following warning on irix4 platforms, it can be safely +ignored. +

+    warning: foo.o does not have gp tables for all its sections.
+
+ +

powerpc-*-linux-gnu*
+You will need +binutils-2.8.1.0.17 for +a working egcs. It is strongly recommended to recompile binutils with egcs +if you initially built it with gcc-2.7.2.*. + +

+exception handling +

XXX Linux stuff +-k encaps stuff +


+Last modified on December 1, 1997. + + + diff --git a/INSTALL/test.html b/INSTALL/test.html new file mode 100644 index 00000000000..f962473a605 --- /dev/null +++ b/INSTALL/test.html @@ -0,0 +1,37 @@ + + +Testing egcs-1.00 + + +

Testing egcs-1.00

+ +

Before you install egcs, you might wish to run the egcs testsuite; this +step is optional and may require you to download additional software. + +

First, you must have downloaded the egcs testsuites; the full distribution +contains testsuites. If you downloaded the "core" compiler plus any front +ends, then you do not have the testsuites. You can download the testsuites +from the same site where you downloaded the core distribution and language +front ends. + +

Second, you must have a new version of dejagnu on your system; dejagnu-1.3 +will not work. We have made a + +dejagnu snapshot available in ftp.cygnus.com:/pub/egcs/infrastructure until +a new version of dejagnu can be released. + +

Assuming you've got the testsuites unpacked and have installed an appropriate +dejagnu, you can run the testsuite with "cd objdir; make -k check". +This may take a long time. Go get some lunch. + +

The testing process will try to test as many components in the egcs +distrubution as possible, including the C, C++ and Fortran compiler as +well as the C++ runtime libraries. + +

How to interpret test results XXX. + +


+Last modified on December 1, 1997. + + + -- 2.11.4.GIT