source: ThirdParty/Mumps/stable/1.5/configure.ac @ 3420

Last change on this file since 3420 was 3420, checked in by tkr, 5 years ago

temporarily committing release candidate

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.6 KB
Line 
1# Copyright (C) 2007-2009 International Business Machines.
2# All Rights Reserved.
3# This file is distributed under the Eclipse Public License.
4
5## $Id: configure.ac 3420 2015-02-06 23:34:43Z tkr $
6
7# Author:  Andreas Waechter            IBM    2006-04-13
8
9#############################################################################
10#                       Names and other basic things                        #
11#############################################################################
12
13AC_PREREQ(2.59)
14
15AC_INIT([ThirdPartyMumps],[1.5.1],[http://projects.coin-or.org/BuildTools/newticket])
16
17AC_COPYRIGHT([
18Copyright 2007-2009 International Business Machines and others.
19All Rights Reserved.
20This file is part of the open source package Coin which is distributed
21under the Eclipse Public License.])
22
23# List one file in the package so that the configure script can test
24# whether the package is actually there
25AC_CONFIG_SRCDIR(MUMPS/src/dmumps_part1.F)
26
27# Where should everything be installed by default?  Here, we want it
28# to be installed directly in 'bin', 'lib', 'include' subdirectories
29# of the directory where configure is run.  The default would be
30# /usr/local.
31AC_PREFIX_DEFAULT([`pwd`])
32
33AC_COIN_PROJECTDIR_INIT(Mumps,6:1:5)
34
35#############################################################################
36#                         Standard build tool stuff                         #
37#############################################################################
38
39# Get the system type
40AC_CANONICAL_BUILD
41
42#turn off warnings and pedantic mode since they could make trouble on some platforms,
43#and we couldn't fix them anyway
44coin_skip_warn_cflags=yes
45coin_skip_warn_fflags=yes
46
47# Check if user wants to produce debugging code
48AC_COIN_DEBUG_COMPILE(Mumps)
49
50# Get the name of the C compiler
51AC_COIN_PROG_CC
52
53# Get the name of the Fortran compiler and appropriate compiler options
54AC_COIN_PROG_F77
55
56# Find out how to call Fortran from C and determine Fortran runtime libraries
57AC_COIN_F77_WRAPPERS
58
59# Add FLIBS to MUMPS_PCLIBS, so that they get into the .pc files
60MUMPS_PCLIBS="$FLIBS"
61
62# We need to translate the result from autoconf to what MUMPS wants
63case "$ac_cv_f77_mangling" in
64  "lower case, no underscore, no extra underscore")
65  ;;
66  "lower case, underscore, no extra underscore")
67  MY_DEFS="-DAdd_"
68  ;;
69  "lower case, no underscore, extra underscore")
70  MY_DEFS="-DAdd_"
71  ;;
72  "lower case, underscore, extra underscore")
73  MY_DEFS="-DAdd__"
74  ;;
75  "upper case, no underscore, no extra underscore")
76  MY_DEFS="-DUPPER"
77  ;;
78  "upper case, no underscore, extra underscore")
79  MY_DEFS="-DUPPER"
80  ;;
81  "upper case, underscore, no extra underscore")
82  MY_DEFS="-DUPPER"
83  ;;
84  "upper case, underscore, extra underscore")
85  MY_DEFS="-DUPPER"
86  ;;
87esac
88
89# Mumps can make use of pthreads
90# check for pthread.h header file and library
91AC_ARG_ENABLE([pthread-mumps],
92  [AC_HELP_STRING([--disable-pthread-mumps],[disable use of pthread library])],
93  [enable_pthread_mumps=$enableval],
94  [enable_pthread_mumps=no])
95if test $enable_pthread_mumps = yes ; then
96  AC_COIN_CHECK_HEADER([pthread.h],[],[enable_pthread_mumps=no])
97fi
98if test $enable_pthread_mumps = yes ; then
99  AC_CHECK_LIB([pthread],[pthread_create],
100    [MUMPS_PCLIBS="-lpthread $MUMPS_PCLIBS"],
101    [enable_pthread_mumps=no])
102fi
103if test $enable_pthread_mumps = no ; then
104  MY_DEFS="$MY_DEFS -DWITHOUT_PTHREAD=1"
105fi
106
107MY_DEFS="$MY_DEFS -DALLOW_NON_INIT -DMUMPS_ARITH=MUMPS_ARITH_d"
108AC_SUBST(MY_DEFS)
109
110# Initialize automake
111AC_COIN_INIT_AUTO_TOOLS
112
113AC_COIN_CHECK_PACKAGE_BLAS(MUMPS)
114AC_COIN_CHECK_PACKAGE(Metis, [coinmetis], MUMPS)
115
116if test "$coin_has_metis" = yes; then
117  MY_DEFS="$MY_DEFS -Dmetis"
118  MY_FDEFS="$MY_FDEFS -Dmetis"
119fi
120
121# Verify that we can compile Fortran 90 code
122AC_MSG_CHECKING([whether we can compile Fortran 90 code])
123AC_LANG_PUSH(Fortran 77)
124AC_COMPILE_IFELSE([        MODULE BLA
125      DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: BLUBB
126      END MODULE BLA],[can_f90=yes],[can_f90=no])
127AC_MSG_RESULT([$can_f90])
128AC_LANG_POP(Fortran 77)
129if test $can_f90 = no; then
130  AC_MSG_ERROR([Your Fortran compiler can't compile Fortran 90, I cannot compile MUMPS])
131fi
132
133MUMPSDIR=MUMPS
134MUMPSOBJDIR=`pwd`
135MUMPSSRCDIR=$abs_source_dir/$coin_mumpsobjdir/$MUMPSDIR
136
137AC_SUBST(MUMPSDIR)
138AC_SUBST(MUMPSOBJDIR)
139AC_SUBST(MUMPSSRCDIR)
140
141# Fix Fortran preprocessor flags
142case $F77 in
143  *xlf*)
144    fdefs=
145    if test -n "$MY_FDEFS"; then
146      for flag in $MY_FDEFS; do
147        fdefs="$fdefs -WF,$flag"
148      done
149    fi
150    MY_FDEFS="$fdefs"
151    ;;
152esac
153AC_SUBST(MY_FDEFS)
154
155AC_MSG_CHECKING([for additional preprocessor C flags])
156AC_MSG_RESULT([$MY_DEFS])
157AC_MSG_CHECKING([for additional preprocessor Fortran flags])
158AC_MSG_RESULT([$MY_FDEFS])
159
160AC_CONFIG_FILES([Makefile coinmumps.pc coinmumps-uninstalled.pc])
161
162AC_COIN_FINALIZE
Note: See TracBrowser for help on using the repository browser.