|
|
1.1.1.10 root 1: This is a copy of one node from the Info file gcc.info-2.
1.1 root 2: For full information on installing and porting GCC, refer to the
1.1.1.6 root 3: GCC manual:
1.1 root 4:
1.1.1.6 root 5: Info file gcc.info
6: TeX output gcc.dvi
7: TeX source gcc.texinfo
8:
1.1 root 9: Installing GNU CC
10: *****************
11:
12: Here is the procedure for installing GNU CC on a Unix system.
13:
14: * Menu:
15:
1.1.1.12! root 16: * Other Dir:: Compiling in a separate directory (not where the source is).
! 17: * Sun Install:: See below for installation on the Sun.
! 18: * 3B1 Install:: See below for installation on the 3B1.
1.1 root 19: * VMS Install:: See below for installation on VMS.
20:
1.1.1.4 root 21: 1. Edit `Makefile'. If you are using HPUX, or any form of system
22: V, you must make a few changes described in comments at the
1.1.1.8 root 23: beginning of the file. Genix requires changes also.
1.1.1.2 root 24:
25: 2. On a Sequent system, go to the Berkeley universe.
1.1 root 26:
1.1.1.7 root 27: 3. Choose configuration files. The easy way to do this is to run
1.1.1.12! root 28: the command file `config.gcc' with a single argument, which
! 29: specifies the type of machine (and in some cases which operating
! 30: system).
1.1.1.7 root 31:
1.1.1.8 root 32: Here is a list of the possible arguments:
33:
34: `vax'
35: Vaxes running BSD.
36:
37: `vms'
38: Vaxes running VMS.
39:
40: `vax-sysv'
41: Vaxes running system V.
42:
43: `i386-sysv'
44: Intel 386 PCs running system V.
45:
1.1.1.9 root 46: `i386-sysv-gas'
47: Intel 386 PCs running system V, using the GNU assembler and
48: GNU linker.
49:
1.1.1.10 root 50: `sequent-i386'
1.1.1.8 root 51: Sequent with Intel 386 processors.
52:
1.1.1.12! root 53: `i386-aix'
! 54: Intel 386 PCs or PS/2s running AIX.
! 55:
1.1.1.8 root 56: `sun2'
57: Sun 2 running system version 2 or 3.
58:
59: `sun3'
1.1.1.12! root 60: Sun 3 running system version 2 or 3, with 68881. Note
! 61: there we do not provide a configuration file to use an FPA
! 62: by default, because programs that establish signal handlers
! 63: for floating point traps inherently cannot work with the FPA.
1.1.1.11 root 64:
1.1.1.9 root 65: `sun3-nfp'
66: Sun 3 running system version 2 or 3, without 68881.
67:
1.1.1.8 root 68: `sun4'
1.1.1.12! root 69: Sun 4 running system version 2 or 3. *Note
! 70: Incompatibilities::, for calling convention
! 71: incompatibilities on the Sun 4 (sparc).
1.1.1.8 root 72:
73: `sun2-os4'
74: Sun 2 running system version 4.
75:
76: `sun3-os4'
1.1.1.9 root 77: Sun 3 running system version 4, with 68881.
78:
79: `sun3-nfp-os4'
80: Sun 3 running system version 4, without 68881.
81:
1.1.1.8 root 82: `sun4-os4'
1.1.1.12! root 83: Sun 4 running system version 4. *Note Incompatibilities::,
! 84: for calling convention incompatibilities on the Sun 4
! 85: (sparc).
1.1.1.8 root 86:
87: `sun386'
88: Sun 386 (``roadrunner'').
89:
1.1.1.9 root 90: `alliant'
1.1.1.12! root 91: Alliant FX/8 computer. Note that the standard installed C
! 92: compiler in Concentrix 5.0 has a bug which prevent it from
! 93: compiling GNU CC correctly. You can patch the compiler bug
! 94: as follows:
! 95:
! 96: cp /bin/pcc ./pcc
! 97: adb -w ./pcc - << 'EOF'
! 98: 15f6?w 6610
! 99: EOF
! 100:
! 101: Then you must use the `-ip12' option when compiling GNU CC
! 102: with the patched compiler, as shown here:
! 103:
! 104: make CC="./pcc -ip12" CFLAGS=-w
! 105:
! 106: Note also that Alliant's version of DBX does not manage to
! 107: work with the output from GNU CC.
! 108:
! 109: `tahoe'
! 110: The tahoe computer (running BSD, and using DBX).
! 111:
! 112: `decstation'
! 113: The DEC 3100 Mips machine (``pmax''). Note that GNU CC
! 114: cannot generate debugging information in the unusual format
! 115: used on the Mips.
! 116:
! 117: `mips-sysv'
! 118: The Mips computer, RS series, with the System V environment
! 119: as default. Note that GNU CC cannot generate debugging
! 120: information in the unusual format used on the Mips.
! 121:
! 122: `mips-bsd43'
! 123: The Mips computer, RS series, with the BSD 4.3 environment
! 124: as default. Note that GNU CC cannot generate debugging
! 125: information in the unusual format used on the Mips.
1.1.1.9 root 126:
1.1.1.11 root 127: `mips'
1.1.1.12! root 128: The Mips computer, M series. Note that GNU CC cannot
! 129: generate debugging information in the unusual format used
! 130: on the Mips.
! 131:
! 132: `iris'
! 133: The Mips computer, as delivered by Iris. Note that GNU CC
! 134: cannot generate debugging information in the unusual format
! 135: used on the Mips.
1.1.1.11 root 136:
1.1.1.9 root 137: `convex-c1'
138: Convex C1 computer.
139:
140: `convex-c2'
141: Convex C2 computer.
142:
1.1.1.12! root 143: `pyramid'
! 144: Pyramid computer.
! 145:
1.1.1.8 root 146: `hp9k320'
1.1.1.11 root 147: HP 9000 series 300 using HPUX assembler. Note there is no
148: support in GNU CC for HP's debugger; thus, `-g' is not
149: available in this configuration.
1.1.1.8 root 150:
1.1.1.12! root 151: `hp9k320-gas'
1.1.1.8 root 152: HP 9000 series 300 using GNU assembler, linker and debugger.
1.1.1.11 root 153: This requires the HP-adapt package, which is available
154: along with the GNU linker as part of the ``binutils''
155: distribution. This is on the GNU CC distribution tape.
1.1.1.8 root 156:
1.1.1.12! root 157: `hp9k320-old'
! 158: HP 9000 series 300 using HPUX assembler, in operating
! 159: system versions older than 6.5. Note there is no support
! 160: in GNU CC for HP's debugger; thus, `-g' is not available in
! 161: this configuration.
! 162:
! 163: `hp9k320-bsd'
! 164: HP 9000 series 300 running BSD.
! 165:
1.1.1.8 root 166: `isi68'
1.1.1.12! root 167: ISI 68000 or 68020 system with a 68881.
! 168:
! 169: `isi68-nfp'
! 170: ISI 68000 or 68020 system without a 68881.
1.1.1.8 root 171:
172: `news800'
173: Sony NEWS 68020 system.
174:
1.1.1.10 root 175: `next'
176: NeXT system.
177:
1.1.1.11 root 178: `altos'
179: Altos 3068. Note that you must use the GNU assembler,
180: linker and debugger, with COFF-encapsulation. Also, you
181: must fix a kernel bug. Details in the file `ALTOS-README'.
182:
1.1.1.8 root 183: `3b1'
1.1.1.12! root 184: AT&T 3b1, a.k.a. 7300 PC. Note that special procedures are
! 185: needed to compile GNU CC with this machine's standard C
! 186: compiler, due to bugs in that compiler. *Note 3b1
! 187: Install::. You can bootstrap it more easily with previous
! 188: versions of GNU CC if you have them.
1.1.1.8 root 189:
190: `sequent-ns32k'
191: Sequent containing ns32000 processors.
192:
193: `encore'
194: Encore ns32000 system.
195:
196: `genix'
197: National Semiconductor ns32000 system.
198:
199: `88000'
200: Motorola 88000 processor. This port is not finished.
201:
202: Here we spell out what files need to be set up:
1.1 root 203:
1.1.1.4 root 204: * Make a symbolic link named `config.h' to the top-level
205: config file for the machine you are using (*note
206: Config::.). This file is responsible for defining
207: information about the host machine. It includes `tm.h'.
208:
1.1.1.11 root 209: The file is located in the subdirectory `config'. Its name
210: should be `xm-MACHINE.h', with these exceptions:
1.1.1.4 root 211:
1.1.1.8 root 212: `xm-vms.h'
1.1.1.4 root 213: for vaxen running VMS.
214:
1.1.1.8 root 215: `xm-vaxv.h'
1.1.1.4 root 216: for vaxen running system V.
217:
1.1.1.8 root 218: `xm-i386v.h'
1.1.1.4 root 219: for Intel 80386's running system V.
220:
1.1.1.8 root 221: `xm-sun386i.h'
222: for Sun roadrunner running any version of the
223: operating system.
224:
225: `xm-hp9k320.h'
1.1.1.4 root 226: for the HP 9000 series 300.
227:
1.1.1.8 root 228: `xm-genix.h'
1.1.1.4 root 229: for the ns32000 running Genix
230:
231: If your system does not support symbolic links, you might
232: want to set up `config.h' to contain a `#include' command
233: which refers to the appropriate file.
234:
235: * Make a symbolic link named `tm.h' to the
1.1.1.11 root 236: machine-description macro file for your machine. It should
237: be in the subdirectory `config' and its name should be
238: `tm-MACHINE.h'.
1.1.1.4 root 239:
240: If your system is a 68000, don't use the file `tm-m68k.h'
241: directly. Instead, use one of these files:
242:
243: `tm-sun3.h'
1.1.1.9 root 244: for Sun 3 machines with 68881.
245:
246: `tm-sun3-nfp.h'
247: for Sun 3 machines with no hardware floating point.
1.1.1.4 root 248:
1.1.1.12! root 249: `tm-sun3os3.h'
! 250: for Sun 3 machines with 68881, running Sunos version 3.
! 251:
! 252: `tm-sun3os3nf.h'
! 253: for Sun 3 machines with no hardware floating point,
! 254: running Sunos version 3.
! 255:
1.1.1.4 root 256: `tm-sun2.h'
257: for Sun 2 machines.
258:
259: `tm-3b1.h'
260: for AT&T 3b1 (aka 7300 Unix PC).
261:
262: `tm-isi68.h'
1.1.1.8 root 263: for Integrated Solutions systems. This file assumes
264: you use the GNU assembler.
1.1.1.4 root 265:
1.1.1.12! root 266: `tm-isi68-nfp.h'
! 267: for Integrated Solutions systems without a 68881.
! 268: This file assumes you use the GNU assembler.
! 269:
1.1.1.4 root 270: `tm-news800.h'
1.1.1.12! root 271: for Sony NEWS systems.
1.1.1.4 root 272:
273: `tm-hp9k320.h'
274: for HPUX systems, if you are using GNU CC with the
275: system's assembler and linker.
276:
277: `tm-hp9k320g.h'
278: for HPUX systems, if you are using the GNU assembler,
279: linker and other utilities. Not all of the pieces of
280: GNU software needed for this mode of operation are as
281: yet in distribution; full instructions will appear
282: here in the future.
283:
284: For the vax, use `tm-vax.h' on BSD Unix, `tm-vaxv.h' on
285: system V, or `tm-vms.h' on VMS.
286:
287: For the Motorola 88000, use `tm-m88k.h'. The support for
288: the 88000 has a few unfinished spots because there was no
289: way to run the output. Bugs are suspected in handling of
290: branch-tables and in the function prologue and epilogue.
291:
292: For the 80386, don't use `tm-i386.h' directly. Use
293: `tm-i386v.h' if the target machine is running system V,
1.1.1.9 root 294: `tm-i386gas.h' if it is running system V but you are using
295: the GNU assembler and linker, `tm-seq386.h' for a Sequent
296: 386 system, or `tm-compaq.h' for a Compaq, or
297: `tm-sun386i.h' for a Sun 386 system.
1.1.1.4 root 298:
1.1.1.12! root 299: For the Mips computer, there are five choices: `tm-mips.h'
! 300: for the M series, `tm-mips-bsd.h' for the RS series with
! 301: BSD, `tm-mips-sysv.h' for the RS series with System V,
! 302: `tm-iris.h' for the Iris version of the machine, and
! 303: `tm-decstatn.h' for the Decstation.
! 304:
1.1.1.4 root 305: For the 32000, use `tm-sequent.h' if you are using a
306: Sequent machine, or `tm-encore.h' for an Encore machine, or
1.1.1.8 root 307: `tm-genix.h' if you are using Genix version 3; otherwise,
1.1.1.4 root 308: perhaps `tm-ns32k.h' will work for you.
309:
310: Note that Genix has bugs in `alloca' and `malloc'; you must
311: get the compiled versions of these from GNU Emacs and edit
312: GNU CC's `Makefile' to use them.
1.1 root 313:
1.1.1.2 root 314: Note that Encore systems are supported only under BSD.
1.1 root 315:
1.1.1.10 root 316: For Sparc (Sun 4) machines, use `tm-sparc.h' with operating
317: system version 4, and `tm-sun4os3.h' with system version 3.
318:
1.1 root 319: * Make a symbolic link named `md' to the machine description
1.1.1.11 root 320: pattern file. It should be in the `config' subdirectory
321: and its name should be `MACHINE.md'; but MACHINE is often
322: not the same as the name used in the `tm.h' file because
323: the `md' files are more general.
1.1 root 324:
325: * Make a symbolic link named `aux-output.c' to the output
1.1.1.11 root 326: subroutine file for your machine. It should be in the
327: `config' subdirectory and its name should be `out-MACHINE.c'.
1.1 root 328:
1.1.1.4 root 329: 4. Make sure the Bison parser generator is installed. (This is
330: unnecessary if the Bison output files `c-parse.tab.c' and
331: `cexp.c' are more recent than `c-parse.y' and `cexp.y' and you
332: do not plan to change the `.y' files.)
333:
1.1.1.5 root 334: Bison versions older that Sept 8, 1988 will produce incorrect
335: output for `c-parse.tab.c'.
1.1 root 336:
1.1.1.12! root 337: 5. Build the compiler. Just type `make' in the compiler directory.
1.1 root 338:
1.1.1.7 root 339: Ignore any warnings you may see about ``statement not reached''
340: in the `insn-emit.c'; they are normal. Any other compilation
341: errors may represent bugs in the port to your machine or
342: operating system, and should be investigated and reported (*note
343: Bugs::.).
344:
1.1.1.12! root 345: 6. Optionally, install the library functions for 64-bit integer
1.1.1.11 root 346: arithmetic. You do this with the command `make gnulib2'. In
347: the future this will happen automatically; for now, it is
348: optional, until we are sure it works on all machines.
349:
1.1.1.12! root 350: 7. If you are using COFF-encapsulation, you must convert `gnulib'
1.1.1.9 root 351: to a GNU-format library at this point. See the file
352: `README-ENCAP' in the directory containing the GNU binary file
353: utilities, for directions.
354:
1.1.1.12! root 355: 8. Move the first-stage object files and executables into a
1.1.1.4 root 356: subdirectory with this command:
1.1 root 357:
358: make stage1
359:
360: The files are moved into a subdirectory named `stage1'. Once
1.1.1.4 root 361: installation is complete, you may wish to delete these files
362: with `rm -r stage1'.
1.1 root 363:
1.1.1.12! root 364: 9. Recompile the compiler with itself, with this command:
1.1 root 365:
366: make CC=stage1/gcc CFLAGS="-g -O -Bstage1/"
367:
1.1.1.4 root 368: On a 68000 or 68020 system lacking floating point hardware,
369: unless you have selected a `tm.h' file that expects by default
370: that there is no such hardware, do this instead:
1.1 root 371:
372: make CC=stage1/gcc CFLAGS="-g -O -Bstage1/ -msoft-float"
373:
1.1.1.12! root 374: 10. If you wish to test the compiler by compiling it with itself one
1.1.1.11 root 375: more time, do this (in C shell):
1.1 root 376:
377: make stage2
1.1.1.6 root 378: make CC=stage2/gcc CFLAGS="-g -O -Bstage2/"
1.1 root 379: foreach file (*.o)
380: cmp $file stage2/$file
381: end
382:
1.1.1.4 root 383: Aside from the `-B' option, the options should be the same as
384: when you made stage 2.
385:
1.1.1.11 root 386: The `foreach' command (written in C shell) will notify you if
387: any of these stage 3 object files differs from those of stage 2.
388: On BSD systems, any difference, no matter how innocuous,
389: indicates that the stage 2 compiler has compiled GNU CC
390: incorrectly, and is therefore a potentially serious bug which
391: you should investigate and report (*note Bugs::.).
392:
393: On systems that use COFF object files, bytes 5 to 8 will always
394: be different, since it is a timestamp. On these systems, you
395: can do the comparison as follows (in Bourne shell):
396:
397: for file in *.o; do
398: echo $file
399: tail +10 $file > foo1
400: tail +10 stage2/$file > foo2
401: cmp foo1 foo2
402: done
403:
1.1.1.12! root 404: 11. Install the compiler driver, the compiler's passes and run-time
1.1.1.4 root 405: support. You can use the following command:
1.1 root 406:
407: make install
408:
1.1.1.4 root 409: This copies the files `cc1', `cpp' and `gnulib' to files
410: `gcc-cc1', `gcc-cpp' and `gcc-gnulib' in directory
411: `/usr/local/lib', which is where the compiler driver program
412: looks for them. It also copies the driver program `gcc' into
1.1.1.10 root 413: the directory `/usr/local/bin', so that it appears in typical
1.1.1.4 root 414: execution search paths.
415:
416: *Warning: there is a bug in `alloca' in the Sun library. To
417: avoid this bug, install the binaries of GNU CC that were
418: compiled by GNU CC. They use `alloca' as a built-in function
419: and never the one in the library.*
420:
421: *Warning: the GNU CPP may not work for `ioctl.h', `ttychars.h'
422: and other system header files unless the `-traditional' option
423: is used.* The bug is in the header files: at least on some
424: machines, they rely on behavior that is incompatible with ANSI
425: C. This behavior consists of substituting for macro argument
426: names when they appear inside of character constants. The
427: `-traditional' option tells GNU CC to behave the way these
428: headers expect.
1.1 root 429:
1.1.1.4 root 430: Because of this problem, you might prefer to configure GNU CC to
431: use the system's own C preprocessor. To do so, make the file
1.1 root 432: `/usr/local/lib/gcc-cpp' a link to `/lib/cpp'.
433:
1.1.1.4 root 434: Alternatively, on Sun systems and 4.3BSD at least, you can
435: correct the include files by running the shell script
436: `fixincludes'. This installs modified, corrected copies of the
437: files `ioctl.h', `ttychars.h' and many others, in a special
1.1.1.7 root 438: directory where only GNU CC will normally look for them. This
1.1.1.10 root 439: script will work on various systems because it chooses the files
1.1.1.7 root 440: by searching all the system headers for the problem cases that
441: we know about.
1.1 root 442:
443: If you cannot install the compiler's passes and run-time support in
1.1.1.4 root 444: `/usr/local/lib', you can alternatively use the `-B' option to
445: specify a prefix by which they may be found. The compiler
446: concatenates the prefix with the names `cpp', `cc1' and `gnulib'.
447: Thus, you can put the files in a directory `/usr/foo/gcc' and specify
448: `-B/usr/foo/gcc/' when you run GNU CC.
449:
450: Also, you can specify an alternative default directory for these
451: files by setting the Make variable `libdir' when you make GNU CC.
1.1 root 452:
1.1.1.2 root 453:
1.1.1.11 root 454:
1.1.1.12! root 455: File: gcc.info, Node: Other Dir, Next: Sun Install, Prev: Installation, Up: Installation
1.1.1.2 root 456:
1.1.1.12! root 457: Compilation in a Separate Directory
! 458: ===================================
1.1 root 459:
1.1.1.12! root 460: If you wish to build the object files and executables in a directory
! 461: other than the one containing the source files, here is what you must
! 462: do differently:
1.1.1.8 root 463:
1.1.1.12! root 464: 1. Go to that directory before running `config.gcc':
1.1.1.4 root 465:
1.1.1.12! root 466: mkdir gcc-sun3
! 467: cd gcc-sun3
1.1 root 468:
1.1.1.12! root 469: On systems that do not support symbolic links, this directory
! 470: must be on the same file system as the source code directory.
1.1.1.2 root 471:
1.1.1.12! root 472: 2. Specify where to find `config.gcc' when you run it:
! 473:
! 474: ../gcc-1.36/config.gcc ...
! 475:
! 476: 3. Specify where to find the sources, as an argument to `config.gcc':
! 477:
! 478: ../gcc-1.36/config.gcc -srcdir=../gcc-1.36 sun3
! 479:
! 480: The `-srcdir=DIR' option is not needed when the source directory
! 481: is the parent of the current directory, because `config.gcc'
! 482: detects that case automatically.
! 483:
! 484: Now, you can run `make' in that directory. You need not repeat the
! 485: configuration steps shown above, when ordinary source files change.
! 486: You must, however, run `config.gcc' again when the configuration
! 487: files change, if your system does not support symbolic links.
! 488:
! 489:
! 490:
! 491: File: gcc.info, Node: Sun Install, Next: 3b1 Install, Prev: Other Dir, Up: Installation
! 492:
! 493: Installing GNU CC on the Sun
! 494: ============================
! 495:
! 496: Make sure the environment variable `FLOAT_OPTION' is not set when you
! 497: compile `gnulib'. If this option were set to `f68881' when `gnulib'
! 498: is compiled, the resulting code would demand to be linked with a
! 499: special startup file and would not link properly without special
! 500: pains.
! 501:
! 502: There is a bug in `alloca' in certain versions of the Sun library.
! 503: To avoid this bug, install the binaries of GNU CC that were compiled
! 504: by GNU CC. They use `alloca' as a built-in function and never the
! 505: one in the library.
! 506:
! 507: Some versions of the Sun compiler crash when compiling GNU CC. The
! 508: problem is a segmentation fault in cpp.
! 509:
! 510: This problem seems to be due to the bulk of data in the environment
! 511: variables. You may be able to avoid it by using the following
! 512: command to compile GNU CC with Sun CC:
! 513:
! 514: make CC="TERMCAP=x OBJS=x LIBFUNCS=x STAGESTUFF=x cc"
! 515:
! 516:
! 517:
! 518: File: gcc.info, Node: 3b1 Install, Next: VMS Install, Prev: Sun Install, Up: Installation
! 519:
! 520: Installing GNU CC on the 3b1
! 521: ============================
! 522:
! 523: Installing GNU CC on the 3b1 is difficult if you do not already have
! 524: GNU CC running, due to bugs in the installed C compiler. However,
! 525: the following procedure might work. We are unable to test it.
! 526:
! 527: 1. Comment out the `#include "config.h"' line on line 37 of
! 528: `cccp.c' and do `make cpp'. This makes a preliminary version of
! 529: GNU cpp.
! 530:
! 531: 2. Save the old `/lib/cpp' and copy the preliminary GNU cpp to that
! 532: file name.
! 533:
! 534: 3. Undo your change in `cccp.c', or reinstall the original version,
! 535: and do `make cpp' again.
! 536:
! 537: 4. Copy this final version of GNU cpp into `/lib/cpp'.
! 538:
! 539: 5. Replace every occurance of `obstack_free' in `tree.c' with
! 540: `_obstack_free'.
! 541:
! 542: 6. Run `make' to get the first-stage GNU CC.
! 543:
! 544: 7. Reinstall the original version of `/lib/cpp'.
! 545:
! 546: 8. Now you can compile GNU CC with itself and install it in the
! 547: normal fashion.
! 548:
! 549:
! 550:
! 551: File: gcc.info, Node: VMS Install, Prev: 3B1 Install, Up: Installation
! 552:
! 553: Installing GNU CC on VMS
! 554: ========================
1.1.1.9 root 555:
1.1.1.12! root 556: The VMS version of GNU CC is distributed in a backup saveset
! 557: containing both source code and precompiled binaries.
! 558:
! 559: To install the `gcc' command so you can use the compiler easily, in
1.1.1.4 root 560: the same manner as you use the VMS C compiler, you must install the
561: VMS CLD file for GNU CC as follows:
562:
563: 1. Define the VMS logical names `GNU_CC' and `GNU_CC_INCLUDE' to
564: point to the directories where the GNU CC executables
565: (`gcc-cpp', `gcc-cc1', etc.) and the C include files are kept.
566: This should be done with the commands:
1.1.1.2 root 567:
1.1.1.12! root 568: $ assign /super /system disk:[gcc.] gnu_cc
! 569: $ assign /super /system disk:[gcc.include.] gnu_cc_include
1.1.1.2 root 570:
1.1.1.4 root 571: with the appropriate disk and directory names. These commands
572: can be placed in your system startup file so they will be
1.1.1.12! root 573: executed whenever the machine is rebooted. You may, if you
! 574: choose, do this via the `GCC_INSTALL.COM' script in the `[GCC]'
! 575: directory.
1.1.1.2 root 576:
577: 2. Install the `GCC' command with the command line:
578:
1.1.1.12! root 579: $ set command /table=sys$library:dcltables gnu_cc:[000000]gcc
1.1.1.2 root 580:
1.1.1.11 root 581: 3. To install the help file, do the following:
582:
583: $ lib/help sys$library:helplib.hlb gcc.hlp
584:
1.1.1.4 root 585: Now you can invoke the compiler with a command like `gcc
586: /verbose file.c', which is equivalent to the command `gcc -v -c
587: file.c' in Unix.
1.1.1.9 root 588:
1.1.1.12! root 589: We try to put corresponding binaries and sources on the VMS
! 590: distribution tape. But sometimes the binaries will be from an older
! 591: version that the sources, because we don't always have time to update
! 592: them. (Use the `/verbose' option to determine the version number of
! 593: the binaries and compare it with the source file `version.c' to tell
! 594: whether this is so.) In this case, you should use the binaries you
! 595: get to recompile the sources. If you must recompile, here is how:
! 596:
! 597: 1. Copy the file `tm-vms.h' to `tm.h', `xm-vms.h' to `config.h',
! 598: `vax.md' to `md.' and `out-vax.c' to `aux-output.c'. The files
! 599: to be copied are found in the subdirectory named `config'; they
! 600: should be copied to the main directory of GNU CC.
! 601:
! 602: 2. Setup the logical names and command tables as defined above. In
! 603: addition, define the vms logical name `GNU_BISON' to point at
! 604: the to the directories where the Bison executable is kept. This
! 605: should be done with the command:
! 606:
! 607: $ assign /super /system disk:[bison.] gnu_bison
! 608:
! 609: You may, if you choose, use the `INSTALL_BISON.COM' script in
! 610: the `[BISON]' directory.
! 611:
! 612: 3. Install the `BISON' command with the command line:
! 613:
! 614: $ set command /table=sys$library:dcltables gnu_bison:[000000]bison
! 615:
! 616: 4. Type `@make' to do recompile everything.
! 617:
! 618: If you are compiling with a version of GNU CC older than 1.33,
! 619: specify `/DEFINE=("inline=")' as an option in all the
! 620: compilations. This requires editing all the `gcc' commands in
! 621: `make-cc1.com'. (The older versions had problems supporting
! 622: `inline'.) Once you have a working 1.33 or newer GNU CC, you
! 623: can change this file back.
! 624:
1.1.1.9 root 625: There is a known problem on VMS: `const' global variables don't work
626: compatibly with the VMS C compiler; we don't know a way to get them
627: to the linker properly.
1.1.1.11 root 628:
629: Note that GNU CC on VMS does not generate debugging information to
630: describe the program's symbols. It is not straightforward to
631: implement this, and we have no time to spend on it, but we might
632: consent to install a very modular implementation if you write it.
633: You will probably have to modify GAS as well as GNU CC.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.