<pre style='margin:0'>
Renee Otten (reneeotten) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c1ab9f8b76dd732cf4c0d94cd9c3785199b8583f">https://github.com/macports/macports-ports/commit/c1ab9f8b76dd732cf4c0d94cd9c3785199b8583f</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit c1ab9f8b76dd732cf4c0d94cd9c3785199b8583f
</span>Author: Kirill A. Korinsky <kirill@korins.ky>
AuthorDate: Wed Nov 30 03:23:21 2022 +0100

<span style='display:block; white-space:pre;color:#404040;'>    metis: update to 20220130
</span>---
 math/metis/Portfile                         | 103 ++--
 math/metis/files/cmake64.patch              | 871 ----------------------------
 math/metis/files/cmake_gklib_tls.patch      |  19 -
 math/metis/files/cmake_system_include.patch |  16 -
 math/metis/files/cmake_tls.patch            |  37 --
 math/metis/files/gkl.patch                  | 219 -------
 math/metis/files/missing_includes.patch     |  20 -
 math/metis/files/patch-darwin-sources.diff  |  16 +
 math/metis/files/patch-shared-gklib.diff    |  17 +
 math/metis/files/remove_home_dir.patch      |  20 -
 math/metis/files/sharedprefix.patch         |  23 -
 11 files changed, 81 insertions(+), 1280 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/Portfile b/math/metis/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f95ec8e0433..d48a3c3c3d4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/metis/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,61 +1,41 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
 
 PortSystem          1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           cmake 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           compilers 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           active_variants 1.1
</span> 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        KarypisLab METIS 94c03a6e2d1860128c2d0675cbbb86ad4f261256
</span> name                metis
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version             5.1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             20220130
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span> categories          math
 platforms           darwin
<span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license             Apache-2 LGPL-2.1+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         {@catap korins.ky:kirill} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license             Apache-2
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description         A package for unstructured graph partitioning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Serial Graph Partitioning and Fill-reducing Matrix Ordering
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    {*}${description}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-long_description    METIS is a set of programs for partitioning graphs and \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    for producing fill reducing orderings for sparse \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    matrices. The algorithms implemented by METIS are based \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    on the multilevel graph partitioning scheme described \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    in \[KK95a\] and \[KK95e\]. METIS provides high quality \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    partitions, is extremely fast, and produces low fill \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    orderings.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  be3c57a5cd6dc28f34f277598422276e791b52a8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  26c7812471609efe1d250256744d49fc2fd5e5cd6c93427833d3c384bc393097 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    4838826
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-homepage            http://glaros.dtc.umn.edu/gkhome/metis/metis/overview
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites        http://glaros.dtc.umn.edu/gkhome/fetch/sw/metis/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-shared-gklib.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-darwin-sources.diff
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  2c4a54bcd3179a609842cde1908dbd232a770495 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  76faebe03f6c963127dbb73c13eab58c9a3faeae48779f049066a21c087c5db2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:gklib
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compilers.choose    cc cxx cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-compilers.setup
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patch.pre_args      -p1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   remove_home_dir.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    cmake64.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sharedprefix.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    missing_includes.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    cmake_tls.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    gkl.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    cmake_gklib_tls.patch \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    cmake_system_include.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-configure {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace       {s|build/xinclude|${CMAKE_SOURCE_DIR}/include|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${worksrcpath}/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 configure.args-append \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DGKLIB_PATH=${worksrcpath}/GKlib \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DSHARED=1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    -DMETIS_USE_DOUBLEPRECISION=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset debug]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # just to be safe
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cflags-delete    -O1 -O2 -O3 -Os -DNDEBUG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxxflags-delete  -O1 -O2 -O3 -Os -DNDEBUG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.optflags-delete  -O1 -O2 -O3 -Os -DNDEBUG
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.optflags-append  -O0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cflags-append    -g
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxxflags-append  -g
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DGKLIB_PATH=${prefix} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DGKRAND=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DGKREGEX=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DSHARED=ON
</span> 
 post-destroot {
     # Install documentation
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -65,17 +45,30 @@ post-destroot {
</span> }
 
 variant openmp description {Enable openmp support} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  configure.args-append       -DOPENMP=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant longindex description {Build with index type being long} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  configure.args-append       -DMETIS_USE_LONGINDEX=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    require_active_variants gklib openmp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.openmp_version 4.5
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    -DOPENMP=ON
</span> }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-variant single description {Build with single precision} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-  configure.args-delete       -DMETIS_USE_DOUBLEPRECISION=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant longindex description {Build with index type being long} { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+variant single description {Build with single precision} { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset longindex]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace   {s|//#define IDXTYPEWIDTH 32|#define IDXTYPEWIDTH 64|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${worksrcpath}/include/metis.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace   {s|//#define IDXTYPEWIDTH 32|#define IDXTYPEWIDTH 32|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${worksrcpath}/include/metis.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[variant_isset single]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace   {s|//#define REALTYPEWIDTH 32|#define REALTYPEWIDTH 64|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${worksrcpath}/include/metis.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace   {s|//#define REALTYPEWIDTH 32|#define REALTYPEWIDTH 32|g} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    ${worksrcpath}/include/metis.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span> }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url   http://glaros.dtc.umn.edu/gkhome/metis/metis/changes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex {Ver: ([0-9.]+),}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/cmake64.patch b/math/metis/files/cmake64.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 514c73a0bed..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/files/cmake64.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,871 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# HG changeset patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# User Sean Farley <sean@mcs.anl.gov>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date 1332269669 18000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID aed7f236f05776012de66d24f7abf7b0395e7a97
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  bc20de47ec7e09494907774a7988b5948ce8e22a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-cmake: add a configure option for 64 bit integers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r bc20de47ec7e -r aed7f236f057 BUILD.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/BUILD.txt    Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/BUILD.txt    Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -15,14 +15,16 @@ example:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-      $ make config shared=1 cc=gcc-4.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- would configure metis to be built as a shared library using GCC 4.2.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Common configuration options are:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  cc=[compiler]   - The C compiler to use [default is determined by CMake]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  shared=1        - Build a shared library instead of a static one 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                    [off by default]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  prefix=[PATH]   - Set the installation prefix [/usr/local/ by default]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  cc=[compiler]     - The C compiler to use [default is determined by CMake]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  shared=1          - Build a shared library instead of a static one 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                      [off by default]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  prefix=[PATH]     - Set the installation prefix [/usr/local/ by default]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  longindex=1       - Build with idx_t = int64_t
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  doubleprecision=1 - Build with real_t = double
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Advanced debugging related options:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   gdb=1       - Build with support for GDB [off by default]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   debug=1     - Enable debugging support [off by default]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   assert=1    - Enable asserts [off by default]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r bc20de47ec7e -r aed7f236f057 Install.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/Install.txt  Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/Install.txt  Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,25 +1,16 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- These are some preliminary instructions for the 5.0 release of METIS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--1. You need to have a C compiler that supports the C99 standard. 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+1. You need to have a C compiler that supports the C99 standard.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    Gcc works just fine, but I have not tested it on many other architectures
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    (any feedback/patches for different architectures are welcomed)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2. You need to have GNU make and CMake 2.8 (http://www.cmake.org/) installed.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--3. Edit the file include/metis.h and specify the width (32 or 64 bits) of the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   elementary data type used in METIS. This is controled by the IDXTYPEWIDTH
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   constant.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+3. At the top of Metis' directory execute 'make' and follow the instructions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   For now, on a 32 bit architecture you can only specify a width of 32, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   whereas for a 64 bit architecture you can specify a width of either 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   32 or 64 bits.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--4. At the top of Metis' directory execute 'make' and follow the instructions.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       make
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--5. To build on windows using Visual Studio follow the instructions in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+4. To build on windows using Visual Studio follow the instructions in the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    file BUILD-Windows.txt.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r bc20de47ec7e -r aed7f236f057 Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/Makefile     Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/Makefile     Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,16 +1,18 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Configuration options.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--gdb        = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--assert     = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--assert2    = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--debug      = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--gprof      = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--openmp     = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--prefix     = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--gklib_path = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--shared     = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--cc         = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gdb             = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+assert          = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+assert2         = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+debug           = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gprof           = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+openmp          = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+prefix          = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+gklib_path      = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+shared          = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cc              = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+longindex       = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+doubleprecision = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Basically proxies everything to the builddir cmake.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cputype = $(shell uname -m | sed "s/\\ /_/g")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -49,10 +51,16 @@ ifneq ($(shared), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CONFIG_FLAGS += -DSHARED=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifneq ($(cc), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CONFIG_FLAGS += -DCMAKE_C_COMPILER=$(cc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifneq ($(longindex), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    CONFIG_FLAGS += -DMETIS_USE_LONGINDEX=$(longindex)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifneq ($(doubleprecision), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    CONFIG_FLAGS += -DMETIS_USE_DOUBLEPRECISION=$(doubleprecision)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- VERNUM=5.1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- PKGNAME=metis-$(VERNUM)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- define run-config
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r bc20de47ec7e -r aed7f236f057 include/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/include/CMakeLists.txt       Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/include/CMakeLists.txt       Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,3 +1,6 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(METIS_INSTALL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  install(FILES metis.h DESTINATION include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  option (METIS_USE_LONGINDEX "Compile METIS with long ints (64bit integers)" OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  option (METIS_USE_DOUBLEPRECISION "Compile METIS with double precision (double)" OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  configure_file (metis.h.in metis.h)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  install(FILES "${PROJECT_BINARY_DIR}/include/metis.h" DESTINATION include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r bc20de47ec7e -r aed7f236f057 include/metis.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/include/metis.h      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null      Thu Jan 01 00:00:00 1970 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,350 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--\file metis.h 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--\brief This file contains function prototypes and constant definitions for METIS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--\author George
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--\date   Started 8/9/02
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--\version\verbatim $Id$\endverbatim
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef _METIS_H_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define _METIS_H_ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/****************************************************************************
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--* A set of defines that can be modified by the user
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--*****************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*--------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Specifies the width of the elementary data type that will hold information
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- about vertices and their adjacency lists.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Possible values:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   32 : Use 32 bit signed integers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   64 : Use 64 bit signed integers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- A width of 64 should be specified if the number of vertices or the total
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- number of edges in the graph exceed the limits of a 32 bit signed integer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- i.e., 2^31-1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Proper use of 64 bit integers requires that the c99 standard datatypes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- int32_t and int64_t are supported by the compiler.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- GCC does provides these definitions in stdint.h, but it may require some
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- modifications on other architectures.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define IDXTYPEWIDTH 32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*--------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Specifies the data type that will hold floating-point style information.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- Possible values:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   32 : single precission floating point (float)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   64 : double precission floating point (double)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define REALTYPEWIDTH 32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/****************************************************************************
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--* In principle, nothing needs to be changed beyond this point, unless the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--* int32_t and int64_t cannot be found in the normal places.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--*****************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Uniform definitions for various compilers */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define COMPILER_MSC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if defined(__ICC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define COMPILER_ICC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if defined(__GNUC__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define COMPILER_GCC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Include c99 int definitions and need constants. When building the library,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-- * these are already defined by GKlib; hence the test for _GKLIB_H_ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifndef _GKLIB_H_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef COMPILER_MSC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <limits.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef __int32 int32_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef __int64 int64_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define PRId32       "I32d"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define PRId64       "I64d"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define SCNd32       "ld"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define SCNd64       "I64d"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define INT32_MIN    ((int32_t)_I32_MIN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define INT32_MAX    _I32_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define INT64_MIN    ((int64_t)_I64_MIN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define INT64_MAX    _I64_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#include <inttypes.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--* Setup the basic datatypes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--*-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if IDXTYPEWIDTH == 32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  typedef int32_t idx_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define IDX_MAX   INT32_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define IDX_MIN   INT32_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define SCIDX  SCNd32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define PRIDX  PRId32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define strtoidx      strtol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define iabs          abs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#elif IDXTYPEWIDTH == 64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  typedef int64_t idx_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define IDX_MAX   INT64_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define IDX_MIN   INT64_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define SCIDX  SCNd64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define PRIDX  PRId64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef COMPILER_MSC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define strtoidx      _strtoi64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define strtoidx      strtoll
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define iabs          labs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #error "Incorrect user-supplied value fo IDXTYPEWIDTH"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if REALTYPEWIDTH == 32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  typedef float real_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define SCREAL         "f"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define PRREAL         "f"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define REAL_MAX       FLT_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define REAL_MIN       FLT_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define REAL_EPSILON   FLT_EPSILON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define rabs          fabsf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define REALEQ(x,y) ((rabs((x)-(y)) <= FLT_EPSILON))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef COMPILER_MSC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define strtoreal     (float)strtod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define strtoreal     strtof
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#elif REALTYPEWIDTH == 64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  typedef double real_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define SCREAL         "lf"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define PRREAL         "lf"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define REAL_MAX       DBL_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define REAL_MIN       DBL_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define REAL_EPSILON   DBL_EPSILON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define rabs          fabs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define REALEQ(x,y) ((rabs((x)-(y)) <= DBL_EPSILON))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #define strtoreal     strtod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  #error "Incorrect user-supplied value for REALTYPEWIDTH"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--* Constant definitions 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--*-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Metis's version number */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define METIS_VER_MAJOR         5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define METIS_VER_MINOR         1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define METIS_VER_SUBMINOR      0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* The maximum length of the options[] array */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define METIS_NOPTIONS          40
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--* Function prototypes 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--*-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef _WINDLL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define METIS_API(type) __declspec(dllexport) type __cdecl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#elif defined(__cdecl)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define METIS_API(type) type __cdecl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define METIS_API(type) type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--extern "C" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *edgecut, idx_t *part);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *edgecut, idx_t *part);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_MeshToDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *ncommon, idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_MeshToNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_PartMeshNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *vwgt, idx_t *vsize, idx_t *nparts, real_t *tpwgts, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *options, idx_t *objval, idx_t *epart, idx_t *npart);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_PartMeshDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *vwgt, idx_t *vsize, idx_t *ncommon, idx_t *nparts, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  real_t *tpwgts, idx_t *options, idx_t *objval, idx_t *epart, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *npart);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_NodeND(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                  idx_t *options, idx_t *perm, idx_t *iperm);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_Free(void *ptr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_SetDefaultOptions(idx_t *options);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* These functions are used by ParMETIS */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_NodeNDP(idx_t nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                   idx_t npes, idx_t *options, idx_t *perm, idx_t *iperm, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                   idx_t *sizes);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_ComputeVertexSeparator(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                   idx_t *vwgt, idx_t *options, idx_t *sepsize, idx_t *part);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--METIS_API(int) METIS_NodeRefine(idx_t nvtxs, idx_t *xadj, idx_t *vwgt, idx_t *adjncy,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--                   idx_t *where, idx_t *hmarker, real_t ubfactor);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--* Enum type definitions 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--*-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Return codes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OK              = 1,    /*!< Returned normally */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_ERROR_INPUT     = -2,   /*!< Returned due to erroneous inputs and/or options */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_ERROR_MEMORY    = -3,   /*!< Returned due to insufficient memory */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_ERROR           = -4    /*!< Some other errors */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} rstatus_et; 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Operation type codes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OP_PMETIS,       
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OP_KMETIS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OP_OMETIS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} moptype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Options codes (i.e., options[]) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_PTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_OBJTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_CTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_IPTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_RTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_DBGLVL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_NITER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_NCUTS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_SEED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_NO2HOP,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_MINCONN,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_CONTIG,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_COMPRESS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_CCORDER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_PFACTOR,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_NSEPS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_UFACTOR,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_NUMBERING,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  /* Used for command-line parameter purposes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_HELP,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_TPWGTS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_NCOMMON,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_NOOUTPUT,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_BALANCE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_GTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OPTION_UBVEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} moptions_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Partitioning Schemes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_PTYPE_RB, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_PTYPE_KWAY                
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} mptype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Graph types for meshes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_GTYPE_DUAL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_GTYPE_NODAL               
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} mgtype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Coarsening Schemes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_CTYPE_RM,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_CTYPE_SHEM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} mctype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Initial partitioning schemes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_IPTYPE_GROW,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_IPTYPE_RANDOM,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_IPTYPE_EDGE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_IPTYPE_NODE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_IPTYPE_METISRB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} miptype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Refinement schemes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_RTYPE_FM,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_RTYPE_GREEDY,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_RTYPE_SEP2SIDED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_RTYPE_SEP1SIDED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} mrtype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/*! Debug Levels */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_INFO       = 1,       /*!< Shows various diagnostic messages */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_TIME       = 2,       /*!< Perform timing analysis */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_COARSEN    = 4,         /*!< Show the coarsening progress */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_REFINE     = 8,         /*!< Show the refinement progress */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_IPART      = 16,        /*!< Show info on initial partitioning */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_MOVEINFO   = 32,        /*!< Show info on vertex moves during refinement */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_SEPINFO    = 64,        /*!< Show info on vertex moves during sep refinement */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_CONNINFO   = 128,     /*!< Show info on minimization of subdomain connectivity */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_CONTIGINFO = 256,     /*!< Show info on elimination of connected components */ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_DBG_MEMORY     = 2048,    /*!< Show info related to wspace allocation */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} mdbglvl_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--/* Types of objectives */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OBJTYPE_CUT,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OBJTYPE_VOL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  METIS_OBJTYPE_NODE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--} mobjtype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif  /* _METIS_H_ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r bc20de47ec7e -r aed7f236f057 include/metis.h.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null      Thu Jan 01 00:00:00 1970 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/include/metis.h.in   Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,364 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*!
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\file metis.h 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\brief This file contains function prototypes and constant definitions for METIS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ *
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\author George
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\date   Started 8/9/02
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+\version\verbatim $Id$\endverbatim
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef _METIS_H_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define _METIS_H_ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/****************************************************************************
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+* A set of defines that can be modified by the user
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*****************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*--------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Specifies the width of the elementary data type that will hold information
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ about vertices and their adjacency lists.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Possible values:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   32 : Use 32 bit signed integers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   64 : Use 64 bit signed integers
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ A width of 64 should be specified if the number of vertices or the total
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ number of edges in the graph exceed the limits of a 32 bit signed integer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ i.e., 2^31-1.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Proper use of 64 bit integers requires that the c99 standard datatypes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ int32_t and int64_t are supported by the compiler.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ GCC does provides these definitions in stdint.h, but it may require some
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ modifications on other architectures.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+--------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#cmakedefine METIS_USE_LONGINDEX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef METIS_USE_LONGINDEX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define IDXTYPEWIDTH 64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define IDXTYPEWIDTH 32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*--------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Specifies the data type that will hold floating-point style information.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ Possible values:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   32 : single precission floating point (float)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   64 : double precission floating point (double)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+--------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#cmakedefine METIS_USE_DOUBLEPRECISION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef METIS_USE_DOUBLEPRECISION
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define REALTYPEWIDTH 64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define REALTYPEWIDTH 32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/****************************************************************************
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+* In principle, nothing needs to be changed beyond this point, unless the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+* int32_t and int64_t cannot be found in the normal places.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*****************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Uniform definitions for various compilers */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define COMPILER_MSC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__ICC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define COMPILER_ICC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if defined(__GNUC__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define COMPILER_GCC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Include c99 int definitions and need constants. When building the library,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ * these are already defined by GKlib; hence the test for _GKLIB_H_ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef _GKLIB_H_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef COMPILER_MSC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <limits.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef __int32 int32_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef __int64 int64_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define PRId32       "I32d"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define PRId64       "I64d"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SCNd32       "ld"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define SCNd64       "I64d"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define INT32_MIN    ((int32_t)_I32_MIN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define INT32_MAX    _I32_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define INT64_MIN    ((int64_t)_I64_MIN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define INT64_MAX    _I64_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <inttypes.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+* Setup the basic datatypes
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if IDXTYPEWIDTH == 32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  typedef int32_t idx_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define IDX_MAX   INT32_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define IDX_MIN   INT32_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define SCIDX  SCNd32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define PRIDX  PRId32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define strtoidx      strtol
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define iabs          abs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif IDXTYPEWIDTH == 64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  typedef int64_t idx_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define IDX_MAX   INT64_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define IDX_MIN   INT64_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define SCIDX  SCNd64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define PRIDX  PRId64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef COMPILER_MSC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define strtoidx      _strtoi64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define strtoidx      strtoll
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define iabs          labs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #error "Incorrect user-supplied value fo IDXTYPEWIDTH"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if REALTYPEWIDTH == 32
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  typedef float real_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define SCREAL         "f"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define PRREAL         "f"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define REAL_MAX       FLT_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define REAL_MIN       FLT_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define REAL_EPSILON   FLT_EPSILON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define rabs          fabsf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define REALEQ(x,y) ((rabs((x)-(y)) <= FLT_EPSILON))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef COMPILER_MSC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define strtoreal     (float)strtod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define strtoreal     strtof
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif REALTYPEWIDTH == 64
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  typedef double real_t;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define SCREAL         "lf"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define PRREAL         "lf"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define REAL_MAX       DBL_MAX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define REAL_MIN       DBL_MIN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define REAL_EPSILON   DBL_EPSILON
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define rabs          fabs
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define REALEQ(x,y) ((rabs((x)-(y)) <= DBL_EPSILON))
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #define strtoreal     strtod
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  #error "Incorrect user-supplied value for REALTYPEWIDTH"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+* Constant definitions 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Metis's version number */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define METIS_VER_MAJOR         5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define METIS_VER_MINOR         1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define METIS_VER_SUBMINOR      0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* The maximum length of the options[] array */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define METIS_NOPTIONS          40
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+* Function prototypes 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef _WINDLL
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define METIS_API(type) __declspec(dllexport) type __cdecl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#elif defined(__cdecl)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define METIS_API(type) type __cdecl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#else
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define METIS_API(type) type
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern "C" {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_PartGraphRecursive(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *edgecut, idx_t *part);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_PartGraphKway(idx_t *nvtxs, idx_t *ncon, idx_t *xadj, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *adjncy, idx_t *vwgt, idx_t *vsize, idx_t *adjwgt, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *nparts, real_t *tpwgts, real_t *ubvec, idx_t *options, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *edgecut, idx_t *part);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_MeshToDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *ncommon, idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_MeshToNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *numflag, idx_t **r_xadj, idx_t **r_adjncy);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_PartMeshNodal(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *vwgt, idx_t *vsize, idx_t *nparts, real_t *tpwgts, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *options, idx_t *objval, idx_t *epart, idx_t *npart);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_PartMeshDual(idx_t *ne, idx_t *nn, idx_t *eptr, idx_t *eind,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *vwgt, idx_t *vsize, idx_t *ncommon, idx_t *nparts, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  real_t *tpwgts, idx_t *options, idx_t *objval, idx_t *epart, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *npart);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_NodeND(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                  idx_t *options, idx_t *perm, idx_t *iperm);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_Free(void *ptr);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_SetDefaultOptions(idx_t *options);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* These functions are used by ParMETIS */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_NodeNDP(idx_t nvtxs, idx_t *xadj, idx_t *adjncy, idx_t *vwgt,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                   idx_t npes, idx_t *options, idx_t *perm, idx_t *iperm, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                   idx_t *sizes);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_ComputeVertexSeparator(idx_t *nvtxs, idx_t *xadj, idx_t *adjncy, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                   idx_t *vwgt, idx_t *options, idx_t *sepsize, idx_t *part);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+METIS_API(int) METIS_NodeRefine(idx_t nvtxs, idx_t *xadj, idx_t *vwgt, idx_t *adjncy,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                   idx_t *where, idx_t *hmarker, real_t ubfactor);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifdef __cplusplus
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+* Enum type definitions 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+*-------------------------------------------------------------------------*/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Return codes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OK              = 1,    /*!< Returned normally */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_ERROR_INPUT     = -2,   /*!< Returned due to erroneous inputs and/or options */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_ERROR_MEMORY    = -3,   /*!< Returned due to insufficient memory */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_ERROR           = -4    /*!< Some other errors */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} rstatus_et; 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Operation type codes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OP_PMETIS,       
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OP_KMETIS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OP_OMETIS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} moptype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Options codes (i.e., options[]) */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_PTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_OBJTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_CTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_IPTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_RTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_DBGLVL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_NITER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_NCUTS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_SEED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_NO2HOP,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_MINCONN,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_CONTIG,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_COMPRESS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_CCORDER,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_PFACTOR,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_NSEPS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_UFACTOR,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_NUMBERING,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  /* Used for command-line parameter purposes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_HELP,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_TPWGTS,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_NCOMMON,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_NOOUTPUT,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_BALANCE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_GTYPE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OPTION_UBVEC
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} moptions_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Partitioning Schemes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_PTYPE_RB, 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_PTYPE_KWAY                
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} mptype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Graph types for meshes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_GTYPE_DUAL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_GTYPE_NODAL               
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} mgtype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Coarsening Schemes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_CTYPE_RM,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_CTYPE_SHEM
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} mctype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Initial partitioning schemes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_IPTYPE_GROW,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_IPTYPE_RANDOM,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_IPTYPE_EDGE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_IPTYPE_NODE,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_IPTYPE_METISRB
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} miptype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Refinement schemes */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_RTYPE_FM,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_RTYPE_GREEDY,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_RTYPE_SEP2SIDED,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_RTYPE_SEP1SIDED
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} mrtype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/*! Debug Levels */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_INFO       = 1,       /*!< Shows various diagnostic messages */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_TIME       = 2,       /*!< Perform timing analysis */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_COARSEN    = 4,         /*!< Show the coarsening progress */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_REFINE     = 8,         /*!< Show the refinement progress */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_IPART      = 16,        /*!< Show info on initial partitioning */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_MOVEINFO   = 32,        /*!< Show info on vertex moves during refinement */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_SEPINFO    = 64,        /*!< Show info on vertex moves during sep refinement */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_CONNINFO   = 128,     /*!< Show info on minimization of subdomain connectivity */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_CONTIGINFO = 256,     /*!< Show info on elimination of connected components */ 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_DBG_MEMORY     = 2048,    /*!< Show info related to wspace allocation */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} mdbglvl_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* Types of objectives */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+typedef enum {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OBJTYPE_CUT,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OBJTYPE_VOL,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  METIS_OBJTYPE_NODE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+} mobjtype_et;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif  /* _METIS_H_ */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r bc20de47ec7e -r aed7f236f057 libmetis/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/libmetis/CMakeLists.txt      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/libmetis/CMakeLists.txt      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Add this directory for internal users.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(.)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include_directories ("${PROJECT_BINARY_DIR}/include")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Find sources.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file(GLOB metis_sources *.c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Build libmetis.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_library(metis ${METIS_LIBRARY_TYPE} ${GKlib_sources} ${metis_sources})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(UNIX)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r bc20de47ec7e -r aed7f236f057 programs/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/programs/CMakeLists.txt      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/programs/CMakeLists.txt      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,7 +1,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # These programs use internal metis data structures.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(../libmetis)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include_directories("${PROJECT_BINARY_DIR}/include")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Build program.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(gpmetis gpmetis.c cmdline_gpmetis.c io.c stat.c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(ndmetis ndmetis.c cmdline_ndmetis.c io.c smbfactor.c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(mpmetis mpmetis.c cmdline_mpmetis.c io.c stat.c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(m2gmetis m2gmetis.c cmdline_m2gmetis.c io.c)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/cmake_gklib_tls.patch b/math/metis/files/cmake_gklib_tls.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 1355c581d12..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/files/cmake_gklib_tls.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,19 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# HG changeset patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# User Sean Farley <sean@mcs.anl.gov>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date 1332269671 18000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#      Tue Mar 20 13:54:31 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID decbfb90b77a671e935547dd6916ee077c94f8f1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  42725dc9dd51805b60b432882ed6b24b82ed60c0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-cmake: update 'install' target to also install gklib_tls.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 42725dc9dd51 -r decbfb90b77a include/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/include/CMakeLists.txt       Tue Mar 20 13:54:30 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/include/CMakeLists.txt       Tue Mar 20 13:54:31 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,6 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(METIS_INSTALL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   option (METIS_USE_LONGINDEX "Compile METIS with long ints (64bit integers)" OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   option (METIS_USE_DOUBLEPRECISION "Compile METIS with double precision (double)" OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   configure_file (metis.h.in metis.h)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   install(FILES "${PROJECT_BINARY_DIR}/include/metis.h" DESTINATION include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  install(FILES "${PROJECT_BINARY_DIR}/include/gklib_tls.h" DESTINATION include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/cmake_system_include.patch b/math/metis/files/cmake_system_include.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 64b33d1cfc9..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/files/cmake_system_include.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,16 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r decbfb90b77a CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/CMakeLists.txt       Tue Mar 20 13:54:31 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/CMakeLists.txt       Sun Jan 12 22:15:09 2014 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -16,10 +16,12 @@ if(SHARED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set(METIS_LIBRARY_TYPE STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif(SHARED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include_directories(SYSTEM ${CMAKE_INSTALL_PREFIX}/include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include(${GKLIB_PATH}/GKlibSystem.cmake)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Add include directories.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(${GKLIB_PATH})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Recursively look for CMakeLists.txt in subdirs.
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/cmake_tls.patch b/math/metis/files/cmake_tls.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index ac78752e57b..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/files/cmake_tls.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,37 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# HG changeset patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# User Sean Farley <sean@mcs.anl.gov>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date 1332269670 18000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#      Tue Mar 20 13:54:30 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID b2df50e909699a8bdea4feaa083a4d16343a2796
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  00f36f7c4dddc0637f81015c1213bc4a3b6c9e93
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-make: add a cflags variable to pass to cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 00f36f7c4ddd -r b2df50e90969 Makefile
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/Makefile     Tue Mar 20 13:54:31 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/Makefile     Tue Mar 20 13:54:30 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -7,10 +7,11 @@ gprof           = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- openmp          = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- prefix          = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- gklib_path      = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- shared          = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- cc              = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+cflags          = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- longindex       = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- doubleprecision = not-set
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Basically proxies everything to the builddir cmake.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -51,10 +52,13 @@ ifneq ($(shared), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CONFIG_FLAGS += -DSHARED=1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifneq ($(cc), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CONFIG_FLAGS += -DCMAKE_C_COMPILER=$(cc)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ifneq ($(cflags), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  CONFIG_FLAGS += -DCMAKE_C_FLAGS:STRING="$(cflags)"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifneq ($(longindex), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CONFIG_FLAGS += -DMETIS_USE_LONGINDEX=$(longindex)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ifneq ($(doubleprecision), not-set)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     CONFIG_FLAGS += -DMETIS_USE_DOUBLEPRECISION=$(doubleprecision)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/gkl.patch b/math/metis/files/gkl.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 5ad78b9069c..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/files/gkl.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,219 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 919706ae3202 GKlib/GKlibSystem.cmake
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/GKlib/GKlibSystem.cmake      Sat Dec 28 13:05:35 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/GKlib/GKlibSystem.cmake      Sat Dec 28 15:53:05 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,8 +1,9 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Helper modules.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include(CheckFunctionExists)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include(CheckIncludeFile)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+include(CheckCSourceRuns)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Setup options.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- option(GDB "enable use of GDB" OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- option(ASSERT "turn asserts on" OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- option(ASSERT2 "additional assertions" OFF)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -31,14 +32,11 @@ if(CMAKE_COMPILER_IS_GNUCC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set(GKlib_COPTIONS "${GKlib_COPTIONS} -std=c99 -fno-strict-aliasing")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if(NOT MINGW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-       set(GKlib_COPTIONS "${GKlib_COPTIONS} -fPIC")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   endif(NOT MINGW)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # GCC warnings.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  set(GKlib_COPTIONS "${GKlib_COPTIONS} -Wall -pedantic -Wno-unused-but-set-variable -Wno-unused-variable -Wno-unknown-pragmas")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--elseif(${CMAKE_C_COMPILER_ID} MATCHES "Sun")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Sun insists on -xc99.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  set(GKlib_COPTIONS "${GKlib_COPTIONS} -xc99")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  set(GKlib_COPTIONS "${GKlib_COPTIONS} -Wall -pedantic -Wno-unused-variable -Wno-unknown-pragmas")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif(CMAKE_COMPILER_IS_GNUCC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Find OpenMP if it is requested.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(OPENMP)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   include(FindOpenMP)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -98,30 +96,25 @@ endif(HAVE_EXECINFO_H)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- check_function_exists(getline HAVE_GETLINE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(HAVE_GETLINE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set(GKlib_COPTIONS "${GKlib_COPTIONS} -DHAVE_GETLINE")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif(HAVE_GETLINE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+set(GKlib_TLS "")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+# Custom check for TLS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+foreach(tls_name "__thread" "__declspec(thread)")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  string(REPLACE ")" "_" ${tls_name} tls_variable_name)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  check_c_source_runs("${tls_name} int x; int main() {x=0; return x;}" HAVE${tls_variable_name})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  if(HAVE${tls_variable_name})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    set(GKlib_TLS "${tls_name}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "checking for ${tls_name} thread-local storage - found")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    break()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    message(STATUS "checking for ${tls_name} thread-local storage - not found")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  endif(HAVE${tls_variable_name})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+endforeach()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--# Custom check for TLS.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--if(MSVC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--   set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__thread=__declspec(thread)")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  # This if checks if that value is cached or not.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if("${HAVE_THREADLOCALSTORAGE}" MATCHES "^${HAVE_THREADLOCALSTORAGE}$")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    try_compile(HAVE_THREADLOCALSTORAGE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      ${CMAKE_BINARY_DIR}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      ${GKLIB_PATH}/conf/check_thread_storage.c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    if(HAVE_THREADLOCALSTORAGE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      message(STATUS "checking for thread-local storage - found")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--      message(STATUS "checking for thread-local storage - not found")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  if(NOT HAVE_THREADLOCALSTORAGE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    set(GKlib_COPTIONS "${GKlib_COPTIONS} -D__thread=")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+configure_file(${GKLIB_PATH}/gklib_tls.h.in include/gklib_tls.h)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Finally set the official C flags.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GKlib_COPTIONS} ${GKlib_COPTS}")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Find GKlib sources.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 919706ae3202 GKlib/conf/check_thread_storage.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/GKlib/conf/check_thread_storage.c    Sat Dec 28 13:05:35 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ /dev/null      Thu Jan 01 00:00:00 1970 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,5 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--extern __thread int x;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--int main(int argc, char **argv) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  return 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 919706ae3202 GKlib/error.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/GKlib/error.c        Sat Dec 28 13:05:35 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/GKlib/error.c        Sat Dec 28 15:53:05 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -17,21 +17,21 @@ This file contains functions dealing wit
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* These are the jmp_buf for the graceful exit in case of severe errors.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    Multiple buffers are defined to allow for recursive invokation. */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define MAX_JBUFS 128
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__thread int gk_cur_jbufs=-1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__thread jmp_buf gk_jbufs[MAX_JBUFS];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--__thread jmp_buf gk_jbuf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+metis__thread int gk_cur_jbufs=-1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+metis__thread jmp_buf gk_jbufs[MAX_JBUFS];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+metis__thread jmp_buf gk_jbuf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- typedef void (*gksighandler_t)(int);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* These are the holders of the old singal handlers for the trapped signals */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static __thread gksighandler_t old_SIGMEM_handler;  /* Custom signal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static __thread gksighandler_t old_SIGERR_handler;  /* Custom signal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static __thread gksighandler_t old_SIGMEM_handlers[MAX_JBUFS];  /* Custom signal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static __thread gksighandler_t old_SIGERR_handlers[MAX_JBUFS];  /* Custom signal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static metis__thread gksighandler_t old_SIGMEM_handler;  /* Custom signal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static metis__thread gksighandler_t old_SIGERR_handler;  /* Custom signal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static metis__thread gksighandler_t old_SIGMEM_handlers[MAX_JBUFS];  /* Custom signal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static metis__thread gksighandler_t old_SIGERR_handlers[MAX_JBUFS];  /* Custom signal */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* The following is used to control if the gk_errexit() will actually abort or not.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    There is always a single copy of this variable */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- static int gk_exit_on_error = 1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -176,11 +176,11 @@ char *gk_strerror(int errnum)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #if defined(WIN32) || defined(__MINGW32__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return strerror(errnum);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #else 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef SUNOS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--  static __thread char buf[1024];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  static metis__thread char buf[1024];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   strerror_r(errnum, buf, 1024);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   buf[1023] = '\0';
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return buf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 919706ae3202 GKlib/gk_arch.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/GKlib/gk_arch.h      Sat Dec 28 13:05:35 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/GKlib/gk_arch.h      Sat Dec 28 15:53:05 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11,22 +11,10 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define _GK_ARCH_H_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*************************************************************************
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Architecture-specific differences in header files
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- **************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#ifdef LINUX
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if !defined(__USE_XOPEN)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define __USE_XOPEN
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if !defined(_XOPEN_SOURCE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define _XOPEN_SOURCE 600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if !defined(__USE_XOPEN2K)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#define __USE_XOPEN2K
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef HAVE_EXECINFO_H
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <execinfo.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 919706ae3202 GKlib/gk_externs.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/GKlib/gk_externs.h   Sat Dec 28 13:05:35 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/GKlib/gk_externs.h   Sat Dec 28 15:53:05 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12,14 +12,19 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*************************************************************************
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- * Extern variable definition. Hopefully, the __thread makes them thread-safe.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- **************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+/* include the definition of metis__thread; it is assumed that
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+   gklib_tls.h will be installed 'globally' i.e. into $PREFIX */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <gklib_tls.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifndef _GK_ERROR_C_
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* declared in error.c */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--extern __thread int gk_cur_jbufs;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--extern __thread jmp_buf gk_jbufs[];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--extern __thread jmp_buf gk_jbuf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern metis__thread int gk_cur_jbufs;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern metis__thread jmp_buf gk_jbufs[];
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+extern metis__thread jmp_buf gk_jbuf;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 919706ae3202 GKlib/gklib_tls.h.in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- /dev/null      Thu Jan 01 00:00:00 1970 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/GKlib/gklib_tls.h.in Sat Dec 28 15:53:05 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -0,0 +1,3 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#ifndef metis__thread
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define metis__thread @GKlib_TLS@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#endif
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 919706ae3202 GKlib/memory.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/GKlib/memory.c       Sat Dec 28 13:05:35 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/GKlib/memory.c       Sat Dec 28 15:53:05 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -14,11 +14,11 @@ can be used to define other memory alloc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <GKlib.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /* This is for the global mcore that tracks all heap allocations */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--static __thread gk_mcore_t *gkmcore = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+static metis__thread gk_mcore_t *gkmcore = NULL;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*! Define the set of memory allocation routines for each data type */
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /**************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 919706ae3202 GKlib/string.c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/GKlib/string.c       Sat Dec 28 13:05:35 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/GKlib/string.c       Sat Dec 28 15:53:05 2013 -0600
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -480,11 +480,11 @@ char *gk_time2str(time_t time)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return datestr;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--#if !defined(WIN32) && !defined(__MINGW32__)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#if !defined(WIN32) && !defined(__MINGW32__) && defined(_XOPEN_SOURCE)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /************************************************************************/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- /*! \brief Converts a date/time string into its equivalent time_t value
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This function takes date and/or time specification and converts it in
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- the equivalent time_t representation. The conversion is done using the
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/missing_includes.patch b/math/metis/files/missing_includes.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0e7b0e2d7ef..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/files/missing_includes.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,20 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# HG changeset patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# User Sean Farley <sean@mcs.anl.gov>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date 1332269671 18000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#      Tue Mar 20 13:54:31 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID b95c0c2e1d8bf8e3273f7d45e856f0c0127d998e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  88049269953c67c3fdcc4309bf901508a875f0dc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-cmake: add gklib headers to install into include
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r 88049269953c -r b95c0c2e1d8b libmetis/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/libmetis/CMakeLists.txt      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/libmetis/CMakeLists.txt      Tue Mar 20 13:54:31 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -12,6 +12,8 @@ endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(METIS_INSTALL)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   install(TARGETS metis
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     LIBRARY DESTINATION lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     RUNTIME DESTINATION lib
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     ARCHIVE DESTINATION lib)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  install(FILES gklib_defs.h DESTINATION include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  install(FILES gklib_rename.h DESTINATION include)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/patch-darwin-sources.diff b/math/metis/files/patch-darwin-sources.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..ba83ecd8e21
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/metis/files/patch-darwin-sources.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/KarypisLab/METIS/pull/53
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git programs/CMakeLists.txt programs/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index baf40ad..40e33d5 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- programs/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ programs/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -12,6 +12,9 @@ add_executable(cmpfillin cmpfillin.c io.c smbfactor.c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Link with the required libraries
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ foreach(prog gpmetis ndmetis mpmetis m2gmetis graphchk cmpfillin)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   target_link_libraries(${prog} metis GKlib m)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(APPLE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    target_compile_definitions(${prog} PRIVATE "_DARWIN_C_SOURCE")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endforeach(prog)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(METIS_INSTALL)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/patch-shared-gklib.diff b/math/metis/files/patch-shared-gklib.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..67f69bbf120
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/metis/files/patch-shared-gklib.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,17 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/KarypisLab/METIS/pull/52
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git libmetis/CMakeLists.txt libmetis/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index fc6cec6..758835f 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- libmetis/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ libmetis/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,6 +7,10 @@ file(GLOB metis_sources *.c)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Build libmetis.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ add_library(metis ${METIS_LIBRARY_TYPE} ${metis_sources})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if(SHARED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  target_link_libraries(metis GKlib)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if(METIS_INSTALL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   install(TARGETS metis
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     LIBRARY DESTINATION lib
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/remove_home_dir.patch b/math/metis/files/remove_home_dir.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 150bc9a2a3f..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/files/remove_home_dir.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,20 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# HG changeset patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# User Sean Farley <sean@mcs.anl.gov>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date 1332269669 18000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID bc20de47ec7e09494907774a7988b5948ce8e22a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  a85282f9ca5f07f4d20bdaf4f9f79726fd1235ee
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-cmake: remove developer's home directory from source
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r a85282f9ca5f -r bc20de47ec7e programs/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/programs/CMakeLists.txt      Mon Apr 08 16:49:34 2013 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/programs/CMakeLists.txt      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1,8 +1,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # These programs use internal metis data structures.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include_directories(../libmetis)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--link_directories(/home/karypis/local/lib)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Build program.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(gpmetis gpmetis.c cmdline_gpmetis.c io.c stat.c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(ndmetis ndmetis.c cmdline_ndmetis.c io.c smbfactor.c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(mpmetis mpmetis.c cmdline_mpmetis.c io.c stat.c)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- add_executable(m2gmetis m2gmetis.c cmdline_m2gmetis.c io.c)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/metis/files/sharedprefix.patch b/math/metis/files/sharedprefix.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index d4bd2c932e9..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/metis/files/sharedprefix.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,23 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# HG changeset patch
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# User Sean Farley <sean@mcs.anl.gov>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Date 1332269669 18000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-#      Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Node ID 88049269953c67c3fdcc4309bf901508a875f0dc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# Parent  aed7f236f05776012de66d24f7abf7b0395e7a97
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-cmake: added install_name for shared prefix builds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff -r aed7f236f057 -r 88049269953c CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- a/CMakeLists.txt       Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ b/CMakeLists.txt       Tue Mar 20 13:54:29 2012 -0500
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -11,10 +11,11 @@ else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Configure libmetis library.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if(SHARED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set(METIS_LIBRARY_TYPE SHARED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+  set(CMAKE_INSTALL_NAME_DIR "${CMAKE_INSTALL_PREFIX}/lib")
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- else()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   set(METIS_LIBRARY_TYPE STATIC)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- endif(SHARED)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include(${GKLIB_PATH}/GKlibSystem.cmake)
</span></pre><pre style='margin:0'>

</pre>