fenics team mailing list archive
-
fenics team
-
Mailing list archive
-
Message #00072
RE: MSVC version of FEniCS
Actually, the more pressing desire is to run with the MS compilers and IDE.
I have MinGW and FEniCS compiles with it, although I haven't tried to
compile PETSc with it to complete the FEniCS stack, but I am sure I can make
that work.
What I'll do is try is isolate the problem headers in a clean way, that is,
move some of the sys headers that Windows doesn't share, into a single
include file that accumulates the compiler and platform testing logic. This
doesn't mess up the code with ifdefs all over the place and is a central
place where any portability issues can be addressed. The only disadvantage
is that this header can become a small compilation time drain on the overall
build since it wouldn't be the leanest meanest header you could create. Not
a big problem for MS environment with precompiled headers, but typically
less attractive for gcc that doesn't have precompiled headers; it all
depends on how pervasive the OS specific features are that are included and
of what I see that is small. When that portability layer becomes larger the
right way to deal with it is to compile it into its own library and
associated abstractions.
Theo
-----Original Message-----
From: Anders Logg [mailto:logg@xxxxxxxxx]
Sent: Friday, December 09, 2005 11:27 PM
To: tomtzigt; Discussion of FEniCS development
Subject: Re: [fenics-dev] MSVC version of FEniCS
On Fri, Dec 09, 2005 at 08:54:43PM -0500, tomtzigt wrote:
> Guys:
>
>
>
> I decided to see if I can transmogrify FEniCS into something that
MSDev
> .NET understands. I am successfully building many of the kernel
projects
> but in getting this to work I see a handful of Unixisms that will never
> port to Windows natively.
Anything specific you think of?
If for some reason you insist on running on Windows, I suggest using
Cygwin which at least gives you a Unix-like environment.
> The typical way to deal with this is to have
> some standard
>
>
>
> #ifdef LINUX_GNU
>
> #include <woopdido>
>
> #elsif WINDOWS
>
> #include <woopdida>
>
> #endif
>
>
>
> constructs in the headers which I can hack into the code in a fine way
and
> a not so fine way. So I am trying to gauge if native windowness using
the
> MS compilers is desired by many or just me.
It's nothing I desire, but I'm not opposed to it. It could bring some
advantages, such as forcing us to follow standards which will also benefit
other platforms.
> If it is the latter then I
> won't try to solve this problem neatly. If the larger community is
> interested, I can solve it nicely.
>
>
>
> Opinions?
>
>
>
> Theo
Any suggestions are welcome. I have never built anything on Windows
(except under Cygwin) so the whole Windows platform is a mystery to
me.
/Anders
Follow ups
References