[cig-commits] r4249 - long/3D/Gale/trunk

walter at geodynamics.org walter at geodynamics.org
Wed Aug 9 00:19:43 PDT 2006


Author: walter
Date: 2006-08-09 00:19:43 -0700 (Wed, 09 Aug 2006)
New Revision: 4249

Modified:
   long/3D/Gale/trunk/
   long/3D/Gale/trunk/INSTALL.STATIC
Log:
 r577 at earth:  boo | 2006-08-09 00:18:11 -0700
 Update INSTALL.STATIC



Property changes on: long/3D/Gale/trunk
___________________________________________________________________
Name: svk:merge
   - 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:573
   + 3a629746-de10-0410-b17b-fd6ecaaa963e:/cig:577

Modified: long/3D/Gale/trunk/INSTALL.STATIC
===================================================================
--- long/3D/Gale/trunk/INSTALL.STATIC	2006-08-08 21:24:45 UTC (rev 4248)
+++ long/3D/Gale/trunk/INSTALL.STATIC	2006-08-09 07:19:43 UTC (rev 4249)
@@ -1,8 +1,12 @@
 If you want to make a static build (i.e. a single, monolithic
 executable that you can just copy to another machine), then do not
-configure --with-shared.  On Linux, you must, when building, set the
-STATIC_BUILD environment variable.  As in
+configure --with-shared.
 
+LINUX
+---------------------------------------------------------
+You must, when building, set the STATIC_BUILD environment
+variable.  As in
+
   $ STATIC_BUILD=1 make install
 
 The SConstruct.in file is set up for static builds on my laptop.  The
@@ -17,8 +21,50 @@
 To make static builds on your machine, you may have to edit
 SConstruct.in to set appropriate library paths and extra libraries.
 
-On OS X, you must not set the STATIC_BUILD environment variable.  The
--static option does not work on OS X.  Instead, make sure that petsc
-(and by extension mpich) is built statically.  The veclib you get with
-the developer tools is a static library.  All of the other
-requirements (libxml2, libc) should be on users machines.
+
+Mac OS X
+---------------------------------------------------------
+
+You must not set the STATIC_BUILD environment variable.  The -static
+option does not work on OS X.  Instead, make sure that petsc (and by
+extension mpich) is built statically.  All of the other requirements
+(libxml2, libc, vecLib) should be on users machines.
+
+If you are on Tiger (10.4) and you want your build to work on Panther
+(10.3), then you must at least configure everything with gcc-3.3.  You
+also need must also use the 10.2.8 SDK to get an older version of
+vecLib.  You might need to add the line
+
+  env.Append(LIBS=Split('SystemStubs'))
+
+to SConstruct.in.  
+
+
+Windows
+---------------------------------------------------------
+
+You must build Petsc with the Microsoft compiler.  Petsc does not
+support mingw.  You must also build your own version of libxml, since
+MPICH is built with the single threaded, static C library and libxml
+is built with the multithreaded, dynamic library.  To build Gale, you
+can not run configure.  Instead, manually hack the SConstruct file.
+You will have to define a number of macros and modify the source.
+This is mostly because MSVC does not implement C99.  So you have to
+make the following options to the command line:
+
+  /Disnan=_isnan
+  /Disinf=!_finite
+  /Dstrcasecmp=_stricmp
+  /Dstrncasecmp=_strnicmp
+  
+MSVC also does not support declarations not at the beginning of a
+function.  sys/time.h is not defined, so do not compile the CPUTime
+plugin.  drand48 is not implemented, so it has to be replaced with
+rand.  Inifinity is too large (10^500), so replace it with something
+smaller (10^100).  erf is not implemented, so comment that out in
+StandardConditionFunctions.  Add TrigMath.h in a number of files
+because M_PI is not defined.  Replace S_ISREG(x) and S_ISDIR(x) with
+x&S_IFREG andx&S_IFDIR.  Replace va_copy(a,b) with a=b.  Remove
+setenv.
+
+Also define LIBXML_STATIC.



More information about the cig-commits mailing list