home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky gnu.gcc.help:2755 gnu.g++.help:1596 gnu.misc.discuss:3997
- Newsgroups: gnu.gcc.help,gnu.g++.help,gnu.misc.discuss
- Path: sparky!uunet!mcsun!sunic!dkuug!iesd.auc.dk!news.iesd.auc.dk!abraham
- From: abraham@iesd.auc.dk (Per Abrahamsen)
- Subject: Re: gcc include directories
- In-Reply-To: bothner@Xenon.Stanford.EDU's message of Thu, 10 Dec 1992 03:35:42 GMT
- Message-ID: <ABRAHAM.92Dec16110802@loke.iesd.auc.dk>
- Sender: news@iesd.auc.dk (UseNet News)
- Organization: CS@AUC, Denmark
- References: <PCG.92Nov30134606@aberdb.aber.ac.uk>
- <1992Dec4.231255.25814@CSD-NewsHost.Stanford.EDU>
- <ABRAHAM.92Dec7191319@loke.iesd.auc.dk>
- <1992Dec10.033542.2080@CSD-NewsHost.Stanford.EDU>
- Date: 16 Dec 92 11:08:02
- Lines: 96
-
-
- >>>>>> On Fri, 4 Dec 1992 23:12:55 GMT, bothner@Xenon.Stanford.EDU (Per
- >>>>>> M. Bothner) said:
-
- Bothner> I doubt Cygnus is to blame. We would just as soon change it,
- Bothner> but Stallman likes it the way it is. (Specifically, we find
- Bothner> a directory for the version number useless.)
-
- In article <ABRAHAM.92Dec7191319@loke.iesd.auc.dk> abraham@iesd.auc.dk
- (Per Abrahamsen) writes:
-
- Abraham> Please, the version number directory is very useful. It
- Abraham> allows us to install new versions without removing the old
- Abraham> version.
-
- >>>>> On Thu, 10 Dec 1992 03:35:42 GMT, bothner@Xenon.Stanford.EDU
- >>>>> (Per M. Bothner) said:
-
- Bothner> Let me clarify my point: Being able to choose easily between
- Bothner> multiple installed versions is very useful. So useful that
- Bothner> it should perhaps not be restricted to the compiler!
-
- It seldom gives problems with the other utilities, as the data format
- of the files they manipulate stay reasonable constant. Not so with
- g++.
-
- Bothner> The -V flag seems rather peculiar:
-
- Bothner> * You can't use the -V flag to select a different version of the gcc
- Bothner> program itself.
-
- Granted. But it has not given any problems with the any of the gcc2
- versions yet.
-
- Bothner> * You can only use the -V flag to select versions of things that
- Bothner> get installed by the compiler. You can't use it to select different
- Bothner> versions of the assembler, or the linker, or the C libraries, at
- Bothner> least as things are normally installed. This is partly because
- Bothner> the version number is specific to gcc, and none of the other tools
- Bothner> can use it.
-
- The assembler, the linker, and the C libraries goes into
-
- $GNUHOME/lib/gcc-lib/$ARCH/$VERS
-
- This is the first place gcc search for them. It works very well.
-
- The only problem today is that libg++ for some reason is not assumed
- to be in that directory, both the gcc and the libg++ distribution
- seems to expect that all versions of gcc will share the same version
- of libg++. This is a pain, and we have to change both by hand to
- correct the situation.
-
- Bothner> * Using a -V flag can't be used to select different versions of
- Bothner> other GNU utilities (i.e. switching between emacs 18 and 19),
- Bothner> which is potentially just as useful.
-
- It is less important with tools like emacs, we will probably never
- have more than two versions of emacs installed. After all, both emacs
- 18 and 19 manipulates text files, and their format does not (I hope!)
- change.
-
- We have 4 versions of g++1 and 5 versions of gcc2 installed (tree
- official versions and two local modifications).
-
- Bothner> The more general (and standard) way to select versions is by
- Bothner> installing different versions into different directories.
- Bothner> One simple mechanism:
-
- Bothner> /new/bin - new releases
- Bothner> /usr/bin - standard (default) version
- Bothner> /old/bin - old obsolete version
-
- And break object (and possibly source) code compatibility for all
- users when we install a new version of g++? The users of /new/bin/g++
- and /usr/bin/g++ would need to edit their paths, and what would the
- users of /old/bin/g++ do? Upgrade their code is not an acceptable
- answer here.
-
- Bothner> Because gcc is not just a simple binary, and so running gcc involves
- Bothner> a whole slew of programs and libraries, it is a little more
- Bothner> involved to install it than just installing into /new/bin.
- Bothner> But not a lot. To install a new gcc version in /new/bin you could:
-
- Bothner> configure sun4 --prefix=/gnu/gcc-VERSION
- Bothner> make all install
- Bothner> ln /gnu/gcc-VERSION/bin/gcc /new/bin/gcc
-
- Bothner> (Here VERSION can be any identifier chosen by the installer.)
-
- We are several people who install gcc related software, and having a
- standard name scheme make it easier to ensure that we use the same
- conventions.
-
- gcc2 also support arbitrary version identifiers, a fact we use for our
- local hacked versions.
-