home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #30 / NN_1992_30.iso / spool / gnu / gcc / help / 2755 < prev    next >
Encoding:
Internet Message Format  |  1992-12-16  |  4.5 KB

  1. Xref: sparky gnu.gcc.help:2755 gnu.g++.help:1596 gnu.misc.discuss:3997
  2. Newsgroups: gnu.gcc.help,gnu.g++.help,gnu.misc.discuss
  3. Path: sparky!uunet!mcsun!sunic!dkuug!iesd.auc.dk!news.iesd.auc.dk!abraham
  4. From: abraham@iesd.auc.dk (Per Abrahamsen)
  5. Subject: Re: gcc include directories
  6. In-Reply-To: bothner@Xenon.Stanford.EDU's message of Thu, 10 Dec 1992 03:35:42 GMT
  7. Message-ID: <ABRAHAM.92Dec16110802@loke.iesd.auc.dk>
  8. Sender: news@iesd.auc.dk (UseNet News)
  9. Organization: CS@AUC, Denmark
  10. References: <PCG.92Nov30134606@aberdb.aber.ac.uk>
  11.     <1992Dec4.231255.25814@CSD-NewsHost.Stanford.EDU>
  12.     <ABRAHAM.92Dec7191319@loke.iesd.auc.dk>
  13.     <1992Dec10.033542.2080@CSD-NewsHost.Stanford.EDU>
  14. Date: 16 Dec 92 11:08:02
  15. Lines: 96
  16.  
  17.  
  18. >>>>>> On Fri, 4 Dec 1992 23:12:55 GMT, bothner@Xenon.Stanford.EDU (Per
  19. >>>>>> M. Bothner) said:
  20.  
  21. Bothner> I doubt Cygnus is to blame.  We would just as soon change it,
  22. Bothner> but Stallman likes it the way it is.  (Specifically, we find
  23. Bothner> a directory for the version number useless.)
  24.  
  25. In article <ABRAHAM.92Dec7191319@loke.iesd.auc.dk> abraham@iesd.auc.dk
  26. (Per Abrahamsen) writes: 
  27.  
  28. Abraham> Please, the version number directory is very useful.  It
  29. Abraham> allows us to install new versions without removing the old
  30. Abraham> version.
  31.  
  32. >>>>> On Thu, 10 Dec 1992 03:35:42 GMT, bothner@Xenon.Stanford.EDU
  33. >>>>> (Per M. Bothner) said:
  34.  
  35. Bothner> Let me clarify my point: Being able to choose easily between
  36. Bothner> multiple installed versions is very useful.  So useful that
  37. Bothner> it should perhaps not be restricted to the compiler!  
  38.  
  39. It seldom gives problems with the other utilities, as the data format
  40. of the files they manipulate stay reasonable constant.  Not so with
  41. g++. 
  42.  
  43. Bothner> The -V flag seems rather peculiar:
  44.  
  45. Bothner> * You can't use the -V flag to select a different version of the gcc
  46. Bothner> program itself.
  47.  
  48. Granted.  But it has not given any problems with the any of the gcc2
  49. versions yet.
  50.  
  51. Bothner> * You can only use the -V flag to select versions of things that
  52. Bothner> get installed by the compiler.  You can't use it to select different
  53. Bothner> versions of the assembler, or the linker, or the C libraries, at
  54. Bothner> least as things are normally installed.  This is partly because
  55. Bothner> the version number is specific to gcc, and none of the other tools
  56. Bothner> can use it.
  57.  
  58. The assembler, the linker, and the C libraries goes into 
  59.  
  60.     $GNUHOME/lib/gcc-lib/$ARCH/$VERS
  61.  
  62. This is the first place gcc search for them.  It works very well.
  63.  
  64. The only problem today is that libg++ for some reason is not assumed
  65. to be in that directory, both the gcc and the libg++ distribution
  66. seems to expect that all versions of gcc will share the same version
  67. of libg++.  This is a pain, and we have to change both by hand to
  68. correct the situation.
  69.  
  70. Bothner> * Using a -V flag can't be used to select different versions of
  71. Bothner> other GNU utilities (i.e. switching between emacs 18 and 19),
  72. Bothner> which is potentially just as useful.
  73.  
  74. It is less important with tools like emacs, we will probably never
  75. have more than two versions of emacs installed.  After all, both emacs
  76. 18 and 19 manipulates text files, and their format does not (I hope!)
  77. change. 
  78.  
  79. We have 4 versions of g++1 and 5 versions of gcc2 installed (tree
  80. official versions and two local modifications).  
  81.  
  82. Bothner> The more general (and standard) way to select versions is by
  83. Bothner> installing different versions into different directories.
  84. Bothner> One simple mechanism:
  85.  
  86. Bothner>     /new/bin - new releases
  87. Bothner>     /usr/bin - standard (default) version
  88. Bothner>     /old/bin - old obsolete version
  89.  
  90. And break object (and possibly source) code compatibility for all
  91. users when we install a new version of g++?  The users of /new/bin/g++
  92. and /usr/bin/g++ would need to edit their paths, and what would the
  93. users of /old/bin/g++ do?  Upgrade their code is not an acceptable
  94. answer here.
  95.  
  96. Bothner> Because gcc is not just a simple binary, and so running gcc involves
  97. Bothner> a whole slew of programs and libraries, it is a little more
  98. Bothner> involved to install it than just installing into /new/bin.
  99. Bothner> But not a lot.  To install a new gcc version in /new/bin you could:
  100.  
  101. Bothner>     configure sun4 --prefix=/gnu/gcc-VERSION
  102. Bothner>     make all install
  103. Bothner>     ln /gnu/gcc-VERSION/bin/gcc /new/bin/gcc
  104.  
  105. Bothner> (Here VERSION can be any identifier chosen by the installer.)
  106.  
  107. We are several people who install gcc related software, and having a
  108. standard name scheme make it easier to ensure that we use the same
  109. conventions. 
  110.  
  111. gcc2 also support arbitrary version identifiers, a fact we use for our
  112. local hacked versions.
  113.