  #include <math.h>
 diff -ruN trilinos-11.4.3/packages/seacas/libraries/exodus/cbind/src/ex_put_cmap_params.c trilinos-11.4.3-new/packages/seacas/libraries/exodus/cbind/src/ex_put_cmap_params.c
 --- trilinos-11.4.3/packages/seacas/libraries/exodus/cbind/src/ex_put_cmap_params.c	2013-11-21 13:12:14.000000000 -0700
-+++ trilinos-11.4.3-new/packages/seacas/libraries/exodus/cbind/src/ex_put_cmap_params.c	2014-09-03 08:32:31.443265242 -0600
++++ trilinos-11.4.3-new/packages/seacas/libraries/exodus/cbind/src/ex_put_cmap_params.c	2014-09-09 14:48:49.000000000 -0600
 @@ -60,7 +60,7 @@
  /*****************************************************************************/
  

diff -ruN trilinos-11.4.3/packages/amesos/CMakeLists.txt trilinos-11.4.3-new/packages/amesos/CMakeLists.txt
--- trilinos-11.4.3/packages/amesos/CMakeLists.txt	2013-11-21 13:13:00.000000000 -0700
+++ trilinos-11.4.3-new/packages/amesos/CMakeLists.txt	2014-09-03 08:34:54.225103343 -0600
@@ -12,10 +12,19 @@
 # B) Set up package-specific options
 #
 
+#
+# TMA: We can actually build SuperLU_Dist without ParMETIS per a recent Tech-X
+# change made with the help of Sherry Li.
+#
+
 # if using SuperLUDist, must also link in ParMETIS for some reason
+# JRC: Because it is now a dependency that would go away if Sherry Li
+# would accept Tech-X changes
+if (NOT TPL_ENABLE_SuperLUDist_Without_ParMETIS)
 IF(${PACKAGE_NAME}_ENABLE_SuperLUDist AND NOT ${PACKAGE_NAME}_ENABLE_ParMETIS)
   MESSAGE(FATAL_ERROR "The Amesos support for the SuperLUIDist TPL requires the ParMETIS TPL.  Either disable Amesos SuperLUDist support or enable the ParMETIS TPL.")
 ENDIF()
+ENDIF()
 
 # if using parallel MUMPS, must also link in scalapack and BLACS
 
diff -ruN trilinos-11.4.3/packages/ifpack/src/Ifpack_ICT.cpp trilinos-11.4.3-new/packages/ifpack/src/Ifpack_ICT.cpp
--- trilinos-11.4.3/packages/ifpack/src/Ifpack_ICT.cpp	2013-11-21 13:11:43.000000000 -0700
+++ trilinos-11.4.3-new/packages/ifpack/src/Ifpack_ICT.cpp	2014-09-03 08:32:31.435265420 -0600
@@ -40,6 +40,7 @@
 //@HEADER
 */
 
+#include <functional>
 #include "Ifpack_ConfigDefs.h"
 #include "Ifpack_Preconditioner.h"
 #include "Ifpack_ICT.h"
diff -ruN trilinos-11.4.3/packages/ml/src/MLAPI/MLAPI_MultiVector.h trilinos-11.4.3-new/packages/ml/src/MLAPI/MLAPI_MultiVector.h
--- trilinos-11.4.3/packages/ml/src/MLAPI/MLAPI_MultiVector.h	2013-11-21 13:12:27.000000000 -0700
+++ trilinos-11.4.3-new/packages/ml/src/MLAPI/MLAPI_MultiVector.h	2014-09-03 08:32:31.436265396 -0600
@@ -15,6 +15,7 @@
 /* person and disclaimer.                                               */        
 /* ******************************************************************** */
 
+#include <functional>
 //#include "ml_lapack.h"
 #include "MLAPI_Error.h"
 #include "MLAPI_BaseObject.h"
diff -ruN trilinos-11.4.3/packages/ml/src/MLAPI/MLAPI_Workspace.cpp trilinos-11.4.3-new/packages/ml/src/MLAPI/MLAPI_Workspace.cpp
--- trilinos-11.4.3/packages/ml/src/MLAPI/MLAPI_Workspace.cpp	2013-11-21 13:12:27.000000000 -0700
+++ trilinos-11.4.3-new/packages/ml/src/MLAPI/MLAPI_Workspace.cpp	2014-09-03 08:32:31.436265396 -0600
@@ -13,8 +13,10 @@
 #endif
 #include "MLAPI_Error.h"
 #include "MLAPI_Workspace.h"
-#ifdef _MSC_VER
-#include "winprocess.h"
+#if defined(_MSC_VER)
+# include "winprocess.h"
+#elif defined(__MINGW32__)
+# include "windows.h"
 #endif
 
 namespace MLAPI {
@@ -119,8 +121,10 @@
 #endif
         printf("%s\n",buf);
         fflush(stdout);
-#ifdef ICL
+#if defined(ICL)
         Sleep(1);
+#elif defined(__MINGW32__)
+        Sleep(1000.);  // Windows sleep is in milliseconds
 #else
         sleep(1);
 #endif
diff -ruN trilinos-11.4.3/packages/ml/src/Utils/ml_epetra_utils.cpp trilinos-11.4.3-new/packages/ml/src/Utils/ml_epetra_utils.cpp
--- trilinos-11.4.3/packages/ml/src/Utils/ml_epetra_utils.cpp	2013-11-21 13:12:26.000000000 -0700
+++ trilinos-11.4.3-new/packages/ml/src/Utils/ml_epetra_utils.cpp	2014-09-03 08:32:31.438265352 -0600
@@ -40,8 +40,10 @@
 #include "Teuchos_Array.hpp"
 #include "Teuchos_ParameterList.hpp"
 #endif
-#ifdef _MSC_VER
+#if defined(_MSC_VER)
 # include "winprocess.h"
+#elif defined(__MINGW32__)
+# include "windows.h"
 #endif
 
 #ifdef HAVE_ML_TEUCHOS
@@ -3539,6 +3541,11 @@
       if (i == Comm.MyPID() ) {
 #if defined(TFLOP) || defined(JANUS_STLPORT) || defined(COUGAR)
     sprintf(buf, "Host: %s   PID: %d", "janus", getpid());
+#elif defined(__MINGW32__)
+// getpid not present for mingw
+    sprintf(buf, "Host: %s   PID: %d", "mingw32", 0);
+#elif defined(_MSC_VER)
+    sprintf(buf, "Host: %s   PID: %d", "msvc", getpid());
 #else
     gethostname(hostname, sizeof(hostname));
     int pid = getpid();
@@ -3547,8 +3554,10 @@
 #endif
     printf("%s\n",buf);
     fflush(stdout);
-#ifdef ICL
+#if defined(ICL)
     Sleep(1);
+#elif defined(__MINGW32__)
+    Sleep(1000.);  // Windows sleep is in milliseconds
 #else
     sleep(1);
 #endif
diff -ruN trilinos-11.4.3/packages/ml/src/Utils/ml_utils.c trilinos-11.4.3-new/packages/ml/src/Utils/ml_utils.c
--- trilinos-11.4.3/packages/ml/src/Utils/ml_utils.c	2013-11-21 13:12:26.000000000 -0700
+++ trilinos-11.4.3-new/packages/ml/src/Utils/ml_utils.c	2014-09-03 08:38:48.604913536 -0600
@@ -1956,14 +1956,18 @@
       if (i == mypid) {
 #if defined(TFLOP) || defined(JANUS_STLPORT) || defined(COUGAR)
         sprintf(buf, "Host: %s   PID: %d", "janus", getpid());
+#elif defined(__MINGW32__)
+        sprintf(buf, "Host: %s   PID: %d", "mingw", getpid());
 #else
         gethostname(hostname, sizeof(hostname));
         sprintf(buf, "Host: %s   PID: %d (mpi task %d)", hostname, getpid(),mypid);
 #endif
         printf("%s\n",buf);
         fflush(stdout);
-#ifdef ICL
+#if defined(ICL)
         Sleep(1);
+#elif defined(__MINGW32__)
+        Sleep(1000.);  // Windows sleep is in milliseconds
 #else
         sleep(1);
 #endif
diff -ruN trilinos-11.4.3/packages/PyTrilinos/src/Teuchos_Traits.i trilinos-11.4.3-new/packages/PyTrilinos/src/Teuchos_Traits.i
--- trilinos-11.4.3/packages/PyTrilinos/src/Teuchos_Traits.i    2013-11-21 13:11:36.000000000 -0700
+++ trilinos-11.4.3-new/packages/PyTrilinos/src/Teuchos_Traits.i    2014-09-03 08:36:06.952493103 -0600
@@ -61,14 +61,18 @@
   : public DirectSerializationTraits<Ordinal,unsigned long>
 {};

 }
 %}
 
@@ -199,6 +203,7 @@
 };
 #endif
 
