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]

Attachment: pgpCQi8VTxYgV.pgp
Description: PGP signature

Reply via email to