new version scotch@6.0.5a (#8254)

* new version scotch@6.0.5a

* patch metis headers on scotch@6.0.4 according to https://gforge.inria.fr/tracker/?func=detail&atid=1082&aid=19521&group_id=248
This commit is contained in:
Oliver Pola 2018-06-08 15:39:03 +02:00 committed by Adam J. Stewart
parent 9b2953939b
commit cd860d7554
2 changed files with 636 additions and 0 deletions

View File

@ -0,0 +1,634 @@
--- A/src/libscotch/Makefile 2014-09-23 21:28:28.000000000 +0200
+++ B/src/libscotch/Makefile 2015-07-24 12:51:31.357132922 +0200
@@ -60,7 +60,7 @@ scotch :
libscotcherrexit$(LIB)
ptscotch : scotch
- $(MAKE) CFLAGS="$(CFLAGS) -DSCOTCH_PTSCOTCH" CC="$(CCP)" \
+ $(MAKE) CFLAGS="$(CFLAGS) -DSCOTCH_PTSCOTCH" CC="$(CCP)" CCD="$(CCP)" \
ptscotch.h \
ptscotchf.h \
libptscotch$(LIB) \
--- A/src/libscotchmetis/Makefile 2011-09-06 18:46:48.000000000 +0200
+++ B/src/libscotchmetis/Makefile 2015-08-25 13:37:31.424467916 +0200
@@ -54,10 +54,12 @@ include ../Makefile.inc
scotch :
$(MAKE) CC="$(CCS)" SCOTCHLIB=ptscotch \
+ metis.h \
libscotchmetis$(LIB)
ptscotch :
$(MAKE) CFLAGS="$(CFLAGS) -DSCOTCH_PTSCOTCH" CC="$(CCP)" SCOTCHLIB=ptscotch \
+ parmetis.h \
libptscotchparmetis$(LIB)
install : scotch
@@ -69,7 +71,7 @@ ptinstall : ptscotch
-$(CP) libptscotchparmetis$(LIB) $(libdir)
clean :
- -$(RM) *~ *$(OBJ) lib*$(LIB)
+ -$(RM) *~ *$(OBJ) lib*$(LIB) metis.h parmetis.h
realclean : clean
@@ -138,3 +140,10 @@ libscotchmetis$(LIB) : metis_graph_orde
metis_graph_part_f$(OBJ)
$(AR) $(ARFLAGS) $(@) $(^)
-$(RANLIB) $(@)
+metis.h : metis_skeleton.h \
+ ../libscotch/dummysizes
+ ../libscotch/dummysizes metis_skeleton.h metis.h
+
+parmetis.h : parmetis_skeleton.h \
+ ../libscotch/dummysizes
+ ../libscotch/dummysizes parmetis_skeleton.h parmetis.h
--- A/src/libscotchmetis/metis.h 2012-09-13 17:43:52.000000000 +0200
+++ B/src/libscotchmetis/metis.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,97 +0,0 @@
-/*********************************************************
-** **
-** WARNING: THIS IS NOT THE ORIGINAL INCLUDE FILE OF **
-** THE MeTiS SOFTWARE PACKAGE. **
-** This file is a compatibility include file provided **
-** as part of the Scotch software distribution. **
-** Preferably use the original MeTiS include file to **
-** keep definitions of routines not overloaded by **
-** the libScotchMeTiS library. **
-** **
-*********************************************************/
-/* Copyright 2007,2010,2012 IPB, Universite de Bordeaux, INRIA & CNRS
-**
-** This file is part of the Scotch software package for static mapping,
-** graph partitioning and sparse matrix ordering.
-**
-** This software is governed by the CeCILL-C license under French law
-** and abiding by the rules of distribution of free software. You can
-** use, modify and/or redistribute the software under the terms of the
-** CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
-** URL: "http://www.cecill.info".
-**
-** As a counterpart to the access to the source code and rights to copy,
-** modify and redistribute granted by the license, users are provided
-** only with a limited warranty and the software's author, the holder of
-** the economic rights, and the successive licensors have only limited
-** liability.
-**
-** In this respect, the user's attention is drawn to the risks associated
-** with loading, using, modifying and/or developing or reproducing the
-** software by the user in light of its specific status of free software,
-** that may mean that it is complicated to manipulate, and that also
-** therefore means that it is reserved for developers and experienced
-** professionals having in-depth computer knowledge. Users are therefore
-** encouraged to load and test the software's suitability as regards
-** their requirements in conditions enabling the security of their
-** systems and/or data to be ensured and, more generally, to use and
-** operate it in the same conditions as regards security.
-**
-** The fact that you are presently reading this means that you have had
-** knowledge of the CeCILL-C license and that you accept its terms.
-*/
-/************************************************************/
-/** **/
-/** NAME : metis.h **/
-/** **/
-/** AUTHOR : Francois PELLEGRINI **/
-/** **/
-/** FUNCTION : Compatibility declaration file for the **/
-/** MeTiS interface routines provided by **/
-/** the Scotch project. **/
-/** **/
-/** DATES : # Version 5.0 : from : 08 sep 2006 **/
-/** to 07 jun 2007 **/
-/** # Version 5.1 : from : 30 jun 2010 **/
-/** to 30 jun 2010 **/
-/** # Version 6.0 : from : 13 sep 2012 **/
-/** to 13 sep 2012 **/
-/** **/
-/************************************************************/
-
-/*
-** The defines.
-*/
-
-#ifdef SCOTCH_METIS_PREFIX
-#define SCOTCH_METIS_PREFIXL scotch_
-#define SCOTCH_METIS_PREFIXU SCOTCH_
-#endif /* SCOTCH_METIS_PREFIX */
-
-#ifndef SCOTCH_METIS_PREFIXL
-#define SCOTCH_METIS_PREFIXL
-#endif /* SCOTCH_METIS_PREFIXL */
-
-#ifndef SCOTCH_METIS_PREFIXU
-#define SCOTCH_METIS_PREFIXU
-#endif /* SCOTCH_METIS_PREFIXU */
-
-#ifndef METISNAMEL
-#define METISNAMEL(s) METISNAME2(METISNAME3(SCOTCH_METIS_PREFIXL),s)
-#define METISNAMEU(s) METISNAME2(METISNAME3(SCOTCH_METIS_PREFIXU),s)
-#define METISNAME2(p,s) METISNAME4(p,s)
-#define METISNAME3(s) s
-#define METISNAME4(p,s) p##s
-#endif /* METISNAMEL */
-
-/*
-** The function prototypes.
-*/
-
-void METISNAMEU(METIS_EdgeND) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
-void METISNAMEU(METIS_NodeND) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
-void METISNAMEU(METIS_NodeWND) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
-
-void METISNAMEU(METIS_PartGraphKway) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
-void METISNAMEU(METIS_PartGraphRecursive) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
-void METISNAMEU(METIS_PartGraphVKway) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
--- A/src/libscotchmetis/metis_skeleton.h 1970-01-01 01:00:00.000000000 +0100
+++ B/src/libscotchmetis/metis_skeleton.h 2015-08-25 13:27:07.224497875 +0200
@@ -0,0 +1,103 @@
+/*********************************************************
+** **
+** WARNING: THIS IS NOT THE ORIGINAL INCLUDE FILE OF **
+** THE MeTiS SOFTWARE PACKAGE. **
+** This file is a compatibility include file provided **
+** as part of the Scotch software distribution. **
+** Preferably use the original MeTiS include file to **
+** keep definitions of routines not overloaded by **
+** the libScotchMeTiS library. **
+** **
+*********************************************************/
+/* Copyright 2007,2010,2012 IPB, Universite de Bordeaux, INRIA & CNRS
+**
+** This file is part of the Scotch software package for static mapping,
+** graph partitioning and sparse matrix ordering.
+**
+** This software is governed by the CeCILL-C license under French law
+** and abiding by the rules of distribution of free software. You can
+** use, modify and/or redistribute the software under the terms of the
+** CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
+** URL: "http://www.cecill.info".
+**
+** As a counterpart to the access to the source code and rights to copy,
+** modify and redistribute granted by the license, users are provided
+** only with a limited warranty and the software's author, the holder of
+** the economic rights, and the successive licensors have only limited
+** liability.
+**
+** In this respect, the user's attention is drawn to the risks associated
+** with loading, using, modifying and/or developing or reproducing the
+** software by the user in light of its specific status of free software,
+** that may mean that it is complicated to manipulate, and that also
+** therefore means that it is reserved for developers and experienced
+** professionals having in-depth computer knowledge. Users are therefore
+** encouraged to load and test the software's suitability as regards
+** their requirements in conditions enabling the security of their
+** systems and/or data to be ensured and, more generally, to use and
+** operate it in the same conditions as regards security.
+**
+** The fact that you are presently reading this means that you have had
+** knowledge of the CeCILL-C license and that you accept its terms.
+*/
+/************************************************************/
+/** **/
+/** NAME : metis.h **/
+/** **/
+/** AUTHOR : Francois PELLEGRINI **/
+/** **/
+/** FUNCTION : Compatibility declaration file for the **/
+/** MeTiS interface routines provided by **/
+/** the Scotch project. **/
+/** **/
+/** DATES : # Version 5.0 : from : 08 sep 2006 **/
+/** to 07 jun 2007 **/
+/** # Version 5.1 : from : 30 jun 2010 **/
+/** to 30 jun 2010 **/
+/** # Version 6.0 : from : 13 sep 2012 **/
+/** to 13 sep 2012 **/
+/** **/
+/************************************************************/
+
+#include<stdint.h>
+
+/*
+** The defines.
+*/
+
+#ifdef SCOTCH_METIS_PREFIX
+#define SCOTCH_METIS_PREFIXL scotch_
+#define SCOTCH_METIS_PREFIXU SCOTCH_
+#endif /* SCOTCH_METIS_PREFIX */
+
+#ifndef SCOTCH_METIS_PREFIXL
+#define SCOTCH_METIS_PREFIXL
+#endif /* SCOTCH_METIS_PREFIXL */
+
+#ifndef SCOTCH_METIS_PREFIXU
+#define SCOTCH_METIS_PREFIXU
+#endif /* SCOTCH_METIS_PREFIXU */
+
+#ifndef METISNAMEL
+#define METISNAMEL(s) METISNAME2(METISNAME3(SCOTCH_METIS_PREFIXL),s)
+#define METISNAMEU(s) METISNAME2(METISNAME3(SCOTCH_METIS_PREFIXU),s)
+#define METISNAME2(p,s) METISNAME4(p,s)
+#define METISNAME3(s) s
+#define METISNAME4(p,s) p##s
+#endif /* METISNAMEL */
+
+/*+ Integer type. +*/
+
+typedef DUMMYINT SCOTCH_Num;
+
+/*
+** The function prototypes.
+*/
+
+void METISNAMEU(METIS_EdgeND) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
+void METISNAMEU(METIS_NodeND) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
+void METISNAMEU(METIS_NodeWND) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
+
+void METISNAMEU(METIS_PartGraphKway) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
+void METISNAMEU(METIS_PartGraphRecursive) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
+void METISNAMEU(METIS_PartGraphVKway) (const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const);
--- A/src/libscotchmetis/parmetis.h 2012-09-13 17:41:21.000000000 +0200
+++ B/src/libscotchmetis/parmetis.h 1970-01-01 01:00:00.000000000 +0100
@@ -1,100 +0,0 @@
-/*********************************************************
-** **
-** WARNING: THIS IS NOT THE ORIGINAL INCLUDE FILE OF **
-** THE ParMeTiS SOFTWARE PACKAGE. **
-** This file is a compatibility include file provided **
-** as part of the Scotch software distribution. **
-** Preferably use the original ParMeTiS include file **
-** to keep definitions of routines not overloaded by **
-** the libPTScotchMeTiS library. **
-** **
-*********************************************************/
-/* Copyright 2007,2008,2010,2012 IPB, Universite de Bordeaux, INRIA & CNRS
-**
-** This file is part of the Scotch software package for static mapping,
-** graph partitioning and sparse matrix ordering.
-**
-** This software is governed by the CeCILL-C license under French law
-** and abiding by the rules of distribution of free software. You can
-** use, modify and/or redistribute the software under the terms of the
-** CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
-** URL: "http://www.cecill.info".
-**
-** As a counterpart to the access to the source code and rights to copy,
-** modify and redistribute granted by the license, users are provided
-** only with a limited warranty and the software's author, the holder of
-** the economic rights, and the successive licensors have only limited
-** liability.
-**
-** In this respect, the user's attention is drawn to the risks associated
-** with loading, using, modifying and/or developing or reproducing the
-** software by the user in light of its specific status of free software,
-** that may mean that it is complicated to manipulate, and that also
-** therefore means that it is reserved for developers and experienced
-** professionals having in-depth computer knowledge. Users are therefore
-** encouraged to load and test the software's suitability as regards
-** their requirements in conditions enabling the security of their
-** systems and/or data to be ensured and, more generally, to use and
-** operate it in the same conditions as regards security.
-**
-** The fact that you are presently reading this means that you have had
-** knowledge of the CeCILL-C license and that you accept its terms.
-*/
-/************************************************************/
-/** **/
-/** NAME : parmetis.h **/
-/** **/
-/** AUTHOR : Francois PELLEGRINI **/
-/** **/
-/** FUNCTION : Compatibility declaration file for the **/
-/** MeTiS interface routines provided by **/
-/** the Scotch project. **/
-/** **/
-/** DATES : # Version 5.0 : from : 17 oct 2007 **/
-/** to 18 oct 2007 **/
-/** # Version 5.1 : from : 19 jun 2008 **/
-/** to 30 jun 2010 **/
-/** # Version 6.0 : from : 13 sep 2012 **/
-/** to 13 sep 2012 **/
-/** **/
-/************************************************************/
-
-/*
-** The defines and includes.
-*/
-
-#ifndef __parmetis_h__
-#define __parmetis_h__
-
-#include <mpi.h> /* Since ParMeTiS does it, do it too */
-
-#endif /* __parmetis_h__ */
-
-#ifdef SCOTCH_METIS_PREFIX
-#define SCOTCH_METIS_PREFIXL scotch_
-#define SCOTCH_METIS_PREFIXU SCOTCH_
-#endif /* SCOTCH_METIS_PREFIX */
-
-#ifndef SCOTCH_METIS_PREFIXL
-#define SCOTCH_METIS_PREFIXL
-#endif /* SCOTCH_METIS_PREFIXL */
-
-#ifndef SCOTCH_METIS_PREFIXU
-#define SCOTCH_METIS_PREFIXU
-#endif /* SCOTCH_METIS_PREFIXU */
-
-#ifndef METISNAMEL
-#define METISNAMEL(s) METISNAME2(METISNAME3(SCOTCH_METIS_PREFIXL),s)
-#define METISNAMEU(s) METISNAME2(METISNAME3(SCOTCH_METIS_PREFIXU),s)
-#define METISNAME2(p,s) METISNAME4(p,s)
-#define METISNAME3(s) s
-#define METISNAME4(p,s) p##s
-#endif /* METISNAMEL */
-
-/*
-** The function prototypes.
-*/
-
-void METISNAMEU(ParMETIS_V3_NodeND) (const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, MPI_Comm * const);
-void METISNAMEU(ParMETIS_V3_PartGeomKway) (const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const float * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const float * const, const float * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, MPI_Comm * const);
-void METISNAMEU(ParMETIS_V3_PartKway) (const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const float * const, const float * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, MPI_Comm * const);
--- A/src/libscotchmetis/parmetis_skeleton.h 1970-01-01 01:00:00.000000000 +0100
+++ B/src/libscotchmetis/parmetis_skeleton.h 2015-08-25 13:42:17.972454163 +0200
@@ -0,0 +1,105 @@
+/*********************************************************
+** **
+** WARNING: THIS IS NOT THE ORIGINAL INCLUDE FILE OF **
+** THE ParMeTiS SOFTWARE PACKAGE. **
+** This file is a compatibility include file provided **
+** as part of the Scotch software distribution. **
+** Preferably use the original ParMeTiS include file **
+** to keep definitions of routines not overloaded by **
+** the libPTScotchMeTiS library. **
+** **
+*********************************************************/
+/* Copyright 2007,2008,2010,2012 IPB, Universite de Bordeaux, INRIA & CNRS
+**
+** This file is part of the Scotch software package for static mapping,
+** graph partitioning and sparse matrix ordering.
+**
+** This software is governed by the CeCILL-C license under French law
+** and abiding by the rules of distribution of free software. You can
+** use, modify and/or redistribute the software under the terms of the
+** CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
+** URL: "http://www.cecill.info".
+**
+** As a counterpart to the access to the source code and rights to copy,
+** modify and redistribute granted by the license, users are provided
+** only with a limited warranty and the software's author, the holder of
+** the economic rights, and the successive licensors have only limited
+** liability.
+**
+** In this respect, the user's attention is drawn to the risks associated
+** with loading, using, modifying and/or developing or reproducing the
+** software by the user in light of its specific status of free software,
+** that may mean that it is complicated to manipulate, and that also
+** therefore means that it is reserved for developers and experienced
+** professionals having in-depth computer knowledge. Users are therefore
+** encouraged to load and test the software's suitability as regards
+** their requirements in conditions enabling the security of their
+** systems and/or data to be ensured and, more generally, to use and
+** operate it in the same conditions as regards security.
+**
+** The fact that you are presently reading this means that you have had
+** knowledge of the CeCILL-C license and that you accept its terms.
+*/
+/************************************************************/
+/** **/
+/** NAME : parmetis.h **/
+/** **/
+/** AUTHOR : Francois PELLEGRINI **/
+/** **/
+/** FUNCTION : Compatibility declaration file for the **/
+/** MeTiS interface routines provided by **/
+/** the Scotch project. **/
+/** **/
+/** DATES : # Version 5.0 : from : 17 oct 2007 **/
+/** to 18 oct 2007 **/
+/** # Version 5.1 : from : 19 jun 2008 **/
+/** to 30 jun 2010 **/
+/** # Version 6.0 : from : 13 sep 2012 **/
+/** to 13 sep 2012 **/
+/** **/
+/************************************************************/
+
+/*
+** The defines and includes.
+*/
+
+#ifndef __parmetis_h__
+#define __parmetis_h__
+
+#include<stdint.h>
+#include <mpi.h> /* Since ParMeTiS does it, do it too */
+
+#endif /* __parmetis_h__ */
+
+#ifdef SCOTCH_METIS_PREFIX
+#define SCOTCH_METIS_PREFIXL scotch_
+#define SCOTCH_METIS_PREFIXU SCOTCH_
+#endif /* SCOTCH_METIS_PREFIX */
+
+#ifndef SCOTCH_METIS_PREFIXL
+#define SCOTCH_METIS_PREFIXL
+#endif /* SCOTCH_METIS_PREFIXL */
+
+#ifndef SCOTCH_METIS_PREFIXU
+#define SCOTCH_METIS_PREFIXU
+#endif /* SCOTCH_METIS_PREFIXU */
+
+#ifndef METISNAMEL
+#define METISNAMEL(s) METISNAME2(METISNAME3(SCOTCH_METIS_PREFIXL),s)
+#define METISNAMEU(s) METISNAME2(METISNAME3(SCOTCH_METIS_PREFIXU),s)
+#define METISNAME2(p,s) METISNAME4(p,s)
+#define METISNAME3(s) s
+#define METISNAME4(p,s) p##s
+#endif /* METISNAMEL */
+
+/*+ Integer type. +*/
+
+typedef DUMMYINT SCOTCH_Num;
+
+/*
+** The function prototypes.
+*/
+
+void METISNAMEU(ParMETIS_V3_NodeND) (const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, MPI_Comm * const);
+void METISNAMEU(ParMETIS_V3_PartGeomKway) (const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const float * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const float * const, const float * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, MPI_Comm * const);
+void METISNAMEU(ParMETIS_V3_PartKway) (const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const SCOTCH_Num * const, const float * const, const float * const, const SCOTCH_Num * const, SCOTCH_Num * const, SCOTCH_Num * const, MPI_Comm * const);
--- A/src/Makefile 2014-10-02 17:31:36.000000000 +0200
+++ B/src/Makefile 2015-08-25 13:00:50.288573562 +0200
@@ -115,6 +115,7 @@ install : required $(bindir) $(includ
-$(CP) -f ../bin/[agm]*$(EXE) $(bindir)
-$(CP) -f ../bin/d[agm]*$(EXE) $(bindir)
-$(CP) -f ../include/*scotch*.h $(includedir)
+ -$(CP) -f ../include/*metis*.h $(includedir)
-$(CP) -f ../lib/*scotch*$(LIB) $(libdir)
-$(CP) -Rf ../man/* $(mandir)
--- A/src/Makefile~ 1970-01-01 01:00:00.000000000 +0100
+++ B/src/Makefile~ 2014-10-02 17:31:36.000000000 +0200
@@ -0,0 +1,134 @@
+## Copyright 2004,2007,2008,2010-2012,2014 IPB, Universite de Bordeaux, INRIA & CNRS
+##
+## This file is part of the Scotch software package for static mapping,
+## graph partitioning and sparse matrix ordering.
+##
+## This software is governed by the CeCILL-C license under French law
+## and abiding by the rules of distribution of free software. You can
+## use, modify and/or redistribute the software under the terms of the
+## CeCILL-C license as circulated by CEA, CNRS and INRIA at the following
+## URL: "http://www.cecill.info".
+##
+## As a counterpart to the access to the source code and rights to copy,
+## modify and redistribute granted by the license, users are provided
+## only with a limited warranty and the software's author, the holder of
+## the economic rights, and the successive licensors have only limited
+## liability.
+##
+## In this respect, the user's attention is drawn to the risks associated
+## with loading, using, modifying and/or developing or reproducing the
+## software by the user in light of its specific status of free software,
+## that may mean that it is complicated to manipulate, and that also
+## therefore means that it is reserved for developers and experienced
+## professionals having in-depth computer knowledge. Users are therefore
+## encouraged to load and test the software's suitability as regards
+## their requirements in conditions enabling the security of their
+## systems and/or data to be ensured and, more generally, to use and
+## operate it in the same conditions as regards security.
+##
+## The fact that you are presently reading this means that you have had
+## knowledge of the CeCILL-C license and that you accept its terms.
+##
+
+VERSION = 6
+RELEASE = 0
+PATCHLEVEL = 4
+
+.PHONY : clean default install ptscotch realclean required scotch
+
+default : scotch
+
+required : Makefile.inc ../bin ../include ../lib
+
+Makefile.inc :
+ @echo "#####################################################################"
+ @echo "BEFORE COMPILING Scotch OR PT-Scotch, YOU SHOULD HAVE AN APPROPRIATE"
+ @echo "Makefile.inc FILE IN THIS DIRECTORY. PLEASE LOOK INTO DIRECTORY"
+ @echo " ./Make.inc FOR AN EXISTING Makefile.inc FILE THAT FITS YOUR NEED, OR"
+ @echo "USE THEM AS MODELS IN CASE YOU NEED TO BUILD A NEW ONE FOR YOUR"
+ @echo "PARTICULAR PLATFORM."
+ @echo "#####################################################################"
+ @echo "Then, type \"make scotch\" (default) for the sequential library"
+ @echo "and software, or \"make ptscotch\" for the parallel library and"
+ @echo "software."
+ @exit 1
+
+include Makefile.inc
+
+prefix ?= /usr/local
+bindir ?= $(prefix)/bin
+includedir ?= $(prefix)/include
+libdir ?= $(prefix)/lib
+datarootdir ?= $(prefix)/share
+mandir ?= $(datarootdir)/man
+
+../bin :
+ -$(MKDIR) ../bin
+
+../include :
+ -$(MKDIR) ../include
+
+../lib :
+ -$(MKDIR) ../lib
+
+$(bindir) :
+ -$(MKDIR) $(bindir)
+
+$(datarootdir) :
+ -$(MKDIR) $(datarootdir)
+
+$(includedir) :
+ -$(MKDIR) $(includedir)
+
+$(libdir) :
+ -$(MKDIR) $(libdir)
+
+$(mandir) : $(datarootdir)
+ -$(MKDIR) $(mandir)
+
+$(mandir)/man1 : $(mandir)
+ -$(MKDIR) $(mandir)/man1
+
+scotch : required
+ (cd libscotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) scotch && $(MAKE) install)
+ (cd scotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) scotch && $(MAKE) install)
+ (cd libscotchmetis ; $(MAKE) scotch && $(MAKE) install)
+
+ptscotch : required
+ (cd libscotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) ptscotch && $(MAKE) ptinstall)
+ (cd scotch ; $(MAKE) VERSION=$(VERSION) RELEASE=$(RELEASE) PATCHLEVEL=$(PATCHLEVEL) ptscotch && $(MAKE) ptinstall)
+ (cd libscotchmetis ; $(MAKE) ptscotch && $(MAKE) ptinstall)
+
+check : scotch
+ (cd check ; $(MAKE) check)
+
+ptcheck : ptscotch
+ (cd check ; $(MAKE) ptcheck)
+
+esmumps : scotch
+ (cd esmumps ; $(MAKE) scotch && $(MAKE) install)
+
+ptesmumps : ptscotch
+ (cd esmumps ; $(MAKE) ptscotch && $(MAKE) ptinstall)
+
+install : required $(bindir) $(includedir) $(libdir) $(mandir)/man1
+ -$(CP) -f ../bin/[agm]*$(EXE) $(bindir)
+ -$(CP) -f ../bin/d[agm]*$(EXE) $(bindir)
+ -$(CP) -f ../include/*scotch*.h $(includedir)
+ -$(CP) -f ../lib/*scotch*$(LIB) $(libdir)
+ -$(CP) -Rf ../man/* $(mandir)
+
+clean : required
+ (cd libscotch ; $(MAKE) clean)
+ (cd scotch ; $(MAKE) clean)
+ (cd libscotchmetis ; $(MAKE) clean)
+ (cd check ; $(MAKE) clean)
+ (cd esmumps ; $(MAKE) clean)
+
+realclean : required
+ (cd libscotch ; $(MAKE) realclean)
+ (cd scotch ; $(MAKE) realclean)
+ (cd libscotchmetis ; $(MAKE) realclean)
+ (cd check ; $(MAKE) realclean)
+ (cd esmumps ; $(MAKE) realclean)
+ -$(RM) ../bin/* ../include/* ../lib/*
--- A/src/Make.inc/Makefile.inc.x86-64_pc_linux2~ 1970-01-01 01:00:00.000000000 +0100
+++ B/src/Make.inc/Makefile.inc.x86-64_pc_linux2~ 2015-08-25 13:09:33.984548426 +0200
@@ -0,0 +1,21 @@
+EXE =
+LIB = .a
+OBJ = .o
+
+MAKE = make
+AR = ar
+ARFLAGS = -ruv
+CAT = cat
+CCS = gcc
+CCP = mpicc
+CCD = gcc
+CFLAGS = -O3 -DCOMMON_FILE_COMPRESS_GZ -DCOMMON_PTHREAD -DCOMMON_RANDOM_FIXED_SEED -DSCOTCH_RENAME -DSCOTCH_PTHREAD -Drestrict=__restrict -DIDXSIZE64 -DINT=int64_t
+CLIBFLAGS =
+LDFLAGS = -lz -lm -lrt -pthread
+CP = cp
+LEX = flex -Pscotchyy -olex.yy.c
+LN = ln
+MKDIR = mkdir
+MV = mv
+RANLIB = ranlib
+YACC = bison -pscotchyy -y -b y

View File

@ -33,6 +33,7 @@ class Scotch(Package):
url = "http://gforge.inria.fr/frs/download.php/latestfile/298/scotch_6.0.4.tar.gz"
list_url = "http://gforge.inria.fr/frs/?group_id=248"
version('6.0.5a', '8430dff7175a1dfd5a3258e75260cf71')
version('6.0.4', 'd58b825eb95e1db77efe8c6ff42d329f')
version('6.0.3', '10b0cc0f184de2de99859eafaca83cfc')
version('6.0.0', 'c50d6187462ba801f9a82133ee666e8e')
@ -60,6 +61,7 @@ class Scotch(Package):
# Version-specific patches
patch('nonthreaded-6.0.4.patch', when='@6.0.4')
patch('esmumps-ldflags-6.0.4.patch', when='@6.0.4')
patch('metis-headers-6.0.4.patch', when='@6.0.4')
# NOTE: In cross-compiling environment parallel build
# produces weird linker errors.