~ubuntu-branches/ubuntu/raring/rheolef/raring-proposed

« back to all changes in this revision

Viewing changes to configure.ac

  • Committer: Package Import Robot
  • Author(s): Pierre Saramito, Pierre Saramito, Sylvestre Ledru
  • Date: 2012-05-14 14:02:09 UTC
  • mfrom: (1.1.6)
  • Revision ID: package-import@ubuntu.com-20120514140209-dzbdlidkotyflf9e
Tags: 6.1-1
[ Pierre Saramito ]
* New upstream release 6.1 (minor changes):
  - support arbitrarily polynomial order Pk
  - source code supports g++-4.7 (closes: #671996)

[ Sylvestre Ledru ]
* update of the watch file

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
dnl #
17
17
dnl #@example
18
18
dnl #@cartouche
19
 
dnl #        ./configure
20
 
dnl #        make
21
 
dnl #        make install
 
19
dnl #  ./configure
 
20
dnl #  make
 
21
dnl #  make install
22
22
dnl #@end cartouche
23
23
dnl #@end example
24
24
dnl #
 
25
dnl #@toindex @code{make}
25
26
dnl #@noindent
26
 
dnl #Successfull compilation and installation
27
 
dnl #require the GNU @code{make} command.
28
 
dnl # Check your installation by running a small test:
29
 
dnl #
30
 
dnl #@example
31
 
dnl #        make installcheck
32
 
dnl #@end example
 
27
dnl #Successfull compilation and installation require the GNU @code{make} command.
33
28
dnl #
34
29
dnl #READING THE DOCUMENTATION:
35
30
dnl #@fiindex @file{.info} GNU info
57
52
dnl #
58
53
dnl #@example
59
54
dnl #@cartouche
60
 
dnl #         evince http://ljk.imag.fr/membres/Pierre.Saramito/rheolef/rheolef.pdf
 
55
dnl #  evince http://ljk.imag.fr/membres/Pierre.Saramito/rheolef/rheolef.pdf
61
56
dnl #@end cartouche
62
57
dnl #@end example
63
58
dnl #
65
60
dnl # The reference manual is generated in @code{html} format:
66
61
dnl #
67
62
dnl #@example
68
 
dnl #         firefox http://ljk.imag.fr/membres/Pierre.Saramito/rheolef/rheolef-refman.html
 
63
dnl #  firefox http://ljk.imag.fr/membres/Pierre.Saramito/rheolef/rheolef-refman.html
69
64
dnl #@end example
70
65
dnl #
71
66
dnl #@noindent
73
68
dnl # Moreover, after performing @code{make install}, unix manuals are available for commands and classes:
74
69
dnl #
75
70
dnl #@example
76
 
dnl #         man field
77
 
dnl #         man 2rheolef field
 
71
dnl #  man field
 
72
dnl #  man 2rheolef field
78
73
dnl #@end example
79
74
dnl #
80
75
dnl #@noindent
81
76
dnl # The browsable source code is generated in @code{html} format:
82
77
dnl #
83
78
dnl #@example
84
 
dnl #         firefox http://ljk.imag.fr/membres/Pierre.Saramito/rheolef/source_html/
 
79
dnl #  firefox http://ljk.imag.fr/membres/Pierre.Saramito/rheolef/source_html/
85
80
dnl #@end example
86
81
dnl #
87
82
dnl #USING AND ALTERNATIVE INSTALLATION DIRECTORY:
93
88
dnl # If you prefer an alternative directory, e.g. @file{HOME/sys}, you should enter:
94
89
dnl #
95
90
dnl #@example
96
 
dnl #         ./configure --prefix=$HOME/sys
 
91
dnl #  ./configure --prefix=$HOME/sys
97
92
dnl #@end example
98
93
dnl #
99
94
dnl #@noindent
101
96
dnl # of your @file{.profile} or @file{.bash_profile} file:
102
97
dnl #
103
98
dnl #@example
104
 
dnl #         export PATH="$HOME/sys/bin:$PATH"
105
 
dnl #         export LD_LIBRARY_PATH="$HOME/sys/lib:$LD_LIBRARY_PATH"
106
 
dnl #         export MANPATH="$HOME/sys/man:$MANPATH"
 
99
dnl #  export PATH="$HOME/sys/bin:$PATH"
 
100
dnl #  export LD_LIBRARY_PATH="$HOME/sys/lib:$LD_LIBRARY_PATH"
 
101
dnl #  export MANPATH="$HOME/sys/man:$MANPATH"
107
102
dnl #@end example
108
103
dnl #
109
104
dnl #@noindent
112
107
dnl # at the bottom of your @file{.cshrc} file:
113
108
dnl #
114
109
dnl #@example
115
 
dnl #         set path = ($HOME/sys/bin $path)
116
 
dnl #         setenv LD_LIBRARY_PATH "$HOME/sys/lib:$LD_LIBRARY_PATH"
117
 
dnl #         setenv MANPATH "$HOME/sys/man:$MANPATH"
 
110
dnl #  set path = ($HOME/sys/bin $path)
 
111
dnl #  setenv LD_LIBRARY_PATH "$HOME/sys/lib:$LD_LIBRARY_PATH"
 
112
dnl #  setenv MANPATH "$HOME/sys/man:$MANPATH"
118
113
dnl #@end example
119
114
dnl #
120
115
dnl #@noindent
121
116
dnl # If you are unure about unix interpreter, get the SHELL value:
122
117
dnl #@example
123
 
dnl #         echo $SHELL
 
118
dnl #  echo $SHELL
124
119
dnl #@end example
125
120
dnl #
126
121
dnl #@noindent
127
122
dnl # Then, you have to @emph{source} the modified file, e.g.: 
128
123
dnl #
129
124
dnl #@example
130
 
dnl #         source ~/.cshrc
 
125
dnl #  source ~/.cshrc
131
126
dnl #@end example
132
127
dnl #
133
128
dnl #@toindex hpux, operating system
137
132
dnl # If you are unure, get the shared library path variable:
138
133
dnl #
139
134
dnl #@example
140
 
dnl #         rheolef-config --shlibpath-var
 
135
dnl #  rheolef-config --shlibpath-var
141
136
dnl #@end example
142
137
dnl #
143
138
dnl #@noindent
145
140
dnl # program with the installed library:
146
141
dnl #
147
142
dnl #@example
148
 
dnl #         make installcheck
 
143
dnl #  make installcheck
149
144
dnl #@end example
150
145
dnl #
151
146
dnl #@noindent
153
148
dnl # your run-time environment sanity with:
154
149
dnl #
155
150
dnl #@example
156
 
dnl #         rheolef-config --check
 
151
dnl #  rheolef-config --check
157
152
dnl #@end example
158
153
dnl #
159
154
dnl #REQUIERED LIBRARIES:
221
216
dnl # for pre- and post-processing purpose:
222
217
dnl #
223
218
dnl #@example
224
 
dnl #          gmsh
225
 
dnl #          gnuplot
226
 
dnl #          mayavi
227
 
dnl #          paraview
 
219
dnl #  gmsh
 
220
dnl #  gnuplot
 
221
dnl #  mayavi
 
222
dnl #  paraview
228
223
dnl #@end example
229
224
dnl #
230
225
dnl #@noindent
244
239
dnl # Here is the @code{apt-get} commands to install these tools under Debian GNU/Linux and Ubuntu:
245
240
dnl #
246
241
dnl #@example
247
 
dnl #    apt-get install cvs autoconf automake libtool
248
 
dnl #    apt-get install flex bison
249
 
dnl #    apt-get install pkg-config libginac-dev
250
 
dnl #    apt-get install ghostscript gnuplot xfig transfig imagemagick graphviz
 
242
dnl #  apt-get install cvs autoconf automake libtool
 
243
dnl #  apt-get install flex bison
 
244
dnl #  apt-get install pkg-config libginac-dev
 
245
dnl #  apt-get install ghostscript gnuplot xfig transfig imagemagick graphviz
251
246
dnl #@end example
252
247
dnl #
253
248
dnl #PORTABILITY ISSUES:
254
 
dnl #@toindex gnu c++ compiler
255
 
dnl #@toindex compacq c++ compiler
256
249
dnl #@cindex  standard template library (STL)
257
250
dnl #@noindent
258
 
dnl # Rheolef is based on STL. Therefore you need a compiler
 
251
dnl # Rheolef is based on STL and its extensions, the BOOST library. Therefore you need a compiler
259
252
dnl # that supports the ANSI C++ standards. STL and Rheolef especially depend
260
253
dnl # heavily on the template support of the compiler.
261
 
dnl #
262
 
dnl #@noindent
263
 
dnl # Current distributed version of Rheolef has been tested only with GCC.
264
 
dnl # Previous seqsuential 5.93 version of Rheolef has been tested with 
265
 
dnl #
266
 
dnl #@example
267
 
dnl #    GNU  C++ compiler (g++-2.95.4, 2.96, 3.0.2, 3.0.4, 4.0, 4.3, 4.4, 4.5, 4.6)
268
 
dnl #    Intel C++ compiler (version 11)
269
 
dnl #@end example
270
 
dnl #
271
 
dnl #@noindent
272
 
dnl # on the following operating systems:
273
 
dnl #@toindex linux, operating system
274
 
dnl #@toindex mac os x, operating system
275
 
dnl #@toindex sun solaris, operating system
276
 
dnl #@toindex compacq, operating system
277
 
dnl #
278
 
dnl #@example
279
 
dnl #         linux debian, pentium 3 and 4, using GNU C++
280
 
dnl #         mac os x (i386-apple-darwin9.8.0), using GNU C++
281
 
dnl #         sun solaris 2.8, ultrasparc, using GNU C++
282
 
dnl #         compacq OSF1 alpha (V5.1, V4.0), using Compacq C++
283
 
dnl #@end example
 
254
dnl # Most recent c++ 2012 standard features are recommanded but still optional:
 
255
dnl # when available, it allows an elegant matrix concatenation syntax via
 
256
dnl # the @code{std::initializer_list} class.
 
257
dnl #
 
258
dnl #@toindex gnu c++ compiler
 
259
dnl #@toindex intel c++ compiler
 
260
dnl #@noindent
 
261
dnl # Current distributed version of Rheolef has been heavily tested with GNU C++
 
262
dnl # and INTEL C++ on debian, ubuntu and suse GNU/Linux systems for various 32 and 64 bits
 
263
dnl # architectures, up to 100 distributed memories and processes.
284
264
dnl #
285
265
dnl #@noindent
286
266
dnl # The GNU C++ compiler is a free software
289
269
dnl #
290
270
dnl #@toindex kai c++ compiler
291
271
dnl #@toindex cray c++ compiler
 
272
dnl #@toindex mac osx, operating system
 
273
dnl #@toindex cray unicos, operating system
 
274
dnl #@toindex hpux, operating system
 
275
dnl #@toindex irix, operating system
 
276
dnl #@toindex irix, operating system
292
277
dnl #@noindent
293
 
dnl # Older versions was tested also on the
 
278
dnl # Older 5.x versions was tested also on the
294
279
dnl # KAI  C++ compiler (KCC-3.2b) and the
295
 
dnl # CRAY C++ compiler (CC-3.0.2.0).
 
280
dnl # CRAY C++ compiler (CC-3.0.2.0)
296
281
dnl # on the following operating systems:
297
 
dnl #@toindex aix ibm, operating system
298
 
dnl #@toindex cray unicos, operating system
299
 
dnl #@toindex hpux, operating system
300
 
dnl #@toindex irix, operating system
301
282
dnl #
302
283
dnl #@example
303
 
dnl #         aix 4.1 ibm sp2, multiprocessor based on rs6000
304
 
dnl #         cray unicos t3e, multiprocessor based on 64 bits dec alpha
305
 
dnl #         cray unicos c94
306
 
dnl #         hpux 9.05 and 10.20, hppa
307
 
dnl #         linux (redhat, suze and slackware), pentium (2,3,pro)
308
 
dnl #         sgi irix 6.3, mips
309
 
dnl #         sun solaris 2.5.1, sparc
 
284
dnl #  mac os x (i386-apple-darwin9.8.0), using GNU C++
 
285
dnl #  sun solaris 2.8, ultrasparc, using GNU C++
 
286
dnl #  compacq OSF1 alpha (V5.1, V4.0), using Compacq C++
 
287
dnl #  aix 4.1 ibm sp2, multiprocessor based on rs6000
 
288
dnl #  cray unicos t3e, multiprocessor based on 64 bits dec alpha
 
289
dnl #  cray unicos c94
 
290
dnl #  hpux 9.05 and 10.20, hppa
 
291
dnl #  sgi irix 6.3, mips
 
292
dnl #  sun solaris 2.5.1, sparc
310
293
dnl #@end example
311
294
dnl #
312
295
dnl #@noindent
315
298
dnl # Nevertheless, the current version has no more been tested
316
299
dnl # on these compilers and systems.
317
300
dnl #
318
 
dnl #@toindex   Makefile
 
301
dnl #@noindent
 
302
dnl # If the required libraries are located in a non-standard directory, please use
 
303
dnl # the configure options:
 
304
dnl #
 
305
dnl #@example
 
306
dnl #  ./configure --help
 
307
dnl #@end example
 
308
dnl #
 
309
dnl #@noindent
 
310
dnl # and also consider the CXX, CXXFLAGS and LIBS variables, as in the following more complex
 
311
dnl # configure command:
 
312
dnl #
 
313
dnl #@example
 
314
dnl #  CXX=icpc CXXFLAGS=-I/usr/local/include LIBS="-L/usr/local/lib -lz" ./configure
 
315
dnl #@end example
 
316
dnl #
 
317
dnl #@noindent
 
318
dnl # Finaly, if troubles still persist after the configure step, you can also edit 
 
319
dnl # directly the config/config.mk and config/config.h files. In these cases please also post
 
320
dnl # to the mailling list @code{rheolef@@grenet.fr} any portability problem.
 
321
dnl #
 
322
dnl #@toindex Makefile
319
323
dnl #@noindent
320
324
dnl # If you are running a another compiler and operating system combination,
321
325
dnl # please run the non-regression test suite:
322
326
dnl #
323
327
dnl #@example
324
328
dnl #@cartouche
325
 
dnl #         make check
 
329
dnl #  make check
326
330
dnl #@end cartouche
327
331
dnl #@end example
328
332
dnl #
449
453
USER_CFLAGS=${CFLAGS-"-O2"}
450
454
USER_CXXFLAGS="$CXXFLAGS"
451
455
 
452
 
AC_PROG_CC(gcc-4.5 gcc cc cl)
 
456
AC_PROG_CC(gcc-4.5 gcc cc icc cl)
453
457
AC_PROG_CPP
454
 
AC_PROG_CXX(g++-4.5 g++ c++ cxx KCC CC CC cc++ xlC aCC)
 
458
AC_PROG_CXX(g++-4.5 g++ c++ cxx icpc KCC CC CC cc++ xlC aCC)
455
459
AC_PROG_CXXCPP
456
460
 
457
461
# when GNU C/C++ is recognized, force "-O2 -g" => skip it
490
494
    # TODO: check for g++ -std=c++0x option
491
495
    RHEO_GXX2011
492
496
    if test x"${rheo_gxx2011}" = x"yes"; then
493
 
      CXXFLAGS="${CXXFLAGS} -std=c++0x"
 
497
      CXXFLAGS="${CXXFLAGS} -std=c++11"
494
498
    else
495
 
      CXXFLAGS="${CXXFLAGS} -ansi"
 
499
      RHEO_GXX2011_PRE
 
500
      if test x"${rheo_gxx2011_pre}" = x"yes"; then
 
501
        CXXFLAGS="${CXXFLAGS} -std=c++0x"
 
502
      else
 
503
        CXXFLAGS="${CXXFLAGS} -ansi"
 
504
      fi
496
505
    fi
497
506
    CXXFLAGS="${CXXFLAGS} -Wall -Wno-unused -Werror -Wno-strict-aliasing"
498
507
fi
516
525
    RHEO_OPTIMIZE_CXX
517
526
else
518
527
    # TODO: architecture-independent optim, when no debug
519
 
    if false && test x"${enable_debug}" != x"yes"; then
 
528
    if test x"${enable_debug}" != x"yes"; then
520
529
      CXXFLAGS="${CXXFLAGS} -O2"
521
530
    fi
522
531
fi
949
958
dnl #        Turns on/off the old code branch (before distributed computation features).
950
959
dnl #        Default is off.
951
960
dnl-------------------------------------------------------------------------
952
 
enable_old_code=no
 
961
rheo_enable_old_code=no
953
962
AC_ARG_ENABLE(old-code,
954
963
    [  --enable-old-code            for going back to old code branch (5.93 branch); default=no) ],
955
964
    [  case "${enableval}" in
956
 
          yes | no) enable_old_code=${enableval};;
957
 
          *)        enable_old_code=no;;
958
 
       esac],
959
 
    [ enable_old_code=no ]
 
965
          yes | no) rheo_enable_old_code=${enableval} ;;
 
966
          *)        rheo_enable_old_code=no ;;
 
967
       esac
 
968
    ],
 
969
    [
 
970
      rheo_enable_old_code=no
 
971
    ]
960
972
)
961
 
if test x"${enable_old_code}" = x"yes"; then
962
 
  enable_new_code=no
 
973
if test x"${rheo_enable_old_code}" = x"yes"; then
 
974
  rheo_enable_new_code=no
963
975
else
964
 
  enable_new_code=yes
 
976
  rheo_enable_new_code=yes
965
977
fi
966
978
dnl-------------------------------------------------------------------------
967
979
dnl #
976
988
          yes | no) enable_mpi="${enableval}";;
977
989
          *)        enable_mpi="yes";;
978
990
       esac],
979
 
    [ enable_mpi="${enable_new_code}" ]
 
991
    [ enable_mpi="${rheo_enable_new_code}" ]
980
992
)
981
993
AC_ARG_WITH(mpi-incdir,
982
994
    [  --with-mpi-incdir[=DIR]        the mpi includes directory (default=autodetect) ],
1003
1015
fi
1004
1016
if test x"$rheo_have_mpi" = x"yes"; then
1005
1017
    # if mpi is set, then default is distributed version
1006
 
    enable_new_code="yes"
 
1018
    rheo_enable_new_code="yes"
1007
1019
else
1008
1020
    rheo_use_distributed=no
1009
1021
fi
1010
 
AM_CONDITIONAL(USE_NEW_CODE, test x"${enable_new_code}" = x"yes")
 
1022
AM_CONDITIONAL(USE_NEW_CODE, test x"${rheo_enable_new_code}" = x"yes")
1011
1023
AH_TEMPLATE([USE_NEW_CODE], Defines whether use the new code branch)
1012
 
if test x"$enable_new_code" = x"yes"; then
 
1024
AC_SUBST(USE_NEW_CODE)
 
1025
if test x"$rheo_enable_new_code" = x"yes"; then
1013
1026
    AC_DEFINE(USE_NEW_CODE)
 
1027
    USE_NEW_CODE=true
 
1028
else
 
1029
    USE_NEW_CODE=false
1014
1030
fi
1015
1031
dnl-------------------------------------------------------------------------
1016
1032
dnl #@toindex scotch, distributed mesh partitioner
1117
1133
       esac],
1118
1134
    [  rheo_ldadd_blas="" ]
1119
1135
)
1120
 
if test x"${enable_new_code}" = x"yes"; then
 
1136
if test x"${rheo_enable_new_code}" = x"yes"; then
1121
1137
    RHEO_CHECK_BLAS
1122
1138
fi
1123
1139
dnl-------------------------------------------------------------------------
1155
1171
       esac],
1156
1172
    [  rheo_libdir_mumps="" ]
1157
1173
)
1158
 
if test x"${with_mumps}" = x"yes" && test x"${enable_new_code}" = x"yes"; then
 
1174
if test x"${with_mumps}" = x"yes" && test x"${rheo_enable_new_code}" = x"yes"; then
1159
1175
    RHEO_CHECK_MUMPS
1160
1176
fi
1161
1177
dnl-------------------------------------------------------------------------
1193
1209
       esac],
1194
1210
    [  rheo_libdir_trilinos="" ]
1195
1211
)
1196
 
if test x"${with_trilinos}" = x"yes" && test x"${rheo_use_distributed}" = x"yes" -a x"${enable_new_code}" = x"yes"; then
 
1212
if test x"${with_trilinos}" = x"yes" && test x"${rheo_use_distributed}" = x"yes" -a x"${rheo_enable_new_code}" = x"yes"; then
1197
1213
    # TRILIONOS requires mpi
1198
1214
    RHEO_CHECK_TRILINOS
1199
1215
fi
1277
1293
       esac]
1278
1294
)
1279
1295
dnl TODO: use also in distributed
1280
 
if test x"$enable_new_code" != x"yes"; then
 
1296
if test x"$rheo_enable_new_code" != x"yes"; then
1281
1297
  if test x"${with_umfpack}" = x"yes" && test x"${with_bigfloat}" != x"yes" -a x"${with_doubledouble}" != x"yes" ; then
1282
1298
    RHEO_CHECK_UMFPACK
1283
1299
  else
1314
1330
              try_taucs=yes;;
1315
1331
       esac]
1316
1332
)
1317
 
if test x"$enable_new_code" != x"yes"; then
 
1333
if test x"$rheo_enable_new_code" != x"yes"; then
1318
1334
  if test x"${rheo_have_mpi}" != x"yes" && test x"${try_taucs}" = x"yes" -a x"$rheo_have_umfpack" != x"yes"; then
1319
1335
    if test x"${rheo_have_doubledouble}" = x"yes"; then
1320
1336
        echo "    ERROR: incompatible options doubledouble and spooles"; exit 1
1380
1396
    [  rheo_incdir_spooles="" # will try to auto-detect from incdir
1381
1397
    ]
1382
1398
)
1383
 
if test x"$enable_new_code" != x"yes"; then
 
1399
if test x"$rheo_enable_new_code" != x"yes"; then
1384
1400
  if test x"${rheo_have_mpi}" != x"yes" && test x"${with_spooles}" = x"yes" -a x"$rheo_have_umfpack" != x"yes" -a x"$rheo_have_taucs" != x"yes"; then
1385
1401
      # compiled spooles works with double...
1386
1402
      RHEO_CHECK_SPOOLES
1425
1441
       esac],
1426
1442
    [  rheo_libdir_cgal="" ]
1427
1443
)
1428
 
#if test x"${enable_new_code}" = x"yes"; then
 
1444
#if test x"${rheo_enable_new_code}" = x"yes"; then
1429
1445
RHEO_CHECK_CGAL
1430
1446
#fi
1431
1447
dnl-------------------------------------------------------------------------
1522
1538
        nfem/lib/Makefile               \
1523
1539
        nfem/plib/Makefile              \
1524
1540
        nfem/basis/Makefile             \
 
1541
        nfem/pbasis/Makefile            \
1525
1542
        nfem/form_element/Makefile      \
1526
1543
        nfem/pform_element/Makefile     \
1527
1544
        nfem/sbin/Makefile              \
1597
1614
echo "--------------------------------------"
1598
1615
echo "summary:"
1599
1616
echo "  prefix           : ${prefix}"
 
1617
echo "  c++ compiler     : ${rheo_cxx}"
1600
1618
if test x"${enable_optim}" = x"yes"; then
1601
1619
  echo "        optimization     : machine-dependent"
1602
1620
else
1610
1628
fi
1611
1629
echo "  ginac            : ${rheo_have_ginac}"
1612
1630
# new code case:
1613
 
if test x"${enable_new_code}" = x"yes"; then
 
1631
if test x"${rheo_enable_new_code}" = x"yes"; then
1614
1632
  if test x"${rheo_have_cgal}" = x"yes"; then
1615
1633
      echo "    geometry         : cgal"
1616
1634
  else