Virgin import of the GCC 2.95.1 compilers
This commit is contained in:
parent
163cbd8b5a
commit
ed15955f8c
@ -1,14 +1,35 @@
|
||||
@c Copyright (C) 1995-1997 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1995-1999 Free Software Foundation, Inc.
|
||||
@c This is part of the G77 manual.
|
||||
@c For copying conditions, see the file g77.texi.
|
||||
|
||||
@c The text of this file appears in the file INSTALL
|
||||
@c in the G77 distribution, as well as in the G77 manual.
|
||||
|
||||
@c 1998-07-13
|
||||
@c Keep this the same as the dates above, since it's used
|
||||
@c in the standalone derivations of this file (e.g. INSTALL).
|
||||
@set copyrights 1995-1999
|
||||
|
||||
@set last-update-install 1999-07-17
|
||||
|
||||
@include root.texi
|
||||
|
||||
@ifset DOC-INSTALL
|
||||
@c The immediately following lines apply to the INSTALL file
|
||||
@c which is generated using this file.
|
||||
@emph{Note:} This file is automatically generated from the files
|
||||
@file{install0.texi} and @file{g77install.texi}.
|
||||
@file{INSTALL} is @emph{not} a source file,
|
||||
although it is normally included within source distributions.
|
||||
|
||||
This file contains installation information for the GNU Fortran compiler.
|
||||
Copyright (C) @value{copyrights-install} Free Software Foundation, Inc.
|
||||
You may copy, distribute, and modify it freely as long as you preserve
|
||||
this copyright notice and permission notice.
|
||||
|
||||
@node Top,,, (dir)
|
||||
@chapter Installing GNU Fortran
|
||||
@end ifset
|
||||
|
||||
@set version-g77 0.5.24
|
||||
@set version-gcc 2.8.1
|
||||
@set version-autoconf 2.12
|
||||
@set version-bison 1.25
|
||||
@set version-gperf 2.5
|
||||
@ -20,20 +41,33 @@
|
||||
@set version-tar 1.12
|
||||
@set version-texinfo 3.12
|
||||
|
||||
@ifclear INSTALLONLY
|
||||
@ifset DOC-G77
|
||||
@node Installation
|
||||
@chapter Installing GNU Fortran
|
||||
@end ifclear
|
||||
@cindex installing GNU Fortran
|
||||
@cindex installing, GNU Fortran
|
||||
@end ifset
|
||||
|
||||
The following information describes how to install @code{g77}.
|
||||
|
||||
Note that, for @code{egcs} users,
|
||||
much of this information is obsolete,
|
||||
and is superceded by the
|
||||
@code{egcs} installation procedures.
|
||||
Such information is explicitly flagged as such.
|
||||
@clear OMIT-FSF-G77
|
||||
|
||||
@ifset EGCS-G77
|
||||
@set OMIT-FSF-G77
|
||||
@end ifset
|
||||
|
||||
@ifset GCC-G77
|
||||
@set OMIT-FSF-G77
|
||||
@end ifset
|
||||
|
||||
@ifset OMIT-FSF-G77
|
||||
Note that, for users of the @value{which-g77} version of @code{g77},
|
||||
much of the information is obsolete,
|
||||
and is superceded by the
|
||||
@value{which-gcc} installation procedures.
|
||||
Such information is accordingly omitted and flagged as such.
|
||||
@end ifset
|
||||
|
||||
@ifclear OMIT-FSF-G77
|
||||
The information in this file generally pertains to dealing
|
||||
with @emph{source} distributions of @code{g77} and @code{gcc}.
|
||||
It is possible that some of this information will be applicable
|
||||
@ -45,6 +79,25 @@ whoever built and first distributed them.
|
||||
Nevertheless, efforts to make @code{g77} easier to both build
|
||||
and install from source and package up as a binary distribution
|
||||
are ongoing.
|
||||
@end ifclear
|
||||
|
||||
@ifset DEVELOPMENT
|
||||
@emph{Warning:} The information below is still under development,
|
||||
and might not accurately reflect the @code{g77} code base
|
||||
of which it is a part.
|
||||
Efforts are made to keep it somewhat up-to-date,
|
||||
but they are particularly concentrated
|
||||
on any version of this information
|
||||
that is distributed as part of a @emph{released} @code{g77}.
|
||||
|
||||
In particular, while this information is intended to apply to
|
||||
the @value{which-g77} version of @code{g77},
|
||||
only an official @emph{release} of that version
|
||||
is expected to contain documentation that is
|
||||
most consistent with the @code{g77} product in that version.
|
||||
@end ifset
|
||||
|
||||
The following information was last updated on @value{last-update-install}:
|
||||
|
||||
@menu
|
||||
* Prerequisites:: Make sure your system is ready for @code{g77}.
|
||||
@ -59,10 +112,13 @@ are ongoing.
|
||||
@section Prerequisites
|
||||
@cindex prerequisites
|
||||
|
||||
@emph{Version info:}
|
||||
For @code{egcs} users, the following information is
|
||||
superceded by the @code{egcs} installation instructions.
|
||||
@ifset OMIT-FSF-G77
|
||||
For users of the @value{which-g77} version of @code{g77},
|
||||
this information is superceded by the
|
||||
@value{which-gcc} installation instructions.
|
||||
@end ifset
|
||||
|
||||
@ifclear OMIT-FSF-G77
|
||||
The procedures described to unpack, configure, build, and
|
||||
install @code{g77} assume your system has certain programs
|
||||
already installed.
|
||||
@ -338,6 +394,8 @@ instead of the entire @file{.tar.gz} distribution
|
||||
to rebuild derived files, such as @code{makeinfo}).
|
||||
@end table
|
||||
|
||||
@end ifclear
|
||||
|
||||
@node Problems Installing
|
||||
@section Problems Installing
|
||||
@cindex problems installing
|
||||
@ -366,9 +424,9 @@ These problems can occur on most or all systems.
|
||||
* GNU C Required:: Why even ANSI C is not enough.
|
||||
* Patching GNU CC:: Why @code{gcc} needn't be patched.
|
||||
* Building GNU CC Necessary:: Why you can't build @emph{just} Fortran.
|
||||
* Missing strtoul or bsearch:: When linking @samp{f771} fails.
|
||||
* Missing strtoul or bsearch:: When linking @code{f771} fails.
|
||||
* Cleanup Kills Stage Directories:: For @code{g77} developers.
|
||||
* LANGUAGES Macro Ignored:: Sometimes @samp{LANGUAGES} is ignored.
|
||||
* LANGUAGES Macro Ignored:: Sometimes @code{LANGUAGES} is ignored.
|
||||
@end menu
|
||||
|
||||
@node GNU C Required
|
||||
@ -385,7 +443,7 @@ so there are no plans for an interim fix.
|
||||
This requirement does not mean you must already have @code{gcc}
|
||||
installed to build @code{g77}.
|
||||
As long as you have a working C compiler, you can use a
|
||||
bootstrap build to automate the process of first building
|
||||
``bootstrap'' build to automate the process of first building
|
||||
@code{gcc} using the working C compiler you have, then building
|
||||
@code{g77} and rebuilding @code{gcc} using that just-built @code{gcc},
|
||||
and so on.
|
||||
@ -403,7 +461,7 @@ and @code{egcs} version 1.0.
|
||||
|
||||
@node Building GNU CC Necessary
|
||||
@subsubsection Building GNU CC Necessary
|
||||
@cindex gcc, building
|
||||
@cindex @code{gcc}, building
|
||||
@cindex building gcc
|
||||
|
||||
It should be possible to build the runtime without building @code{cc1}
|
||||
@ -420,22 +478,24 @@ is not yet established.
|
||||
@cindex undefined reference (_strtoul)
|
||||
@cindex f771, linking error for
|
||||
@cindex linking error for f771
|
||||
@cindex ld error for f771
|
||||
@cindex ld can't find _bsearch
|
||||
@cindex ld can't find _strtoul
|
||||
@cindex @code{ld}, error linking f771
|
||||
@cindex @code{ld}, can't find _bsearch
|
||||
@cindex @code{ld}, can't find _strtoul
|
||||
@cindex SunOS4
|
||||
|
||||
@emph{Version info:}
|
||||
The following information does not apply to the
|
||||
@code{egcs} version of @code{g77}.
|
||||
@ifset OMIT-FSF-G77
|
||||
This information does not apply to
|
||||
the @value{which-g77} version of @code{g77},
|
||||
@end ifset
|
||||
|
||||
@ifclear OMIT-FSF-G77
|
||||
On SunOS4 systems, linking the @code{f771} program used to
|
||||
produce an error message concerning an undefined symbol named
|
||||
@samp{_strtoul}, because the @samp{strtoul} library function
|
||||
@samp{_strtoul}, because the @code{strtoul} library function
|
||||
is not provided on that system.
|
||||
|
||||
Other systems have, in the past, been reported to not provide
|
||||
their own @samp{strtoul} or @samp{bsearch} function.
|
||||
their own @code{strtoul} or @code{bsearch} function.
|
||||
|
||||
Some versions @code{g77} tried to default to providing bare-bones
|
||||
versions of @code{bsearch} and @code{strtoul} automatically,
|
||||
@ -443,15 +503,15 @@ but every attempt at this has failed for at least one kind of system.
|
||||
|
||||
To limit the failures to those few systems actually missing the
|
||||
required routines, the bare-bones versions are still provided,
|
||||
in @file{gcc/f/proj.c},
|
||||
in @file{@value{path-g77}/proj.c},
|
||||
if the appropriate macros are defined.
|
||||
These are @code{NEED_BSEARCH} for @samp{bsearch} and
|
||||
@code{NEED_STRTOUL} for @samp{NEED_STRTOUL}.
|
||||
These are @code{NEED_BSEARCH} for @code{bsearch} and
|
||||
@code{NEED_STRTOUL} for @code{NEED_STRTOUL}.
|
||||
|
||||
Therefore, if you are sure your system is missing
|
||||
@code{bsearch} or @code{strtoul} in its library,
|
||||
define the relevant macro(s) before building @code{g77}.
|
||||
This can be done by editing @file{gcc/f/proj.c} and inserting
|
||||
This can be done by editing @file{@value{path-g77}/proj.c} and inserting
|
||||
either or both of the following @samp{#define} statements
|
||||
before the comment shown:
|
||||
|
||||
@ -470,15 +530,17 @@ To build with the bundled @code{cc} on SunOS4, for example, try:
|
||||
make bootstrap BOOT_CFLAGS='-O2 -g -DNEED_STRTOUL'
|
||||
@end smallexample
|
||||
|
||||
If you then encounter problems compiling @file{gcc/f/proj.c},
|
||||
it might be due to a discrepancy between how @samp{bsearch}
|
||||
or @samp{strtoul} are defined by that file and how they're
|
||||
If you then encounter problems compiling @file{@value{path-g77}/proj.c},
|
||||
it might be due to a discrepancy between how @code{bsearch}
|
||||
or @code{strtoul} are defined by that file and how they're
|
||||
declared by your system's header files.
|
||||
|
||||
In that case, you'll have to use some basic knowledge of C
|
||||
to work around the problem, perhaps by editing @file{gcc/f/proj.c}
|
||||
to work around the problem, perhaps by editing @file{@value{path-g77}/proj.c}
|
||||
somewhat.
|
||||
|
||||
@end ifclear
|
||||
|
||||
@node Cleanup Kills Stage Directories
|
||||
@subsubsection Cleanup Kills Stage Directories
|
||||
@cindex stage directories
|
||||
@ -498,14 +560,14 @@ that, on demand.
|
||||
|
||||
@node LANGUAGES Macro Ignored
|
||||
@subsubsection LANGUAGES Macro Ignored
|
||||
@cindex @samp{LANGUAGES} macro ignored
|
||||
@cindex ignoring @samp{LANGUAGES} macro
|
||||
@cindex @code{LANGUAGES} macro ignored
|
||||
@cindex ignoring @code{LANGUAGES} macro
|
||||
|
||||
Prior to version 0.5.23 of @code{g77}
|
||||
and version 1.1 of @code{egcs},
|
||||
@code{g77} would sometimes ignore
|
||||
the absence of @samp{f77} and @samp{F77} in the
|
||||
@samp{LANGUAGES} macro definition used for the
|
||||
the absence of @code{f77} and @code{F77} in the
|
||||
@code{LANGUAGES} macro definition used for the
|
||||
@code{make} command being processed.
|
||||
|
||||
As of @code{g77} version 0.5.23
|
||||
@ -519,7 +581,7 @@ such as @code{g++},
|
||||
are known to go ahead and perform various
|
||||
language-specific activities when their
|
||||
respective language strings do not appear
|
||||
in the @samp{LANGUAGES} macro in effect
|
||||
in the @code{LANGUAGES} macro in effect
|
||||
during that invocation of @code{make}.
|
||||
|
||||
It is expected that these remaining problems will
|
||||
@ -532,7 +594,9 @@ be fixed in a future version of @code{gcc}.
|
||||
A linker bug on some versions of AIX 4.1 might prevent building
|
||||
when @code{g77} is built within @code{gcc}.
|
||||
It might also occur when building within @code{egcs}.
|
||||
@ifset DOC-G77
|
||||
@xref{LINKFAIL}.
|
||||
@end ifset
|
||||
|
||||
@node Cross-compiler Problems
|
||||
@subsection Cross-compiler Problems
|
||||
@ -597,7 +661,7 @@ system, depending on the systems involved in the configuration.
|
||||
@section Changing Settings Before Building
|
||||
|
||||
Here are some internal @code{g77} settings that can be changed
|
||||
by editing source files in @file{gcc/f/} before building.
|
||||
by editing source files in @file{@value{path-g77}/} before building.
|
||||
|
||||
This information, and perhaps even these settings, represent
|
||||
stop-gap solutions to problems people doing various ports
|
||||
@ -606,7 +670,7 @@ As such, none of the following information is expected to
|
||||
be pertinent in future versions of @code{g77}.
|
||||
|
||||
@menu
|
||||
* Larger File Unit Numbers:: Raising @samp{MXUNIT}.
|
||||
* Larger File Unit Numbers:: Raising @code{MXUNIT}.
|
||||
* Always Flush Output:: Synchronizing write errors.
|
||||
* Maximum Stackable Size:: Large arrays forced off the stack.
|
||||
* Floating-point Bit Patterns:: Possible programs building @code{g77}
|
||||
@ -634,22 +698,22 @@ a run-time crash in @code{libf2c}, because the unit number,
|
||||
|
||||
If you know that Fortran programs at your installation require
|
||||
the use of unit numbers higher than 99, you can change the
|
||||
value of the @samp{MXUNIT} macro, which represents the maximum unit
|
||||
value of the @code{MXUNIT} macro, which represents the maximum unit
|
||||
number, to an appropriately higher value.
|
||||
|
||||
To do this, edit the file @file{f/runtime/libI77/fio.h} in your
|
||||
To do this, edit the file @file{@value{path-libf2c}/libI77/fio.h} in your
|
||||
@code{g77} source tree, changing the following line:
|
||||
|
||||
@example
|
||||
#define MXUNIT 100
|
||||
@end example
|
||||
|
||||
Change the line so that the value of @samp{MXUNIT} is defined to be
|
||||
Change the line so that the value of @code{MXUNIT} is defined to be
|
||||
at least one @emph{greater} than the maximum unit number used by
|
||||
the Fortran programs on your system.
|
||||
|
||||
(For example, a program that does @samp{WRITE (UNIT=255)} would require
|
||||
@samp{MXUNIT} set to at least 256 to avoid crashing.)
|
||||
@code{MXUNIT} set to at least 256 to avoid crashing.)
|
||||
|
||||
Then build or rebuild @code{g77} as appropriate.
|
||||
|
||||
@ -690,7 +754,7 @@ asynchronous, or, more precisely, buffered error reporting
|
||||
(detection of errors might be delayed).
|
||||
|
||||
@code{libg2c} supports flagging write errors immediately when
|
||||
it is built with the @samp{ALWAYS_FLUSH} macro defined.
|
||||
it is built with the @code{ALWAYS_FLUSH} macro defined.
|
||||
This results in a @code{libg2c} that runs slower, sometimes
|
||||
quite a bit slower, under certain circumstances---for example,
|
||||
accessing files via the networked file system NFS---but the
|
||||
@ -700,10 +764,10 @@ If you know that Fortran programs requiring this level of precision
|
||||
of error reporting are to be compiled using the
|
||||
version of @code{g77} you are building, you might wish to
|
||||
modify the @code{g77} source tree so that the version of
|
||||
@code{libg2c} is built with the @samp{ALWAYS_FLUSH} macro
|
||||
@code{libg2c} is built with the @code{ALWAYS_FLUSH} macro
|
||||
defined, enabling this behavior.
|
||||
|
||||
To do this, find this line in @file{f/runtime/f2c.h} in
|
||||
To do this, find this line in @file{@value{path-libf2c}/f2c.h} in
|
||||
your @code{g77} source tree:
|
||||
|
||||
@example
|
||||
@ -721,11 +785,11 @@ Then build or rebuild @code{g77} as appropriate.
|
||||
@vindex FFECOM_sizeMAXSTACKITEM
|
||||
@cindex code, stack variables
|
||||
@cindex maximum stackable size
|
||||
@cindex stack allocation
|
||||
@cindex stack, allocation
|
||||
@cindex segmentation violation
|
||||
@code{g77}, on most machines, puts many variables and arrays on the stack
|
||||
where possible, and can be configured (by changing
|
||||
@samp{FFECOM_sizeMAXSTACKITEM} in @file{gcc/f/com.c}) to force
|
||||
@code{FFECOM_sizeMAXSTACKITEM} in @file{@value{path-g77}/com.c}) to force
|
||||
smaller-sized entities into static storage (saving
|
||||
on stack space) or permit larger-sized entities to be put on the
|
||||
stack (which can improve run-time performance, as it presents
|
||||
@ -733,7 +797,7 @@ more opportunities for the GBE to optimize the generated code).
|
||||
|
||||
@emph{Note:} Putting more variables and arrays on the stack
|
||||
might cause problems due to system-dependent limits on stack size.
|
||||
Also, the value of @samp{FFECOM_sizeMAXSTACKITEM} has no
|
||||
Also, the value of @code{FFECOM_sizeMAXSTACKITEM} has no
|
||||
effect on automatic variables and arrays.
|
||||
@xref{But-bugs}, for more information.
|
||||
|
||||
@ -758,7 +822,7 @@ something like @samp{EQUIVALENCE (I,R)} and @samp{DATA R/9.43578/}.)
|
||||
@node Large Initialization
|
||||
@subsection Initialization of Large Aggregate Areas
|
||||
|
||||
@cindex speed, compiler
|
||||
@cindex speed, of compiler
|
||||
@cindex slow compiler
|
||||
@cindex memory utilization
|
||||
@cindex large initialization
|
||||
@ -773,8 +837,8 @@ a factor of 10.
|
||||
This size currently is quite small, since @code{g77}
|
||||
currently has a known bug requiring too much memory
|
||||
and time to handle such cases.
|
||||
In @file{gcc/f/data.c}, the macro
|
||||
@samp{FFEDATA_sizeTOO_BIG_INIT_} is defined
|
||||
In @file{@value{path-g77}/data.c}, the macro
|
||||
@code{FFEDATA_sizeTOO_BIG_INIT_} is defined
|
||||
to the minimum size for the warning to appear.
|
||||
The size is specified in storage units,
|
||||
which can be bytes, words, or whatever, on a case-by-case basis.
|
||||
@ -827,10 +891,13 @@ systems.
|
||||
@section Quick Start
|
||||
@cindex quick start
|
||||
|
||||
@emph{Version info:}
|
||||
For @code{egcs} users, the following information is
|
||||
superceded by the @code{egcs} installation instructions.
|
||||
@ifset OMIT-FSF-G77
|
||||
For users of the @value{which-g77} version of @code{g77},
|
||||
this information is superceded by the
|
||||
@value{which-gcc} installation instructions.
|
||||
@end ifset
|
||||
|
||||
@ifclear OMIT-FSF-G77
|
||||
This procedure configures, builds, and installs @code{g77}
|
||||
``out of the box'' and works on most UNIX systems.
|
||||
Each command is identified by a unique number,
|
||||
@ -1108,13 +1175,18 @@ around anymore.
|
||||
Removing them can free up a lot of disk space.
|
||||
@end table
|
||||
|
||||
@end ifclear
|
||||
|
||||
@node Complete Installation
|
||||
@section Complete Installation
|
||||
|
||||
@emph{Version info:}
|
||||
For @code{egcs} users, the following information is
|
||||
mostly superceded by the @code{egcs} installation instructions.
|
||||
@ifset OMIT-FSF-G77
|
||||
For users of the @value{which-g77} version of @code{g77},
|
||||
this information is superceded by the
|
||||
@value{which-gcc} installation instructions.
|
||||
@end ifset
|
||||
|
||||
@ifclear OMIT-FSF-G77
|
||||
Here is the complete @code{g77}-specific information on how
|
||||
to configure, build, and install @code{g77}.
|
||||
|
||||
@ -1209,7 +1281,7 @@ tree for the first time.
|
||||
@cindex modifying @code{g77}
|
||||
@cindex code, modifying
|
||||
@cindex Pentium optimizations
|
||||
@cindex optimizations, Pentium
|
||||
@cindex optimization, for Pentium
|
||||
@emph{Note:} Please use @strong{only} @code{gcc} and @code{g77}
|
||||
source trees as distributed by the FSF.
|
||||
Use of modified versions is likely to result in problems that appear to be
|
||||
@ -1223,16 +1295,16 @@ and @code{gcc} can coexist as they do in the stock FSF distributions.
|
||||
@node Merging Distributions
|
||||
@subsection Merging Distributions
|
||||
@cindex merging distributions
|
||||
@cindex @code{gcc} versions supported by @code{g77}
|
||||
@cindex versions of @code{gcc}
|
||||
@cindex support for @code{gcc} versions
|
||||
@cindex @code{gcc}, versions supported by @code{g77}
|
||||
@cindex versions, of @code{gcc}
|
||||
@cindex support, @code{gcc} versions
|
||||
|
||||
After merging the @code{g77} source tree into the @code{gcc} source tree,
|
||||
you have put together a complete @code{g77} source tree.
|
||||
|
||||
@cindex gcc version numbering
|
||||
@cindex version numbering
|
||||
@cindex g77 version number
|
||||
@cindex @code{gcc}, version number
|
||||
@cindex version number
|
||||
@cindex @code{g77}, version number
|
||||
@cindex GNU version numbering
|
||||
As of version 0.5.23, @code{g77} no longer modifies
|
||||
the version number of @code{gcc},
|
||||
@ -1266,7 +1338,7 @@ the directories they create.)
|
||||
|
||||
If your version of @code{gcc} is older than the oldest version
|
||||
supported by @code{g77}
|
||||
(as casually determined by listing the contents of @file{gcc/f/INSTALL/},
|
||||
(as casually determined by listing the contents of @file{@value{path-g77}/INSTALL/},
|
||||
which contains these installation instructions in plain-text format),
|
||||
you should obtain a newer, supported version of @code{gcc}.
|
||||
(You could instead obtain an older version of @code{g77},
|
||||
@ -1291,9 +1363,7 @@ it is likely that @file{gcc-2.8.2} would work well with @code{g77}.
|
||||
However, @file{gcc-2.9.0} would almost certainly
|
||||
not work with that version of @code{g77}
|
||||
without appropriate modifications,
|
||||
so a new version of @code{g77} would be needed (and you should
|
||||
wait for it rather than bothering the maintainers---@pxref{Changes,,
|
||||
User-Visible Changes}).
|
||||
so a new version of @code{g77} would be needed.
|
||||
|
||||
@cindex distributions, why separate
|
||||
@cindex separate distributions
|
||||
@ -1310,7 +1380,7 @@ and such changes require corresponding changes to
|
||||
the @code{g77} front end (FFE).
|
||||
|
||||
@c @pindex config-lang.in
|
||||
@c @emph{Note:} @code{g77}'s configuration file @file{gcc/f/config-lang.in}
|
||||
@c @emph{Note:} @code{g77}'s configuration file @file{@value{path-g77}/config-lang.in}
|
||||
@c sometimes ensures that the source code for the version of @code{gcc}
|
||||
@c being configured has at least one indication of being an appropriate
|
||||
@c version as required specifically by @code{g77}.
|
||||
@ -1325,7 +1395,7 @@ the @code{g77} front end (FFE).
|
||||
@node Where to Install
|
||||
@subsection Where in the World Does Fortran (and GNU CC) Go?
|
||||
@cindex language f77 not recognized
|
||||
@cindex gcc will not compile Fortran programs
|
||||
@cindex @code{gcc}, will not compile Fortran programs
|
||||
|
||||
Before configuring, you should make sure you know
|
||||
where you want the @code{g77} and @code{gcc}
|
||||
@ -1470,16 +1540,16 @@ issuing an explanatory diagnostic.
|
||||
@cindex building @code{gcc}
|
||||
@cindex building @code{g77}
|
||||
|
||||
@vindex LANGUAGES
|
||||
@cindex @code{LANGUAGES} macro
|
||||
Building @code{g77} requires building enough of @code{gcc} that
|
||||
these instructions assume you're going to build all of
|
||||
@code{gcc}, including @code{g++}, @code{protoize}, and so on.
|
||||
You can save a little time and disk space by changes the
|
||||
@samp{LANGUAGES} macro definition in @code{gcc/Makefile.in}
|
||||
@code{LANGUAGES} macro definition in @code{gcc/Makefile.in}
|
||||
or @code{gcc/Makefile}, but if you do that, you're on your own.
|
||||
One change is almost @emph{certainly} going to cause failures:
|
||||
removing @samp{c} or @samp{f77} from the definition of the
|
||||
@samp{LANGUAGES} macro.
|
||||
removing @code{c} or @code{f77} from the definition of the
|
||||
@code{LANGUAGES} macro.
|
||||
|
||||
After configuring @code{gcc}, which configures @code{g77} and
|
||||
@code{libg2c} automatically, you're ready to start the actual
|
||||
@ -1557,7 +1627,7 @@ To save some disk space during installation, after Stage 2
|
||||
is built, you can type @samp{rm -fr stage1} to remove the
|
||||
binaries built during Stage 1.
|
||||
|
||||
Also, @xref{Installation,,Installing GNU CC,gcc,Using and Porting GNU CC},
|
||||
Also, see @ref{Installation,,Installing GNU CC,gcc,Using and Porting GNU CC},
|
||||
for important information on building @code{gcc} that is
|
||||
not described in this @code{g77} manual.
|
||||
For example, explanations of diagnostic messages
|
||||
@ -1718,7 +1788,7 @@ make -k CC=gcc install
|
||||
|
||||
As described in @ref{Installation,,Installing GNU CC,
|
||||
gcc,Using and Porting GNU CC}, the values for
|
||||
the @samp{CC} and @samp{LANGUAGES} macros should
|
||||
the @code{CC} and @code{LANGUAGES} macros should
|
||||
be the same as those you supplied for the build
|
||||
itself.
|
||||
|
||||
@ -1738,7 +1808,7 @@ make -k @dots{} install install-libf77
|
||||
|
||||
We don't know why some non-GNU versions of @code{make} sometimes
|
||||
require this alternate command, but they do.
|
||||
(Remember to supply the appropriate definition for @samp{CC}
|
||||
(Remember to supply the appropriate definition for @code{CC}
|
||||
where you see @samp{@dots{}} in the above command.)
|
||||
|
||||
Note that using the @samp{-k} option tells @code{make} to
|
||||
@ -1872,10 +1942,10 @@ information for the derived files to work around the
|
||||
problem of not having the appropriate tools installed.
|
||||
|
||||
On UNIX systems, the simplest way to update the date-time-modified
|
||||
information of a file is to use the use the @samp{touch}
|
||||
information of a file is to use the use the @code{touch}
|
||||
command.
|
||||
|
||||
How to use @samp{touch} to update the derived files
|
||||
How to use @code{touch} to update the derived files
|
||||
updated by each of the tools is described below.
|
||||
@emph{Note:} New versions of @code{g77} might change the set of
|
||||
files it generates by invoking each of these tools.
|
||||
@ -1903,7 +1973,7 @@ do @emph{not} do @samp{make maintainer-clean}, and, to ensure that
|
||||
type these commands:
|
||||
|
||||
@example
|
||||
sh# @kbd{cd gcc/f/runtime}
|
||||
sh# @kbd{cd @value{path-libf2c}}
|
||||
sh# @kbd{touch configure libU77/configure}
|
||||
sh# @kbd{cd ../../..}
|
||||
sh#
|
||||
@ -1974,11 +2044,20 @@ sh# @kbd{cd ..}
|
||||
sh#
|
||||
@end example
|
||||
|
||||
@end ifclear
|
||||
|
||||
@node Distributing Binaries
|
||||
@section Distributing Binaries
|
||||
@cindex binaries, distributing
|
||||
@cindex code, distributing
|
||||
|
||||
@ifset OMIT-FSF-G77
|
||||
For users of the @value{which-g77} version of @code{g77},
|
||||
this information is superceded by the
|
||||
@value{which-gcc} installation instructions.
|
||||
@end ifset
|
||||
|
||||
@ifclear OMIT-FSF-G77
|
||||
If you are building @code{g77} for distribution to others in binary form,
|
||||
first make sure you are aware of your legal responsibilities (read
|
||||
the file @file{gcc/COPYING} thoroughly).
|
||||
@ -2097,7 +2176,7 @@ If it is not included, users will have trouble understanding
|
||||
diagnostics messages and other such things, and will send
|
||||
you a lot of email asking questions.
|
||||
|
||||
Please edit this documentation (by editing @file{gcc/f/*.texi}
|
||||
Please edit this documentation (by editing @file{@value{path-g77}/*.texi}
|
||||
and doing @samp{make doc} from the @file{/usr/src/gcc} directory)
|
||||
to reflect any changes you've made to @code{g77}, or at
|
||||
least to encourage users of your binary distribution to
|
||||
@ -2168,3 +2247,5 @@ and distributions, about which nothing could be done for the
|
||||
user.
|
||||
Once you are quite certain a bug report does not involve
|
||||
your efforts, you can forward it to us.
|
||||
|
||||
@end ifclear
|
||||
|
Loading…
Reference in New Issue
Block a user