On Tue, Nov 08, 2005 at 04:03:58PM +0100, Pascal Bleser wrote: > Ok, nice. So -i-static *must* be passed. Correct ?
Either this or you ship the respective shared libraries. > If not, are there packages of the "other" (non-libstdc++) icc runtime > libraries ? I am not aware of them. Someone needed to build them. > >> How well is RPM currently handling building with icc ? (flags, archs, ...) > > Huh? RPM does not really care about the compiler you use. > > /usr/lib/rpm/macros:%__cxx g++ > > My point is: if people plan to build RPMs with icc, there must be a common > policy on how to tell RPM > to use icc instead of g++ Right, obviously you have to tell RPM to do so but there is nothing that hinders you but the fact that it must be done. > Also, the %optflags defined for rpmbuild (in /usr/lib/rpm/rpmrc and > /usr/lib/rpm/*-linux/macros) are > tailored for GCC, not for icc, e.g.: > optflags: i686 -O2 -g -march=i686 -mtune=i686 -fmessage-length=0 > -D_FORTIFY_SOURCE=2 > > - -O and -g should be fine with icc (I assume), but -fmessage-length and > -mtune most definately not > (unless icc provides a g++ front). icc supports many of the gcc params (all from the mentioned above but -fmessage-length). It is even fine with most gcc params that it does not support because it just ignores them in that case with a small warning that the option is unknown. > And patching plenty of Makefiles that explicity use "gcc" or "g++", instead > of using a "CC" and > "CXX" make variables you would have to pass as well: > > %__make CC="%__cc" CXX="%__cxx" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" > > > For projects that use autoconf, they most probably will use "gcc"/"g++" by > default, so you must pass > some stuff to ./configure - probably like this: > > CC="%__cc" CXX="%__cxx" CFLAGS="%{optflags}" CXXFLAGS="%{optflags}" \ > ./configure \ > ... > > > Even if you use the %configure macro in your spec files (which is highly > encouraged), it does *NOT* > pass CC nor CXX to ./configure (see yourself: /usr/lib/rpm/macros), which > means every spec file has > to do the following: > > CC="%__cc" CXX="%__cxx" %configure ... > > (and do check the rpmbuild output to see whether it actually uses "icc" and > not "gcc"/"g++") Sure but these are issues with the packages and not RPM itself. Actually this is a _lot_ of work for a whole distribution and I personally don't see the motivation to do it because I prefer to have a free compiler in a Linux distribution. In my opinion using icc for special projects where you really _need_ some advantages of it makes sense but I would not make a whole distribution depending on it. If Intel revoked your license tomorrow for some reason all your work would have been useless. Robert -- Robert Schiele Tel.: +49-621-181-2214 Dipl.-Wirtsch.informatiker mailto:[EMAIL PROTECTED]
pgpCQi8VTxYgV.pgp
Description: PGP signature