Skip to content

Commit 1312e9d

Browse files
authored
Merge pull request #244 from FreeFem/release-v4.12
Version v4.12
2 parents b4dac55 + 4c0daba commit 1312e9d

File tree

186 files changed

+29853
-4510
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

186 files changed

+29853
-4510
lines changed

.gitignore

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ AppDir/
109109
3rdparty/blas/blas.tgz
110110
3rdparty/blas/blas_xerbla.f
111111
3rdparty/blas/cblas.tgz
112+
3rdparty/boost
112113
3rdparty/fftw/FAIRE
113114
3rdparty/fftw/FAIT
114115
3rdparty/fftw/cxxflags
@@ -125,6 +126,11 @@ AppDir/
125126
3rdparty/lib/pkgconfig/ipopt.pc
126127
3rdparty/metis/FAIRE
127128
3rdparty/metis/metis-*
129+
3rdparty/mmg/build
130+
3rdparty/mmg/mmg-sources
131+
3rdparty/mmg/ff-flags
132+
3rdparty/mmg/ff-flags.old
133+
3rdparty/mmg/tag-tar
128134
3rdparty/mmg3d/ff-flags
129135
3rdparty/mmg3d/mmg3d4/
130136
3rdparty/mmg3d/tag-tar-158547
@@ -139,7 +145,13 @@ AppDir/
139145
3rdparty/nlopt/Make.defs
140146
3rdparty/nlopt/nlopt-2.2.4/
141147
3rdparty/parmetis/FAIRE
148+
3rdparty/parmetis/FAIRE-mpi
142149
3rdparty/parmetis/parmetis-*
150+
3rdparty/parmmg/build
151+
3rdparty/parmmg/parmmg-sources
152+
3rdparty/parmmg/ff-flags
153+
3rdparty/parmmg/ff-flags.old
154+
3rdparty/parmmg/tag-tar
143155
3rdparty/pkg/
144156
3rdparty/pkg/blacstester.tgz
145157
3rdparty/pkg/freeyams.2010.02.22.tgz
@@ -148,10 +160,10 @@ AppDir/
148160
3rdparty/pkg/scalapack-1.8.0.tgz
149161
3rdparty/scalapack/FAIRE
150162
3rdparty/scalapack/SLmake.inc
151-
3rdparty/scalapack/scalapack-
163+
3rdparty/scalapack/scalapack-*
152164
3rdparty/scotch/FAIRE
153165
3rdparty/scotch/Makefile.inc
154-
3rdparty/scotch/scotch_.*/
166+
3rdparty/scotch/scotch-v*/
155167
3rdparty/share/coin/doc/Ipopt/AUTHORS
156168
3rdparty/share/coin/doc/Ipopt/LICENSE
157169
3rdparty/share/coin/doc/Ipopt/README
@@ -167,6 +179,7 @@ AppDir/
167179
3rdparty/share/man/man3/nlopt.3
168180
3rdparty/superlu/FAIRE
169181
3rdparty/superlu/FAIT
182+
3rdparty/superlu/superlu-sources
170183
3rdparty/superlu/SuperLU_
171184
3rdparty/superlu/ff-FLAGS
172185
3rdparty/tag-compile-pkg
@@ -184,6 +197,7 @@ AppDir/
184197
3rdparty/yams/freeyams.*/
185198
3rdparty/ff-petsc/petsc-*/
186199
FreeFEM-documentation.pdf
200+
FreeFEM-documentation.pdf.md5
187201
bin/script/PostInstall.sh
188202
*ex.*.eps
189203
*ex.*.out
@@ -330,7 +344,7 @@ config.path
330344
3rdparty/ff-petsc/Make-petsc-download.mk
331345
3rdparty/ff-petsc/Makefile.inc
332346
3rdparty/ff-petsc/do-sudo
333-
3rdparty/fftw/fftw-3.3.2/
347+
3rdparty/fftw/fftw-*/
334348
3rdparty/gmm/gmm-4.2/
335349
3rdparty/ipopt/Ipopt-3.12.4/
336350
3rdparty/scalapack/scalapack-2.0.2/

3rdparty/Makefile.am

Lines changed: 100 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,24 @@
1-
# Downloading and compiling extra libraries
2-
# -----------------------------------------
3-
4-
# $Id: Makefile.am,v 1.16 2010/05/06 21:20:38 hecht Exp $
1+
############################################################################
2+
# This file is part of FreeFEM. #
3+
# #
4+
# FreeFEM is free software: you can redistribute it and/or modify #
5+
# it under the terms of the GNU Lesser General Public License as #
6+
# published by the Free Software Foundation, either version 3 of #
7+
# the License, or (at your option) any later version. #
8+
# #
9+
# FreeFEM is distributed in the hope that it will be useful, #
10+
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
11+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
12+
# GNU Lesser General Public License for more details. #
13+
# #
14+
# You should have received a copy of the GNU Lesser General Public License #
15+
# along with FreeFEM. If not, see <http://www.gnu.org/licenses/>. #
16+
############################################################################
17+
# SUMMARY : Downloading and compiling extra libraries
18+
# LICENSE : LGPLv3
19+
# ORG : LJLL Universite Pierre et Marie Curie, Paris, FRANCE
20+
# AUTHORS : ...
21+
# E-MAIL : ...
522

623
SUBDIRS=blas arpack umfpack
724
EXTRA_DIST= \
@@ -55,7 +72,7 @@ EXTRA_DIST= \
5572
./yams/yamslib_internal.h \
5673
ipopt/Makefile \
5774
ipopt/Makefile.inc.in \
58-
ipopt/patch-IpBlas \
75+
ipopt/patch-IpBlas \
5976
ff-petsc/Makefile \
6077
ff-petsc/Makefile-PETSc.inc \
6178
ff-petsc/Makefile.complex \
@@ -64,7 +81,6 @@ getall
6481

6582
# FFCS: See [[file:../../../configure.ac::tools_problems_all_platforms]] for reasons why some tools may be deactivated
6683

67-
6884
MPI_SOFT= @TOOL_COMPILE_scalapack@ @TOOL_COMPILE_parmetis@ @TOOL_COMPILE_parmmg@ @TOOL_COMPILE_mumps@
6985

7086
LIST_SOFT= @DOWNLOAD_FFTW@ @TOOL_COMPILE_tetgen@ @TOOL_COMPILE_metis@ @TOOL_COMPILE_superlu@ \
@@ -90,134 +106,136 @@ lib/libMesh.a:lib include
90106
cd ../src/libMesh && $(MAKE) $(AM_MAKEFLAGS)
91107
test -f ../src/libMesh/libMesh.a
92108
mkdir -p include/libMesh
93-
cp ../src/libMesh/*h include/libMesh
94-
echo libMesh LD -L@DIR@/lib -lMesh > lib/WHERE.libMesh
109+
cp ../src/libMesh/*h include/libMesh
110+
echo libMesh LD -L@DIR@/lib -lMesh > lib/WHERE.libMesh
95111
echo libMesh INCLUDE -I@DIR@/include/libMesh >> lib/WHERE.libMesh
96112
cp ../src/libMesh/libMesh.a lib/libMesh.a
97113

98-
all-local:bin lib include lib/libMesh.a pkg $(DOWNLOADCOMPILE) install-other
114+
all-local:bin lib include lib/libMesh.a pkg $(DOWNLOADCOMPILE) install-other
99115

100116
install-other: tag-install-other
101117

102118
tag-install-other:
103-
if test -n "$(TOOL_COMPILE_hpddm)" ; then $(MAKE) install-hpddm; else true; fi
104-
if test -n "$(TOOL_COMPILE_htool)" ; then $(MAKE) install-htool; else true; fi
105-
if test -n "$(TOOL_COMPILE_bem)" ; then $(MAKE) install-boost install-bemtool; else true; fi
119+
if test -n "$(TOOL_COMPILE_hpddm)"; then $(MAKE) install-hpddm; else true; fi
120+
if test -n "$(TOOL_COMPILE_htool)"; then $(MAKE) install-htool; else true; fi
121+
if test -n "$(TOOL_COMPILE_bem)"; then $(MAKE) install-boost install-bemtool; else true; fi
106122
touch tag-install-other
107123

108124
WHERE-OTHER: lib/WHERE.hpddm lib/WHERE.htool lib/WHERE.bemtool lib/WHERE.boost
109-
WHERE-LD: tag-compile-pkg WHERE-OTHER
125+
WHERE-LD: tag-compile-pkg WHERE-OTHER
110126
touch ../plugin/seq/WHERE_LIBRARY-config ../plugin/seq/WHERE_LIBRARY
111127
-grep LD ../plugin/seq/WHERE_LIBRARY ../plugin/seq/WHERE_LIBRARY-config >WHERE-LD
112128

113129
# BEGIN HPDDM
114130
install-hpddm: ./getall
115-
if test -n "$(TOOL_COMPILE_hpddm)"; then ./getall -o hpddm -a; $(MAKE) include/hpddm/done.tag lib/WHERE.hpddm; else true;fi
116-
reinstall-hpddm:./getall
131+
if test -n "$(TOOL_COMPILE_hpddm)"; then ./getall -o hpddm -a; $(MAKE) include/hpddm/done.tag lib/WHERE.hpddm; else true; fi
132+
reinstall-hpddm: ./getall
117133
-rm lib/WHERE.hpddm
118134
-rm ./pkg/hpddm.zip
119135
-rm -rf include/hpddm
120136
-test -n "$(TOOL_COMPILE_hpddm)" && $(MAKE) install-hpddm || true
121-
include/hpddm/done.tag:./pkg/hpddm.zip
137+
include/hpddm/done.tag: ./pkg/hpddm.zip
122138
-if test -f ./pkg/hpddm.zip ; then \
123-
cd include;rm -rf hpddm hpddm-*; unzip -q ../pkg/hpddm.zip ; mv hpddm-* hpddm ; touch hpddm/done.tag; \
124-
else true; fi
139+
cd include; rm -rf hpddm hpddm-*; unzip -q ../pkg/hpddm.zip; mv hpddm-* hpddm; touch hpddm/done.tag; \
140+
else true; fi
125141
lib/WHERE.hpddm: ./getall
126-
if test -d include/hpddm/include ; then \
127-
echo hpddm LD -L@DIR@/lib > $@ ;\
128-
echo hpddm INCLUDE -I@DIR@/include/hpddm/include >> $@ ;\
129-
elif test -d include/hpddm/src ; then \
130-
echo hpddm LD -L@DIR@/lib > $@ ;\
131-
echo hpddm INCLUDE -I@DIR@/include/hpddm/src >> $@ ;\
132-
else true; fi
142+
if test -d include/hpddm/include; then \
143+
echo hpddm LD -L@DIR@/lib > $@; \
144+
echo hpddm INCLUDE -I@DIR@/include/hpddm/include >> $@; \
145+
elif test -d include/hpddm/src; then \
146+
echo hpddm LD -L@DIR@/lib > $@; \
147+
echo hpddm INCLUDE -I@DIR@/include/hpddm/src >> $@; \
148+
else true; fi
133149
#end HPDDM
134150

135151
# begin HTOOL
136152
install-htool: ./getall
137-
if test -n "$(TOOL_COMPILE_htool)"; then ./getall -o htool -a; $(MAKE) include/htool/done.tag lib/WHERE.htool; else true;fi
138-
reinstall-htool:./getall
153+
if test -n "$(TOOL_COMPILE_htool)"; then ./getall -o htool -a; $(MAKE) include/htool/done.tag lib/WHERE.htool; else true; fi
154+
reinstall-htool: ./getall
139155
-rm lib/WHERE.htool
140156
-rm ./pkg/htool.zip
141157
-rm -rf include/htool
142158
-test -n "$(TOOL_COMPILE_htool)" && $(MAKE) install-htool || true
143-
include/htool/done.tag:./pkg/htool.zip
144-
-if test -f ./pkg/htool.zip ; then \
145-
cd include;rm -rf htool htool-*; unzip -q ../pkg/htool.zip ; mv htool-* htool ; touch htool/done.tag; \
146-
else true; fi
159+
include/htool/done.tag: ./pkg/htool.zip
160+
-if test -f ./pkg/htool.zip; then \
161+
cd include; rm -rf htool htool-*; unzip -q ../pkg/htool.zip; mv htool-* htool; touch htool/done.tag; \
162+
else true; fi
147163
lib/WHERE.htool: ./getall
148-
if test -d include/htool/include ; then \
149-
echo htool LD -L@DIR@/lib > $@ ;\
150-
echo htool INCLUDE -I@DIR@/include/htool/include >> $@ ;\
151-
else true; fi
164+
if test -d include/htool/include; then \
165+
echo htool LD -L@DIR@/lib > $@; \
166+
echo htool INCLUDE -I@DIR@/include/htool/include >> $@; \
167+
else true; fi
152168
# end HTOOL
169+
153170
# begin BEMTOOL
154171
install-bemtool: ./getall
155-
if test -n "$(TOOL_COMPILE_bem)"; then ./getall -o bemtool -a; $(MAKE) include/bemtool/done.tag lib/WHERE.bemtool; else true;fi
172+
if test -n "$(TOOL_COMPILE_bem)"; then ./getall -o bemtool -a; $(MAKE) include/BemTool/done.tag lib/WHERE.bemtool; else true;fi
156173
reinstall-bemtool:./getall
157174
-rm lib/WHERE.bemtool
158175
-rm ./pkg/bemtool.zip
159176
-rm -rf include/BemTool
160177
-test -n "$(TOOL_COMPILE_bem)" && $(MAKE) install-bemtool || true
161-
include/bemtool/done.tag:./pkg/bemtool.zip
162-
-if test -f ./pkg/bemtool.zip ; then \
163-
cd include;rm -rf BemTool BemTool-*; unzip -q ../pkg/bemtool.zip ; mv BemTool-* BemTool ; touch BemTool/done.tag; \
164-
else true; fi
178+
include/BemTool/done.tag: ./pkg/bemtool.zip
179+
-if test -f ./pkg/bemtool.zip; then \
180+
cd include; rm -rf BemTool BemTool-*; unzip -q ../pkg/bemtool.zip; mv BemTool-* BemTool; touch BemTool/done.tag; \
181+
else true; fi
165182
lib/WHERE.bemtool: ./getall
166-
if test -d include/BemTool/ ; then \
167-
echo bemtool LD -L@DIR@/lib > $@ ;\
168-
echo bemtool INCLUDE -I@DIR@/include/BemTool/ >> $@ ;\
169-
else true; fi
183+
if test -d include/BemTool/; then \
184+
echo bemtool LD -L@DIR@/lib > $@; \
185+
echo bemtool INCLUDE -I@DIR@/include/BemTool/ >> $@ ; \
186+
else true; fi
170187
# end BEMTOOL
171188

172189
# begin BOOST
173190
install-boost: ./getall
174-
if test -n "$(TOOL_COMPILE_bem)"; then ./getall -o Boost -a; $(MAKE) boost/done.tag lib/WHERE.boost; else true;fi
175-
reinstall-boost:./getall
191+
if test -n "$(TOOL_COMPILE_bem)"; then ./getall -o Boost -a; $(MAKE) boost/done.tag lib/WHERE.boost; else true; fi
192+
reinstall-boost: ./getall
176193
-rm lib/WHERE.boost
177194
-rm ./pkg/boost_for_bemtool.tar.gz
178195
-rm -rf boost
179196
-test -n "$(TOOL_COMPILE_bem)" && $(MAKE) install-boost || true
180-
boost/done.tag:./pkg/boost_for_bemtool.tar.gz
181-
if test -f ./pkg/boost_for_bemtool.tar.gz ; then \
182-
rm -rf boost boost_*; tar xzf pkg/boost_for_bemtool.tar.gz ; mv boost_for_bemtool boost; \
197+
boost/done.tag: ./pkg/boost_for_bemtool.tar.gz
198+
if test -f ./pkg/boost_for_bemtool.tar.gz; then \
199+
rm -rf boost boost_*; tar xzf pkg/boost_for_bemtool.tar.gz; mv boost_for_bemtool boost; \
183200
else true; fi
184201
touch boost/done.tag
185202
lib/WHERE.boost: ./getall
186-
if test -d boost/include ; then \
187-
echo boost INCLUDE -I@DIR@/boost/include >> $@ ;\
188-
else true; fi
203+
if test -d boost/include; then \
204+
echo boost INCLUDE -I@DIR@/boost/include >> $@ ; \
205+
else true; fi
189206
# end BOOST
190207

191-
# to reinstall mpi under window afer clean
208+
# to reinstall mpi under window afer clean
192209
reinstall-msmpi:
193-
-if test -f "$$MSMPI_INC"/mpif.h ; then \
194-
echo " copy msmpi in 3rdparty form $$MSMPI_INC and $$MSMPI_LIB64 or $$MSMPI_LIB32" ;\
195-
mkdir -p include/msmpi ;\
196-
mkdir -p lib/msmpi ;\
197-
cp "$$MSMPI_INC"/*.h include/msmpi ;\
198-
sed 's/INT_PTR_KIND()/@SIZEOF_PTR@/' <"$$MSMPI_INC"/mpif.h >include/msmpi/mpif.h ;\
199-
sed 's/MPI_Status array_of_statuses\[\]/MPI_Status\* array_of_statuses/' < "$$MSMPI_INC"/mpi.h > include/msmpi/mpi.h ;\
200-
grep KIND include/msmpi/mpif.h;\
201-
test "@SIZEOF_PTR@" -eq 8 && cp "$$MSMPI_INC"/x64/*.h include/msmpi && cp "$$MSMPI_LIB64"/*.lib lib/msmpi ;\
202-
test "@SIZEOF_PTR@" -eq 4 && cp "$$MSMPI_INC"/x86/*.h include/msmpi && cp "$$MSMPI_LIB32"/*.lib lib/msmpi ;\
210+
-if test -f "$$MSMPI_INC"/mpif.h; then \
211+
echo " copy msmpi in 3rdparty form $$MSMPI_INC and $$MSMPI_LIB64 or $$MSMPI_LIB32"; \
212+
mkdir -p include/msmpi; \
213+
mkdir -p lib/msmpi; \
214+
cp "$$MSMPI_INC"/*.h include/msmpi; \
215+
sed 's/INT_PTR_KIND()/@SIZEOF_PTR@/' <"$$MSMPI_INC"/mpif.h > include/msmpi/mpif.h; \
216+
sed 's/MPI_Status array_of_statuses\[\]/MPI_Status\* array_of_statuses/' < "$$MSMPI_INC"/mpi.h > include/msmpi/mpi.h; \
217+
grep KIND include/msmpi/mpif.h; \
218+
test "@SIZEOF_PTR@" -eq 8 && cp "$$MSMPI_INC"/x64/*.h include/msmpi && cp "$$MSMPI_LIB64"/*.lib lib/msmpi; \
219+
test "@SIZEOF_PTR@" -eq 4 && cp "$$MSMPI_INC"/x86/*.h include/msmpi && cp "$$MSMPI_LIB32"/*.lib lib/msmpi; \
203220
fi
204221
# FFCS: need to stop at the first error to make sure that all libraries are correctly compiled
205222
compile-dir:
206223
@echo "\n\n ****** $(COMPILEDIR) ****** \n\n";
207-
@if [ 0 -eq `egrep ':$(COMPILEDIR) *LD' WHERE-LD | wc -l` ] ;then \
208-
cd $(COMPILEDIR) && $(MAKE) $(DIRTARGET) ; \
224+
@if [ 0 -eq `egrep ':$(COMPILEDIR) *LD' WHERE-LD | wc -l` ]; then \
225+
cd $(COMPILEDIR) && $(MAKE) $(DIRTARGET); \
209226
else \
210-
echo $(COMPILEDIR) is in WHERE- files ;\
227+
echo $(COMPILEDIR) is in WHERE- files; \
211228
fi
212229
compile-pkg: tag-compile-pkg WHERE-LD
213230

214231
# FFCS: need to stop at the first error to make sure that all libraries are correctly compiled
215232
tag-compile-pkg: bin lib include pkg FORCE
216-
@if [ -n "$(WGET)" ] ; then \
217-
for d in $(LIST_SOFT) ; do $(MAKE) compile-dir COMPILEDIR=$$d || exit 1;done ;\
218-
if [ -n "$(MPICC)" ] ; then \
219-
for d in $(MPI_SOFT) ; do $(MAKE) compile-dir COMPILEDIR=$$d || exit 1; done;\
220-
fi;fi
233+
@if [ -n "$(WGET)" ]; then \
234+
for d in $(LIST_SOFT); do $(MAKE) compile-dir COMPILEDIR=$$d || exit 1; done; \
235+
if [ -n "$(MPICC)" ]; then \
236+
for d in $(MPI_SOFT); do $(MAKE) compile-dir COMPILEDIR=$$d || exit 1; done; \
237+
fi; \
238+
fi
221239
$(MAKE) install-hpddm install-htool install-bemtool install-boost
222240
touch tag-compile-pkg
223241
FORCE:
@@ -227,21 +245,21 @@ re-install:
227245
WHERE:
228246
$(MAKE) compile-pkg DIRTARGET=WHERE
229247
install-exec-local:
230-
$(mkinstalldirs) -m 755 $(DESTDIR)$(ff_prefix_dir)/lib
231-
$(mkinstalldirs) -m 755 $(DESTDIR)$(ff_prefix_dir)/bin
232-
$(mkinstalldirs) -m 755 $(DESTDIR)$(ff_prefix_dir)/include
233-
cp -rp lib $(DESTDIR)$(ff_prefix_dir)
234-
cp -rp include $(DESTDIR)$(ff_prefix_dir)
235-
cp -rp bin $(DESTDIR)$(ff_prefix_dir)
236-
-if test -f boost/done.tag ; then \
237-
$(mkinstalldirs) -m 755 $(DESTDIR)$(ff_prefix_dir)/boost ; \
238-
cp -rp boost $(DESTDIR)$(ff_prefix_dir) ; \
248+
$(mkinstalldirs) -m 755 "$(DESTDIR)$(ff_prefix_dir)/lib"
249+
$(mkinstalldirs) -m 755 "$(DESTDIR)$(ff_prefix_dir)/bin"
250+
$(mkinstalldirs) -m 755 "$(DESTDIR)$(ff_prefix_dir)/include"
251+
cp -rp lib "$(DESTDIR)$(ff_prefix_dir)"
252+
cp -rp include "$(DESTDIR)$(ff_prefix_dir)"
253+
cp -rp bin "$(DESTDIR)$(ff_prefix_dir)"
254+
-if test -f boost/done.tag; then \
255+
$(mkinstalldirs) -m 755 "$(DESTDIR)$(ff_prefix_dir)/boost"; \
256+
cp -rp boost "$(DESTDIR)$(ff_prefix_dir)"; \
239257
fi
240258
clean-local:
241259
-rm -rf tag-* include lib bin WHERE-LD
242-
-mkdir include lib bin
260+
-mkdir include lib bin
243261
-rm */FAIT */FAIRE
244262
# FFCS - make sure that all directories are cleaned. Thisis especially important under Windows because there is no
245263
# compilation dependencies control there (see
246264
# [[file:c:/cygwin/home/alh/ffcs/dist/configure.ac::dependency_tracking]])
247-
for d in $(LIST_SOFT) $(MPI_SOFT) ; do $(MAKE) clean -C $$d ; done
265+
for d in $(LIST_SOFT) $(MPI_SOFT); do $(MAKE) clean -C $$d; done

0 commit comments

Comments
 (0)