Fwd: [PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Matthew Knepley
I for one think it should be possible to remove 'make' from the
toolchain, leaving us with only win32fe, which we distribute. Thus
I think we could abandon cygwin once and for all. I would even be
willing to write a \emph{make clone} to accomplish this, even though
I am a committed enemy of make (which once TP'ed my house).

   Matt

-- Forwarded message --
From: Barry Smith bsm...@mcs.anl.gov
Date: Thu, Dec 4, 2008 at 12:00 PM
Subject: Re: [PETSC #18705] PETSc and Cygwin License (POSIX layer)
To: Stefan Benkler benkler at itis.ethz.ch
Cc: petsc-maint at mcs.anl.gov


 Stefan,

   Here is my understanding of the situation.

   Conjecture: You CAN use an open source compiler (GNU)  to compile
proprietary code and then sell
the binaries without making the proprietary code GNU licensed so long as you
just use the
GNU compilers out of the box and don't change their source code and don't
include the compliers
libraries in your binaries.

  IF this is true then you are safe, the Cygwin environment is only used by
PETSc to have
a system to compile PETSc. None of it is included in the binaries generated.

 On the other hand, if my initial conjecture is wrong, then there could be a
problem.

 Barry

We've tried over the years to use Windows posix environments to develop a
build system
for PETSc so we don't need cygwin to build PETSc. Unfortunately their stuff
is so un-unix
like that it just wasn't practical and using developers studio to build
PETSc directly is
possible but requires some how getting all the PETSc source properly into
developers studio
and as far as I know the only way to do this is manually through the gui
which is very painful;
plus if we change something in the Unix build side later we'd need to change
it manually
on the developers studio side.

If the situation has changed and Windows does provide a reasonable way to
build large
unix codes I'd love to hear about it and use it. We hate cygwin but feel
with have no other
reasonable option.

On Dec 4, 2008, at 3:33 AM, Stefan Benkler wrote:

 Dear PETSc developers

 Since a while, I successfully use your fantastic library on Windows. Thank
 you very much!

 Lately, I had a discussion about the involved copyrights/licenses with a
 colleague. The main point was if PETSc requires the POSIX layer of cygwin on
 Windows (and therefore would need to fulfill cygwin's GPL license).

 My standpoint was that cygwin is just used to configure and build the
 library, but only native Windows libraries (using MS or Intel's Windows
 compiler, MKL) are finally linked to the PETSc libs. However, I have
 difficulties to proof this claim, which is the reason for this email.

 Please comment/clarify the licensing on a Windows system.

 Thanks a lot for your informations.

 Best regards

  Stefan Benkler





-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20081204/55dc7a43/attachment.html


Fwd: [PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Satish Balay
On Thu, 4 Dec 2008, Matthew Knepley wrote:

 I for one think it should be possible to remove 'make' from the
 toolchain, leaving us with only win32fe, which we distribute. Thus
 I think we could abandon cygwin once and for all. I would even be
 willing to write a \emph{make clone} to accomplish this, even though
 I am a committed enemy of make (which once TP'ed my house).

For one there is some cygwin code in win32fe to handle cygwin paths
[its difficult for us avoid doing this - and solely rely on MS path
scheme in our builds].

And I don't think its an issue of 'make clone'. We use tons of shell
and other unixy stuff in the build process - within each recursive
make invocation steps.

Satish




Fwd: [PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Matthew Knepley
On Thu, Dec 4, 2008 at 12:41 PM, Satish Balay balay at mcs.anl.gov wrote:

 On Thu, 4 Dec 2008, Matthew Knepley wrote:

  I for one think it should be possible to remove 'make' from the
  toolchain, leaving us with only win32fe, which we distribute. Thus
  I think we could abandon cygwin once and for all. I would even be
  willing to write a \emph{make clone} to accomplish this, even though
  I am a committed enemy of make (which once TP'ed my house).

 For one there is some cygwin code in win32fe to handle cygwin paths
 [its difficult for us avoid doing this - and solely rely on MS path
 scheme in our builds].


Did not know that. It will have to be rewritten.



 And I don't think its an issue of 'make clone'. We use tons of shell
 and other unixy stuff in the build process - within each recursive
 make invocation steps.


We have slowly eliminated the use of UNIX tools from the build. I believe
the last impediment is shell. All this shell code would be converted to
Python, since our 'make clone' would speak Python natively instead of shell.
The March of Progress.

Matt



 Satish

-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20081204/d7fb3db5/attachment.html


[PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Matthew Knepley
On Thu, Dec 4, 2008 at 12:42 PM, Barry Smith bsmith at mcs.anl.gov wrote:


  Make is NOT the problem! (It is just one of several)

  Config/configure.py uses the SHELL constantly for basically everything.
 Try running config/configure.py
 under Windows without using cygwin.


I disagree with this characterization. The lowest level definitely spawns
shell jobs, however at the configure
level, they are a small set of specific tasks, and it would not be hard to
retarget them to a different architecture.
For instance, almost everything comes down to a compile, link, or execution.
I will now say toolbox, or maybe
toolbag (buildstuff?).

  Matt



  I hate the term toolchain


   Barry

 On Dec 4, 2008, at 12:04 PM, Matthew Knepley wrote:

  I for one think it should be possible to remove 'make' from the
 toolchain, leaving us with only win32fe, which we distribute. Thus
 I think we could abandon cygwin once and for all. I would even be
 willing to write a \emph{make clone} to accomplish this, even though
 I am a committed enemy of make (which once TP'ed my house).

   Matt

 -- Forwarded message --
 From: Barry Smith bsmith at mcs.anl.gov
 Date: Thu, Dec 4, 2008 at 12:00 PM
 Subject: Re: [PETSC #18705] PETSc and Cygwin License (POSIX layer)
 To: Stefan Benkler benkler at itis.ethz.ch
 Cc: petsc-maint at mcs.anl.gov


  Stefan,

   Here is my understanding of the situation.

   Conjecture: You CAN use an open source compiler (GNU)  to compile
 proprietary code and then sell
 the binaries without making the proprietary code GNU licensed so long as
 you just use the
 GNU compilers out of the box and don't change their source code and don't
 include the compliers
 libraries in your binaries.

  IF this is true then you are safe, the Cygwin environment is only used by
 PETSc to have
 a system to compile PETSc. None of it is included in the binaries
 generated.

  On the other hand, if my initial conjecture is wrong, then there could be
 a problem.

  Barry

 We've tried over the years to use Windows posix environments to develop
 a build system
 for PETSc so we don't need cygwin to build PETSc. Unfortunately their
 stuff is so un-unix
 like that it just wasn't practical and using developers studio to build
 PETSc directly is
 possible but requires some how getting all the PETSc source properly into
 developers studio
 and as far as I know the only way to do this is manually through the gui
 which is very painful;
 plus if we change something in the Unix build side later we'd need to
 change it manually
 on the developers studio side.

 If the situation has changed and Windows does provide a reasonable way to
 build large
 unix codes I'd love to hear about it and use it. We hate cygwin but feel
 with have no other
 reasonable option.

 On Dec 4, 2008, at 3:33 AM, Stefan Benkler wrote:

 Dear PETSc developers

 Since a while, I successfully use your fantastic library on Windows. Thank
 you very much!

 Lately, I had a discussion about the involved copyrights/licenses with a
 colleague. The main point was if PETSc requires the POSIX layer of cygwin on
 Windows (and therefore would need to fulfill cygwin's GPL license).

 My standpoint was that cygwin is just used to configure and build the
 library, but only native Windows libraries (using MS or Intel's Windows
 compiler, MKL) are finally linked to the PETSc libs. However, I have
 difficulties to proof this claim, which is the reason for this email.

 Please comment/clarify the licensing on a Windows system.

 Thanks a lot for your informations.

 Best regards

  Stefan Benkler





 --
 What most experimenters take for granted before they begin their
 experiments is infinitely more interesting than any results to which their
 experiments lead.
 -- Norbert Wiener





-- 
What most experimenters take for granted before they begin their experiments
is infinitely more interesting than any results to which their experiments
lead.
-- Norbert Wiener
-- next part --
An HTML attachment was scrubbed...
URL: 
http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20081204/2f6defad/attachment.html


[PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Barry Smith

On Dec 4, 2008, at 12:51 PM, Matthew Knepley wrote:

 On Thu, Dec 4, 2008 at 12:42 PM, Barry Smith bsmith at mcs.anl.gov  
 wrote:

  Make is NOT the problem! (It is just one of several)

  Config/configure.py uses the SHELL constantly for basically  
 everything. Try running config/configure.py
 under Windows without using cygwin.

 I disagree with this characterization. The lowest level definitely  
 spawns shell jobs, however at the configure
 level, they are a small set of specific tasks, and it would not be  
 hard to retarget them to a different architecture.

That just has to be done.

 For instance, almost everything comes down to a compile, link, or  
 execution. I will now say toolbox, or maybe
 toolbag (buildstuff?).

In the HPC, world the most accurate term is bunch of crappy  
software I use.

Barry



   Matt


  I hate the term toolchain


   Barry


 On Dec 4, 2008, at 12:04 PM, Matthew Knepley wrote:

 I for one think it should be possible to remove 'make' from the
 toolchain, leaving us with only win32fe, which we distribute. Thus
 I think we could abandon cygwin once and for all. I would even be
 willing to write a \emph{make clone} to accomplish this, even though
 I am a committed enemy of make (which once TP'ed my house).

   Matt

 -- Forwarded message --
 From: Barry Smith bsmith at mcs.anl.gov
 Date: Thu, Dec 4, 2008 at 12:00 PM
 Subject: Re: [PETSC #18705] PETSc and Cygwin License (POSIX layer)
 To: Stefan Benkler benkler at itis.ethz.ch
 Cc: petsc-maint at mcs.anl.gov


  Stefan,

   Here is my understanding of the situation.

   Conjecture: You CAN use an open source compiler (GNU)  to compile  
 proprietary code and then sell
 the binaries without making the proprietary code GNU licensed so  
 long as you just use the
 GNU compilers out of the box and don't change their source code and  
 don't include the compliers
 libraries in your binaries.

  IF this is true then you are safe, the Cygwin environment is only  
 used by PETSc to have
 a system to compile PETSc. None of it is included in the binaries  
 generated.

  On the other hand, if my initial conjecture is wrong, then there  
 could be a problem.

  Barry

 We've tried over the years to use Windows posix environments to  
 develop a build system
 for PETSc so we don't need cygwin to build PETSc. Unfortunately  
 their stuff is so un-unix
 like that it just wasn't practical and using developers studio to  
 build PETSc directly is
 possible but requires some how getting all the PETSc source properly  
 into developers studio
 and as far as I know the only way to do this is manually through the  
 gui which is very painful;
 plus if we change something in the Unix build side later we'd need  
 to change it manually
 on the developers studio side.

 If the situation has changed and Windows does provide a reasonable  
 way to build large
 unix codes I'd love to hear about it and use it. We hate cygwin but  
 feel with have no other
 reasonable option.

 On Dec 4, 2008, at 3:33 AM, Stefan Benkler wrote:

 Dear PETSc developers

 Since a while, I successfully use your fantastic library on Windows.  
 Thank you very much!

 Lately, I had a discussion about the involved copyrights/licenses  
 with a colleague. The main point was if PETSc requires the POSIX  
 layer of cygwin on Windows (and therefore would need to fulfill  
 cygwin's GPL license).

 My standpoint was that cygwin is just used to configure and build  
 the library, but only native Windows libraries (using MS or Intel's  
 Windows compiler, MKL) are finally linked to the PETSc libs.  
 However, I have difficulties to proof this claim, which is the  
 reason for this email.

 Please comment/clarify the licensing on a Windows system.

 Thanks a lot for your informations.

 Best regards

  Stefan Benkler






 -- 
 What most experimenters take for granted before they begin their  
 experiments is infinitely more interesting than any results to which  
 their experiments lead.
 -- Norbert Wiener




 -- 
 What most experimenters take for granted before they begin their  
 experiments is infinitely more interesting than any results to which  
 their experiments lead.
 -- Norbert Wiener




[PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Lisandro Dalcin
On Thu, Dec 4, 2008 at 4:42 PM, Barry Smith bsmith at mcs.anl.gov wrote:

  Make is NOT the problem! (It is just one of several)

Indeed. However, at some time I'll try to make PETSc build with Scons.
But we need to fix configure first.


  Config/configure.py uses the SHELL constantly for basically everything. Try
 running config/configure.py
 under Windows without using cygwin.

I tried at home to run it with standard Windows's Python and
MinGW+MSYS, but I had no success up to now (however, I have not tried
hard)



 I for one think it should be possible to remove 'make' from the
 toolchain, leaving us with only win32fe, which we distribute. Thus
 I think we could abandon cygwin once and for all. I would even be
 willing to write a \emph{make clone} to accomplish this, even though
 I am a committed enemy of make (which once TP'ed my house).

   Matt

 -- Forwarded message --
 From: Barry Smith bsmith at mcs.anl.gov
 Date: Thu, Dec 4, 2008 at 12:00 PM
 Subject: Re: [PETSC #18705] PETSc and Cygwin License (POSIX layer)
 To: Stefan Benkler benkler at itis.ethz.ch
 Cc: petsc-maint at mcs.anl.gov


  Stefan,

   Here is my understanding of the situation.

   Conjecture: You CAN use an open source compiler (GNU)  to compile
 proprietary code and then sell
 the binaries without making the proprietary code GNU licensed so long as
 you just use the
 GNU compilers out of the box and don't change their source code and don't
 include the compliers
 libraries in your binaries.

  IF this is true then you are safe, the Cygwin environment is only used by
 PETSc to have
 a system to compile PETSc. None of it is included in the binaries
 generated.

  On the other hand, if my initial conjecture is wrong, then there could be
 a problem.

  Barry

 We've tried over the years to use Windows posix environments to develop
 a build system
 for PETSc so we don't need cygwin to build PETSc. Unfortunately their
 stuff is so un-unix
 like that it just wasn't practical and using developers studio to build
 PETSc directly is
 possible but requires some how getting all the PETSc source properly into
 developers studio
 and as far as I know the only way to do this is manually through the gui
 which is very painful;
 plus if we change something in the Unix build side later we'd need to
 change it manually
 on the developers studio side.

 If the situation has changed and Windows does provide a reasonable way to
 build large
 unix codes I'd love to hear about it and use it. We hate cygwin but feel
 with have no other
 reasonable option.

 On Dec 4, 2008, at 3:33 AM, Stefan Benkler wrote:

 Dear PETSc developers

 Since a while, I successfully use your fantastic library on Windows. Thank
 you very much!

 Lately, I had a discussion about the involved copyrights/licenses with a
 colleague. The main point was if PETSc requires the POSIX layer of cygwin on
 Windows (and therefore would need to fulfill cygwin's GPL license).

 My standpoint was that cygwin is just used to configure and build the
 library, but only native Windows libraries (using MS or Intel's Windows
 compiler, MKL) are finally linked to the PETSc libs. However, I have
 difficulties to proof this claim, which is the reason for this email.

 Please comment/clarify the licensing on a Windows system.

 Thanks a lot for your informations.

 Best regards

  Stefan Benkler





 --
 What most experimenters take for granted before they begin their
 experiments is infinitely more interesting than any results to which their
 experiments lead.
 -- Norbert Wiener





-- 
Lisandro Dalc?n
---
Centro Internacional de M?todos Computacionales en Ingenier?a (CIMEC)
Instituto de Desarrollo Tecnol?gico para la Industria Qu?mica (INTEC)
Consejo Nacional de Investigaciones Cient?ficas y T?cnicas (CONICET)
PTLC - G?emes 3450, (3000) Santa Fe, Argentina
Tel/Fax: +54-(0)342-451.1594




[PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Farshid Mossaiby
Hi all,

I am really glad to hear this. This is exactly what I wished, and told you some 
time ago.

Just wanted you to know that there is a Windows Services For Unix (SFU) 
add-on for Windows, which is in some way like Cygwin. It is free, and can be 
downloaded by everyone. It has support for unix paths, too. I really do not 
like it (even as much as Cygwin), but it can be somewhat useful for you / 
someone else, if you take a look at it:

http://technet.microsoft.com/en-us/interopmigration/bb380242.aspx

Best regards,
Farshid Mossaiby


--- On Thu, 12/4/08, Lisandro Dalcin dalcinl at gmail.com wrote:

 From: Lisandro Dalcin dalcinl at gmail.com
 Subject: Re: [PETSC #18705] PETSc and Cygwin License (POSIX layer)
 To: petsc-dev at mcs.anl.gov
 Date: Thursday, December 4, 2008, 10:28 PM
 On Thu, Dec 4, 2008 at 4:42 PM, Barry Smith
 bsmith at mcs.anl.gov wrote:
 
   Make is NOT the problem! (It is just one of several)
 
 Indeed. However, at some time I'll try to make PETSc
 build with Scons.
 But we need to fix configure first.
 
 
   Config/configure.py uses the SHELL constantly for
 basically everything. Try
  running config/configure.py
  under Windows without using cygwin.
 
 I tried at home to run it with standard Windows's
 Python and
 MinGW+MSYS, but I had no success up to now (however, I have
 not tried
 hard)
 
 
 
  I for one think it should be possible to remove
 'make' from the
  toolchain, leaving us with only win32fe, which we
 distribute. Thus
  I think we could abandon cygwin once and for all.
 I would even be
  willing to write a \emph{make clone} to
 accomplish this, even though
  I am a committed enemy of make (which once
 TP'ed my house).
 
Matt
 
  -- Forwarded message --
  From: Barry Smith bsmith at mcs.anl.gov
  Date: Thu, Dec 4, 2008 at 12:00 PM
  Subject: Re: [PETSC #18705] PETSc and Cygwin
 License (POSIX layer)
  To: Stefan Benkler benkler at itis.ethz.ch
  Cc: petsc-maint at mcs.anl.gov
 
 
   Stefan,
 
Here is my understanding of the situation.
 
Conjecture: You CAN use an open source compiler
 (GNU)  to compile
  proprietary code and then sell
  the binaries without making the proprietary code
 GNU licensed so long as
  you just use the
  GNU compilers out of the box and don't change
 their source code and don't
  include the compliers
  libraries in your binaries.
 
   IF this is true then you are safe, the Cygwin
 environment is only used by
  PETSc to have
  a system to compile PETSc. None of it is included
 in the binaries
  generated.
 
   On the other hand, if my initial conjecture is
 wrong, then there could be
  a problem.
 
   Barry
 
  We've tried over the years to use Windows
 posix environments to develop
  a build system
  for PETSc so we don't need cygwin to build
 PETSc. Unfortunately their
  stuff is so un-unix
  like that it just wasn't practical and using
 developers studio to build
  PETSc directly is
  possible but requires some how getting all the
 PETSc source properly into
  developers studio
  and as far as I know the only way to do this is
 manually through the gui
  which is very painful;
  plus if we change something in the Unix build side
 later we'd need to
  change it manually
  on the developers studio side.
 
  If the situation has changed and Windows does
 provide a reasonable way to
  build large
  unix codes I'd love to hear about it and use
 it. We hate cygwin but feel
  with have no other
  reasonable option.
 
  On Dec 4, 2008, at 3:33 AM, Stefan Benkler wrote:
 
  Dear PETSc developers
 
  Since a while, I successfully use your fantastic
 library on Windows. Thank
  you very much!
 
  Lately, I had a discussion about the involved
 copyrights/licenses with a
  colleague. The main point was if PETSc requires
 the POSIX layer of cygwin on
  Windows (and therefore would need to fulfill
 cygwin's GPL license).
 
  My standpoint was that cygwin is just used to
 configure and build the
  library, but only native Windows libraries (using
 MS or Intel's Windows
  compiler, MKL) are finally linked to the PETSc
 libs. However, I have
  difficulties to proof this claim, which is the
 reason for this email.
 
  Please comment/clarify the licensing on a Windows
 system.
 
  Thanks a lot for your informations.
 
  Best regards
 
   Stefan Benkler
 
 
 
 
 
  --
  What most experimenters take for granted before
 they begin their
  experiments is infinitely more interesting than
 any results to which their
  experiments lead.
  -- Norbert Wiener
 
 
 
 
 
 -- 
 Lisandro Dalc?n
 ---
 Centro Internacional de M?todos Computacionales en
 Ingenier?a (CIMEC)
 Instituto de Desarrollo Tecnol?gico para la Industria
 Qu?mica (INTEC)
 Consejo Nacional de Investigaciones Cient?ficas y
 T?cnicas (CONICET)
 PTLC - G?emes 3450, (3000) Santa Fe, Argentina
 Tel/Fax: +54-(0)342-451.1594


  




[PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Satish Balay
On Thu, 4 Dec 2008, Farshid Mossaiby wrote:

 Hi all,
 
 I am really glad to hear this. This is exactly what I wished, and told you 
 some time ago.
 
 Just wanted you to know that there is a Windows Services For Unix
 (SFU) add-on for Windows, which is in some way like Cygwin. It is
 free, and can be downloaded by everyone. It has support for unix
 paths, too. I really do not like it (even as much as Cygwin), but it
 can be somewhat useful for you / someone else, if you take a look at
 it:

This is no good for us. Last I checked we can't invoke MS compiler
from this posix subsystem - or create native MS binaries from it..
i.e all binaries created in this susbsystem [perhaps with gcc] have to
be run within the subsystem..

Satish

 
 http://technet.microsoft.com/en-us/interopmigration/bb380242.aspx
 
 Best regards,
 Farshid Mossaiby




[PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Jed Brown
On Thu 2008-12-04 16:58, Lisandro Dalcin wrote:
 On Thu, Dec 4, 2008 at 4:42 PM, Barry Smith bsmith at mcs.anl.gov wrote:
 
   Make is NOT the problem! (It is just one of several)
 
 Indeed. However, at some time I'll try to make PETSc build with Scons.

Presumably you have some experience with SCons, but I think it's really
not such a good way to go.  It's pretty slow for large projects and the
caching design seems to generate inconsistent state somewhat regularly.
Also, big projects seem to always end up with a fork of SCons or abandon
it for alternatives.

I've been using CMake for my stuff (linking against PETSc and a few
other libs).  The syntax is pretty hideous for scripting, but the
declarative build definition is very nice.  Since it uses the native
build system, the IDE-using people on Windows would probably prefer it
as well.  It would be trivial (like an hour, plus some for tests) to
replace the current recursive make with CMake, replacing BuildSystem
would obviously require a bit of tedium, if it was even desirable.
BuildSystem is a very different beast from the configuration tools
that are out there since it also fills in as a package manager
(extremely nice since lots of optional dependencies have really painful
build systems).

In any case, having proper dependency analysis would be *really* cool, a
do-nothing rebuild of ParaView (includes VTK, 2M LOC in many
directories) takes 10 seconds so the usual PETSc few-file recompile
after 'hg pull -u' would be a 2-second affair.

Anyway, I'd suggest having a look at CMake before implementing an SCons
build.

Jed
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: 
http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20081204/a06a6165/attachment.pgp


[PETSC #18705] PETSc and Cygwin License (POSIX layer)

2008-12-04 Thread Farshid Mossaiby
Hi,

I do not know related it is, boost_build / bjam is another beast to consider. 
Based on python, runs OK on windows and seem quite nice in the project I work 
with it.

Regards,
Farshid Mossaiby

--- On Fri, 12/5/08, Jed Brown jed at 59A2.org wrote:

 From: Jed Brown jed at 59A2.org
 Subject: Re: [PETSC #18705] PETSc and Cygwin License (POSIX layer)
 To: petsc-dev at mcs.anl.gov
 Date: Friday, December 5, 2008, 12:21 AM
 On Thu 2008-12-04 16:58, Lisandro Dalcin wrote:
  On Thu, Dec 4, 2008 at 4:42 PM, Barry Smith
 bsmith at mcs.anl.gov wrote:
  
Make is NOT the problem! (It is just one of
 several)
  
  Indeed. However, at some time I'll try to make
 PETSc build with Scons.
 
 Presumably you have some experience with SCons, but I think
 it's really
 not such a good way to go.  It's pretty slow for large
 projects and the
 caching design seems to generate inconsistent state
 somewhat regularly.
 Also, big projects seem to always end up with a fork of
 SCons or abandon
 it for alternatives.
 
 I've been using CMake for my stuff (linking against
 PETSc and a few
 other libs).  The syntax is pretty hideous for scripting,
 but the
 declarative build definition is very nice.  Since it uses
 the native
 build system, the IDE-using people on Windows would
 probably prefer it
 as well.  It would be trivial (like an hour, plus some for
 tests) to
 replace the current recursive make with CMake, replacing
 BuildSystem
 would obviously require a bit of tedium, if it was even
 desirable.
 BuildSystem is a very different beast from the
 configuration tools
 that are out there since it also fills in as a package
 manager
 (extremely nice since lots of optional dependencies have
 really painful
 build systems).
 
 In any case, having proper dependency analysis would be
 *really* cool, a
 do-nothing rebuild of ParaView (includes VTK, 2M LOC in
 many
 directories) takes 10 seconds so the usual PETSc few-file
 recompile
 after 'hg pull -u' would be a 2-second affair.
 
 Anyway, I'd suggest having a look at CMake before
 implementing an SCons
 build.
 
 Jed