Patch to remove old VMS install documentation

Joseph S. Myers jsm@polyomino.org.uk
Mon Nov 3 19:13:00 GMT 2003


This patch removes the obsolete VAX/VMS installation documentation from
install-old.texi (the actual VAX/VMS support having been removed some time
ago, having long been bitrotten, and the user documentation more
recently).

It passes "make info", "make dvi" and install.texi2html.  Applied to
mainline.

Index: ChangeLog
===================================================================
RCS file: /cvs/gcc/gcc/gcc/ChangeLog,v
retrieving revision 2.1659
diff -u -r2.1659 ChangeLog
--- ChangeLog	3 Nov 2003 11:52:37 -0000	2.1659
+++ ChangeLog	3 Nov 2003 19:10:16 -0000
@@ -1,3 +1,7 @@
+2003-11-03  Joseph S. Myers  <jsm@polyomino.org.uk>
+
+	* doc/install-old.texi: Remove VMS documentation.
+
 2003-11-03  Jan Hubicka  <jh@suse.cz>
 
 	* i386.c (override_options):  Remove hack enabling 128bit long double
Index: doc/install-old.texi
===================================================================
RCS file: /cvs/gcc/gcc/gcc/doc/install-old.texi,v
retrieving revision 1.17
diff -u -r1.17 install-old.texi
--- doc/install-old.texi	27 Sep 2003 04:48:29 -0000	1.17
+++ doc/install-old.texi	3 Nov 2003 19:10:16 -0000
@@ -22,12 +22,10 @@
 @menu
 * Configurations::    Configurations Supported by GCC.
 * Cross-Compiler::   Building and installing a cross-compiler.
-* VMS Install::   See below for installation on VMS.
 @end menu
 @end ifnothtml
 
 Here is the procedure for installing GCC on a GNU or Unix system.
-See @ref{VMS Install}, for VMS systems.
 
 @enumerate
 @item
@@ -197,16 +195,8 @@
 @file{xm-local.h}, @file{t-local}, and @file{x-local}, all in the
 directory @file{config/m68k}.
 
-Here is a list of configurations that have special treatment or special
-things you must know:
-
-@table @samp
-@item vax-dec-vms
-See @ref{VMS Install}, for details on how to install GCC on VMS@.
-@end table
-
 @ifnothtml
-@node Cross-Compiler, VMS Install, Configurations, Old
+@node Cross-Compiler, , Configurations, Old
 @section Building and Installing a Cross-Compiler
 @end ifnothtml
 @html
@@ -467,247 +457,3 @@
 must specify a 68030 as the host when you configure it.
 
 To install the cross-compiler, use @samp{make install}, as usual.
-
-@ifnothtml
-@node VMS Install, , Cross-Compiler, Old
-@section Installing GCC on VMS
-@end ifnothtml
-@html
-<h2>@anchor{VMS Install}Installing GCC on VMS</h2>
-@end html
-@cindex VMS installation
-@cindex installing GCC on VMS
-
-The VMS version of GCC is distributed in a backup saveset containing
-both source code and precompiled binaries.
-
-To install the @file{gcc} command so you can use the compiler easily, in
-the same manner as you use the VMS C compiler, you must install the VMS CLD
-file for GCC as follows:
-
-@enumerate
-@item
-Define the VMS logical names @samp{GNU_CC} and @samp{GNU_CC_INCLUDE}
-to point to the directories where the GCC executables
-(@file{gcc-cpp.exe}, @file{gcc-cc1.exe}, etc.) and the C include files are
-kept respectively.  This should be done with the commands:
-
-@smallexample
-$ assign /system /translation=concealed -
-  disk:[gcc.] gnu_cc
-$ assign /system /translation=concealed -
-  disk:[gcc.include.] gnu_cc_include
-@end smallexample
-
-@noindent
-with the appropriate disk and directory names.  These commands can be
-placed in your system startup file so they will be executed whenever
-the machine is rebooted.  You may, if you choose, do this via the
-@file{GCC_INSTALL.COM} script in the @file{[GCC]} directory.
-
-@item
-Install the @file{GCC} command with the command line:
-
-@smallexample
-$ set command /table=sys$common:[syslib]dcltables -
-  /output=sys$common:[syslib]dcltables gnu_cc:[000000]gcc
-$ install replace sys$common:[syslib]dcltables
-@end smallexample
-
-@item
-To install the help file, do the following:
-
-@smallexample
-$ library/help sys$library:helplib.hlb gcc.hlp
-@end smallexample
-
-@noindent
-Now you can invoke the compiler with a command like @samp{gcc /verbose
-file.c}, which is equivalent to the command @samp{gcc -v -c file.c} in
-Unix.
-@end enumerate
-
-If you wish to use GNU C++ you must first install GCC, and then
-perform the following steps:
-
-@enumerate
-@item
-Define the VMS logical name @samp{GNU_GXX_INCLUDE} to point to the
-directory where the preprocessor will search for the C++ header files.
-This can be done with the command:
-
-@smallexample
-$ assign /system /translation=concealed -
-  disk:[gcc.gxx_include.] gnu_gxx_include
-@end smallexample
-
-@noindent
-with the appropriate disk and directory name.  If you are going to be
-using a C++ runtime library, this is where its install procedure will install
-its header files.
-
-@item
-Obtain the file @file{gcc-cc1plus.exe}, and place this in the same
-directory that @file{gcc-cc1.exe} is kept.
-
-The GNU C++ compiler can be invoked with a command like @samp{gcc /plus
-/verbose file.cc}, which is equivalent to the command @samp{g++ -v -c
-file.cc} in Unix.
-@end enumerate
-
-We try to put corresponding binaries and sources on the VMS distribution
-tape.  But sometimes the binaries will be from an older version than the
-sources, because we don't always have time to update them.  (Use the
-@samp{/version} option to determine the version number of the binaries and
-compare it with the source file @file{version.c} to tell whether this is
-so.)  In this case, you should use the binaries you get to recompile the
-sources.  If you must recompile, here is how:
-
-@enumerate
-@item
-Execute the command procedure @file{vmsconfig.com} to set up the files
-@file{tm.h}, @file{config.h}, @file{aux-output.c}, and @file{md.}, and
-to create files @file{tconfig.h} and @file{bconfig.h}.  This procedure
-also creates several linker option files used by @file{make-cc1.com} and
-a data file used by @file{make-l2.com}.
-
-@smallexample
-$ @@vmsconfig.com
-@end smallexample
-
-@item
-Setup the logical names and command tables as defined above.  In
-addition, define the VMS logical name @samp{GNU_BISON} to point at the
-to the directories where the Bison executable is kept.  This should be
-done with the command:
-
-@smallexample
-$ assign /system /translation=concealed -
-  disk:[bison.] gnu_bison
-@end smallexample
-
-You may, if you choose, use the @file{INSTALL_BISON.COM} script in the
-@file{[BISON]} directory.
-
-@item
-Install the @samp{BISON} command with the command line:
-
-@smallexample
-$ set command /table=sys$common:[syslib]dcltables -
-  /output=sys$common:[syslib]dcltables -
-  gnu_bison:[000000]bison
-$ install replace sys$common:[syslib]dcltables
-@end smallexample
-
-@item
-Type @samp{@@make-gcc} to recompile everything, or submit the file
-@file{make-gcc.com} to a batch queue.  If you wish to build the GNU C++
-compiler as well as the GCC compiler, you must first edit
-@file{make-gcc.com} and follow the instructions that appear in the
-comments.
-
-@item
-In order to use GCC, you need a library of functions which GCC compiled code
-will call to perform certain tasks, and these functions are defined in the
-file @file{libgcc2.c}.  To compile this you should use the command procedure
-@file{make-l2.com}, which will generate the library @file{libgcc2.olb}.
-@file{libgcc2.olb} should be built using the compiler built from
-the same distribution that @file{libgcc2.c} came from, and
-@file{make-gcc.com} will automatically do all of this for you.
-
-To install the library, use the following commands:
-
-@smallexample
-$ library gnu_cc:[000000]gcclib/delete=(new,eprintf)
-$ library gnu_cc:[000000]gcclib/delete=L_*
-$ library libgcc2/extract=*/output=libgcc2.obj
-$ library gnu_cc:[000000]gcclib libgcc2.obj
-@end smallexample
-
-The first command simply removes old modules that will be replaced with
-modules from @file{libgcc2} under different module names.  The modules
-@code{new} and @code{eprintf} may not actually be present in your
-@file{gcclib.olb}---if the VMS librarian complains about those modules
-not being present, simply ignore the message and continue on with the
-next command.  The second command removes the modules that came from the
-previous version of the library @file{libgcc2.c}.
-
-Whenever you update the compiler on your system, you should also update the
-library with the above procedure.
-
-@item
-You may wish to build GCC in such a way that no files are written to the
-directory where the source files reside.  An example would be the when
-the source files are on a read-only disk.  In these cases, execute the
-following DCL commands (substituting your actual path names):
-
-@smallexample
-$ assign dua0:[gcc.build_dir.]/translation=concealed, -
-         dua1:[gcc.source_dir.]/translation=concealed  gcc_build
-$ set default gcc_build:[000000]
-@end smallexample
-
-@noindent
-where the directory @file{dua1:[gcc.source_dir]} contains the source
-code, and the directory @file{dua0:[gcc.build_dir]} is meant to contain
-all of the generated object files and executables.  Once you have done
-this, you can proceed building GCC as described above.  (Keep in mind
-that @file{gcc_build} is a rooted logical name, and thus the device
-names in each element of the search list must be an actual physical
-device name rather than another rooted logical name).
-
-@item
-@strong{If you are building GCC with a previous version of GCC,
-you also should check to see that you have the newest version of the
-assembler}.  In particular, GCC version 2 treats global constant
-variables slightly differently from GCC version 1, and GAS version
-1.38.1 does not have the patches required to work with GCC version 2.
-If you use GAS 1.38.1, then @code{extern const} variables will not have
-the read-only bit set, and the linker will generate warning messages
-about mismatched psect attributes for these variables.  These warning
-messages are merely a nuisance, and can safely be ignored.
-
-@item
-If you want to build GCC with the VAX C compiler, you will need to
-make minor changes in @file{make-cccp.com} and @file{make-cc1.com}
-to choose alternate definitions of @code{CC}, @code{CFLAGS}, and
-@code{LIBS}.  See comments in those files.  However, you must
-also have a working version of the GNU assembler (GNU as, aka GAS) as
-it is used as the back end for GCC to produce binary object modules
-and is not included in the GCC sources.  GAS is also needed to
-compile @file{libgcc2} in order to build @file{gcclib} (see above);
-@file{make-l2.com} expects to be able to find it operational in
-@file{gnu_cc:[000000]gnu-as.exe}.
-
-To use GCC on VMS, you need the VMS driver programs
-@file{gcc.exe}, @file{gcc.com}, and @file{gcc.cld}.  They are
-distributed with the VMS binaries (@file{gcc-vms}) rather than the
-GCC sources.  GAS is also included in @file{gcc-vms}, as is Bison.
-
-Once you have successfully built GCC with VAX C, you should use the
-resulting compiler to rebuild itself.  Before doing this, be sure to
-restore the @code{CC}, @code{CFLAGS}, and @code{LIBS} definitions in
-@file{make-cccp.com} and @file{make-cc1.com}.  The second generation
-compiler will be able to take advantage of many optimizations that must
-be suppressed when building with other compilers.
-@end enumerate
-
-Under previous versions of GCC, the generated code would occasionally
-give strange results when linked with the sharable @file{VAXCRTL} library.
-Now this should work.
-
-Even with this version, however, GCC itself should not be linked with
-the sharable @file{VAXCRTL}.  The version of @code{qsort} in
-@file{VAXCRTL} has a bug (known to be present in VMS versions V4.6
-through V5.5) which causes the compiler to fail.
-
-The executables are generated by @file{make-cc1.com} and
-@file{make-cccp.com} use the object library version of @file{VAXCRTL} in
-order to make use of the @code{qsort} routine in @file{gcclib.olb}.  If
-you wish to link the compiler executables with the shareable image
-version of @file{VAXCRTL}, you should edit the file @file{tm.h} (created
-by @file{vmsconfig.com}) to define the macro @code{QSORT_WORKAROUND}.
-
-@code{QSORT_WORKAROUND} is always defined when GCC is compiled with
-VAX C, to avoid a problem in case @file{gcclib.olb} is not yet
-available.

-- 
Joseph S. Myers
jsm@polyomino.org.uk



More information about the Gcc-patches mailing list