diff -crN oommf12a3/config/cache/linux-x86_64.tcl oommf12a3-patched/config/cache/linux-x86_64.tcl
*** oommf12a3/config/cache/linux-x86_64.tcl	Wed Dec 31 19:00:00 1969
--- oommf12a3-patched/config/cache/linux-x86_64.tcl	Wed May 11 17:23:11 2011
***************
*** 0 ****
--- 1,179 ----
+ # FILE: linux-x86_64.tcl
+ #
+ # Configuration feature definitions for the configuration 'linux-x86_64'
+ #
+ # Editing instructions begin at "START EDIT HERE" below.
+ 
+ set config [Oc_Config RunPlatform]
+ 
+ if {![string match [string tolower [file rootname [file tail [info script]]]] \
+         [$config GetValue platform_name]]} {
+     error "Configuration cache file '[info script]' 
+ sourced by '[$config GetValue platform_name]'"
+ }
+ 
+ ########################################################################
+ # START EDIT HERE
+ # In order to properly build, install, and run on your computing 
+ # platform, the OOMMF software must know certain features of your
+ # computing environment.  In this file are lines which set the value of 
+ # certain features of your computing environment.  Each line looks like:
+ #
+ # $config SetValue <feature> {<value>}
+ #
+ # where each <feature> is the name of some feature of interest,
+ # and <value> is the value which is assigned to that feature in a
+ # description of your computing environment.  Your task is to edit
+ # the values as necessary to properly describe your computing 
+ # environment.
+ #
+ # The character '#' at the beginning of a line is a comment character.
+ # It causes the contents of that line to be ignored.  To select
+ # among lines providing alternative values for a feature, uncomment the
+ # line containing the proper value.
+ #
+ # The features in this file are divided into three sections.  The first
+ # section (REQUIRED CONFIGURATION) includes features which require you 
+ # to provide a value.  The second section (OPTIONAL CONFIGURATION)
+ # includes features which have usable default values, but which you
+ # may wish to customize.  The third section (ADVANCED CONFIGURATION)
+ # contains features which you probably do not need or want to change
+ # without a good reason.
+ ########################################################################
+ # REQUIRED CONFIGURATION
+ 
+ # Set the feature 'program_compiler_c++' to the program to run on this 
+ # platform to compile source code files written in the language C++ into 
+ # object files.  Select from the choices below.  If the compiler is not 
+ # in your path, be sure to use the whole pathname.  Also include any 
+ # options required to instruct your compiler to only compile, not link.  
+ #
+ # If your compiler is not listed below, additional features will
+ # have to be added in the ADVANCED CONFIGURATION section below to 
+ # describe to the OOMMF software how to operate your compiler.  Send
+ # e-mail to the OOMMF developers for assistance.
+ #
+ # The GNU C++ compiler 'g++'
+ # <URL:http://www.gnu.org/software/gcc/gcc.html>
+ # <URL:http://egcs.cygnus.com/>
+ $config SetValue program_compiler_c++ {g++ -c}
+ 
+ ########################################################################
+ # OPTIONAL CONFIGURATION
+ 
+ # Set the feature 'path_directory_temporary' to the name of an existing 
+ # directory on your computer in which OOMMF software should write 
+ # temporary files.  All OOMMF users must have write access to this 
+ # directory.
+ #
+ # $config SetValue path_directory_temporary {/tmp}
+ 
+ ########################################################################
+ # ADVANCED CONFIGURATION
+ 
+ # Compiler option processing...
+ set ccbasename [file tail [lindex [$config GetValue program_compiler_c++] 0]]
+ if {[string match g++ $ccbasename]} {
+     # ...for GNU g++ C++ compiler
+ #    $config SetValue program_compiler_c++_option_opt {format "\"-O%s\""}
+ #    $config SetValue program_compiler_c++_option_opt {format "-O0 -ffloat-store"}
+ $config SetValue program_compiler_c++_option_opt {format "-O3 -ffast-math -fomit-frame-pointer"}
+ # The following alternative optimization option comes from
+ # Hin-Tak Leung <htl10@cus.cam.ac.uk>.  It reportedly provides better
+ # optimized code on Pentium systems, but may be incompatible with
+ # i486/i386 systems, and may complicate debugging.  Uncomment the
+ # following line to enable the Pentium-specific optimizations.
+ #    $config SetValue program_compiler_c++_option_opt {format "-O3 -malign-double -fomit-frame-pointer"}
+ # Or try this for PentiumPro systems.  Try it both with and without
+ # -malign-double.
+ #    $config SetValue program_compiler_c++_option_opt {format "-O4 -ffast-math -fomit-frame-pointer -march=pentiumpro -malign-double"}
+     # NOTE: If you want good performance, be sure to edit ../options.tcl
+     #  or ../local/options.tcl to include the line
+     #    Oc_Option Add * Platform cflags {-def NDEBUG}
+     #  so that the NDEBUG symbol is defined during compile.
+     $config SetValue program_compiler_c++_option_out {format "-o \"%s\""}
+     $config SetValue program_compiler_c++_option_src {format \"%s\"}
+     $config SetValue program_compiler_c++_option_inc {format "\"-I%s\""}
+  
+     # Compiler warnings:
+     # Omitted: -Wredundant-decls -Wshadow -Wcast-align
+     # I would also like to use -Wcast-qual, but casting away const is
+     # needed on some occasions to provide "conceptual const" functions in
+     # place of "bitwise const"; cf. p76-78 of Meyer's book, "Effective C++."
+     #
+     # NOTE: -Wno-uninitialized is required after -Wall by gcc 2.8+ because
+     # of an apparent bug.  -Winline is out because of failures in the STL.
+     # Depending on the gcc version, the following options may also be
+     # available:     -Wbad-function-cast     -Wstrict-prototypes
+     #                -Wmissing-declarations  -Wnested-externs
+     $config SetValue program_compiler_c++_option_warn {format "-Wall \
+         -W -Wpointer-arith -Wwrite-strings -Wmissing-prototypes \
+         -Woverloaded-virtual -Wsynth -Werror"}
+     $config SetValue program_compiler_c++_option_debug {format "-g"}
+     $config SetValue program_compiler_c++_option_def {format "\"-D%s\""}
+ 
+     # Widest natively support floating point type.
+     # NOTE: On the Linux/x86+gcc platform, "long double" provides somewhat
+     # better precision than "double", but at a cost of increased memory
+     # usage and likely some decrease in speed.  (At this writing,
+     # long double takes 12 bytes of storage as opposed to 8 for double,
+     # but provides the x86 native floating point format having approx.
+     # 19 decimal digits precision as opposed to 16 for double.)
+     $config SetValue program_compiler_c++_typedef_realwide "long double"
+ 
+     # Other compiler properties
+     $config SetValue \
+             program_compiler_c++_property_optimization_breaks_varargs 0
+ }
+ unset ccbasename
+ 
+ # The program to run on this platform to link together object files and
+ # library files to create an executable binary.
+ #
+ # Use the selected compiler to control the linking.
+ $config SetValue program_linker [lindex \
+         [$config GetValue program_compiler_c++] 0]
+ 
+ # Linker option processing...
+ set lbasename [file tail [lindex [$config GetValue program_linker] 0]]
+ if {[string match g++ $lbasename]} {
+     # ...for GNU g++ as linker
+     $config SetValue program_linker_option_obj {format \"%s\"}
+     $config SetValue program_linker_option_out {format "-o \"%s\""}
+     $config SetValue program_linker_option_lib {format \"%s\"}
+     $config SetValue program_linker_uses_-L-l {1}
+ }
+ unset lbasename
+ 
+ # The program to run on this platform to create a single library file out
+ # of many object files.
+ $config SetValue program_libmaker {ar cr}
+ 
+ if {[string match ar [file tail [lindex \
+         [$config GetValue program_libmaker] 0]]]} {
+     # Option processing for ar
+     $config SetValue program_libmaker_option_obj {format \"%s\"}
+     $config SetValue program_libmaker_option_out {format \"%s\"}
+ }
+ 
+ # The absolute, native filename of the null device
+ $config SetValue path_device_null {/dev/null}
+ 
+ # A partial Tcl command (or script) which when completed by lappending
+ # a file name stem and evaluated returns the corresponding file name for
+ # an executable on this platform
+ $config SetValue script_filename_executable {format %s}
+ 
+ # A partial Tcl command (or script) which when completed by lappending
+ # a file name stem and evaluated returns the corresponding file name for
+ # an object file on this platform
+ $config SetValue script_filename_object {format %s.o}
+ 
+ # A partial Tcl command (or script) which when completed by lappending
+ # a file name stem and evaluated returns the corresponding file name for
+ # a static library on this platform
+ $config SetValue script_filename_static_library {format lib%s.a}
+ 
+ ########################################################################
+ unset config
+ 
diff -crN oommf12a3/config/names/linux-x86_64.tcl oommf12a3-patched/config/names/linux-x86_64.tcl
*** oommf12a3/config/names/linux-x86_64.tcl	Wed Dec 31 19:00:00 1969
--- oommf12a3-patched/config/names/linux-x86_64.tcl	Wed May 11 17:21:46 2011
***************
*** 0 ****
--- 1,15 ----
+ # linux-x86_64.tcl
+ #
+ # Defines the Oc_Config name 'linux-x86_64' to indicate the Linux
+ # operating system running on the x86_64 architecture.
+ 
+ Oc_Config New _ [string tolower [file rootname [file tail [info script]]]] {
+     global tcl_platform env
+     if {![regexp -nocase -- linux $tcl_platform(os)]} {
+         return 0
+     }
+     if {![string match x86_64 $tcl_platform(machine)]} {
+ 	return 0
+     }
+     return 1
+ }
