[please CC debian-gcc@lists.debian.org on replies] why do you propose gcc-3.0 as the "user compiler"? setting the "system compiler" to something other than the "user compiler" would break every C++ related development environment.
Giacomo Catenazzi writes: > Matthias Klose wrote: > > > Giacomo Catenazzi writes: > > > Package: gcc > > > Version: 2:2.95.4-5 > > > Severity: wishlist > > > > > > gcc should use 'update-alternative', so that user can define > > > easily (and in a std manner) the default compiler. > > > > we explicitely do NOT use alternatives for gcc. gcc is the system > > compiler (like other "system" components libc and binutils) and should > > not be changed. There is no "alternative" as the system compiler. If > > you want to use gcc-3.0 please add CC=xx and CXX=xx to configure/make > > or else divert the binaries (dpkg-divert(1)). Be sure to undo these > > changes before uploading packages compiled with the changed > configuration. > > > > > oops I sent you the wrong version of the proposal. > ( The right version was only on my head :-) ) > > FACT: > > There is two kind of compilers: > the normal/user compiler (used by user for own developement, no > special requirement) and system compiler (to compiler system programs, > must be ABI compatible with sys libraries,...). > Really yet there is also an other compiler: the 'kernel compiler' > (used to compiler kernel, requirement: it should be able to compiler > actual kernel (with special GNU extentions...)). > > PROBLEM: > > Debian support the three compiler, but in a manner I don't like: > - system compiler is gcc (but only debian developers, dpkg-src, > processes called from debian/rules need relly this version). > - user compier: gcc-3.0/gcc-2.96/... : to hard to call > this compiler, specially in project with developers using different > distributions. > - kernel compiler gcc272/gcc-2.95: (this is the least important, > and we (kbuild people) are still discuss how to manage it in kernel > 2.5.x). > > SOLUTION: > > IMHO the main (the most important (for the user)) is the > normal/system compiler. > Thus we should call this compiler 'gcc' and support alternatives, so > that user can choice the better compiler for the own task. > > The system compiler should ba called 'dgcc' or 'deb-gcc'. Really > 'debgcc' could be a script that include automatically some std flags > and arch, to simplify port or other automatic recompilation (debian > with all packages compiler for i686,..). > Because this compiler is need mainly only in sub-processed of > debian/rules, this script (or dpkg) should set via environment > the right system compiler). As you see, a small change in dpkg > will maintain the compatibility of actual code, without need to > substitute gcc into debgcc. > > The kernel compiler should be called kgcc (as other distribution). > (and this kgcc should be a simple link to the right compiler). > > CONCLUSION: > > As you see, the 3 kind of compiler would be called using a name > reflecting the purpose and not using version. > This IMHO will simplify the writing of scripts, and also to remember > the right compiler, and naturally will simplify the life of normal user > (which use gcc as development compiler and not as system compiler). > > > What do you think? Do you have other solution? or do you see > more problem that solution changing the behaviour of compiler? > > > g.