-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/PackagesList.cmake trilinos-11.4.3-new/PackagesList.cmake
+--- trilinos-11.4.3/PackagesList.cmake	2013-11-21 13:13:01.000000000 -0700
++++ trilinos-11.4.3-new/PackagesList.cmake	2014-09-09 14:48:49.000000000 -0600
+@@ -190,7 +190,7 @@
+ PACKAGE_DISABLE_ON_PLATFORMS(TriKota Windows)
+ PACKAGE_DISABLE_ON_PLATFORMS(Pamgen Windows)
+ PACKAGE_DISABLE_ON_PLATFORMS(STK Windows)
+-PACKAGE_DISABLE_ON_PLATFORMS(SEACAS Windows)
++#PACKAGE_DISABLE_ON_PLATFORMS(SEACAS Windows)
+ PACKAGE_DISABLE_ON_PLATFORMS(Anasazi Windows)
+ PACKAGE_DISABLE_ON_PLATFORMS(Zoltan Windows)
+ PACKAGE_DISABLE_ON_PLATFORMS(Isorropia Windows)
+diff -ruN trilinos-11.4.3/packages/PyTrilinos/src/CMakeLists.txt trilinos-11.4.3-new/packages/PyTrilinos/src/CMakeLists.txt
+--- trilinos-11.4.3/packages/PyTrilinos/src/CMakeLists.txt	2013-11-21 13:11:37.000000000 -0700
++++ trilinos-11.4.3-new/packages/PyTrilinos/src/CMakeLists.txt	2014-09-09 14:49:10.000000000 -0600
+@@ -62,7 +62,7 @@
+ # to the pytrilinos library and PyTrilinos extension modules
+ SET(EXTRA_LINK_ARGS "${CMAKE_SHARED_LINKER_FLAGS}")
+ IF(APPLE)
+-  IF((CMAKE_CXX_COMPILER_ID MATCHES) "GNU" OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
++  IF((CMAKE_CXX_COMPILER_ID MATCHES "GNU") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
+     SET(EXTRA_LINK_ARGS "${EXTRA_LINK_ARGS} -undefined dynamic_lookup")
+   ENDIF()
+ ENDIF(APPLE)
 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
+--- 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-09 14:48:49.000000000 -0600
 @@ -61,14 +61,18 @@
    : public DirectSerializationTraits<Ordinal,unsigned long>
  {};

 // Type unsigned long long
 template<>
 struct ScalarTraits<unsigned long long>
@@ -254,6 +261,7 @@ struct ScalarTraits<unsigned long long>
   static inline unsigned long long pow(unsigned long long x, unsigned long long y)
   { return (unsigned long long) std::pow((double)x,(double)y); }
 };

 %template(ScalarTraitsUlongLong) Teuchos::ScalarTraits< unsigned long long >;
 
 %template(ScalarTraitsFloat) Teuchos::ScalarTraits< float >;
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-09 14:48:49.000000000 -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-09 14:48:49.000000000 -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-09 14:48:49.000000000 -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-09 14:48:49.000000000 -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-09 14:48:49.000000000 -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-09 14:48:49.000000000 -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/seacas/libraries/exodus/cbind/include/exodusII.h trilinos-11.4.3-new/packages/seacas/libraries/exodus/cbind/include/exodusII.h
--- trilinos-11.4.3/packages/seacas/libraries/exodus/cbind/include/exodusII.h	2013-11-21 13:12:15.000000000 -0700
+++ trilinos-11.4.3-new/packages/seacas/libraries/exodus/cbind/include/exodusII.h	2014-09-09 14:48:49.000000000 -0600
@@ -51,7 +51,12 @@
 
 #include <stddef.h>
