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