[freefempp] 03/03: Merge tag 'upstream/3.34.2' into experimental

Dimitrios Eftaxiopoulos eftaxiop-guest at moszumanska.debian.org
Sun Mar 8 01:19:13 UTC 2015


This is an automated email from the git hooks/post-receive script.

eftaxiop-guest pushed a commit to branch experimental
in repository freefempp.

commit 2641d68135f28864e3ae7dcad8d21951c6faee8e
Merge: 359f909 3206529
Author: Dimitrios Eftaxiopoulos <eftaxi12 at otenet.gr>
Date:   Sun Mar 8 03:12:07 2015 +0200

    Merge tag 'upstream/3.34.2' into experimental
    
    Upstream version 3.34.2
    
    Conflicts:
    	DOC/Makefile.in
    	Makefile.in
    	configure
    	download/Makefile
    	download/arpack/Makefile
    	download/blas/Makefile.in
    	download/fftw/Makefile
    	download/umfpack/Makefile
    	examples++-3d/Makefile.in
    	examples++-bug/Makefile.in
    	examples++-chapt3/Makefile.in
    	examples++-eigen/Makefile.in
    	examples++-load/._gsl.awk
    	examples++-load/Makefile.in
    	examples++-mpi/Makefile.in
    	examples++-mpi/removeDOF.cpp
    	examples++-mpi/schwarz.cpp
    	examples++-mpi/utility.cpp
    	examples++-other/Makefile.in
    	examples++-tutorial/Makefile.in
    	examples++/Makefile.in
    	src/Algo/Makefile.in
    	src/Graphics/._gggg.cpp
    	src/Graphics/Makefile.in
    	src/Makefile.in
    	src/bamg/Makefile.in
    	src/bamglib/Makefile.in
    	src/bin-win32/Makefile.in
    	src/femlib/Makefile.in
    	src/fflib/._InitFunct.hpp
    	src/fflib/Makefile.in
    	src/fflib/strversionnumber.cpp
    	src/lglib/Makefile.in
    	src/libMesh/Makefile.in
    	src/medit/Makefile.in
    	src/mpi/Makefile.in
    	src/nw/Makefile.in

 DOC/Makefile.in                                    |   673 +
 HISTORY                                            |   567 +-
 INNOVATION                                         |    34 +-
 Makefile.am                                        |     2 +-
 Makefile.in                                        |  1198 ++
 README_MAC                                         |     4 +-
 WindowsPackage.m4                                  |     2 +-
 acmacros.m4                                        |     6 +-
 acmpi.m4                                           |   145 +-
 acoptim.m4                                         |    15 +-
 build/download                                     |     2 +-
 config.h.in                                        |    12 +-
 configure                                          | 20829 +++++++++++++++++++
 configure.ac                                       |   173 +-
 download/Makefile                                  |   614 +-
 download/Makefile.am                               |    29 +-
 download/{Makefile => Makefile.orig}               |   316 +-
 download/arpack/Makefile                           |   590 +-
 download/blas/Makefile.in                          |  4347 ++++
 download/fftw/Makefile                             |   571 +-
 download/fftw/{Makefile => Makefile.orig}          |   281 +-
 download/getall                                    |     4 +-
 download/gmm/cxxflags                              |    10 +-
 download/mumps/Makefile                            |     2 +-
 download/mumps/Makefile-mumps-4.10.0.inc           |     1 +
 download/nlopt/Make.inc                            |     3 +-
 download/nlopt/Makefile                            |     4 +-
 download/parmetis/Makefile-parmetis.in             |     2 +-
 download/scalapack/SLmake-scalapack.inc            |     2 +-
 download/scotch/Makefile                           |     2 +-
 download/scotch/Makefile-scotch.inc                |     2 +-
 download/superludist/make-superlu.inc              |     2 +-
 download/umfpack/Makefile                          |   579 +-
 download/umfpack/{Makefile => Makefile.orig}       |   281 +-
 download/yams/makefile-yams.inc                    |     2 +-
 examples++-3d/Makefile.am                          |     2 +-
 examples++-3d/Makefile.in                          |  1227 ++
 examples++-bug/Makefile.in                         |   579 +
 examples++-chapt3/Makefile.in                      |  1109 +
 examples++-eigen/Makefile.in                       |  1040 +
 examples++-load/._ff-AiryBiry.cpp                  |   Bin 0 -> 624 bytes
 .../._gsl.awk                                      |   Bin
 .../._gsl.awk.orig                                 |   Bin
 examples++-load/BinaryIO.cpp                       |     7 +-
 examples++-load/DxWriter.cpp                       |     7 +-
 examples++-load/Element_Mixte.cpp                  |     4 +-
 examples++-load/FreeFemQA.cpp                      |     7 +-
 examples++-load/Makefile.am                        |    28 +-
 examples++-load/Makefile.in                        |  1828 ++
 examples++-load/MetricKuate.cpp                    |     7 +-
 examples++-load/MetricPk.cpp                       |     7 +-
 examples++-load/NewSolver.cpp                      |     7 +-
 examples++-load/PARDISO.cpp                        |    24 +-
 examples++-load/SuperLu.cpp                        |    10 +-
 examples++-load/VTK_writer.cpp                     |     7 +-
 examples++-load/VTK_writer_3d.cpp                  |     7 +-
 examples++-load/addNewType.cpp                     |     7 +-
 examples++-load/bfstream.cpp                       |     2 +-
 examples++-load/bmo.cpp                            |     4 +-
 examples++-load/dfft.cpp                           |     9 +-
 examples++-load/ff-AiryBiry.cpp                    |   125 +
 examples++-load/ff-Ipopt.cpp                       |     7 +-
 examples++-load/ff-NLopt.cpp                       |     7 +-
 examples++-load/ff-cmaes.cpp                       |     7 +-
 examples++-load/ff-get-dep.in                      |    52 +-
 examples++-load/ff_gsl_awk.hpp                     |    63 +-
 examples++-load/fflapack.cpp                       |    15 +-
 examples++-load/ffnewuoa.cpp                       |     7 +-
 examples++-load/ffrandom.cpp                       |     4 +-
 examples++-load/freeyams.cpp                       |     7 +-
 examples++-load/funcTemplate.cpp                   |     7 +-
 examples++-load/gmsh.cpp                           |     7 +-
 examples++-load/gsl.awk                            |     2 +-
 examples++-load/gsl.cpp                            |     7 +-
 examples++-load/gsl.idp                            |    15 +
 examples++-load/ilut.cpp                           |    24 +-
 examples++-load/include.tar.gz                     |   Bin 1899 -> 2316 bytes
 examples++-load/iovtk.cpp                          |     7 +-
 examples++-load/isolineP1.cpp                      |     7 +-
 examples++-load/lapack.cpp                         |    15 +-
 examples++-load/lgbmo.cpp                          |     7 +-
 examples++-load/load.link.in                       |     8 +-
 examples++-load/mat_dervieux.cpp                   |     7 +-
 examples++-load/mat_psi.cpp                        |     8 +-
 examples++-load/medit.cpp                          |    11 +-
 examples++-load/metis.cpp                          |    16 +-
 examples++-load/mmg3d-v4.0.cpp                     |     7 +-
 examples++-load/msh3.cpp                           |    25 +-
 examples++-load/mshmet.cpp                         |     7 +-
 examples++-load/myfunction2.cpp                    |     7 +-
 examples++-load/pcm2rnm.cpp                        |     7 +-
 examples++-load/pipe.cpp                           |     6 +-
 examples++-load/ppm2rnm.cpp                        |     7 +-
 examples++-load/qf11to25.cpp                       |     9 +-
 examples++-load/scotch.cpp                         |     7 +-
 examples++-load/shell.cpp                          |    10 +-
 examples++-load/splitedges.cpp                     |    11 +-
 examples++-load/splitmesh3.cpp                     |     9 +-
 examples++-load/splitmesh6.cpp                     |     9 +-
 examples++-load/symmetrizeCSR.cpp                  |     6 +-
 examples++-load/tetgen.cpp                         |     7 +-
 examples++-load/thresholdings.cpp                  |     9 +-
 .../._complex_SuperLU_DIST_FreeFem.cpp~HEAD        |   Bin
 ...omplex_SuperLU_DIST_FreeFem.cpp~upstream_3.34.2 |   Bin
 ...U_DIST_FreeFem.cpp => ._dSuperLU_DIST.cpp~HEAD} |   Bin
 ...IST.cpp => ._dSuperLU_DIST.cpp~upstream_3.34.2} |   Bin
 ...em.cpp => ._real_SuperLU_DIST_FreeFem.cpp~HEAD} |   Bin
 ..._real_SuperLU_DIST_FreeFem.cpp~upstream_3.34.2} |   Bin
 examples++-mpi/DDM-Schwarz-macro.idp               |     5 +-
 examples++-mpi/MPICG.cpp                           |     6 +-
 examples++-mpi/MPIplot.idp                         |     3 +
 examples++-mpi/MUMPS.cpp                           |     2 +-
 examples++-mpi/MUMPS_FreeFem.cpp                   |    11 +-
 examples++-mpi/Makefile.am                         |     7 +-
 examples++-mpi/Makefile.in                         |  1250 ++
 examples++-mpi/Stokes-v1-matrix-mumps.edp          |     2 +-
 examples++-mpi/complex_SuperLU_DIST_FreeFem.cpp    |    12 +-
 examples++-mpi/complex_pastix_FreeFem.cpp          |    10 +-
 examples++-mpi/dSuperLU_DIST.cpp                   |    12 +-
 examples++-mpi/hips_FreeFem.cpp                    |     9 +-
 examples++-mpi/hypre_FreeFem.cpp                   |    14 +-
 examples++-mpi/interfacepastix.cpp                 |    10 +-
 examples++-mpi/mpi-cmaes.cpp                       |     8 +-
 examples++-mpi/parms_FreeFem.cpp                   |    11 +-
 examples++-mpi/real_SuperLU_DIST_FreeFem.cpp       |    11 +-
 examples++-mpi/real_pastix_FreeFem.cpp             |     9 +-
 examples++-mpi/removeDOF.cpp                       |     1 +
 .../{removeDOF.cpp => removeDOF.cpp.orig}          |     4 +
 examples++-mpi/schwarz.cpp                         |    17 +-
 examples++-mpi/{schwarz.cpp => schwarz.cpp.orig}   |    28 +
 examples++-mpi/schwarz.edp                         |   116 +-
 examples++-mpi/utility.cpp                         |     2 +-
 examples++-mpi/{utility.cpp => utility.cpp.orig}   |     4 +
 examples++-other/Makefile.in                       |   953 +
 examples++-tutorial/Makefile.in                    |  1404 ++
 examples++-tutorial/sparse-cmatrix.edp             |     3 +
 examples++-tutorial/sparse-matrix.edp              |     3 +
 examples++/Makefile.in                             |  1122 +
 src/Algo/Makefile.in                               |   587 +
 src/{bamglib/._Mesh2.h => Graphics/._gggg.cpp}     |   Bin
 .../._meshtype.h => Graphics/._gggg.cpp.orig}      |   Bin
 .../._Mesh3dn.cpp => Graphics/._sansrgraph.cpp}    |   Bin
 src/Graphics/Makefile.in                           |   588 +
 src/Graphics/ff-win32.cpp                          |     2 +-
 src/Graphics/ffglut.cpp                            |     1 +
 src/Graphics/getprog-unix.hpp                      |    15 +-
 src/Graphics/gggg.cpp                              |    65 +
 src/Graphics/sansrgraph.cpp                        |     3 +-
 src/Makefile.in                                    |   782 +
 src/bamg/Makefile.am                               |     8 +-
 src/bamg/Makefile.in                               |   767 +
 .../._array_tlp.hpp => bamglib/._Mesh2.h~HEAD}     |   Bin
 .../bamglib/._Mesh2.h~upstream_3.34.2              |   Bin
 .../bamglib/._MeshWrite.cpp~HEAD                   |   Bin
 ...shWrite.cpp => ._MeshWrite.cpp~upstream_3.34.2} |   Bin
 .../bamglib/._meshtype.h~HEAD                      |   Bin
 .../bamglib/._meshtype.h~upstream_3.34.2           |   Bin
 src/bamglib/Makefile.am                            |     2 +-
 src/bamglib/Makefile.in                            |   588 +
 src/bamglib/Mesh2.cpp                              |     4 +-
 src/bamglib/Mesh2.h                                |    21 +-
 src/bamglib/MeshWrite.cpp                          |  1710 +-
 src/bamglib/meshtype.h                             |     2 +-
 src/bin-win32/Makefile.am                          |    21 +-
 src/bin-win32/Makefile.in                          |   653 +
 .../._lgfem.cpp => femlib/._Mesh3dn.cpp~HEAD}      |   Bin
 .../._Mesh3dn.cpp~upstream_3.34.2}                 |   Bin
 ...{._BamgFreeFem.cpp => ._QuadratureFormular.cpp} |   Bin
 src/femlib/BamgFreeFem.cpp                         |     4 +-
 src/femlib/CheckPtr.cpp                            |     6 +
 src/femlib/GenericMesh.hpp                         |    32 +-
 src/femlib/Makefile.in                             |   615 +
 src/femlib/MatriceCreuse.hpp                       |    43 +-
 src/femlib/MatriceCreuse_tpl.hpp                   |    58 +-
 src/femlib/Mesh3dn.cpp                             |    30 +-
 src/femlib/QuadratureFormular.cpp                  |     2 +-
 src/femlib/RNM.hpp                                 |     8 +-
 .../{._AFunction.hpp => ._AFunction.hpp~HEAD}      |   Bin
 .../fflib/._AFunction.hpp~upstream_3.34.2          |   Bin
 .../._bfstream.cpp => src/fflib/._InitFunct.hpp    |   Bin
 .../fflib/._InitFunct.hpp.orig                     |   Bin
 .../fflib/._array_tlp.hpp~HEAD                     |   Bin
 .../fflib/._array_tlp.hpp~upstream_3.34.2          |   Bin
 .../fflib/._ffapi.cpp~upstream_3.34.2              |   Bin
 .../._Mesh3dn.cpp => fflib/._lgfem.cpp~HEAD}       |   Bin
 .../._lgfem.cpp~upstream_3.34.2}                   |   Bin
 src/fflib/AFunction.cpp                            |    41 +-
 src/fflib/AFunction.hpp                            |     8 +-
 src/fflib/AFunction2.cpp                           |    25 +-
 src/fflib/InitFunct.hpp                            |     6 +-
 src/fflib/Makefile.am                              |     3 +-
 src/fflib/Makefile.in                              |  1398 ++
 src/fflib/P1IsoValue.cpp                           |    22 +-
 src/fflib/P1IsoValue.hpp                           |     8 +-
 src/fflib/PlotStream.hpp                           |     2 +-
 src/fflib/array_tlp.hpp                            |     9 +-
 src/fflib/ffapi.cpp                                |    89 +-
 src/fflib/ffapi.hpp                                |    48 +-
 src/fflib/global.cpp                               |    68 +
 src/fflib/lex.cpp                                  |     2 +-
 src/fflib/lgfem.cpp                                |    30 +-
 src/fflib/lgmat.cpp                                |   118 +-
 src/fflib/load.cpp                                 |   163 +-
 src/fflib/problem.cpp                              |    22 +-
 src/fflib/problem.hpp                              |     2 +-
 src/fflib/strversionnumber.cpp                     |     4 +-
 src/{femlib/._Mesh3dn.cpp => lglib/._mymain.cpp}   |   Bin
 src/lglib/Makefile.in                              |   739 +
 src/lglib/lg.tab.cpp                               |   439 +-
 src/lglib/lg.tab.hpp                               |     2 +-
 src/lglib/lg.ypp                                   |    40 +-
 src/lglib/mymain.cpp                               |     6 +-
 src/libMesh/Makefile.in                            |   719 +
 src/medit/Makefile.in                              |   843 +
 src/mpi/Makefile.in                                |   898 +
 src/mpi/parallelempi.cpp                           |    25 +-
 src/nw/Makefile.in                                 |  1010 +
 src/solver/hypre_FreeFem.cpp                       |     2 +-
 218 files changed, 53207 insertions(+), 3070 deletions(-)

diff --cc download/Makefile.orig
index 4774182,ab0f426..9dd1ab9
--- a/download/Makefile.orig
+++ b/download/Makefile.orig
@@@ -80,13 -80,15 +80,14 @@@ POST_INSTALL = 
  NORMAL_UNINSTALL = :
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
 -build_triplet = @build@
 -host_triplet = @host@
 +build_triplet = x86_64-pc-linux-gnu
 +host_triplet = x86_64-pc-linux-gnu
  subdir = download
 -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 -	$(top_srcdir)/mkinstalldirs AUTHORS
 +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am AUTHORS
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/acmacros.m4 \
- 	$(top_srcdir)/acoptim.m4 $(top_srcdir)/acmpi.m4 \
+ 	$(top_srcdir)/acoptim.m4 $(top_srcdir)/ax_lib_hdf5.m4 \
+ 	$(top_srcdir)/ax_lib_gsl.m4 $(top_srcdir)/acmpi.m4 \
  	$(top_srcdir)/configure.ac
  am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  	$(ACLOCAL_M4)
@@@ -175,258 -177,281 +176,536 @@@ am__relativize = 
      dir1=`echo "$$dir1" | sed -e "$$sed_rest"`; \
    done; \
    reldir="$$dir2"
++<<<<<<< HEAD:download/Makefile
 +ACLOCAL = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing aclocal-1.14
 +ADD_PACKAGE_NAME = 
 +AMTAR = $${TAR-tar}
 +AM_DEFAULT_VERBOSITY = 1
 +AR = ar
 +ARFLAGS = rv
 +ARPACKLIB = 
 +ARPACKLIBS = -larpack -llapack
 +AUTOCONF = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoconf
 +AUTOHEADER = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoheader
 +AUTOMAKE = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing automake-1.14
 +AWK = gawk
 +BAMGPROG = bamg cvmsh2
 +BLASINC = 
 +BLASLIBS = -lblas
 +CC = gcc -Wl,-z,relro
 +CCDEPMODE = depmode=none
 +CFLAGS = -g  -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
 +CFLAGSF77 = -DAdd_
 +CNOFLAGS =  -fPIC
 +COMPILE_OPENBLAS = 
 +CPPFLAGS = -D_FORTIFY_SOURCE=2
 +CXX = g++ -Wl,-z,relro
 +CXXCPP = g++ -Wl,-z,relro -E
 +CXXDEPMODE = depmode=none
 +CXXFLAGS = -g  -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -DBAMG_LONG_LONG  -DNCHECKPTR -fPIC
 +CYGPATH_W = echo
 +DEFS = -DHAVE_CONFIG_H
 +DEPDIR = .deps
 +DOCPDF = freefem++doc.pdf
 +DOCPS = freefem++doc.ps
 +DOCPSGZ = freefem++doc.ps.gz
 +DOWNLOADCOMPILE = 
 +DOWNLOADED_BLAS = 
 +DOWNLOADED_BLAS_BUILT_SOURCES = 
 +DOWNLOAD_ARPACK = 
 +DOWNLOAD_FFTW = 
 +DOWNLOAD_UMFPACK = 
 +DYLIB_SUFFIX = so
 +ECHO_C = 
 +ECHO_N = -n
 +ECHO_T = 
 +EGREP = /bin/grep -E
 +EIGENOBJ = eigenvalue.$(OBJEXT)
 +ENABLE_FFCS = no
 +EPSTOPDF = epstopdf
 +EXEEXT = 
 +F77 = gfortran
 +FC = gfortran
 +FCFLAGS = -g -O2 -fstack-protector-strong -fPIC
 +FFGLUTNAME = 
 +FFGLUTPROG = ffglut
 +FFLAGS = -g  -fstack-protector-strong -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
 +FFMETIS_CFLAGS = 
 +FF_LAPACKdir = 
 +FF_MALLOC_H = 1
 +FF_SECOND = second.o
 +FF_UMFPACK_CONFIG = 
 +FLIBS = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +FNOFLAGS =  -fPIC
 +G2CLIB = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +GCCNOCYGWIN = 
 +GREP = /bin/grep
 +HISTORY = 
 +INSTALL = /usr/bin/install -c
 +INSTALL_DATA = ${INSTALL} -m 644
 +INSTALL_PROGRAM = ${INSTALL}
 +INSTALL_SCRIPT = ${INSTALL}
 +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
 +KERNEL_VERSION = 3.16.0
 +LAPACKLIBS = -llapack
 +LAPACK_arpack_LIB = 
 +LDFLAGS = -Wl,-z,relro -rdynamic
 +LEX = flex
 +LEXLIB = 
 +LEX_OUTPUT_ROOT = lex.yy
 +LIBC_VERSION = libc-2.19
 +LIBOBJS = 
 +LIBS = -ldl -lm  /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +LIBSGLUT = -lglut -lGLU -lGL
 +LIBSNOCONSOLE = 
 +LIBSPTHREAD = -lpthread
 +LOAD_COMPILE = load_compile
 +LOAD_TESTS = ../regtests.sh
 +LTLIBOBJS = 
 +MAINT = #
 +MAKEINFO = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing makeinfo
 +MEDITPROG = ffmedit
 +MKDIR_P = /bin/mkdir -p
 +MPICC = /usr/bin/mpicc
 +MPICXX = mpic++ -Wl,-z,relro
 +MPIF77 = /usr/bin/mpif90
 +MPIFC = /usr/bin/mpif90
 +MPIPROG = FreeFem++-mpi
 +MPIRUN = /usr/bin/mpirun
 +MPISCRIPT = ff-mpirun
 +MPI_INCLUDE = 
 +MPI_INC_DIR = 
 +MPI_LIB = -Wl,-z,relro 
 +MPI_LIBC = 
 +MPI_LIBFC = -pthread -L/usr//lib -L/usr/lib/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lhwloc 
 +MPI_LIB_DIRS = 
 +NO_RANGE_CHECK = 
 +OBJEXT = o
 +OPTIM_TYPE = 
 +PACKAGE = freefem++
 +PACKAGE_BUGREPORT = hecht at ann.jussieu.fr
 +PACKAGE_NAME = FreeFem++
 +PACKAGE_STRING = FreeFem++ 3.32-1
 +PACKAGE_TARNAME = freefem++
 +PACKAGE_URL = 
 +PACKAGE_VERSION = 3.32-1
 +PASTIX_HOSTARCH = 
 +PATH_SEPARATOR = :
 +RANLIB = ranlib
 +RANLIN = ranlib
 +SCOTCH_INCLUDE = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/include/scotch
 +SET_MAKE = 
 +SHELL = /bin/bash
 +SIZEOF_INT = 4
 +SIZEOF_LONG = 8
 +SIZEOF_PTR = 8
 +SIZEOF_PTRINBIT = 64
 +SKIP_TESTS_EIGEN = 
 +SKIP_TESTS_MPI = no
 +STATICTOOL = 
 +STDPROG = 
 +STD_GRAPH_OBJ = 
 +STD_LDFLAGS = 
 +STD_LIBS = 
 +STRIP = 
 +TEST_FFPP = ../src/nw/FreeFem++
 +TEST_FFPPMPI = ../src/mpi/ff-mpirun
 +TOOL_COMPILE_fflapack = fflapack
 +TOOL_COMPILE_gsl = gsl
 +TOOL_COMPILE_hips = hips
 +TOOL_COMPILE_ipopt = ipopt
 +TOOL_COMPILE_lapack = lapack
 +TOOL_COMPILE_metis = metis
 +TOOL_COMPILE_mmg3d = mmg3d
 +TOOL_COMPILE_mshmet = mshmet
 +TOOL_COMPILE_mumps = mumps
 +TOOL_COMPILE_mumps_seq = mumps-seq
 +TOOL_COMPILE_nlopt = nlopt
 +TOOL_COMPILE_pardiso = 
 +TOOL_COMPILE_parmetis = parmetis
 +TOOL_COMPILE_parms = parms
 +TOOL_COMPILE_pastix = pastix
 +TOOL_COMPILE_pipe = pipe
 +TOOL_COMPILE_scotch = scotch
 +TOOL_COMPILE_superlu = superlu
 +TOOL_COMPILE_superludist = superludist
 +TOOL_COMPILE_umfpack = umfpack
 +TOOL_COMPILE_yams = yams
 +TOOL_DYLIB_fflapack = fflapack.so
 +TOOL_DYLIB_gsl = gsl.so NewSolver.so
 +TOOL_DYLIB_hips = hips_FreeFem.so
 +TOOL_DYLIB_ipopt = ff-Ipopt.so
 +TOOL_DYLIB_lapack = lapack.so
 +TOOL_DYLIB_metis = metis.so
 +TOOL_DYLIB_mmg3d = mmg3d-v4.0.so
 +TOOL_DYLIB_mshmet = mshmet.so
 +TOOL_DYLIB_mumps = MUMPS_FreeFem.so MUMPS.so
 +TOOL_DYLIB_mumps_seq = MUMPS_seq.so MUMPS.so
 +TOOL_DYLIB_nlopt = ff-NLopt.so
 +TOOL_DYLIB_pardiso = 
 +TOOL_DYLIB_parmetis = 
 +TOOL_DYLIB_parms = parms_FreeFem.so
 +TOOL_DYLIB_pastix = interfacepastix.so complex_pastix_FreeFem.so real_pastix_FreeFem.so
 +TOOL_DYLIB_pipe = pipe.so
 +TOOL_DYLIB_scotch = scotch.so
 +TOOL_DYLIB_superlu = SuperLu.so
 +TOOL_DYLIB_superludist = complex_SuperLU_DIST_FreeFem.so real_SuperLU_DIST_FreeFem.so dSuperLU_DIST.so
 +TOOL_DYLIB_umfpack = UMFPACK64.so
 +TOOL_DYLIB_yams = freeyams.so
 +UMFPACKLIBS = -lumfpack  -lamd -lcholmod -lcolamd
 +VERSION = 3.32-1
 +WGET = wget --no-check-certificate
 +WIN32DLLTARGET = 
 +WINDRESOBJ = 
 +YACC = bison -y
 +YFLAGS = 
 +abs_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download
 +abs_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download
 +abs_top_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
 +abs_top_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
 +ac_ct_CC = gcc -Wl,-z,relro
 +ac_ct_CXX = 
 +ac_ct_F77 = gfortran
 +ac_ct_FC = gfortran
 +am__include = include
 +am__leading_dot = .
 +am__quote = 
 +am__tar = $${TAR-tar} chof - "$$tardir"
 +am__untar = $${TAR-tar} xf -
 +bindir = ${exec_prefix}/bin
 +build = x86_64-pc-linux-gnu
 +build_alias = x86_64-linux-gnu
 +build_cpu = x86_64
 +build_os = linux-gnu
 +build_vendor = pc
 +builddir = .
 +datadir = ${datarootdir}
 +datarootdir = ${prefix}/share
 +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
 +dvidir = ${docdir}
 +exec_prefix = ${prefix}
 +ff_bison = yes
 +ff_convert = yes
 +ff_curl = 
 +ff_dvips = yes
 +ff_git = 
 +ff_gzip = yes
 +ff_history = 
 +ff_latex = yes
 +ff_libtool = yes
 +ff_m4 = yes
 +ff_makeindex = yes
 +ff_patch = yes
 +ff_pdf2ps = yes
 +ff_pdflatex = yes
 +ff_prefix_dir = /usr/lib/ff++/3.32-1
 +ff_unzip = 
 +ff_wget = yes
 +host = x86_64-pc-linux-gnu
 +host_alias = 
 +host_cpu = x86_64
 +host_os = linux-gnu
 +host_vendor = pc
 +htmldir = ${docdir}
 +includedir = ${prefix}/include
 +infodir = ${prefix}/share/info
 +install_sh = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/install-sh
 +libdir = ${prefix}/lib/x86_64-linux-gnu
 +libexecdir = ${prefix}/lib/x86_64-linux-gnu
 +localedir = ${datarootdir}/locale
 +localstatedir = /var
 +mandir = ${prefix}/share/man
 +mkdir_p = $(MKDIR_P)
 +oldincludedir = /usr/include
 +pdfdir = ${docdir}
 +prefix = /usr
 +program_transform_name = s,x,x,
 +psdir = ${docdir}
 +sbindir = ${exec_prefix}/sbin
 +sharedstatedir = ${prefix}/com
 +srcdir = .
 +sysconfdir = /etc
 +target_alias = 
 +top_build_prefix = ../
 +top_builddir = ..
 +top_srcdir = ..
++=======
+ ACLOCAL = @ACLOCAL@
+ ADD_PACKAGE_NAME = @ADD_PACKAGE_NAME@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AR = @AR@
+ ARFLAGS = @ARFLAGS@
+ ARPACKLIB = @ARPACKLIB@
+ ARPACKLIBS = @ARPACKLIBS@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+ AWK = @AWK@
+ BAMGPROG = @BAMGPROG@
+ BLASINC = @BLASINC@
+ BLASLIBS = @BLASLIBS@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CFLAGSF77 = @CFLAGSF77@
+ CNOFLAGS = @CNOFLAGS@
+ COMPILE_OPENBLAS = @COMPILE_OPENBLAS@
+ CPPFLAGS = @CPPFLAGS@
+ CXX = @CXX@
+ CXX11FLAGS = @CXX11FLAGS@
+ CXXCPP = @CXXCPP@
+ CXXDEPMODE = @CXXDEPMODE@
+ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+ DOCPDF = @DOCPDF@
+ DOCPS = @DOCPS@
+ DOCPSGZ = @DOCPSGZ@
+ DOWNLOADCOMPILE = @DOWNLOADCOMPILE@
+ DOWNLOADED_BLAS = @DOWNLOADED_BLAS@
+ DOWNLOADED_BLAS_BUILT_SOURCES = @DOWNLOADED_BLAS_BUILT_SOURCES@
+ DOWNLOAD_ARPACK = @DOWNLOAD_ARPACK@
+ DOWNLOAD_FFTW = @DOWNLOAD_FFTW@
+ DOWNLOAD_UMFPACK = @DOWNLOAD_UMFPACK@
+ DYLIB_SUFFIX = @DYLIB_SUFFIX@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EIGENOBJ = @EIGENOBJ@
+ ENABLE_FFCS = @ENABLE_FFCS@
+ EPSTOPDF = @EPSTOPDF@
+ EXEEXT = @EXEEXT@
+ F77 = @F77@
+ FC = @FC@
+ FCFLAGS = @FCFLAGS@
+ FFGLUTNAME = @FFGLUTNAME@
+ FFGLUTPROG = @FFGLUTPROG@
+ FFLAGS = @FFLAGS@
+ FFMETIS_CFLAGS = @FFMETIS_CFLAGS@
+ FF_LAPACKdir = @FF_LAPACKdir@
+ FF_MALLOC_H = @FF_MALLOC_H@
+ FF_SECOND = @FF_SECOND@
+ FF_UMFPACK_CONFIG = @FF_UMFPACK_CONFIG@
+ FLIBS = @FLIBS@
+ FNOFLAGS = @FNOFLAGS@
+ G2CLIB = @G2CLIB@
+ GCCNOCYGWIN = @GCCNOCYGWIN@
+ GREP = @GREP@
+ GSL_CFLAGS = @GSL_CFLAGS@
+ GSL_CONFIG = @GSL_CONFIG@
+ GSL_LIBS = @GSL_LIBS@
+ H5CC = @H5CC@
+ H5FC = @H5FC@
+ HDF5_CC = @HDF5_CC@
+ HDF5_CFLAGS = @HDF5_CFLAGS@
+ HDF5_CPPFLAGS = @HDF5_CPPFLAGS@
+ HDF5_FC = @HDF5_FC@
+ HDF5_FFLAGS = @HDF5_FFLAGS@
+ HDF5_FLIBS = @HDF5_FLIBS@
+ HDF5_LDFLAGS = @HDF5_LDFLAGS@
+ HDF5_LIBS = @HDF5_LIBS@
+ HDF5_VERSION = @HDF5_VERSION@
+ HISTORY = @HISTORY@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ KERNEL_VERSION = @KERNEL_VERSION@
+ LAPACKLIBS = @LAPACKLIBS@
+ LAPACK_arpack_LIB = @LAPACK_arpack_LIB@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBC_VERSION = @LIBC_VERSION@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBSGLUT = @LIBSGLUT@
+ LIBSNOCONSOLE = @LIBSNOCONSOLE@
+ LIBSPTHREAD = @LIBSPTHREAD@
+ LOAD_COMPILE = @LOAD_COMPILE@
+ LOAD_TESTS = @LOAD_TESTS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
+ MEDITPROG = @MEDITPROG@
+ MKDIR_P = @MKDIR_P@
+ MPICC = @MPICC@
+ MPICXX = @MPICXX@
+ MPIF77 = @MPIF77@
+ MPIFC = @MPIFC@
+ MPIPROG = @MPIPROG@
+ MPIRUN = @MPIRUN@
+ MPISCRIPT = @MPISCRIPT@
+ MPI_INCLUDE = @MPI_INCLUDE@
+ MPI_INC_DIR = @MPI_INC_DIR@
+ MPI_LIB = @MPI_LIB@
+ MPI_LIBC = @MPI_LIBC@
+ MPI_LIBFC = @MPI_LIBFC@
+ MPI_LIB_DIRS = @MPI_LIB_DIRS@
+ NO_RANGE_CHECK = @NO_RANGE_CHECK@
+ OBJEXT = @OBJEXT@
+ OPTIM_TYPE = @OPTIM_TYPE@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PASTIX_HOSTARCH = @PASTIX_HOSTARCH@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ RANLIB = @RANLIB@
+ RANLIN = @RANLIN@
+ SCOTCH_INCLUDE = @SCOTCH_INCLUDE@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SIZEOF_INT = @SIZEOF_INT@
+ SIZEOF_LONG = @SIZEOF_LONG@
+ SIZEOF_PTR = @SIZEOF_PTR@
+ SIZEOF_PTRINBIT = @SIZEOF_PTRINBIT@
+ SKIP_TESTS_EIGEN = @SKIP_TESTS_EIGEN@
+ SKIP_TESTS_MPI = @SKIP_TESTS_MPI@
+ STATICTOOL = @STATICTOOL@
+ STDPROG = @STDPROG@
+ STD_GRAPH_OBJ = @STD_GRAPH_OBJ@
+ STD_LDFLAGS = @STD_LDFLAGS@
+ STD_LIBS = @STD_LIBS@
+ STRIP = @STRIP@
+ TEST_FFPP = @TEST_FFPP@
+ TEST_FFPPMPI = @TEST_FFPPMPI@
+ TOOL_COMPILE_NewSolver = @TOOL_COMPILE_NewSolver@
+ TOOL_COMPILE_fflapack = @TOOL_COMPILE_fflapack@
+ TOOL_COMPILE_gsl = @TOOL_COMPILE_gsl@
+ TOOL_COMPILE_hips = @TOOL_COMPILE_hips@
+ TOOL_COMPILE_iohdf5 = @TOOL_COMPILE_iohdf5@
+ TOOL_COMPILE_ipopt = @TOOL_COMPILE_ipopt@
+ TOOL_COMPILE_lapack = @TOOL_COMPILE_lapack@
+ TOOL_COMPILE_metis = @TOOL_COMPILE_metis@
+ TOOL_COMPILE_mmg3d = @TOOL_COMPILE_mmg3d@
+ TOOL_COMPILE_mshmet = @TOOL_COMPILE_mshmet@
+ TOOL_COMPILE_mumps = @TOOL_COMPILE_mumps@
+ TOOL_COMPILE_mumps_seq = @TOOL_COMPILE_mumps_seq@
+ TOOL_COMPILE_nlopt = @TOOL_COMPILE_nlopt@
+ TOOL_COMPILE_pardiso = @TOOL_COMPILE_pardiso@
+ TOOL_COMPILE_parmetis = @TOOL_COMPILE_parmetis@
+ TOOL_COMPILE_parms = @TOOL_COMPILE_parms@
+ TOOL_COMPILE_pastix = @TOOL_COMPILE_pastix@
+ TOOL_COMPILE_pipe = @TOOL_COMPILE_pipe@
+ TOOL_COMPILE_schwarz = @TOOL_COMPILE_schwarz@
+ TOOL_COMPILE_scotch = @TOOL_COMPILE_scotch@
+ TOOL_COMPILE_superlu = @TOOL_COMPILE_superlu@
+ TOOL_COMPILE_superludist = @TOOL_COMPILE_superludist@
+ TOOL_COMPILE_umfpack = @TOOL_COMPILE_umfpack@
+ TOOL_COMPILE_yams = @TOOL_COMPILE_yams@
+ TOOL_DYLIB_NewSolver = @TOOL_DYLIB_NewSolver@
+ TOOL_DYLIB_fflapack = @TOOL_DYLIB_fflapack@
+ TOOL_DYLIB_gsl = @TOOL_DYLIB_gsl@
+ TOOL_DYLIB_hips = @TOOL_DYLIB_hips@
+ TOOL_DYLIB_iohdf5 = @TOOL_DYLIB_iohdf5@
+ TOOL_DYLIB_ipopt = @TOOL_DYLIB_ipopt@
+ TOOL_DYLIB_lapack = @TOOL_DYLIB_lapack@
+ TOOL_DYLIB_metis = @TOOL_DYLIB_metis@
+ TOOL_DYLIB_mmg3d = @TOOL_DYLIB_mmg3d@
+ TOOL_DYLIB_mshmet = @TOOL_DYLIB_mshmet@
+ TOOL_DYLIB_mumps = @TOOL_DYLIB_mumps@
+ TOOL_DYLIB_mumps_seq = @TOOL_DYLIB_mumps_seq@
+ TOOL_DYLIB_nlopt = @TOOL_DYLIB_nlopt@
+ TOOL_DYLIB_pardiso = @TOOL_DYLIB_pardiso@
+ TOOL_DYLIB_parmetis = @TOOL_DYLIB_parmetis@
+ TOOL_DYLIB_parms = @TOOL_DYLIB_parms@
+ TOOL_DYLIB_pastix = @TOOL_DYLIB_pastix@
+ TOOL_DYLIB_pipe = @TOOL_DYLIB_pipe@
+ TOOL_DYLIB_schwarz = @TOOL_DYLIB_schwarz@
+ TOOL_DYLIB_scotch = @TOOL_DYLIB_scotch@
+ TOOL_DYLIB_superlu = @TOOL_DYLIB_superlu@
+ TOOL_DYLIB_superludist = @TOOL_DYLIB_superludist@
+ TOOL_DYLIB_umfpack = @TOOL_DYLIB_umfpack@
+ TOOL_DYLIB_yams = @TOOL_DYLIB_yams@
+ UMFPACKLIBS = @UMFPACKLIBS@
+ VERSION = @VERSION@
+ WGET = @WGET@
+ WIN32DLLTARGET = @WIN32DLLTARGET@
+ WINDRESOBJ = @WINDRESOBJ@
+ WITH_CXX11 = @WITH_CXX11@
+ YACC = @YACC@
+ YFLAGS = @YFLAGS@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_F77 = @ac_ct_F77@
+ ac_ct_FC = @ac_ct_FC@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
+ builddir = @builddir@
+ datadir = @datadir@
+ datarootdir = @datarootdir@
+ docdir = @docdir@
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ ff_bison = @ff_bison@
+ ff_convert = @ff_convert@
+ ff_curl = @ff_curl@
+ ff_dvips = @ff_dvips@
+ ff_git = @ff_git@
+ ff_gzip = @ff_gzip@
+ ff_history = @ff_history@
+ ff_latex = @ff_latex@
+ ff_libtool = @ff_libtool@
+ ff_m4 = @ff_m4@
+ ff_makeindex = @ff_makeindex@
+ ff_patch = @ff_patch@
+ ff_pdf2ps = @ff_pdf2ps@
+ ff_pdflatex = @ff_pdflatex@
+ ff_prefix_dir = @ff_prefix_dir@
+ ff_unzip = @ff_unzip@
+ ff_wget = @ff_wget@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
+ htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
++>>>>>>> upstream/3.34.2:download/Makefile.in
  SUBDIRS = blas arpack umfpack  
  EXTRA_DIST = \
  ./nlopt/Make.inc ./nlopt/Makefile \
@@@ -513,15 -538,15 +792,23 @@@ getal
  # FFCS: See [[file:../../../configure.ac::tools_problems_all_platforms]] for reasons why some tools may be deactivated
  
  # <<no_more_blacs>> blacs is included in scalapack 2.0.2
 -MPI_SOFT = @TOOL_COMPILE_parmetis@ scalapack @TOOL_COMPILE_superludist@	\
 -	@TOOL_COMPILE_mumps@ @TOOL_COMPILE_pastix@			\
 -	@TOOL_COMPILE_hips@ @TOOL_COMPILE_parms@
 +MPI_SOFT = parmetis scalapack superludist	\
 +	mumps pastix			\
 +	hips parms
  
++<<<<<<< HEAD:download/Makefile
 +LIST_SOFT = tetgen superlu fftw metis	\
 +	scotch mshmet			\
 +	yams mmg3d gmm			\
 +	nlopt mumps-seq			\
 +	ipopt
++=======
+ LIST_SOFT = tetgen @TOOL_COMPILE_superlu@ fftw @TOOL_COMPILE_metis@	\
+ 	@TOOL_COMPILE_scotch@ @TOOL_COMPILE_mshmet@			\
+ 	@TOOL_COMPILE_yams@ @TOOL_COMPILE_mmg3d@ gmm			\
+ 	@TOOL_COMPILE_nlopt@ @TOOL_COMPILE_mumps_seq@			\
+ 	@TOOL_COMPILE_ipopt@ 
++>>>>>>> upstream/3.34.2:download/Makefile.in
  
  all: all-recursive
  
diff --cc download/fftw/Makefile.orig
index c3eb82f,08f1544..cf1e64b
--- a/download/fftw/Makefile.orig
+++ b/download/fftw/Makefile.orig
@@@ -78,13 -78,15 +78,14 @@@ POST_INSTALL = 
  NORMAL_UNINSTALL = :
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
 -build_triplet = @build@
 -host_triplet = @host@
 +build_triplet = x86_64-pc-linux-gnu
 +host_triplet = x86_64-pc-linux-gnu
  subdir = download/fftw
 -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 -	$(top_srcdir)/mkinstalldirs
 +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/acmacros.m4 \
- 	$(top_srcdir)/acoptim.m4 $(top_srcdir)/acmpi.m4 \
+ 	$(top_srcdir)/acoptim.m4 $(top_srcdir)/ax_lib_hdf5.m4 \
+ 	$(top_srcdir)/ax_lib_gsl.m4 $(top_srcdir)/acmpi.m4 \
  	$(top_srcdir)/configure.ac
  am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  	$(ACLOCAL_M4)
@@@ -113,258 -115,281 +114,536 @@@ am__can_run_installinfo = 
    esac
  am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
  DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++<<<<<<< HEAD:download/fftw/Makefile
 +ACLOCAL = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing aclocal-1.14
 +ADD_PACKAGE_NAME = 
 +AMTAR = $${TAR-tar}
 +AM_DEFAULT_VERBOSITY = 1
 +AR = ar
 +ARFLAGS = rv
 +ARPACKLIB = 
 +ARPACKLIBS = -larpack -llapack
 +AUTOCONF = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoconf
 +AUTOHEADER = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoheader
 +AUTOMAKE = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing automake-1.14
 +AWK = gawk
 +BAMGPROG = bamg cvmsh2
 +BLASINC = 
 +BLASLIBS = -lblas
 +CC = gcc -Wl,-z,relro
 +CCDEPMODE = depmode=none
 +CFLAGS = -g  -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
 +CFLAGSF77 = -DAdd_
 +CNOFLAGS =  -fPIC
 +COMPILE_OPENBLAS = 
 +CPPFLAGS = -D_FORTIFY_SOURCE=2
 +CXX = g++ -Wl,-z,relro
 +CXXCPP = g++ -Wl,-z,relro -E
 +CXXDEPMODE = depmode=none
 +CXXFLAGS = -g  -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -DBAMG_LONG_LONG  -DNCHECKPTR -fPIC
 +CYGPATH_W = echo
 +DEFS = -DHAVE_CONFIG_H
 +DEPDIR = .deps
 +DOCPDF = freefem++doc.pdf
 +DOCPS = freefem++doc.ps
 +DOCPSGZ = freefem++doc.ps.gz
 +DOWNLOADCOMPILE = 
 +DOWNLOADED_BLAS = 
 +DOWNLOADED_BLAS_BUILT_SOURCES = 
 +DOWNLOAD_ARPACK = 
 +DOWNLOAD_FFTW = 
 +DOWNLOAD_UMFPACK = 
 +DYLIB_SUFFIX = so
 +ECHO_C = 
 +ECHO_N = -n
 +ECHO_T = 
 +EGREP = /bin/grep -E
 +EIGENOBJ = eigenvalue.$(OBJEXT)
 +ENABLE_FFCS = no
 +EPSTOPDF = epstopdf
 +EXEEXT = 
 +F77 = gfortran
 +FC = gfortran
 +FCFLAGS = -g -O2 -fstack-protector-strong -fPIC
 +FFGLUTNAME = 
 +FFGLUTPROG = ffglut
 +FFLAGS = -g  -fstack-protector-strong -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
 +FFMETIS_CFLAGS = 
 +FF_LAPACKdir = 
 +FF_MALLOC_H = 1
 +FF_SECOND = second.o
 +FF_UMFPACK_CONFIG = 
 +FLIBS = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +FNOFLAGS =  -fPIC
 +G2CLIB = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +GCCNOCYGWIN = 
 +GREP = /bin/grep
 +HISTORY = 
 +INSTALL = /usr/bin/install -c
 +INSTALL_DATA = ${INSTALL} -m 644
 +INSTALL_PROGRAM = ${INSTALL}
 +INSTALL_SCRIPT = ${INSTALL}
 +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
 +KERNEL_VERSION = 3.16.0
 +LAPACKLIBS = -llapack
 +LAPACK_arpack_LIB = 
 +LDFLAGS = -Wl,-z,relro -rdynamic
 +LEX = flex
 +LEXLIB = 
 +LEX_OUTPUT_ROOT = lex.yy
 +LIBC_VERSION = libc-2.19
 +LIBOBJS = 
 +LIBS = -ldl -lm  /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +LIBSGLUT = -lglut -lGLU -lGL
 +LIBSNOCONSOLE = 
 +LIBSPTHREAD = -lpthread
 +LOAD_COMPILE = load_compile
 +LOAD_TESTS = ../regtests.sh
 +LTLIBOBJS = 
 +MAINT = #
 +MAKEINFO = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing makeinfo
 +MEDITPROG = ffmedit
 +MKDIR_P = /bin/mkdir -p
 +MPICC = /usr/bin/mpicc
 +MPICXX = mpic++ -Wl,-z,relro
 +MPIF77 = /usr/bin/mpif90
 +MPIFC = /usr/bin/mpif90
 +MPIPROG = FreeFem++-mpi
 +MPIRUN = /usr/bin/mpirun
 +MPISCRIPT = ff-mpirun
 +MPI_INCLUDE = 
 +MPI_INC_DIR = 
 +MPI_LIB = -Wl,-z,relro 
 +MPI_LIBC = 
 +MPI_LIBFC = -pthread -L/usr//lib -L/usr/lib/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lhwloc 
 +MPI_LIB_DIRS = 
 +NO_RANGE_CHECK = 
 +OBJEXT = o
 +OPTIM_TYPE = 
 +PACKAGE = fftw-$(FFTW_VERSION).tar.gz
 +PACKAGE_BUGREPORT = hecht at ann.jussieu.fr
 +PACKAGE_NAME = FreeFem++
 +PACKAGE_STRING = FreeFem++ 3.32-1
 +PACKAGE_TARNAME = freefem++
 +PACKAGE_URL = 
 +PACKAGE_VERSION = 3.32-1
 +PASTIX_HOSTARCH = 
 +PATH_SEPARATOR = :
 +RANLIB = ranlib
 +RANLIN = ranlib
 +SCOTCH_INCLUDE = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/include/scotch
 +SET_MAKE = 
 +SHELL = /bin/bash
 +SIZEOF_INT = 4
 +SIZEOF_LONG = 8
 +SIZEOF_PTR = 8
 +SIZEOF_PTRINBIT = 64
 +SKIP_TESTS_EIGEN = 
 +SKIP_TESTS_MPI = no
 +STATICTOOL = 
 +STDPROG = 
 +STD_GRAPH_OBJ = 
 +STD_LDFLAGS = 
 +STD_LIBS = 
 +STRIP = 
 +TEST_FFPP = ../src/nw/FreeFem++
 +TEST_FFPPMPI = ../src/mpi/ff-mpirun
 +TOOL_COMPILE_fflapack = fflapack
 +TOOL_COMPILE_gsl = gsl
 +TOOL_COMPILE_hips = hips
 +TOOL_COMPILE_ipopt = ipopt
 +TOOL_COMPILE_lapack = lapack
 +TOOL_COMPILE_metis = metis
 +TOOL_COMPILE_mmg3d = mmg3d
 +TOOL_COMPILE_mshmet = mshmet
 +TOOL_COMPILE_mumps = mumps
 +TOOL_COMPILE_mumps_seq = mumps-seq
 +TOOL_COMPILE_nlopt = nlopt
 +TOOL_COMPILE_pardiso = 
 +TOOL_COMPILE_parmetis = parmetis
 +TOOL_COMPILE_parms = parms
 +TOOL_COMPILE_pastix = pastix
 +TOOL_COMPILE_pipe = pipe
 +TOOL_COMPILE_scotch = scotch
 +TOOL_COMPILE_superlu = superlu
 +TOOL_COMPILE_superludist = superludist
 +TOOL_COMPILE_umfpack = umfpack
 +TOOL_COMPILE_yams = yams
 +TOOL_DYLIB_fflapack = fflapack.so
 +TOOL_DYLIB_gsl = gsl.so NewSolver.so
 +TOOL_DYLIB_hips = hips_FreeFem.so
 +TOOL_DYLIB_ipopt = ff-Ipopt.so
 +TOOL_DYLIB_lapack = lapack.so
 +TOOL_DYLIB_metis = metis.so
 +TOOL_DYLIB_mmg3d = mmg3d-v4.0.so
 +TOOL_DYLIB_mshmet = mshmet.so
 +TOOL_DYLIB_mumps = MUMPS_FreeFem.so MUMPS.so
 +TOOL_DYLIB_mumps_seq = MUMPS_seq.so MUMPS.so
 +TOOL_DYLIB_nlopt = ff-NLopt.so
 +TOOL_DYLIB_pardiso = 
 +TOOL_DYLIB_parmetis = 
 +TOOL_DYLIB_parms = parms_FreeFem.so
 +TOOL_DYLIB_pastix = interfacepastix.so complex_pastix_FreeFem.so real_pastix_FreeFem.so
 +TOOL_DYLIB_pipe = pipe.so
 +TOOL_DYLIB_scotch = scotch.so
 +TOOL_DYLIB_superlu = SuperLu.so
 +TOOL_DYLIB_superludist = complex_SuperLU_DIST_FreeFem.so real_SuperLU_DIST_FreeFem.so dSuperLU_DIST.so
 +TOOL_DYLIB_umfpack = UMFPACK64.so
 +TOOL_DYLIB_yams = freeyams.so
 +UMFPACKLIBS = -lumfpack  -lamd -lcholmod -lcolamd
 +VERSION = 3.32-1
 +WGET = wget --no-check-certificate
 +WIN32DLLTARGET = 
 +WINDRESOBJ = 
 +YACC = bison -y
 +YFLAGS = 
 +abs_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/fftw
 +abs_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/fftw
 +abs_top_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
 +abs_top_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
 +ac_ct_CC = gcc -Wl,-z,relro
 +ac_ct_CXX = 
 +ac_ct_F77 = gfortran
 +ac_ct_FC = gfortran
 +am__include = include
 +am__leading_dot = .
 +am__quote = 
 +am__tar = $${TAR-tar} chof - "$$tardir"
 +am__untar = $${TAR-tar} xf -
 +bindir = ${exec_prefix}/bin
 +build = x86_64-pc-linux-gnu
 +build_alias = x86_64-linux-gnu
 +build_cpu = x86_64
 +build_os = linux-gnu
 +build_vendor = pc
 +builddir = .
 +datadir = ${datarootdir}
 +datarootdir = ${prefix}/share
 +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
 +dvidir = ${docdir}
 +exec_prefix = ${prefix}
 +ff_bison = yes
 +ff_convert = yes
 +ff_curl = 
 +ff_dvips = yes
 +ff_git = 
 +ff_gzip = yes
 +ff_history = 
 +ff_latex = yes
 +ff_libtool = yes
 +ff_m4 = yes
 +ff_makeindex = yes
 +ff_patch = yes
 +ff_pdf2ps = yes
 +ff_pdflatex = yes
 +ff_prefix_dir = /usr/lib/ff++/3.32-1
 +ff_unzip = 
 +ff_wget = yes
 +host = x86_64-pc-linux-gnu
 +host_alias = 
 +host_cpu = x86_64
 +host_os = linux-gnu
 +host_vendor = pc
 +htmldir = ${docdir}
 +includedir = ${prefix}/include
 +infodir = ${prefix}/share/info
 +install_sh = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/install-sh
 +libdir = ${prefix}/lib/x86_64-linux-gnu
 +libexecdir = ${prefix}/lib/x86_64-linux-gnu
 +localedir = ${datarootdir}/locale
 +localstatedir = /var
 +mandir = ${prefix}/share/man
 +mkdir_p = $(MKDIR_P)
 +oldincludedir = /usr/include
 +pdfdir = ${docdir}
 +prefix = /usr
 +program_transform_name = s,x,x,
 +psdir = ${docdir}
 +sbindir = ${exec_prefix}/sbin
 +sharedstatedir = ${prefix}/com
 +srcdir = .
 +sysconfdir = /etc
 +target_alias = 
 +top_build_prefix = ../../
 +top_builddir = ../..
 +top_srcdir = ../..
++=======
+ ACLOCAL = @ACLOCAL@
+ ADD_PACKAGE_NAME = @ADD_PACKAGE_NAME@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AR = @AR@
+ ARFLAGS = @ARFLAGS@
+ ARPACKLIB = @ARPACKLIB@
+ ARPACKLIBS = @ARPACKLIBS@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+ AWK = @AWK@
+ BAMGPROG = @BAMGPROG@
+ BLASINC = @BLASINC@
+ BLASLIBS = @BLASLIBS@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CFLAGSF77 = @CFLAGSF77@
+ CNOFLAGS = @CNOFLAGS@
+ COMPILE_OPENBLAS = @COMPILE_OPENBLAS@
+ CPPFLAGS = @CPPFLAGS@
+ CXX = @CXX@
+ CXX11FLAGS = @CXX11FLAGS@
+ CXXCPP = @CXXCPP@
+ CXXDEPMODE = @CXXDEPMODE@
+ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+ DOCPDF = @DOCPDF@
+ DOCPS = @DOCPS@
+ DOCPSGZ = @DOCPSGZ@
+ DOWNLOADCOMPILE = @DOWNLOADCOMPILE@
+ DOWNLOADED_BLAS = @DOWNLOADED_BLAS@
+ DOWNLOADED_BLAS_BUILT_SOURCES = @DOWNLOADED_BLAS_BUILT_SOURCES@
+ DOWNLOAD_ARPACK = @DOWNLOAD_ARPACK@
+ DOWNLOAD_FFTW = @DOWNLOAD_FFTW@
+ DOWNLOAD_UMFPACK = @DOWNLOAD_UMFPACK@
+ DYLIB_SUFFIX = @DYLIB_SUFFIX@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EIGENOBJ = @EIGENOBJ@
+ ENABLE_FFCS = @ENABLE_FFCS@
+ EPSTOPDF = @EPSTOPDF@
+ EXEEXT = @EXEEXT@
+ F77 = @F77@
+ FC = @FC@
+ FCFLAGS = @FCFLAGS@
+ FFGLUTNAME = @FFGLUTNAME@
+ FFGLUTPROG = @FFGLUTPROG@
+ FFLAGS = @FFLAGS@
+ FFMETIS_CFLAGS = @FFMETIS_CFLAGS@
+ FF_LAPACKdir = @FF_LAPACKdir@
+ FF_MALLOC_H = @FF_MALLOC_H@
+ FF_SECOND = @FF_SECOND@
+ FF_UMFPACK_CONFIG = @FF_UMFPACK_CONFIG@
+ FLIBS = @FLIBS@
+ FNOFLAGS = @FNOFLAGS@
+ G2CLIB = @G2CLIB@
+ GCCNOCYGWIN = @GCCNOCYGWIN@
+ GREP = @GREP@
+ GSL_CFLAGS = @GSL_CFLAGS@
+ GSL_CONFIG = @GSL_CONFIG@
+ GSL_LIBS = @GSL_LIBS@
+ H5CC = @H5CC@
+ H5FC = @H5FC@
+ HDF5_CC = @HDF5_CC@
+ HDF5_CFLAGS = @HDF5_CFLAGS@
+ HDF5_CPPFLAGS = @HDF5_CPPFLAGS@
+ HDF5_FC = @HDF5_FC@
+ HDF5_FFLAGS = @HDF5_FFLAGS@
+ HDF5_FLIBS = @HDF5_FLIBS@
+ HDF5_LDFLAGS = @HDF5_LDFLAGS@
+ HDF5_LIBS = @HDF5_LIBS@
+ HDF5_VERSION = @HDF5_VERSION@
+ HISTORY = @HISTORY@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ KERNEL_VERSION = @KERNEL_VERSION@
+ LAPACKLIBS = @LAPACKLIBS@
+ LAPACK_arpack_LIB = @LAPACK_arpack_LIB@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBC_VERSION = @LIBC_VERSION@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBSGLUT = @LIBSGLUT@
+ LIBSNOCONSOLE = @LIBSNOCONSOLE@
+ LIBSPTHREAD = @LIBSPTHREAD@
+ LOAD_COMPILE = @LOAD_COMPILE@
+ LOAD_TESTS = @LOAD_TESTS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
+ MEDITPROG = @MEDITPROG@
+ MKDIR_P = @MKDIR_P@
+ MPICC = @MPICC@
+ MPICXX = @MPICXX@
+ MPIF77 = @MPIF77@
+ MPIFC = @MPIFC@
+ MPIPROG = @MPIPROG@
+ MPIRUN = @MPIRUN@
+ MPISCRIPT = @MPISCRIPT@
+ MPI_INCLUDE = @MPI_INCLUDE@
+ MPI_INC_DIR = @MPI_INC_DIR@
+ MPI_LIB = @MPI_LIB@
+ MPI_LIBC = @MPI_LIBC@
+ MPI_LIBFC = @MPI_LIBFC@
+ MPI_LIB_DIRS = @MPI_LIB_DIRS@
+ NO_RANGE_CHECK = @NO_RANGE_CHECK@
+ OBJEXT = @OBJEXT@
+ OPTIM_TYPE = @OPTIM_TYPE@
+ PACKAGE = fftw-$(FFTW_VERSION).tar.gz
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PASTIX_HOSTARCH = @PASTIX_HOSTARCH@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ RANLIB = @RANLIB@
+ RANLIN = @RANLIN@
+ SCOTCH_INCLUDE = @SCOTCH_INCLUDE@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SIZEOF_INT = @SIZEOF_INT@
+ SIZEOF_LONG = @SIZEOF_LONG@
+ SIZEOF_PTR = @SIZEOF_PTR@
+ SIZEOF_PTRINBIT = @SIZEOF_PTRINBIT@
+ SKIP_TESTS_EIGEN = @SKIP_TESTS_EIGEN@
+ SKIP_TESTS_MPI = @SKIP_TESTS_MPI@
+ STATICTOOL = @STATICTOOL@
+ STDPROG = @STDPROG@
+ STD_GRAPH_OBJ = @STD_GRAPH_OBJ@
+ STD_LDFLAGS = @STD_LDFLAGS@
+ STD_LIBS = @STD_LIBS@
+ STRIP = @STRIP@
+ TEST_FFPP = @TEST_FFPP@
+ TEST_FFPPMPI = @TEST_FFPPMPI@
+ TOOL_COMPILE_NewSolver = @TOOL_COMPILE_NewSolver@
+ TOOL_COMPILE_fflapack = @TOOL_COMPILE_fflapack@
+ TOOL_COMPILE_gsl = @TOOL_COMPILE_gsl@
+ TOOL_COMPILE_hips = @TOOL_COMPILE_hips@
+ TOOL_COMPILE_iohdf5 = @TOOL_COMPILE_iohdf5@
+ TOOL_COMPILE_ipopt = @TOOL_COMPILE_ipopt@
+ TOOL_COMPILE_lapack = @TOOL_COMPILE_lapack@
+ TOOL_COMPILE_metis = @TOOL_COMPILE_metis@
+ TOOL_COMPILE_mmg3d = @TOOL_COMPILE_mmg3d@
+ TOOL_COMPILE_mshmet = @TOOL_COMPILE_mshmet@
+ TOOL_COMPILE_mumps = @TOOL_COMPILE_mumps@
+ TOOL_COMPILE_mumps_seq = @TOOL_COMPILE_mumps_seq@
+ TOOL_COMPILE_nlopt = @TOOL_COMPILE_nlopt@
+ TOOL_COMPILE_pardiso = @TOOL_COMPILE_pardiso@
+ TOOL_COMPILE_parmetis = @TOOL_COMPILE_parmetis@
+ TOOL_COMPILE_parms = @TOOL_COMPILE_parms@
+ TOOL_COMPILE_pastix = @TOOL_COMPILE_pastix@
+ TOOL_COMPILE_pipe = @TOOL_COMPILE_pipe@
+ TOOL_COMPILE_schwarz = @TOOL_COMPILE_schwarz@
+ TOOL_COMPILE_scotch = @TOOL_COMPILE_scotch@
+ TOOL_COMPILE_superlu = @TOOL_COMPILE_superlu@
+ TOOL_COMPILE_superludist = @TOOL_COMPILE_superludist@
+ TOOL_COMPILE_umfpack = @TOOL_COMPILE_umfpack@
+ TOOL_COMPILE_yams = @TOOL_COMPILE_yams@
+ TOOL_DYLIB_NewSolver = @TOOL_DYLIB_NewSolver@
+ TOOL_DYLIB_fflapack = @TOOL_DYLIB_fflapack@
+ TOOL_DYLIB_gsl = @TOOL_DYLIB_gsl@
+ TOOL_DYLIB_hips = @TOOL_DYLIB_hips@
+ TOOL_DYLIB_iohdf5 = @TOOL_DYLIB_iohdf5@
+ TOOL_DYLIB_ipopt = @TOOL_DYLIB_ipopt@
+ TOOL_DYLIB_lapack = @TOOL_DYLIB_lapack@
+ TOOL_DYLIB_metis = @TOOL_DYLIB_metis@
+ TOOL_DYLIB_mmg3d = @TOOL_DYLIB_mmg3d@
+ TOOL_DYLIB_mshmet = @TOOL_DYLIB_mshmet@
+ TOOL_DYLIB_mumps = @TOOL_DYLIB_mumps@
+ TOOL_DYLIB_mumps_seq = @TOOL_DYLIB_mumps_seq@
+ TOOL_DYLIB_nlopt = @TOOL_DYLIB_nlopt@
+ TOOL_DYLIB_pardiso = @TOOL_DYLIB_pardiso@
+ TOOL_DYLIB_parmetis = @TOOL_DYLIB_parmetis@
+ TOOL_DYLIB_parms = @TOOL_DYLIB_parms@
+ TOOL_DYLIB_pastix = @TOOL_DYLIB_pastix@
+ TOOL_DYLIB_pipe = @TOOL_DYLIB_pipe@
+ TOOL_DYLIB_schwarz = @TOOL_DYLIB_schwarz@
+ TOOL_DYLIB_scotch = @TOOL_DYLIB_scotch@
+ TOOL_DYLIB_superlu = @TOOL_DYLIB_superlu@
+ TOOL_DYLIB_superludist = @TOOL_DYLIB_superludist@
+ TOOL_DYLIB_umfpack = @TOOL_DYLIB_umfpack@
+ TOOL_DYLIB_yams = @TOOL_DYLIB_yams@
+ UMFPACKLIBS = @UMFPACKLIBS@
+ VERSION = @VERSION@
+ WGET = @WGET@
+ WIN32DLLTARGET = @WIN32DLLTARGET@
+ WINDRESOBJ = @WINDRESOBJ@
+ WITH_CXX11 = @WITH_CXX11@
+ YACC = @YACC@
+ YFLAGS = @YFLAGS@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_F77 = @ac_ct_F77@
+ ac_ct_FC = @ac_ct_FC@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
+ builddir = @builddir@
+ datadir = @datadir@
+ datarootdir = @datarootdir@
+ docdir = @docdir@
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ ff_bison = @ff_bison@
+ ff_convert = @ff_convert@
+ ff_curl = @ff_curl@
+ ff_dvips = @ff_dvips@
+ ff_git = @ff_git@
+ ff_gzip = @ff_gzip@
+ ff_history = @ff_history@
+ ff_latex = @ff_latex@
+ ff_libtool = @ff_libtool@
+ ff_m4 = @ff_m4@
+ ff_makeindex = @ff_makeindex@
+ ff_patch = @ff_patch@
+ ff_pdf2ps = @ff_pdf2ps@
+ ff_pdflatex = @ff_pdflatex@
+ ff_prefix_dir = @ff_prefix_dir@
+ ff_unzip = @ff_unzip@
+ ff_wget = @ff_wget@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
+ htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
++>>>>>>> upstream/3.34.2:download/fftw/Makefile.in
  
  # Downloading and compiling FFTW
  # ------------------------------
diff --cc download/umfpack/Makefile.orig
index e37aee9,b909870..603b305
--- a/download/umfpack/Makefile.orig
+++ b/download/umfpack/Makefile.orig
@@@ -98,13 -98,15 +98,14 @@@ POST_INSTALL = 
  NORMAL_UNINSTALL = :
  PRE_UNINSTALL = :
  POST_UNINSTALL = :
 -build_triplet = @build@
 -host_triplet = @host@
 +build_triplet = x86_64-pc-linux-gnu
 +host_triplet = x86_64-pc-linux-gnu
  subdir = download/umfpack
 -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
 -	$(top_srcdir)/mkinstalldirs
 +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/acmacros.m4 \
- 	$(top_srcdir)/acoptim.m4 $(top_srcdir)/acmpi.m4 \
+ 	$(top_srcdir)/acoptim.m4 $(top_srcdir)/ax_lib_hdf5.m4 \
+ 	$(top_srcdir)/ax_lib_gsl.m4 $(top_srcdir)/acmpi.m4 \
  	$(top_srcdir)/configure.ac
  am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
  	$(ACLOCAL_M4)
@@@ -133,258 -135,281 +134,536 @@@ am__can_run_installinfo = 
    esac
  am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
  DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
++<<<<<<< HEAD:download/umfpack/Makefile
 +ACLOCAL = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing aclocal-1.14
 +ADD_PACKAGE_NAME = 
 +AMTAR = $${TAR-tar}
 +AM_DEFAULT_VERBOSITY = 1
 +AR = ar
 +ARFLAGS = rv
 +ARPACKLIB = 
 +ARPACKLIBS = -larpack -llapack
 +AUTOCONF = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoconf
 +AUTOHEADER = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing autoheader
 +AUTOMAKE = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing automake-1.14
 +AWK = gawk
 +BAMGPROG = bamg cvmsh2
 +BLASINC = 
 +BLASLIBS = -lblas
 +CC = gcc -Wl,-z,relro
 +CCDEPMODE = depmode=none
 +CFLAGS = -g  -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
 +CFLAGSF77 = -DAdd_
 +CNOFLAGS =  -fPIC
 +COMPILE_OPENBLAS = 
 +CPPFLAGS = -D_FORTIFY_SOURCE=2
 +CXX = g++ -Wl,-z,relro
 +CXXCPP = g++ -Wl,-z,relro -E
 +CXXDEPMODE = depmode=none
 +CXXFLAGS = -g  -fstack-protector-strong -Wformat -Werror=format-security -DNDEBUG -O3 -mmmx -msse -msse2 -DBAMG_LONG_LONG  -DNCHECKPTR -fPIC
 +CYGPATH_W = echo
 +DEFS = -DHAVE_CONFIG_H
 +DEPDIR = .deps
 +DOCPDF = freefem++doc.pdf
 +DOCPS = freefem++doc.ps
 +DOCPSGZ = freefem++doc.ps.gz
 +DOWNLOADCOMPILE = 
 +DOWNLOADED_BLAS = 
 +DOWNLOADED_BLAS_BUILT_SOURCES = 
 +DOWNLOAD_ARPACK = 
 +DOWNLOAD_FFTW = 
 +DOWNLOAD_UMFPACK = 
 +DYLIB_SUFFIX = so
 +ECHO_C = 
 +ECHO_N = -n
 +ECHO_T = 
 +EGREP = /bin/grep -E
 +EIGENOBJ = eigenvalue.$(OBJEXT)
 +ENABLE_FFCS = no
 +EPSTOPDF = epstopdf
 +EXEEXT = 
 +F77 = gfortran
 +FC = gfortran
 +FCFLAGS = -g -O2 -fstack-protector-strong -fPIC
 +FFGLUTNAME = 
 +FFGLUTPROG = ffglut
 +FFLAGS = -g  -fstack-protector-strong -DNDEBUG -O3 -mmmx -msse -msse2 -fPIC
 +FFMETIS_CFLAGS = 
 +FF_LAPACKdir = 
 +FF_MALLOC_H = 1
 +FF_SECOND = second.o
 +FF_UMFPACK_CONFIG = 
 +FLIBS = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +FNOFLAGS =  -fPIC
 +G2CLIB = /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +GCCNOCYGWIN = 
 +GREP = /bin/grep
 +HISTORY = 
 +INSTALL = /usr/bin/install -c
 +INSTALL_DATA = ${INSTALL} -m 644
 +INSTALL_PROGRAM = ${INSTALL}
 +INSTALL_SCRIPT = ${INSTALL}
 +INSTALL_STRIP_PROGRAM = $(install_sh) -c -s
 +KERNEL_VERSION = 3.16.0
 +LAPACKLIBS = -llapack
 +LAPACK_arpack_LIB = 
 +LDFLAGS = -Wl,-z,relro -rdynamic
 +LEX = flex
 +LEXLIB = 
 +LEX_OUTPUT_ROOT = lex.yy
 +LIBC_VERSION = libc-2.19
 +LIBOBJS = 
 +LIBS = -ldl -lm  /usr/lib/gcc/x86_64-linux-gnu/4.9/libgfortran.so
 +LIBSGLUT = -lglut -lGLU -lGL
 +LIBSNOCONSOLE = 
 +LIBSPTHREAD = -lpthread
 +LOAD_COMPILE = load_compile
 +LOAD_TESTS = ../regtests.sh
 +LTLIBOBJS = 
 +MAINT = #
 +MAKEINFO = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/missing makeinfo
 +MEDITPROG = ffmedit
 +MKDIR_P = /bin/mkdir -p
 +MPICC = /usr/bin/mpicc
 +MPICXX = mpic++ -Wl,-z,relro
 +MPIF77 = /usr/bin/mpif90
 +MPIFC = /usr/bin/mpif90
 +MPIPROG = FreeFem++-mpi
 +MPIRUN = /usr/bin/mpirun
 +MPISCRIPT = ff-mpirun
 +MPI_INCLUDE = 
 +MPI_INC_DIR = 
 +MPI_LIB = -Wl,-z,relro 
 +MPI_LIBC = 
 +MPI_LIBFC = -pthread -L/usr//lib -L/usr/lib/openmpi/lib -lmpi_f90 -lmpi_f77 -lmpi -ldl -lhwloc 
 +MPI_LIB_DIRS = 
 +NO_RANGE_CHECK = 
 +OBJEXT = o
 +OPTIM_TYPE = 
 +PACKAGE = freefem++
 +PACKAGE_BUGREPORT = hecht at ann.jussieu.fr
 +PACKAGE_NAME = FreeFem++
 +PACKAGE_STRING = FreeFem++ 3.32-1
 +PACKAGE_TARNAME = freefem++
 +PACKAGE_URL = 
 +PACKAGE_VERSION = 3.32-1
 +PASTIX_HOSTARCH = 
 +PATH_SEPARATOR = :
 +RANLIB = ranlib
 +RANLIN = ranlib
 +SCOTCH_INCLUDE = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/include/scotch
 +SET_MAKE = 
 +SHELL = /bin/bash
 +SIZEOF_INT = 4
 +SIZEOF_LONG = 8
 +SIZEOF_PTR = 8
 +SIZEOF_PTRINBIT = 64
 +SKIP_TESTS_EIGEN = 
 +SKIP_TESTS_MPI = no
 +STATICTOOL = 
 +STDPROG = 
 +STD_GRAPH_OBJ = 
 +STD_LDFLAGS = 
 +STD_LIBS = 
 +STRIP = 
 +TEST_FFPP = ../src/nw/FreeFem++
 +TEST_FFPPMPI = ../src/mpi/ff-mpirun
 +TOOL_COMPILE_fflapack = fflapack
 +TOOL_COMPILE_gsl = gsl
 +TOOL_COMPILE_hips = hips
 +TOOL_COMPILE_ipopt = ipopt
 +TOOL_COMPILE_lapack = lapack
 +TOOL_COMPILE_metis = metis
 +TOOL_COMPILE_mmg3d = mmg3d
 +TOOL_COMPILE_mshmet = mshmet
 +TOOL_COMPILE_mumps = mumps
 +TOOL_COMPILE_mumps_seq = mumps-seq
 +TOOL_COMPILE_nlopt = nlopt
 +TOOL_COMPILE_pardiso = 
 +TOOL_COMPILE_parmetis = parmetis
 +TOOL_COMPILE_parms = parms
 +TOOL_COMPILE_pastix = pastix
 +TOOL_COMPILE_pipe = pipe
 +TOOL_COMPILE_scotch = scotch
 +TOOL_COMPILE_superlu = superlu
 +TOOL_COMPILE_superludist = superludist
 +TOOL_COMPILE_umfpack = umfpack
 +TOOL_COMPILE_yams = yams
 +TOOL_DYLIB_fflapack = fflapack.so
 +TOOL_DYLIB_gsl = gsl.so NewSolver.so
 +TOOL_DYLIB_hips = hips_FreeFem.so
 +TOOL_DYLIB_ipopt = ff-Ipopt.so
 +TOOL_DYLIB_lapack = lapack.so
 +TOOL_DYLIB_metis = metis.so
 +TOOL_DYLIB_mmg3d = mmg3d-v4.0.so
 +TOOL_DYLIB_mshmet = mshmet.so
 +TOOL_DYLIB_mumps = MUMPS_FreeFem.so MUMPS.so
 +TOOL_DYLIB_mumps_seq = MUMPS_seq.so MUMPS.so
 +TOOL_DYLIB_nlopt = ff-NLopt.so
 +TOOL_DYLIB_pardiso = 
 +TOOL_DYLIB_parmetis = 
 +TOOL_DYLIB_parms = parms_FreeFem.so
 +TOOL_DYLIB_pastix = interfacepastix.so complex_pastix_FreeFem.so real_pastix_FreeFem.so
 +TOOL_DYLIB_pipe = pipe.so
 +TOOL_DYLIB_scotch = scotch.so
 +TOOL_DYLIB_superlu = SuperLu.so
 +TOOL_DYLIB_superludist = complex_SuperLU_DIST_FreeFem.so real_SuperLU_DIST_FreeFem.so dSuperLU_DIST.so
 +TOOL_DYLIB_umfpack = UMFPACK64.so
 +TOOL_DYLIB_yams = freeyams.so
 +UMFPACKLIBS = -lumfpack  -lamd -lcholmod -lcolamd
 +VERSION = 3.32-1
 +WGET = wget --no-check-certificate
 +WIN32DLLTARGET = 
 +WINDRESOBJ = 
 +YACC = bison -y
 +YFLAGS = 
 +abs_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/umfpack
 +abs_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/download/umfpack
 +abs_top_builddir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
 +abs_top_srcdir = /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++
 +ac_ct_CC = gcc -Wl,-z,relro
 +ac_ct_CXX = 
 +ac_ct_F77 = gfortran
 +ac_ct_FC = gfortran
 +am__include = include
 +am__leading_dot = .
 +am__quote = 
 +am__tar = $${TAR-tar} chof - "$$tardir"
 +am__untar = $${TAR-tar} xf -
 +bindir = ${exec_prefix}/bin
 +build = x86_64-pc-linux-gnu
 +build_alias = x86_64-linux-gnu
 +build_cpu = x86_64
 +build_os = linux-gnu
 +build_vendor = pc
 +builddir = .
 +datadir = ${datarootdir}
 +datarootdir = ${prefix}/share
 +docdir = ${datarootdir}/doc/${PACKAGE_TARNAME}
 +dvidir = ${docdir}
 +exec_prefix = ${prefix}
 +ff_bison = yes
 +ff_convert = yes
 +ff_curl = 
 +ff_dvips = yes
 +ff_git = 
 +ff_gzip = yes
 +ff_history = 
 +ff_latex = yes
 +ff_libtool = yes
 +ff_m4 = yes
 +ff_makeindex = yes
 +ff_patch = yes
 +ff_pdf2ps = yes
 +ff_pdflatex = yes
 +ff_prefix_dir = /usr/lib/ff++/3.32-1
 +ff_unzip = 
 +ff_wget = yes
 +host = x86_64-pc-linux-gnu
 +host_alias = 
 +host_cpu = x86_64
 +host_os = linux-gnu
 +host_vendor = pc
 +htmldir = ${docdir}
 +includedir = ${prefix}/include
 +infodir = ${prefix}/share/info
 +install_sh = ${SHELL} /home/eftaxiop/Arxeia/Genika/Logismiko/freefem++/Δημιουργία_πακέτου_για_το_Debian_Linux/freefem++/install-sh
 +libdir = ${prefix}/lib/x86_64-linux-gnu
 +libexecdir = ${prefix}/lib/x86_64-linux-gnu
 +localedir = ${datarootdir}/locale
 +localstatedir = /var
 +mandir = ${prefix}/share/man
 +mkdir_p = $(MKDIR_P)
 +oldincludedir = /usr/include
 +pdfdir = ${docdir}
 +prefix = /usr
 +program_transform_name = s,x,x,
 +psdir = ${docdir}
 +sbindir = ${exec_prefix}/sbin
 +sharedstatedir = ${prefix}/com
 +srcdir = .
 +sysconfdir = /etc
 +target_alias = 
 +top_build_prefix = ../../
 +top_builddir = ../..
 +top_srcdir = ../..
++=======
+ ACLOCAL = @ACLOCAL@
+ ADD_PACKAGE_NAME = @ADD_PACKAGE_NAME@
+ AMTAR = @AMTAR@
+ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
+ AR = @AR@
+ ARFLAGS = @ARFLAGS@
+ ARPACKLIB = @ARPACKLIB@
+ ARPACKLIBS = @ARPACKLIBS@
+ AUTOCONF = @AUTOCONF@
+ AUTOHEADER = @AUTOHEADER@
+ AUTOMAKE = @AUTOMAKE@
+ AWK = @AWK@
+ BAMGPROG = @BAMGPROG@
+ BLASINC = @BLASINC@
+ BLASLIBS = @BLASLIBS@
+ CC = @CC@
+ CCDEPMODE = @CCDEPMODE@
+ CFLAGS = @CFLAGS@
+ CFLAGSF77 = @CFLAGSF77@
+ CNOFLAGS = @CNOFLAGS@
+ COMPILE_OPENBLAS = @COMPILE_OPENBLAS@
+ CPPFLAGS = @CPPFLAGS@
+ CXX = @CXX@
+ CXX11FLAGS = @CXX11FLAGS@
+ CXXCPP = @CXXCPP@
+ CXXDEPMODE = @CXXDEPMODE@
+ CXXFLAGS = @CXXFLAGS@
+ CYGPATH_W = @CYGPATH_W@
+ DEFS = @DEFS@
+ DEPDIR = @DEPDIR@
+ DOCPDF = @DOCPDF@
+ DOCPS = @DOCPS@
+ DOCPSGZ = @DOCPSGZ@
+ DOWNLOADCOMPILE = @DOWNLOADCOMPILE@
+ DOWNLOADED_BLAS = @DOWNLOADED_BLAS@
+ DOWNLOADED_BLAS_BUILT_SOURCES = @DOWNLOADED_BLAS_BUILT_SOURCES@
+ DOWNLOAD_ARPACK = @DOWNLOAD_ARPACK@
+ DOWNLOAD_FFTW = @DOWNLOAD_FFTW@
+ DOWNLOAD_UMFPACK = @DOWNLOAD_UMFPACK@
+ DYLIB_SUFFIX = @DYLIB_SUFFIX@
+ ECHO_C = @ECHO_C@
+ ECHO_N = @ECHO_N@
+ ECHO_T = @ECHO_T@
+ EGREP = @EGREP@
+ EIGENOBJ = @EIGENOBJ@
+ ENABLE_FFCS = @ENABLE_FFCS@
+ EPSTOPDF = @EPSTOPDF@
+ EXEEXT = @EXEEXT@
+ F77 = @F77@
+ FC = @FC@
+ FCFLAGS = @FCFLAGS@
+ FFGLUTNAME = @FFGLUTNAME@
+ FFGLUTPROG = @FFGLUTPROG@
+ FFLAGS = @FFLAGS@
+ FFMETIS_CFLAGS = @FFMETIS_CFLAGS@
+ FF_LAPACKdir = @FF_LAPACKdir@
+ FF_MALLOC_H = @FF_MALLOC_H@
+ FF_SECOND = @FF_SECOND@
+ FF_UMFPACK_CONFIG = @FF_UMFPACK_CONFIG@
+ FLIBS = @FLIBS@
+ FNOFLAGS = @FNOFLAGS@
+ G2CLIB = @G2CLIB@
+ GCCNOCYGWIN = @GCCNOCYGWIN@
+ GREP = @GREP@
+ GSL_CFLAGS = @GSL_CFLAGS@
+ GSL_CONFIG = @GSL_CONFIG@
+ GSL_LIBS = @GSL_LIBS@
+ H5CC = @H5CC@
+ H5FC = @H5FC@
+ HDF5_CC = @HDF5_CC@
+ HDF5_CFLAGS = @HDF5_CFLAGS@
+ HDF5_CPPFLAGS = @HDF5_CPPFLAGS@
+ HDF5_FC = @HDF5_FC@
+ HDF5_FFLAGS = @HDF5_FFLAGS@
+ HDF5_FLIBS = @HDF5_FLIBS@
+ HDF5_LDFLAGS = @HDF5_LDFLAGS@
+ HDF5_LIBS = @HDF5_LIBS@
+ HDF5_VERSION = @HDF5_VERSION@
+ HISTORY = @HISTORY@
+ INSTALL = @INSTALL@
+ INSTALL_DATA = @INSTALL_DATA@
+ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+ INSTALL_SCRIPT = @INSTALL_SCRIPT@
+ INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+ KERNEL_VERSION = @KERNEL_VERSION@
+ LAPACKLIBS = @LAPACKLIBS@
+ LAPACK_arpack_LIB = @LAPACK_arpack_LIB@
+ LDFLAGS = @LDFLAGS@
+ LEX = @LEX@
+ LEXLIB = @LEXLIB@
+ LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
+ LIBC_VERSION = @LIBC_VERSION@
+ LIBOBJS = @LIBOBJS@
+ LIBS = @LIBS@
+ LIBSGLUT = @LIBSGLUT@
+ LIBSNOCONSOLE = @LIBSNOCONSOLE@
+ LIBSPTHREAD = @LIBSPTHREAD@
+ LOAD_COMPILE = @LOAD_COMPILE@
+ LOAD_TESTS = @LOAD_TESTS@
+ LTLIBOBJS = @LTLIBOBJS@
+ MAINT = @MAINT@
+ MAKEINFO = @MAKEINFO@
+ MEDITPROG = @MEDITPROG@
+ MKDIR_P = @MKDIR_P@
+ MPICC = @MPICC@
+ MPICXX = @MPICXX@
+ MPIF77 = @MPIF77@
+ MPIFC = @MPIFC@
+ MPIPROG = @MPIPROG@
+ MPIRUN = @MPIRUN@
+ MPISCRIPT = @MPISCRIPT@
+ MPI_INCLUDE = @MPI_INCLUDE@
+ MPI_INC_DIR = @MPI_INC_DIR@
+ MPI_LIB = @MPI_LIB@
+ MPI_LIBC = @MPI_LIBC@
+ MPI_LIBFC = @MPI_LIBFC@
+ MPI_LIB_DIRS = @MPI_LIB_DIRS@
+ NO_RANGE_CHECK = @NO_RANGE_CHECK@
+ OBJEXT = @OBJEXT@
+ OPTIM_TYPE = @OPTIM_TYPE@
+ PACKAGE = @PACKAGE@
+ PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+ PACKAGE_NAME = @PACKAGE_NAME@
+ PACKAGE_STRING = @PACKAGE_STRING@
+ PACKAGE_TARNAME = @PACKAGE_TARNAME@
+ PACKAGE_URL = @PACKAGE_URL@
+ PACKAGE_VERSION = @PACKAGE_VERSION@
+ PASTIX_HOSTARCH = @PASTIX_HOSTARCH@
+ PATH_SEPARATOR = @PATH_SEPARATOR@
+ RANLIB = @RANLIB@
+ RANLIN = @RANLIN@
+ SCOTCH_INCLUDE = @SCOTCH_INCLUDE@
+ SED = @SED@
+ SET_MAKE = @SET_MAKE@
+ SHELL = @SHELL@
+ SIZEOF_INT = @SIZEOF_INT@
+ SIZEOF_LONG = @SIZEOF_LONG@
+ SIZEOF_PTR = @SIZEOF_PTR@
+ SIZEOF_PTRINBIT = @SIZEOF_PTRINBIT@
+ SKIP_TESTS_EIGEN = @SKIP_TESTS_EIGEN@
+ SKIP_TESTS_MPI = @SKIP_TESTS_MPI@
+ STATICTOOL = @STATICTOOL@
+ STDPROG = @STDPROG@
+ STD_GRAPH_OBJ = @STD_GRAPH_OBJ@
+ STD_LDFLAGS = @STD_LDFLAGS@
+ STD_LIBS = @STD_LIBS@
+ STRIP = @STRIP@
+ TEST_FFPP = @TEST_FFPP@
+ TEST_FFPPMPI = @TEST_FFPPMPI@
+ TOOL_COMPILE_NewSolver = @TOOL_COMPILE_NewSolver@
+ TOOL_COMPILE_fflapack = @TOOL_COMPILE_fflapack@
+ TOOL_COMPILE_gsl = @TOOL_COMPILE_gsl@
+ TOOL_COMPILE_hips = @TOOL_COMPILE_hips@
+ TOOL_COMPILE_iohdf5 = @TOOL_COMPILE_iohdf5@
+ TOOL_COMPILE_ipopt = @TOOL_COMPILE_ipopt@
+ TOOL_COMPILE_lapack = @TOOL_COMPILE_lapack@
+ TOOL_COMPILE_metis = @TOOL_COMPILE_metis@
+ TOOL_COMPILE_mmg3d = @TOOL_COMPILE_mmg3d@
+ TOOL_COMPILE_mshmet = @TOOL_COMPILE_mshmet@
+ TOOL_COMPILE_mumps = @TOOL_COMPILE_mumps@
+ TOOL_COMPILE_mumps_seq = @TOOL_COMPILE_mumps_seq@
+ TOOL_COMPILE_nlopt = @TOOL_COMPILE_nlopt@
+ TOOL_COMPILE_pardiso = @TOOL_COMPILE_pardiso@
+ TOOL_COMPILE_parmetis = @TOOL_COMPILE_parmetis@
+ TOOL_COMPILE_parms = @TOOL_COMPILE_parms@
+ TOOL_COMPILE_pastix = @TOOL_COMPILE_pastix@
+ TOOL_COMPILE_pipe = @TOOL_COMPILE_pipe@
+ TOOL_COMPILE_schwarz = @TOOL_COMPILE_schwarz@
+ TOOL_COMPILE_scotch = @TOOL_COMPILE_scotch@
+ TOOL_COMPILE_superlu = @TOOL_COMPILE_superlu@
+ TOOL_COMPILE_superludist = @TOOL_COMPILE_superludist@
+ TOOL_COMPILE_umfpack = @TOOL_COMPILE_umfpack@
+ TOOL_COMPILE_yams = @TOOL_COMPILE_yams@
+ TOOL_DYLIB_NewSolver = @TOOL_DYLIB_NewSolver@
+ TOOL_DYLIB_fflapack = @TOOL_DYLIB_fflapack@
+ TOOL_DYLIB_gsl = @TOOL_DYLIB_gsl@
+ TOOL_DYLIB_hips = @TOOL_DYLIB_hips@
+ TOOL_DYLIB_iohdf5 = @TOOL_DYLIB_iohdf5@
+ TOOL_DYLIB_ipopt = @TOOL_DYLIB_ipopt@
+ TOOL_DYLIB_lapack = @TOOL_DYLIB_lapack@
+ TOOL_DYLIB_metis = @TOOL_DYLIB_metis@
+ TOOL_DYLIB_mmg3d = @TOOL_DYLIB_mmg3d@
+ TOOL_DYLIB_mshmet = @TOOL_DYLIB_mshmet@
+ TOOL_DYLIB_mumps = @TOOL_DYLIB_mumps@
+ TOOL_DYLIB_mumps_seq = @TOOL_DYLIB_mumps_seq@
+ TOOL_DYLIB_nlopt = @TOOL_DYLIB_nlopt@
+ TOOL_DYLIB_pardiso = @TOOL_DYLIB_pardiso@
+ TOOL_DYLIB_parmetis = @TOOL_DYLIB_parmetis@
+ TOOL_DYLIB_parms = @TOOL_DYLIB_parms@
+ TOOL_DYLIB_pastix = @TOOL_DYLIB_pastix@
+ TOOL_DYLIB_pipe = @TOOL_DYLIB_pipe@
+ TOOL_DYLIB_schwarz = @TOOL_DYLIB_schwarz@
+ TOOL_DYLIB_scotch = @TOOL_DYLIB_scotch@
+ TOOL_DYLIB_superlu = @TOOL_DYLIB_superlu@
+ TOOL_DYLIB_superludist = @TOOL_DYLIB_superludist@
+ TOOL_DYLIB_umfpack = @TOOL_DYLIB_umfpack@
+ TOOL_DYLIB_yams = @TOOL_DYLIB_yams@
+ UMFPACKLIBS = @UMFPACKLIBS@
+ VERSION = @VERSION@
+ WGET = @WGET@
+ WIN32DLLTARGET = @WIN32DLLTARGET@
+ WINDRESOBJ = @WINDRESOBJ@
+ WITH_CXX11 = @WITH_CXX11@
+ YACC = @YACC@
+ YFLAGS = @YFLAGS@
+ abs_builddir = @abs_builddir@
+ abs_srcdir = @abs_srcdir@
+ abs_top_builddir = @abs_top_builddir@
+ abs_top_srcdir = @abs_top_srcdir@
+ ac_ct_CC = @ac_ct_CC@
+ ac_ct_CXX = @ac_ct_CXX@
+ ac_ct_F77 = @ac_ct_F77@
+ ac_ct_FC = @ac_ct_FC@
+ am__include = @am__include@
+ am__leading_dot = @am__leading_dot@
+ am__quote = @am__quote@
+ am__tar = @am__tar@
+ am__untar = @am__untar@
+ bindir = @bindir@
+ build = @build@
+ build_alias = @build_alias@
+ build_cpu = @build_cpu@
+ build_os = @build_os@
+ build_vendor = @build_vendor@
+ builddir = @builddir@
+ datadir = @datadir@
+ datarootdir = @datarootdir@
+ docdir = @docdir@
+ dvidir = @dvidir@
+ exec_prefix = @exec_prefix@
+ ff_bison = @ff_bison@
+ ff_convert = @ff_convert@
+ ff_curl = @ff_curl@
+ ff_dvips = @ff_dvips@
+ ff_git = @ff_git@
+ ff_gzip = @ff_gzip@
+ ff_history = @ff_history@
+ ff_latex = @ff_latex@
+ ff_libtool = @ff_libtool@
+ ff_m4 = @ff_m4@
+ ff_makeindex = @ff_makeindex@
+ ff_patch = @ff_patch@
+ ff_pdf2ps = @ff_pdf2ps@
+ ff_pdflatex = @ff_pdflatex@
+ ff_prefix_dir = @ff_prefix_dir@
+ ff_unzip = @ff_unzip@
+ ff_wget = @ff_wget@
+ host = @host@
+ host_alias = @host_alias@
+ host_cpu = @host_cpu@
+ host_os = @host_os@
+ host_vendor = @host_vendor@
+ htmldir = @htmldir@
+ includedir = @includedir@
+ infodir = @infodir@
+ install_sh = @install_sh@
+ libdir = @libdir@
+ libexecdir = @libexecdir@
+ localedir = @localedir@
+ localstatedir = @localstatedir@
+ mandir = @mandir@
+ mkdir_p = @mkdir_p@
+ oldincludedir = @oldincludedir@
+ pdfdir = @pdfdir@
+ prefix = @prefix@
+ program_transform_name = @program_transform_name@
+ psdir = @psdir@
+ sbindir = @sbindir@
+ sharedstatedir = @sharedstatedir@
+ srcdir = @srcdir@
+ sysconfdir = @sysconfdir@
+ target_alias = @target_alias@
+ top_build_prefix = @top_build_prefix@
+ top_builddir = @top_builddir@
+ top_srcdir = @top_srcdir@
++>>>>>>> upstream/3.34.2:download/umfpack/Makefile.in
  EXTRA_DIST = SuiteSparse_config.mk.in 
  
  # Downloading and compiling UMFPACK
diff --cc examples++-load/._gsl.awk.orig
index f7a8f68,f7a8f68..f7a8f68
Binary files differ
diff --cc examples++-mpi/._complex_SuperLU_DIST_FreeFem.cpp~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/._complex_SuperLU_DIST_FreeFem.cpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/._dSuperLU_DIST.cpp~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/._dSuperLU_DIST.cpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
mode 100644,100755..100644
Binary files differ
diff --cc examples++-mpi/._real_SuperLU_DIST_FreeFem.cpp~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/._real_SuperLU_DIST_FreeFem.cpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc examples++-mpi/removeDOF.cpp.orig
index 0e6d122,0000000..f680d48
mode 100644,000000..100644
--- a/examples++-mpi/removeDOF.cpp.orig
+++ b/examples++-mpi/removeDOF.cpp.orig
@@@ -1,274 -1,0 +1,278 @@@
++<<<<<<< HEAD
++=======
++//ff-c++-LIBRARY-dep: cxx11 
++>>>>>>> upstream/3.34.2
 +#ifndef _ALL_IN_ONE_
 +#include "ff++.hpp"
 +#include <algorithm>
 +#include <vector>
 +#include <cmath>
 +#endif
 +#include <utility>
 +
 +#ifndef EPS
 +#define EPS 1e-12
 +#endif
 +
 +template<class T>
 +class removeDOF_Op : public E_F0mps {
 +    public:
 +        Expression A;
 +        Expression R;
 +        Expression x;
 +        Expression out;
 +        static const int n_name_param = 3;
 +        static basicAC_F0::name_and_type name_param[];
 +        Expression nargs[n_name_param];
 +        removeDOF_Op(const basicAC_F0&  args, Expression param1, Expression param2, Expression param3, Expression param4) : A(param1), R(param2), x(param3), out(param4) {
 +            args.SetNameParam(n_name_param, name_param, nargs);
 +        }
 +
 +        AnyType operator()(Stack stack) const;
 +};
 +
 +template<class T>
 +basicAC_F0::name_and_type removeDOF_Op<T>::name_param[] = {
 +    {"symmetrize", &typeid(bool)},
 +    {"condensation", &typeid(KN<long>*)},
 +    {"interaction", &typeid(Matrice_Creuse<T>*)}
 +};
 +
 +template<class T>
 +class removeDOF : public OneOperator {
 +    public:
 +        removeDOF() : OneOperator(atype<long>(), atype<Matrice_Creuse<T>*>(), atype<Matrice_Creuse<double>*>(), atype<KN<T>*>(), atype<KN<T>*>()) {}
 +
 +        E_F0* code(const basicAC_F0& args) const {
 +            return new removeDOF_Op<T>(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]), t[2]->CastTo(args[2]), t[3]->CastTo(args[3]));
 +        }
 +};
 +
 +template<class T>
 +AnyType removeDOF_Op<T>::operator()(Stack stack)  const {
 +    Matrice_Creuse<T>* pA = GetAny<Matrice_Creuse<T>* >((*A)(stack));
 +    Matrice_Creuse<T>* pR = GetAny<Matrice_Creuse<T>* >((*R)(stack));
 +    KN<T>* pX = GetAny<KN<T>* >((*x)(stack));
 +    KN<T>* pOut = GetAny<KN<T>* >((*out)(stack));
 +    ffassert(pA && pR && pX && pOut);
 +    pA->Uh = pR->Uh;
 +    pA->Vh = pR->Vh;
 +    MatriceMorse<T> *mA = static_cast<MatriceMorse<T>*>(&(*pA->A));
 +    MatriceMorse<T> *mR = static_cast<MatriceMorse<T>*>(&(*pR->A));
 +    bool symmetrize = nargs[0] ? GetAny<bool>((*nargs[0])(stack)) : false;
 +    KN<long>* condensation = nargs[1] ? GetAny<KN<long>* >((*nargs[1])(stack)) : (KN<long>*) 0;
 +
 +    unsigned int n = condensation ? condensation->n : mR->nbcoef;
 +    int* lg = new int[n + 1];
 +    int* cl;
 +    T* val;
 +    T* b;
 +    if(pOut->n == 0) {
 +        b = new T[n];
 +        pOut->set(b, n);
 +    }
 +
 +    std::vector<signed int> tmpVec;
 +    if(!condensation) {
 +        tmpVec.resize(mA->n);
 +        for(unsigned int i = 0; i < n; ++i)
 +            tmpVec[mR->cl[i]] = i + 1;
 +        if(!mA->symetrique) {
 +            std::vector<std::pair<int, T> > tmp;
 +            tmp.reserve(mA->nbcoef);
 +
 +            lg[0] = 0;
 +            for(unsigned int i = 0; i < n; ++i) {
 +                for(unsigned int j = mA->lg[mR->cl[i]]; j < mA->lg[mR->cl[i] + 1]; ++j) {
 +                    unsigned int col = tmpVec[mA->cl[j]];
 +                    if(col != 0 && abs(mA->a[j]) > EPS) {
 +                        if(symmetrize) {
 +                            if(col - 1 <= i)
 +                                tmp.emplace_back(col - 1, mA->a[j]);
 +                        }
 +                        else
 +                            tmp.emplace_back(col - 1, mA->a[j]);
 +                    }
 +                }
 +                std::sort(tmp.begin() + lg[i], tmp.end(), [](const std::pair<unsigned int, T>& lhs, const std::pair<unsigned int, T>& rhs) { return lhs.first < rhs.first; });
 +                *(*pOut + i) = *(*pX + mR->cl[i]);
 +                lg[i + 1] = tmp.size();
 +            }
 +            mA->nbcoef = tmp.size();
 +            if(symmetrize)
 +                mA->symetrique = true;
 +            else
 +                mA->symetrique = false;
 +
 +            cl = new int[tmp.size()];
 +            val = new T[tmp.size()];
 +
 +            for(unsigned int i = 0; i < tmp.size(); ++i) {
 +                cl[i]  = tmp[i].first;
 +                val[i] = tmp[i].second;
 +            }
 +        }
 +        else {
 +            std::vector<std::vector<std::pair<unsigned int, T> > > tmp(n);
 +            for(unsigned int i = 0; i < n; ++i)
 +                tmp[i].reserve(mA->lg[mR->cl[i] + 1] - mA->lg[mR->cl[i]]);
 +
 +            unsigned int nnz = 0;
 +            for(unsigned int i = 0; i < n; ++i) {
 +                for(unsigned int j = mA->lg[mR->cl[i]]; j < mA->lg[mR->cl[i] + 1]; ++j) {
 +                    unsigned int col = tmpVec[mA->cl[j]];
 +                    if(col != 0 && abs(mA->a[j]) > EPS) {
 +                        if(i < col - 1)
 +                            tmp[col - 1].emplace_back(i, mA->a[j]);
 +                        else
 +                            tmp[i].emplace_back(col - 1, mA->a[j]);
 +                        ++nnz;
 +                    }
 +                }
 +                *(*pOut + i) = *(*pX + mR->cl[i]);
 +            }
 +            mA->nbcoef = nnz;
 +            cl = new int[nnz];
 +            val = new T[nnz];
 +            nnz = 0;
 +            lg[0] = 0;
 +            for(unsigned int i = 0; i < n; ++i) {
 +                std::sort(tmp[i].begin(), tmp[i].end(), [](const std::pair<unsigned int, T>& lhs, const std::pair<unsigned int, T>& rhs) { return lhs.first < rhs.first; });
 +                for(typename std::vector<std::pair<unsigned int, T> >::const_iterator it = tmp[i].begin(); it != tmp[i].end(); ++it) {
 +                    cl[nnz] = it->first;
 +                    val[nnz++] = it->second;
 +                }
 +                lg[i + 1] = nnz;
 +            }
 +
 +        }
 +        delete [] mA->cl;
 +        delete [] mA->lg;
 +        delete [] mA->a;
 +        mA->n = n;
 +        mA->m = n;
 +        mA->N = n;
 +        mA->M = n;
 +        mA->lg = lg;
 +        mA->cl = cl;
 +        mA->a = val;
 +    }
 +    else {
 +        tmpVec.reserve(mA->n);
 +        unsigned int i = 0, j = 1;
 +        for(unsigned int k = 0; k < mA->n; ++k) {
 +            if(k == *(*condensation + i)) {
 +                ++i;
 +                tmpVec.emplace_back(i);
 +            }
 +            else {
 +                tmpVec.emplace_back(-j);
 +                ++j;
 +            }
 +        }
 +
 +
 +//        if(!mA->symetrique) {
 +            std::vector<std::pair<int, T> > tmpInterior;
 +            std::vector<std::pair<int, T> > tmpBoundary;
 +            std::vector<std::pair<int, T> > tmpInteraction;
 +            tmpInterior.reserve(mA->nbcoef);
 +            tmpBoundary.reserve(mA->nbcoef);
 +            tmpInteraction.reserve(mA->nbcoef);
 +
 +            lg[0] = 0;
 +            for(unsigned int i = 0; i < mA->n; ++i) {
 +                int row = tmpVec[i];
 +                if(row < 0) {
 +                    for(unsigned int j = mA->lg[i]; j < mA->lg[i + 1]; ++j) {
 +                        int col = tmpVec[mA->cl[j]];
 +                        if(col < 0)
 +                            tmpInterior.emplace_back(-col - 1, mA->a[j]);
 +                        else
 +                            tmpInteraction.emplace_back(col - 1, mA->a[j]);
 +                    }
 +
 +                }
 +                else {
 +                    for(unsigned int j = mA->lg[i]; j < mA->lg[i + 1]; ++j) {
 +                        int col = tmpVec[mA->cl[j]];
 +                        if(col > 0)
 +                            tmpBoundary.emplace_back(col - 1, mA->a[j]);
 +                    }
 +                    // std::sort(tmp.begin() + lg[i], tmp.end());
 +                    *(*pOut + i) = *(*pX + *(*condensation + i));
 +                    lg[i + 1] = tmpBoundary.size();
 +                }
 +            }
 +            cl = new int[tmpBoundary.size()];
 +            val = new T[tmpBoundary.size()];
 +            for(unsigned int i = 0; i < tmpBoundary.size(); ++i) {
 +                cl[i]  = tmpBoundary[i].first;
 +                val[i] = tmpBoundary[i].second;
 +            }
 +//        }
 +        MatriceMorse<T>* m = new MatriceMorse<T>(n, n, tmpBoundary.size(), mA->symetrique, val, lg, cl, true);
 +        pR->typemat = TypeSolveMat(TypeSolveMat::GMRES);
 +        pR->A.master(m);
 +        m->dummy = false;
 +    }
 +    return 0L;
 +}
 +
 +template<class T>
 +long symmetrizeCSR(Matrice_Creuse<T>* const& A) {
 +    MatriceMorse<T>* mA = static_cast<MatriceMorse<T>*>(&(*A->A));
 +    if(!mA->symetrique) {
 +        mA->symetrique = true;
 +        std::vector<int> cl;
 +        std::vector<T> a;
 +        a.reserve(mA->nbcoef);
 +        cl.reserve(mA->nbcoef);
 +        unsigned int save = mA->lg[0];
 +        for(unsigned int i = 0; i < mA->n; ++i) {
 +            for(unsigned int j = save; j < mA->lg[i + 1]; ++j) {
 +                int col = mA->cl[j];
 +                if(col <= i) {
 +                    T val = mA->a[j];
 +                    if(abs(val) > EPS) {
 +                        a.emplace_back(val);
 +                        cl.emplace_back(col);
 +                    }
 +                }
 +                else
 +                    break;
 +            }
 +            save = mA->lg[i + 1];
 +            mA->lg[i + 1] = cl.size();
 +        }
 +        delete [] mA->cl;
 +        delete [] mA->a;
 +        int* col = new int[cl.size()];
 +        T* val = new T[cl.size()];
 +        for(unsigned int i = 0; i < cl.size(); ++i) {
 +            col[i] = cl[i];
 +            val[i] = a[i];
 +        }
 +        mA->cl = col;
 +        mA->a = val;
 +        mA->nbcoef = cl.size();
 +    }
 +    return 0L;
 +}
 +
 +#ifndef _ALL_IN_ONE_
 +/* --FH:   class Init {
 +    public:
 +        Init();
 +	};
 +Init ...; */
 +static void Load_Initrm() {
 +    Global.Add("removeDOF", "(", new removeDOF<double>);
 +    Global.Add("removeDOF", "(", new removeDOF<std::complex<double>>);
 +    Global.Add("symmetrizeCSR", "(", new OneOperator1_<long, Matrice_Creuse<double>* >(symmetrizeCSR<double>));
 +}
 + LOADFUNC(Load_Initrm)
 +#endif
 +
 +// std::sort(tmp.begin() + lg[i], tmp.end(), [](const std::pair<int, T>& lhs, const std::pair<int, T>& rhs) { return lhs.first < rhs.first; } );
 +
diff --cc examples++-mpi/schwarz.cpp.orig
index 4d8a883,0000000..dc166df
mode 100644,000000..100644
--- a/examples++-mpi/schwarz.cpp.orig
+++ b/examples++-mpi/schwarz.cpp.orig
@@@ -1,445 -1,0 +1,473 @@@
++<<<<<<< HEAD
 +//ff-c++-LIBRARY-dep:   hpddm  umfpack amd mumps scalapack blas [mkl]   mpifc  fc mpi  pthread   [petsc]
 +//ff-c++-cpp-dep: 
 +
++=======
++//ff-c++-LIBRARY-dep: cxx11   hpddm  umfpack amd  scalapack blas [mkl]   mpifc  fc mpi  pthread   [petsc] 
++//ff-c++-cpp-dep: 
++
++// mumps est avec petsc ..
++#ifdef WITH_mumps
++#define MUMPSSUB
++#define DMUMPS
++#endif
++
++>>>>>>> upstream/3.34.2
 +#ifdef WITH_mkl
 +#include <complex>
 +#define MKL_Complex16 std::complex<double>
 +#define MKL_Complex8 std::complex<float>
 +#define MKL_INT int
 +#include <mkl.h>
 +#endif
 +
 +
++<<<<<<< HEAD
 +#ifndef WITH_PETSC 
 +#pragma message("schwarz plugin compile without PETSc")
++=======
++#ifndef WITH_petsc 
++#pragma message("schwarz plugin compile without PETSc")
++#else
++#define MUMPSSUB
++#define DMUMPS
++>>>>>>> upstream/3.34.2
 +#endif
 +
 +#define HPDDM_BDD  0
 +#define HPDDM_FETI 0
 +
 +
 +#include <math.h>
 +#include <mpi.h>
 +#include <ff++.hpp>
 +#include "AFunction_ext.hpp"
 +#include <HPDDM.hpp>
 +
 +template<class T>
 +class STL {
 +    T* const _it;
 +    const int _size;
 +    public:
 +        STL(const KN<T>& v) : _it(v), _size(v.size()) { };
 +        int size() const {
 +            return _size;
 +        }
 +        T* begin() const {
 +            return _it;
 +        }
 +        T* end() const {
 +            return _it + _size;
 +        }
 +};
 +template<class K>
 +class Pair {
 +    public:
 +        Pair() : p() { };
 +        std::pair<MPI_Request, const K*>* p;
 +        void init() {
 +        }
 +        void destroy() {
 +        }
 +};
 +
++<<<<<<< HEAD
 +#ifdef WITH_PETSC
++=======
++#ifdef WITH_petsc
++>>>>>>> upstream/3.34.2
 +#include "PETSc.hpp"
 +#endif
 +
 +namespace Schwarz {
 +template<class Type, class K>
 +class initDDM_Op : public E_F0mps {
 +    public:
 +        Expression A;
 +        Expression Mat;
 +        Expression o;
 +        Expression R;
 +        static const int n_name_param = 3;
 +        static basicAC_F0::name_and_type name_param[];
 +        Expression nargs[n_name_param];
 +        initDDM_Op(const basicAC_F0& args, Expression param1, Expression param2, Expression param3, Expression param4) : A(param1), Mat(param2), o(param3), R(param4) {
 +            args.SetNameParam(n_name_param, name_param, nargs);
 +        }
 +
 +        AnyType operator()(Stack stack) const;
 +};
 +template<class Type, class K>
 +basicAC_F0::name_and_type initDDM_Op<Type, K>::name_param[] = {
 +    {"communicator", &typeid(pcommworld)},
 +    {"scaling", &typeid(KN<typename HPDDM::Wrapper<K>::ul_type>*)},
 +    {"deflation", &typeid(FEbaseArrayKn<K>*)},
 +};
 +template<class Type, class K>
 +class initDDM : public OneOperator {
 +    public:
 +        initDDM() : OneOperator(atype<Type*>(), atype<Type*>(), atype<Matrice_Creuse<K>*>(), atype<KN<long>*>(), atype<KN<KN<long>>*>()) { }
 +
 +        E_F0* code(const basicAC_F0& args) const {
 +            return new initDDM_Op<Type, K>(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]), t[2]->CastTo(args[2]), t[3]->CastTo(args[3]));
 +        }
 +};
 +template<class Type, class K>
 +AnyType initDDM_Op<Type, K>::operator()(Stack stack) const {
 +    Type* ptA = GetAny<Type*>((*A)(stack));
 +    MatriceMorse<K>* mA = static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*Mat)(stack))->A));
 +    KN<long>* ptO = GetAny<KN<long>*>((*o)(stack));
 +    KN<KN<long>>* ptR = GetAny<KN<KN<long>>*>((*R)(stack));
 +    MPI_Comm* comm = nargs[0] ? (MPI_Comm*)GetAny<pcommworld>((*nargs[0])(stack)) : 0;
 +    if(ptO && mA) {
 +        HPDDM::MatrixCSR<K>* dA = new HPDDM::MatrixCSR<K>(mA->n, mA->m, mA->nbcoef, mA->a, mA->lg, mA->cl, mA->symetrique);
 +        ptA->HPDDM::template Subdomain<K>::initialize(dA, STL<long>(*ptO), *ptR, comm);
 +    }
 +    FEbaseArrayKn<K>* deflation = nargs[2] ? GetAny<FEbaseArrayKn<K>*>((*nargs[2])(stack)) : 0;
 +    K** const& v = ptA->getVectors();
 +    if(deflation && deflation->N > 0 && !v) {
 +        K** ev = new K*[deflation->N];
 +        *ev = new K[deflation->N * deflation->get(0)->n];
 +        for(int i = 0; i < deflation->N; ++i) {
 +            ev[i] = *ev + i * deflation->get(0)->n;
 +            std::copy(&(*deflation->get(i))[0], &(*deflation->get(i))[deflation->get(i)->n], ev[i]);
 +        }
 +        ptA->setVectors(ev);
 +        ptA->Type::super::initialize(deflation->N);
 +    }
 +    KN<typename HPDDM::Wrapper<K>::ul_type>* ptD = nargs[1] ? GetAny<KN<typename HPDDM::Wrapper<K>::ul_type>*>((*nargs[1])(stack)) : 0;
 +    if(ptD)
 +        ptA->initialize(*ptD);
 +    else
 +        std::cerr << "Something is really wrong here !" << std::endl;
 +    return ptA;
 +}
 +
 +template<class Type, class K>
 +class attachCoarseOperator_Op : public E_F0mps {
 +    public:
 +        Expression comm;
 +        Expression A;
 +        static const int n_name_param = 7;
 +        static basicAC_F0::name_and_type name_param[];
 +        Expression nargs[n_name_param];
 +        attachCoarseOperator_Op(const basicAC_F0& args, Expression param1, Expression param2) : comm(param1), A(param2) {
 +            args.SetNameParam(n_name_param, name_param, nargs);
 +        }
 +
 +        AnyType operator()(Stack stack) const;
 +};
 +template<class Type, class K>
 +basicAC_F0::name_and_type attachCoarseOperator_Op<Type, K>::name_param[] = {
 +    {"A", &typeid(Matrice_Creuse<K>*)},
 +    {"B", &typeid(Matrice_Creuse<K>*)},
 +    {"pattern", &typeid(Matrice_Creuse<K>*)},
 +    {"threshold", &typeid(typename HPDDM::Wrapper<K>::ul_type)},
 +    {"parameters", &typeid(KN<long>*)},
 +    {"timing", &typeid(KN<double>*)},
 +    {"ret", &typeid(Pair<K>*)}
 +};
 +template<class Type, class K>
 +class attachCoarseOperator : public OneOperator {
 +    public:
 +        attachCoarseOperator() : OneOperator(atype<long>(), atype<pcommworld>(), atype<Type*>()) { }
 +
 +        E_F0* code(const basicAC_F0& args) const {
 +            return new attachCoarseOperator_Op<Type, K>(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]));
 +        }
 +};
 +template<class Type, class K>
 +AnyType attachCoarseOperator_Op<Type, K>::operator()(Stack stack) const {
 +    pcommworld ptComm = GetAny<pcommworld>((*comm)(stack));
 +    MPI_Comm comm = *(MPI_Comm*)ptComm;
 +    Type* ptA = GetAny<Type*>((*A)(stack));
 +    MatriceMorse<K>* mA = nargs[0] ? static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*nargs[0])(stack))->A)) : 0;
 +    KN<long>* ptParm = nargs[4] ? GetAny<KN<long>*>((*nargs[4])(stack)) : 0;
 +    if(ptParm && ptParm->n != 5) {
 +        if(ptParm->n == 1) {
 +            ptParm->resize(5);
 +            (*ptParm)[HPDDM::P] = 1;
 +        }
 +        else if(ptParm->n == 2)
 +            ptParm->resize(5);
 +        else
 +            cout << "Input array must be of size 1, 2, or 5 !" << endl;
 +        if(ptParm->n == 5) {
 +            (*ptParm)[HPDDM::TOPOLOGY] = 0;
 +            (*ptParm)[HPDDM::DISTRIBUTION] = HPDDM::DMatrix::NON_DISTRIBUTED;
 +            (*ptParm)[HPDDM::STRATEGY] = 3;
 +        }
 +    }
 +    KN<double>* timing = nargs[5] ? GetAny<KN<double>*>((*nargs[5])(stack)) : 0;
 +    Pair<K>* pair = nargs[6] ? GetAny<Pair<K>*>((*nargs[6])(stack)) : 0;
 +    typename HPDDM::Wrapper<K>::ul_type threshold = nargs[3] ? GetAny<typename HPDDM::Wrapper<K>::ul_type>((*nargs[3])(stack)) : 0;
 +    std::vector<unsigned short> parm(5);
 +    if(ptParm) {
 +        parm[HPDDM::P]            = (*ptParm)[HPDDM::P];
 +        parm[HPDDM::TOPOLOGY]     = (*ptParm)[HPDDM::TOPOLOGY];
 +        parm[HPDDM::DISTRIBUTION] = (*ptParm)[HPDDM::DISTRIBUTION];
 +        parm[HPDDM::STRATEGY]     = (*ptParm)[HPDDM::STRATEGY];
 +    }
 +    else {
 +        parm[HPDDM::P]            = 1;
 +        parm[HPDDM::TOPOLOGY]     = 0;
 +        parm[HPDDM::DISTRIBUTION] = HPDDM::DMatrix::NON_DISTRIBUTED;
 +        parm[HPDDM::STRATEGY]     = 3;
 +    }
 +    unsigned short nu = ptParm ? (*ptParm)[HPDDM::NU] : 20;
 +    nu = std::max(nu, static_cast<unsigned short>(1));
 +    std::pair<MPI_Request, const K*>* ret = nullptr;
 +    if(mA) {
 +        HPDDM::MatrixCSR<K> dA(mA->n, mA->m, mA->nbcoef, mA->a, mA->lg, mA->cl, mA->symetrique);
 +        MatriceMorse<K>* mB = nargs[1] ? static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*nargs[1])(stack))->A)) : nullptr;
 +        MatriceMorse<K>* mP = nargs[2] ? static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*nargs[2])(stack))->A)) : nullptr;
 +        const HPDDM::MatrixCSR<K>* const dP = mP ? new HPDDM::MatrixCSR<K>(mP->n, mP->m, mP->nbcoef, mP->a, mP->lg, mP->cl, mP->symetrique) : nullptr;
 +        double t = MPI_Wtime();
 +        if(mB) {
 +            HPDDM::MatrixCSR<K> dB(mB->n, mB->m, mB->nbcoef, mB->a, mB->lg, mB->cl, mB->symetrique);
 +            ptA->template solveGEVP<EIGENSOLVER>(&dA, nu, threshold, &dB, dP);
 +        }
 +        else
 +            ptA->template solveGEVP<EIGENSOLVER>(&dA, nu, threshold, nullptr, dP);
 +        mA->nbcoef = dA._nnz;
 +        mA->a = dA._a;
 +        mA->lg = dA._ia;
 +        mA->cl = dA._ja;
 +        if(timing)
 +            (*timing)[3] = MPI_Wtime() - t;
 +        delete dP;
 +        parm[HPDDM::NU]           = nu;
 +        if(ptA->exclusion(comm)) {
 +            if(pair)
 +                pair->p = ptA->template buildTwo<1>(comm, parm);
 +            else
 +                ret = ptA->template buildTwo<1>(comm, parm);
 +        }
 +        else {
 +            if(pair)
 +                pair->p = ptA->template buildTwo<0>(comm, parm);
 +            else
 +                ret = ptA->template buildTwo<0>(comm, parm);
 +        }
 +    }
 +    else {
 +        if(!threshold) {
 +            parm[HPDDM::NU]       = nu;
 +            ret = ptA->template buildTwo<2>(comm, parm);
 +        }
 +    }
 +    delete ret;
 +    return 0L;
 +}
 +
 +template<class Type, class K>
 +class solveDDM_Op : public E_F0mps {
 +    public:
 +        Expression A;
 +        Expression x;
 +        Expression rhs;
 +        static const int n_name_param = 9;
 +        static basicAC_F0::name_and_type name_param[];
 +        Expression nargs[n_name_param];
 +        solveDDM_Op(const basicAC_F0& args, Expression param1, Expression param2, Expression param3) : A(param1), x(param2), rhs(param3) {
 +            args.SetNameParam(n_name_param, name_param, nargs);
 +        }
 +
 +        AnyType operator()(Stack stack) const;
 +};
 +template<class Type, class K>
 +basicAC_F0::name_and_type solveDDM_Op<Type, K>::name_param[] = {
 +    {"eps", &typeid(typename HPDDM::Wrapper<K>::ul_type)},
 +    {"dim", &typeid(long)},
 +    {"iter", &typeid(long)},
 +    {"timing", &typeid(KN<double>*)},
 +    {"solver", &typeid(long)},
 +    {"pipelined", &typeid(long)},
 +    {"excluded", &typeid(bool)},
 +    {"ret", &typeid(Pair<K>*)},
 +    {"O", &typeid(Matrice_Creuse<K>*)}
 +};
 +template<class Type, class K>
 +class solveDDM : public OneOperator {
 +    public:
 +        solveDDM() : OneOperator(atype<long>(), atype<Type*>(), atype<KN<K>*>(), atype<KN<K>*>()) { }
 +
 +        E_F0* code(const basicAC_F0& args) const {
 +            return new solveDDM_Op<Type, K>(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]), t[2]->CastTo(args[2]));
 +        }
 +};
 +template<class Type, class K>
 +AnyType solveDDM_Op<Type, K>::operator()(Stack stack) const {
 +    KN<K>* ptX = GetAny<KN<K>*>((*x)(stack));
 +    KN<K>* ptRHS = GetAny<KN<K>*>((*rhs)(stack));
 +    Type* ptA = GetAny<Type*>((*A)(stack));
 +    typename HPDDM::Wrapper<K>::ul_type eps = nargs[0] ? GetAny<typename HPDDM::Wrapper<K>::ul_type>((*nargs[0])(stack)) : 1e-8;
 +    unsigned short dim = nargs[1] ? GetAny<long>((*nargs[1])(stack)) : 50;
 +    unsigned short iter = nargs[2] ? GetAny<long>((*nargs[2])(stack)) : 50;
 +    KN<double>* timing = nargs[3] ? GetAny<KN<double>*>((*nargs[3])(stack)) : 0;
 +    Pair<K>* pair = nargs[7] ? GetAny<Pair<K>*>((*nargs[7])(stack)) : 0;
 +    if(pair)
 +        if(pair->p) {
 +            int flag;
 +            MPI_Test(&(pair->p->first), &flag, MPI_STATUS_IGNORE);
 +        }
 +    MatriceMorse<K>* mA = nargs[8] ? static_cast<MatriceMorse<K>*>(&(*GetAny<Matrice_Creuse<K>*>((*nargs[8])(stack))->A)) : 0;
 +    long solver = nargs[4] ? GetAny<long>((*nargs[4])(stack)) : 0;
 +    double timer = MPI_Wtime();
 +    if(mA && (solver == 6 || solver == 7)) {
 +        HPDDM::MatrixCSR<K> dA(mA->n, mA->m, mA->nbcoef, mA->a, mA->lg, mA->cl, mA->symetrique);
 +        ptA->callNumfact(&dA);
 +    }
 +    else
 +        ptA->callNumfact(nullptr);
 +    ptA->setType(solver == 1 || solver == 6 || solver == 11);
 +    if(timing) (*timing)[1] = MPI_Wtime() - timer;
 +    long pipelined = nargs[5] ? GetAny<long>((*nargs[5])(stack)) : 0;
 +    bool excluded = nargs[6] ? GetAny<bool>((*nargs[6])(stack)) : false;
 +    if(pair)
 +        if(pair->p) {
 +            if(timing)
 +                timer = MPI_Wtime();
 +            MPI_Wait(&(pair->p->first), MPI_STATUS_IGNORE);
 +            if(timing)
 +                (*timing)[4] = MPI_Wtime() - timer;
 +            delete [] pair->p->second;
 +            delete pair->p;
 +        }
 +    timer = MPI_Wtime();
 +    int rank;
 +    MPI_Comm_rank(ptA->getCommunicator(), &rank);
 +    if(!excluded) {
 +        if(solver == 1)
 +            HPDDM::IterativeMethod::CG(*ptA, (K*)*ptX, (K*)*ptRHS, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0);
 +        else
 +            switch(pipelined) {
 +#if (OMPI_MAJOR_VERSION > 1 || (OMPI_MAJOR_VERSION == 1 && OMPI_MINOR_VERSION >= 7)) || MPICH_NUMVERSION >= 30000000
 +                case 1:  HPDDM::IterativeMethod::GMRES<HPDDM::PIPELINED>(*ptA, (K*)*ptX, (K*)*ptRHS, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
 +#endif
 +#if defined(DPASTIX) || defined(DMKL_PARDISO)
 +                case 2:  HPDDM::IterativeMethod::GMRES<HPDDM::FUSED>(*ptA, (K*)*ptX, (K*)*ptRHS, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
 +#endif
 +                default: HPDDM::IterativeMethod::GMRES<HPDDM::CLASSICAL>(*ptA, (K*)*ptX, (K*)*ptRHS, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
 +            }
 +    }
 +    else {
 +        if(solver == 1)
 +            HPDDM::IterativeMethod::CG(*ptA, (K*)nullptr, (K*)nullptr, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0);
 +        else
 +            switch(pipelined) {
 +#if (OMPI_MAJOR_VERSION > 1 || (OMPI_MAJOR_VERSION == 1 && OMPI_MINOR_VERSION >= 7)) || MPICH_NUMVERSION >= 30000000
 +                case 1:  HPDDM::IterativeMethod::GMRES<HPDDM::PIPELINED, true>(*ptA, (K*)nullptr, (K*)nullptr, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
 +#endif
 +#if defined(DPASTIX) || defined(DMKL_PARDISO)
 +                case 2:  HPDDM::IterativeMethod::GMRES<HPDDM::FUSED, true>(*ptA, (K*)nullptr, (K*)nullptr, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
 +#endif
 +                default: HPDDM::IterativeMethod::GMRES<HPDDM::CLASSICAL, true>(*ptA, (K*)nullptr, (K*)nullptr, dim, iter, eps, MPI_COMM_WORLD, rank == 0 && !excluded ? 1 : 0); break;
 +            }
 +    }
 +    timer = MPI_Wtime() - timer;
 +    if(!excluded) {
 +        if(rank == 0)
 +            std::cout << scientific << " --- system solved (in " << timer << ")" << std::endl;
 +        typename HPDDM::Wrapper<K>::ul_type storage[2];
 +        ptA->computeError(*ptX, *ptRHS, storage);
 +        if(rank == 0)
 +            std::cout << scientific << " --- error = " << storage[1] << " / " << storage[0] << std::endl;
 +    }
 +    return 0L;
 +}
 +
 +double distributedDot(KN<double>* const& A, KN<double>* const& in, KN<double>* const& out) {
 +    double* tmp = new double[in->n];
 +    HPDDM::Wrapper<double>::diagv(in->n, *A, *in, tmp);
 +    KN_<double> KN(tmp, in->n);
 +    double dot = (KN, *out);
 +    MPI_Allreduce(MPI_IN_PLACE, &dot, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
 +    delete [] tmp;
 +    return dot;
 +}
 +
 +template<class T, class U>
 +class GMV {
 +    public:
 +        const T t;
 +        const U u;
 +        GMV(T v, U w) : t(v), u(w) {}
 +        void prod(U x) const;
 +};
 +template<class Type, class U>
 +class GMV<Type*, U> {
 +    public:
 +        const Type* t;
 +        const U u;
 +        GMV(Type* v, U w) : t(v), u(w) {}
 +        void prod(U x) const { t->GMV(*(this->u), *x); };
 +};
 +template<class R, class A, class B> R Build(A a, B b) {
 +    return R(a, b);
 +}
 +template<class Type, class K>
 +KN<K>* GlobalMV(KN<K>* Ax, GMV<Type*, KN<K>*> A) {
 +    A.prod(Ax);
 +    return Ax;
 +}
 +
 +template<template<class, char> class Type, class K, char S>
 +void add() {
 +    Dcl_Type<Type<K, S>*>(Initialize<Type<K, S>>, Delete<Type<K, S>>);
 +
 +    TheOperators->Add("<-", new initDDM<Type<K, S>, K>);
 +    Global.Add("attachCoarseOperator", "(", new attachCoarseOperator<Type<K, S>, K>);
 +    Global.Add("DDM", "(", new solveDDM<Type<K, S>, K>);
 +    Dcl_Type<GMV<Type<K, S>*, KN<K>*>>();
 +    TheOperators->Add("*", new OneOperator2<GMV<Type<K, S>*, KN<K>*>, Type<K, S>*, KN<K>*>(Build));
 +    TheOperators->Add("=", new OneOperator2<KN<K>*, KN<K>*, GMV<Type<K, S>*, KN<K>*>>(GlobalMV));
 +    if(std::is_same<K, double>::value)
 +        Global.Add("dscalprod", "(", new OneOperator3_<double, KN<double>*, KN<double>*, KN<double>*>(distributedDot));
 +}
 +}
 +
 +
 +
 +static void  Load_Init() {
 +    const char ds = 'S';
 +    const char zs = 'G';
 +    Schwarz::add<HpSchwarz, double, ds>();
 +    zzzfff->Add("dschwarz", atype<HpSchwarz<double, ds>*>());
 +    Schwarz::add<HpSchwarz, std::complex<double>, zs>();
 +    zzzfff->Add("zschwarz", atype<HpSchwarz<std::complex<double>, zs>*>());
++<<<<<<< HEAD
 +#ifdef WITH_PETSC
++=======
++#ifdef WITH_petsc
++>>>>>>> upstream/3.34.2
 +    int argc = pkarg->n;
 +    char** argv = new char*[argc];
 +    for(int i = 0; i < argc; ++i)
 +        argv[i] = const_cast<char*>((*(*pkarg)[i].getap())->c_str());
 +    PetscInitialize(&argc, &argv, 0, "");
 +    delete [] argv;
 +    ff_atend(finalizePETSc);
 +    Dcl_Type<DistributedCSR*>(Initialize<DistributedCSR>, Delete<DistributedCSR>);
 +    Dcl_Type<GMV<DistributedCSR*, KN<double>*>>();
 +    zzzfff->Add("dmatrix", atype<DistributedCSR*>());
 +    TheOperators->Add("<-", new OneOperator1_<long, DistributedCSR*>(initEmptyCSR));
 +    TheOperators->Add("<-", new initCSR<double>);
 +    TheOperators->Add("*", new OneOperator2<GMV<DistributedCSR*, KN<double>*>, DistributedCSR*, KN<double>*>(Build));
 +    TheOperators->Add("=", new OneOperator2<KN<double>*, KN<double>*, GMV<DistributedCSR*, KN<double>*>>(GlobalMV));
 +    Global.Add("set", "(", new setOptions<double>());
 +    Global.Add("distributedNumbering", "(", new OneOperator2_<long, DistributedCSR*, KN<double>*>(distributedNumbering));
 +    Global.Add("renumber", "(", new OneOperator2_<long, DistributedCSR*, FEbaseArrayKn<double>*>(renumberCSR));
 +    Global.Add("solvePETSc", "(", new OneOperator2_<long, DistributedCSR*, KN<double>*>(solvePETSc));
 +    Dcl_Type<DistributedCSR_inv>();
 +    TheOperators->Add("^", new OneBinaryOperatorPETSc());
 +    Dcl_Type<Inv<DistributedCSR_inv, KN<double>*>>();
 +    TheOperators->Add("*", new OneOperator2<Inv<DistributedCSR_inv, KN<double>*>, DistributedCSR_inv, KN<double>*>(Build));
 +    TheOperators->Add("=", new OneOperator2<KN<double>*, KN<double>*, Inv<DistributedCSR_inv, KN<double>*>>(InvPETSc));
 +#endif
 +    Dcl_Type<Pair<double>*>(InitP<Pair<double>>, Destroy<Pair<double>>);
 +    zzzfff->Add("dpair", atype<Pair<double>*>());
 +    Dcl_Type<Pair<std::complex<double>>*>(InitP<Pair<std::complex<double>>>, Destroy<Pair<std::complex<double>>>);
 +    zzzfff->Add("zpair", atype<Pair<std::complex<double>>*>());
 +}
 +
 +LOADFUNC(Load_Init);
diff --cc examples++-mpi/utility.cpp.orig
index 57cd4ac,0000000..3762e48
mode 100644,000000..100644
--- a/examples++-mpi/utility.cpp.orig
+++ b/examples++-mpi/utility.cpp.orig
@@@ -1,426 -1,0 +1,430 @@@
++<<<<<<< HEAD
 +//ff-c++-LIBRARY-dep:  hpddm  scalapack blas  mpifc  fc mpi  pthread 
++=======
++//ff-c++-LIBRARY-dep: cxx11   hpddm  scalapack blas  mpifc  fc mpi  pthread 
++>>>>>>> upstream/3.34.2
 +//ff-c++-cpp-dep: 
 +#ifndef _ALL_IN_ONE_
 +#include "ff++.hpp"
 +#include "AFunction_ext.hpp"
 +#include <vector>
 +#include <cmath>
 +#include <mpi.h>
 +#endif
 +
 +class Boundingbox2D_Op : public E_F0mps {
 +    public:
 +        Expression arrayBB;
 +        Expression Th;
 +        static const int n_name_param = 0;
 +        static basicAC_F0::name_and_type name_param[];
 +        Expression nargs[n_name_param];
 +        Boundingbox2D_Op(const basicAC_F0& args, Expression param1, Expression param2) : arrayBB(param1), Th(param2) {
 +            args.SetNameParam(n_name_param, name_param, nargs);
 +        }
 +        AnyType operator()(Stack stack) const;
 +};
 +
 +class Boundingbox2D : public OneOperator {
 +    public:
 +        Boundingbox2D() : OneOperator(atype<long>(), atype<KN<double>* >(), atype<pmesh>()) {}
 +        E_F0* code(const basicAC_F0& args) const
 +        {
 +            return new Boundingbox2D_Op(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]));
 +        }
 +};
 +
 +AnyType Boundingbox2D_Op::operator()(Stack stack) const {
 +    Mesh* pTh = GetAny<Mesh*>((*Th)(stack));
 +    KN<double> minmax(4); // x.min, x.max, y.min, y.max
 +    R2 p1(pTh->bedges[0][0]);
 +    R2 p2(pTh->bedges[0][1]);
 +    /* If array has even number of elements then
 +       initialize the first two elements as minimum and
 +       maximum */
 +    if(p1.x > p2.x) {
 +        minmax[1] = p1.x;
 +        minmax[0] = p2.x;
 +    }
 +    else {
 +        minmax[0] = p1.x;
 +        minmax[1] = p2.x;
 +    }
 +    if(p1.y > p2.y) {
 +        minmax[3] = p1.y;
 +        minmax[2] = p2.y;
 +    }
 +    else {
 +        minmax[2] = p1.y;
 +        minmax[3] = p2.y;
 +    }
 +    for(int e = 1; e < pTh->neb; ++e) {
 +        R2 p1(pTh->bedges[e][0]);
 +        R2 p2(pTh->bedges[e][1]);
 +
 +        if(p1.x > p2.x) {
 +            if(p1.x > minmax[1])
 +                minmax[1] = p1.x;
 +            if(p2.x < minmax[0])
 +                minmax[0] = p2.x;
 +        }
 +        else {
 +            if(p2.x > minmax[1])
 +                minmax[1] = p2.x;
 +            if(p1.x < minmax[0])
 +                minmax[0] = p1.x;
 +        }
 +        if(p1.y > p2.y) {
 +            if(p1.y > minmax[3])
 +                minmax[3] = p1.y;
 +            if(p2.y < minmax[2])
 +                minmax[2] = p2.y;
 +        }
 +        else {
 +            if(p2.y > minmax[3])
 +                minmax[3] = p2.y;
 +            if(p1.y < minmax[2])
 +                minmax[2] = p1.y;
 +        }
 +    }
 +    KN<double>* bb = GetAny<KN<double>* >((*arrayBB)(stack));
 +    *bb = minmax;
 +    return 0L;
 +}
 +
 +class Boundingbox3D_Op : public E_F0mps {
 +    public:
 +        Expression arrayBB;
 +        Expression Th;
 +        static const int n_name_param = 0;
 +        static basicAC_F0::name_and_type name_param[];
 +        Expression nargs[n_name_param];
 +        Boundingbox3D_Op(const basicAC_F0& args, Expression param1, Expression param2) : arrayBB(param1), Th(param2) {
 +            args.SetNameParam(n_name_param, name_param, nargs);
 +        }
 +        AnyType operator()(Stack stack) const;
 +};
 +
 +basicAC_F0::name_and_type Boundingbox3D_Op::name_param[] = { };
 +basicAC_F0::name_and_type Boundingbox2D_Op::name_param[] = { };
 +
 +class Boundingbox3D : public OneOperator {
 +    public:
 +        Boundingbox3D() : OneOperator(atype<long>(), atype<KN<double>* >(), atype<pmesh3>()) {}
 +        E_F0* code(const basicAC_F0& args) const
 +        {
 +            return new Boundingbox3D_Op(args, t[0]->CastTo(args[0]), t[1]->CastTo(args[1]));
 +        }
 +};
 +
 +AnyType Boundingbox3D_Op::operator()(Stack stack) const {
 +    Mesh3* pTh = GetAny<Mesh3*>((*Th)(stack));
 +    KN<double> minmax(6); // x.min, x.max, y.min, y.max, z.min, z.max
 +    const Triangle3& K1(pTh->be(0));
 +    const Triangle3& K2(pTh->be(1));
 +    if(K1[0].x > K1[1].x) {
 +        minmax[1] = K1[0].x;
 +        minmax[0] = K1[1].x;
 +    }
 +    else {
 +        minmax[0] = K1[0].x;
 +        minmax[1] = K1[1].x;
 +    }
 +    if(K1[0].y > K1[1].y) {
 +        minmax[3] = K1[0].y;
 +        minmax[2] = K1[1].y;
 +    }
 +    else {
 +        minmax[2] = K1[0].y;
 +        minmax[3] = K1[1].y;
 +    }
 +    if(K1[0].z > K1[1].z) {
 +        minmax[5] = K1[0].z;
 +        minmax[4] = K1[1].z;
 +    }
 +    else {
 +        minmax[4] = K1[0].z;
 +        minmax[5] = K1[1].z;
 +    }
 +    //
 +    if(K1[2].x > K2[0].x) {
 +        if(K1[2].x > minmax[1])
 +            minmax[1] = K1[2].x;
 +        if(K2[0].x < minmax[0])
 +            minmax[0] = K2[0].x;
 +    }
 +    else {
 +        if(K2[0].x > minmax[1])
 +            minmax[1] = K2[0].x;
 +        if(K1[2].x < minmax[0])
 +            minmax[0] = K1[2].x;
 +    }
 +    if(K1[2].y > K2[0].y) {
 +        if(K1[2].y > minmax[3])
 +            minmax[3] = K1[2].y;
 +        if(K2[0].y < minmax[2])
 +            minmax[2] = K2[0].y;
 +    }
 +    else {
 +        if(K2[0].y > minmax[3])
 +            minmax[3] = K2[0].y;
 +        if(K1[2].y < minmax[2])
 +            minmax[2] = K1[2].y;
 +    }
 +    if(K1[2].z > K2[0].z) {
 +        if(K1[2].z > minmax[5])
 +            minmax[5] = K1[2].z;
 +        if(K2[0].z < minmax[4])
 +            minmax[4] = K2[0].z;
 +    }
 +    else {
 +        if(K2[0].z > minmax[5])
 +            minmax[5] = K2[0].z;
 +        if(K1[2].z < minmax[4])
 +            minmax[4] = K1[2].z;
 +    }
 +    //
 +    if(K2[1].x > K2[2].x) {
 +        if(K2[1].x > minmax[1])
 +            minmax[1] = K2[1].x;
 +        if(K2[2].x < minmax[0])
 +            minmax[0] = K2[2].x;
 +    }
 +    else {
 +        if(K2[2].x > minmax[1])
 +            minmax[1] = K2[2].x;
 +        if(K2[1].x < minmax[0])
 +            minmax[0] = K2[1].x;
 +    }
 +    if(K2[1].y > K2[2].y) {
 +        if(K2[1].y > minmax[3])
 +            minmax[3] = K2[1].y;
 +        if(K2[2].y < minmax[2])
 +            minmax[2] = K2[2].y;
 +    }
 +    else {
 +        if(K2[2].y > minmax[3])
 +            minmax[3] = K2[2].y;
 +        if(K2[1].y < minmax[2])
 +            minmax[2] = K2[1].y;
 +    }
 +    if(K2[1].z > K2[2].z) {
 +        if(K2[1].z > minmax[5])
 +            minmax[5] = K2[1].z;
 +        if(K2[2].z < minmax[4])
 +            minmax[4] = K2[2].z;
 +    }
 +    else {
 +        if(K2[2].z > minmax[5])
 +            minmax[5] = K2[2].z;
 +        if(K2[1].z < minmax[4])
 +            minmax[4] = K2[1].z;
 +    }
 +
 +    int i = 3;
 +    while(i < (pTh->nbe)-1) {
 +        const Triangle3& Ka(pTh->be(i));
 +        const Triangle3& Kb(pTh->be(i+1));
 +        if(Ka[0].x > Ka[1].x) {
 +            if(Ka[0].x > minmax[1])
 +                minmax[1] = Ka[0].x;
 +            if(Ka[1].x < minmax[0])
 +                minmax[0] = Ka[1].x;
 +        }
 +        else {
 +            if(Ka[1].x > minmax[1])
 +                minmax[1] = Ka[1].x;
 +            if(Ka[0].x < minmax[0])
 +                minmax[0] = Ka[0].x;
 +        }
 +        if(Ka[0].y > Ka[1].y) {
 +            if(Ka[0].y > minmax[3])
 +                minmax[3] = Ka[0].y;
 +            if(Ka[1].y < minmax[2])
 +                minmax[2] = Ka[1].y;
 +        }
 +        else {
 +            if(Ka[1].y > minmax[3])
 +                minmax[3] = Ka[1].y;
 +            if(Ka[0].y < minmax[2])
 +                minmax[2] = Ka[0].y;
 +        }
 +        if(Ka[0].z > Ka[1].z) {
 +            if(Ka[0].z > minmax[5])
 +                minmax[5] = Ka[0].z;
 +            if(Ka[1].z < minmax[4])
 +                minmax[4] = Ka[1].z;
 +        }
 +        else {
 +            if(Ka[1].z > minmax[5])
 +                minmax[5] = Ka[1].z;
 +            if(Ka[0].z < minmax[4])
 +                minmax[4] = Ka[0].z;
 +        }
 +        //
 +        if(Ka[2].x > Kb[0].x) {
 +            if(Ka[2].x > minmax[1])
 +                minmax[1] = Ka[2].x;
 +            if(Kb[0].x < minmax[0])
 +                minmax[0] = Kb[0].x;
 +        }
 +        else {
 +            if(Kb[0].x > minmax[1])
 +                minmax[1] = Kb[0].x;
 +            if(Ka[2].x < minmax[0])
 +                minmax[0] = Ka[2].x;
 +        }
 +        if(Ka[2].y > Kb[0].y) {
 +            if(Ka[2].y > minmax[3])
 +                minmax[3] = Ka[2].y;
 +            if(Kb[0].y < minmax[2])
 +                minmax[2] = Kb[0].y;
 +        }
 +        else {
 +            if(Kb[0].y > minmax[3])
 +                minmax[3] = Kb[0].y;
 +            if(Ka[2].y < minmax[2])
 +                minmax[2] = Ka[2].y;
 +        }
 +        if(Ka[2].z > Kb[0].z) {
 +            if(Ka[2].z > minmax[5])
 +                minmax[5] = Ka[2].z;
 +            if(Kb[0].z < minmax[4])
 +                minmax[4] = Kb[0].z;
 +        }
 +        else {
 +            if(Kb[0].z > minmax[5])
 +                minmax[5] = Kb[0].z;
 +            if(Ka[2].z < minmax[4])
 +                minmax[4] = Ka[2].z;
 +        }
 +        //
 +        if(Kb[1].x > Kb[2].x) {
 +            if(Kb[1].x > minmax[1])
 +                minmax[1] = Kb[1].x;
 +            if(Kb[2].x < minmax[0])
 +                minmax[0] = Kb[2].x;
 +        }
 +        else {
 +            if(Kb[2].x > minmax[1])
 +                minmax[1] = Kb[2].x;
 +            if(Kb[1].x < minmax[0])
 +                minmax[0] = Kb[1].x;
 +        }
 +        if(Kb[1].y > Kb[2].y) {
 +            if(Kb[1].y > minmax[3])
 +                minmax[3] = Kb[1].y;
 +            if(Kb[2].y < minmax[2])
 +                minmax[2] = Kb[2].y;
 +        }
 +        else {
 +            if(Kb[2].y > minmax[3])
 +                minmax[3] = Kb[2].y;
 +            if(Kb[1].y < minmax[2])
 +                minmax[2] = Kb[1].y;
 +        }
 +        if(Kb[1].z > Kb[2].z) {
 +            if(Kb[1].z > minmax[5])
 +                minmax[5] = Kb[1].z;
 +            if(Kb[2].z < minmax[4])
 +                minmax[4] = Kb[2].z;
 +        }
 +        else {
 +            if(Kb[2].z > minmax[5])
 +                minmax[5] = Kb[2].z;
 +            if(Kb[1].z < minmax[4])
 +                minmax[4] = Kb[1].z;
 +        }
 +        i += 2;
 +    }
 +    if((pTh->nbe)%2 == 1) {
 +        const Triangle3& Ka(pTh->be(i));
 +        if(Ka[0].x > Ka[1].x) {
 +            if(Ka[0].x > minmax[1])
 +                minmax[1] = Ka[0].x;
 +            if(Ka[1].x < minmax[0])
 +                minmax[0] = Ka[1].x;
 +        }
 +        else {
 +            if(Ka[1].x > minmax[1])
 +                minmax[1] = Ka[1].x;
 +            if(Ka[0].x < minmax[0])
 +                minmax[0] = Ka[0].x;
 +        }
 +        if(Ka[0].y > Ka[1].y) {
 +            if(Ka[0].y > minmax[3])
 +                minmax[3] = Ka[0].y;
 +            if(Ka[1].y < minmax[2])
 +                minmax[2] = Ka[1].y;
 +        }
 +        else {
 +            if(Ka[1].y > minmax[3])
 +                minmax[3] = Ka[1].y;
 +            if(Ka[0].y < minmax[2])
 +                minmax[2] = Ka[0].y;
 +        }
 +        if(Ka[0].z > Ka[1].z) {
 +            if(Ka[0].z > minmax[5])
 +                minmax[5] = Ka[0].z;
 +            if(Ka[1].z < minmax[4])
 +                minmax[4] = Ka[1].z;
 +        }
 +        else {
 +            if(Ka[1].z > minmax[5])
 +                minmax[5] = Ka[1].z;
 +            if(Ka[0].z < minmax[4])
 +                minmax[4] = Ka[0].z;
 +        }
 +
 +        if(Ka[2].x < minmax[0])
 +            minmax[0] = Ka[2].x;
 +        else if(Ka[2].x > minmax[1])
 +            minmax[1] = Ka[2].x;
 +        if(Ka[2].y < minmax[2])
 +            minmax[2] = Ka[2].y;
 +        else if(Ka[2].y > minmax[3])
 +            minmax[3] = Ka[2].y;
 +        if(Ka[2].z < minmax[4])
 +            minmax[4] = Ka[2].z;
 +        else if(Ka[2].z > minmax[5])
 +            minmax[5] = Ka[2].z;
 +    }
 +    KN<double>* bb = GetAny<KN<double>* >((*arrayBB)(stack));
 +    *bb = minmax;
 +
 +    return 0L;
 +}
 +
 +long long_to_double(KN<double>* const& A, KN<long>* const& B) {
 +    for(int i = 0; i < B->n; ++i)
 +        A->operator[](i) = B->operator[](i);
 +    return 0L;
 +}
 +
 +long findDiff(KN<double>* const& array, KN<long>* const& val) {
 +    std::set<double> vals;
 +    for(unsigned int i = 0; i < array->n; ++i)
 +        vals.insert(array->operator[]((int)i));
 +    val->resize(vals.size());
 +    unsigned short i = 0;
 +    for(std::set<double>::iterator it = vals.begin(); it != vals.end(); ++it, ++i)
 +        val->operator[]((int)i) = *it;
 +    return 0L;
 +}
 +
 +#ifndef _ALL_IN_ONE_
 +/* --FH:   class Init {
 +    public:
 +        Init();
 +};
 +
 +Init ...; */
 +static void Load_Init() {
 +    Global.Add("bb2d", "(", new Boundingbox2D);
 +    Global.Add("bb3d", "(", new Boundingbox3D);
 +    Global.Add("fast", "(", new OneOperator2_<long, KN<double>*, KN<long>*>(long_to_double));
 +    Global.Add("findDiff", "(", new OneOperator2_<long, KN<double>*, KN<long>*>(findDiff));
 +}
 + LOADFUNC(Load_Init)
 +#endif
 +
diff --cc src/Graphics/._gggg.cpp.orig
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/bamglib/._Mesh2.h~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/bamglib/._Mesh2.h~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/bamglib/._MeshWrite.cpp~HEAD
index 63e1130,63e1130..63e1130
Binary files differ
diff --cc src/bamglib/._MeshWrite.cpp~upstream_3.34.2
index 63e1130,63e1130..63e1130
Binary files differ
diff --cc src/bamglib/._meshtype.h~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/bamglib/._meshtype.h~upstream_3.34.2
index 14f037e,14f037e..14f037e
mode 100644,100755..100644
Binary files differ
diff --cc src/femlib/._Mesh3dn.cpp~HEAD
index e9604e8,e9604e8..e9604e8
Binary files differ
diff --cc src/femlib/._Mesh3dn.cpp~upstream_3.34.2
index e9604e8,e9604e8..e9604e8
Binary files differ
diff --cc src/fflib/._AFunction.hpp~HEAD
index 63e1130,63e1130..63e1130
Binary files differ
diff --cc src/fflib/._AFunction.hpp~upstream_3.34.2
index 63e1130,63e1130..63e1130
Binary files differ
diff --cc src/fflib/._InitFunct.hpp.orig
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/fflib/._array_tlp.hpp~HEAD
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/fflib/._array_tlp.hpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/fflib/._ffapi.cpp~upstream_3.34.2
index 14f037e,14f037e..14f037e
Binary files differ
diff --cc src/fflib/._lgfem.cpp~HEAD
index e9604e8,e9604e8..e9604e8
Binary files differ
diff --cc src/fflib/._lgfem.cpp~upstream_3.34.2
index e9604e8,e9604e8..e9604e8
Binary files differ

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/freefempp.git



More information about the debian-science-commits mailing list