[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