Re: [AD] Intel C++ 8.1

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


> > This is how it would work for Linux too.
>
> Evert, can you help me port to Linux?

I'd love to. Unfortunately, I don't have a 32 bit Linux environment at the
moment, or at the very least no environment where icc is installed.
Hopefully I can fix that in the next coupld of days - I'll need to anyway
if I want to do the release.

> It looks like we need to follow
> the MSVC pattern of gcc for ASMs and icc for C files ...

Yes.

> But we need
> to make changes at the autoconf-level to give a new configure script
> ... As such the installation of icc can be found by querying the
> default /opt/intel_cc_80/bin directory.. I have kept the Linux
> documentation for icc in:

I'll check it out.
I got it to compile previously by just changing the makefile, but a
configure option (configure --with-intelcc or something like that) would of
course be the way to go.

> Can you give me the exact details? Which version of icc was it, and
> how was the library linked with it? I am guessing that the compiler
> may not be a problem.Might have been a library dependancy..

It wasn't a library dependency. It was icc 8.0, I'm not sure if I build a C
only version or a version with assembler files compiled with gcc, but I
think I tried both. The problem was with the glyph renderer and resulted in
just vertical bars whenever text was printed (so exhello reproduces the
problem). Recompiling the text rendering source with gcc fixed the problem,
so it was definitely an incompatibility between the two compilers.
Oh, note that you need to tell icc not to pretend that it's gcc.

> And for Windows, do we need a separate platform?

IMO, yes.

> Because icl "is"
> MSVC-dependant on Windows. It uses the MSVC headers/libraries to do
> most of the compilation.

Do you mean that you need to own MSVC in order to be able to use icl? Or
can I compile Allegro with the Intel compiler without owning Microsoft's
one?

> If so, can we make the change a minor one
> like:
>
> #ifdef ALLEGRO_ICL
>  #define ALLEGRO_MSVC
> #endif

Perhaps - it depends on wether or not the port can be used independently of
MSVC. If you build the MSVC port with MinGW, Allegro doesn't have
ALLEGRO_GCC defined either.

> I don't have a problem in re-making a allegro/platform/iclwin.h or
> whatever .. It will be plainly "redundant" with the MSVC file. Why I
> suggested that we retain the common-ness was, that a dynamic/static
> library compiled with icl can be used as-is with cl (MSVC or MSVC7) ..

Hmm... I think that different compiler implies different makefiles and
compiler-specific includes. Even if iclwin.h would consist of something
like

/* same as for MSVC */
#include "allegro/platform/msvcwin.h"

although - I don't thing ALLEGRO_MSVC should be defined if the Intel
compiler is currently being used.

Evert




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/