This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: .../lib/gcc/<triplet>/7.1.1/ vs. .../lib/gcc/<triplet>/7/
- From: Matthias Klose <doko at ubuntu dot com>
- To: Jakub Jelinek <jakub at redhat dot com>, gcc at gcc dot gnu dot org, Richard Biener <rguenther at suse dot de>
- Date: Sat, 7 Jan 2017 11:34:53 +0100
- Subject: Re: .../lib/gcc/<triplet>/7.1.1/ vs. .../lib/gcc/<triplet>/7/
- Authentication-results: sourceware.org; auth=none
- References: <20170106124826.GJ21933@tucnak>
On 06.01.2017 13:48, Jakub Jelinek wrote:
> Hi!
>
> SUSE and some other distros use a hack that omits the minor and patchlevel
> versions from the directory layout, just uses the major number, it is very
> uncommon to have more than one compiler for the same major number installed
> in the same prefix now that major bumps every year and the distinction
> between minor and patchlevel is just the amount of bugfixes it got after
> the initial release.
>
> Dunno if the following is the latest version.
Looking at the variable naming it looks like these are taken from the
Debian/Ubuntu packages. The latest version is
https://anonscm.debian.org/viewvc/gcccvs/branches/sid/gcc-7/debian/patches/gcc-base-version.diff?view=markup
> The question is, do we want something like this upstream too, and
> unconditionally or based on a configure option (--enable-major-version-only
> ?) and in the latter case what the default should be.
>
> I must say I don't understand the cppbuiltin.c part in the patch,
> CFLAGS-cppbuiltin.o += $(PREPROCESSOR_DEFINES) -DBASEVER=$(FULLVER_s)
> cppbuiltin.o: $(FULLVER)
> should already provide it with the full version. And libjava bit is
> obviously no longer needed.
I didn't want to change the preprocessor defines. Maybe it's clearer to
s/BASEVER/FULLVER/ in cppbuiltin.c and just passing FULLVER to the build.
> If we apply the patch as is (sans those last two files?), the change would
> be unconditional, and we'd have to adjust maintainer scripts etc. so that
> if there is FULL-VER file, the full version is in there and needs to be
> bumped and BASE-VER is then just the major from that. The patch doesn't
> seem to be complete though, e.g. gcc/configure.ac uses gcc_BASEVER
> var for plugins and expects it to be the full version. Or do we want
> GCCPLUGIN_VERSION to be also solely the major version?
The patch predates the plugin, I should update it for the gccplugin as well.
> Another possibility for still unconditional change would be to sed
> the major out from BASE-VER in all the places that read it from BASE-VER
> file. Files to look at are:
Some configure files use sed, some use gcc -dumpversion to construct gcc libdir.
Matthias