source: trunk/Clp/configure.ac @ 1692

Last change on this file since 1692 was 1692, checked in by stefan, 9 years ago

recognize ThirdParty/Mumps?; build ClpCholeskyMumps? only if Mumps available; fixes for recognizing if Ufl is present

  • Property svn:keywords set to Id
File size: 6.4 KB
Line 
1# Copyright (C) 2006 International Business Machines.
2# All Rights Reserved.
3# This file is distributed under the Eclipse Public License.
4
5## $Id: configure.ac 1692 2011-03-05 18:05:01Z stefan $
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([Clp],[trunk],[clp@list.coin-or.org])
16
17AC_COPYRIGHT([
18Copyright 2006 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(src/ClpSimplex.cpp)
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
33#############################################################################
34#                         Standard build tool stuff                         #
35#############################################################################
36
37# Get the system type
38AC_CANONICAL_BUILD
39
40# If this project depends on external projects, the Externals file in
41# the source root directory contains definition of where to find those
42# externals.  The following macro ensures that those externals are
43# retrieved by svn if they are not there yet.
44AC_COIN_PROJECTDIR_INIT(Clp)
45
46# Check if user wants to produce debugging code
47AC_COIN_DEBUG_COMPILE(Clp)
48
49# Get the name of the C++ compiler and appropriate compiler options
50AC_COIN_PROG_CXX
51
52# Initialize automake and libtool
53AC_COIN_INIT_AUTO_TOOLS
54
55#############################################################################
56#                              COIN-OR components                           #
57#############################################################################
58
59AC_COIN_CHECK_PACKAGE(CoinUtils, [coinutils], [ClpLib])
60if test $coin_has_coinutils != yes ; then
61  AC_MSG_ERROR([Required package CoinUtils not available.])
62fi
63AC_COIN_CHECK_PACKAGE(Osi,       [osi],               [OsiClpLib])
64AC_COIN_CHECK_PACKAGE(OsiTests,  [osi-unittests])
65AC_COIN_CHECK_PACKAGE(Sample,    [coindatasample])
66AC_COIN_CHECK_PACKAGE(Netlib,    [coindatanetlib])
67
68#############################################################################
69#                        Third party linear solvers                         #
70#############################################################################
71
72# AMD from UFL
73AC_COIN_CHECK_USER_LIBRARY(AMD, AMD, [amd.h], [amd_defaults],,[ClpLib])
74
75# CHOLMOD from UFL
76# CHOLMOD requires AMD, which can be given by AMD_LIBS
77# CHOLMOD requires Blas and Lapack, which should be in COINUTILS_LIBS, if available
78coin_save_LIBS="$LIBS"
79LIBS="$LIBS $AMD_LIBS $COINUTILS_LIBS"
80AC_COIN_CHECK_USER_LIBRARY(CHOLMOD, CHOLMOD, [cholmod.h], [cholmod_start],,[ClpLib])
81LIBS="$coin_save_LIBS"
82
83# Glpk also brings AMD
84if test $coin_has_cholmod = false -a $coin_has_amd = false ; then
85  AC_COIN_CHECK_PACKAGE(Glpk, [coinglpk >= 4.39], [ClpLib])
86  if test $coin_has_glpk = yes ; then
87    AC_MSG_NOTICE([using AMD from GLPK package])
88    AC_DEFINE(COIN_HAS_AMD,[1],[Define to 1 if the AMD package is available])
89  fi
90else
91  # for configure
92  AM_CONDITIONAL(COIN_HAS_GLPK, [test 0 = 1])
93fi
94
95# MUMPS
96AC_COIN_CHECK_PACKAGE(Mumps, [coinmumps], [ClpLib])
97
98# WSMP
99AC_ARG_WITH([wsmp],
100            AC_HELP_STRING([--with-wsmp],
101                           [specify WSMP library]),
102            [use_wsmp=$withval], [use_wsmp=no])
103
104if test "$use_wsmp" != "no"; then
105  CLPLIB_LIBS="$use_wsmp $CLPLIB_LIBS"
106  CLPLIB_PCLIBS="$use_wsmp $CLPLIB_PCLIBS"
107
108  defval=
109  AC_MSG_CHECKING([whether user-supplied WSMP library \"$use_wsmp\" works (symbol wssmp_)])
110  AC_TRY_LINK([],[wssmp_()],
111              [AC_MSG_RESULT(yes)
112               defval=2],
113              [AC_MSG_RESULT(no)])
114  if test "$defval" = ""; then
115    AC_MSG_CHECKING([whether user-supplied WSMP library \"$use_wsmp\" works (symbol wssmp)])
116    AC_TRY_LINK([],[wssmp()],
117                [AC_MSG_RESULT(yes)
118                 defval=3],
119                [AC_MSG_RESULT(no)])
120  fi
121  if test "x$defval" = "x"; then
122    AC_MSG_ERROR([WSMP library $use_wsmp does not seem to work])
123  fi
124
125  AC_DEFINE_UNQUOTED([WSSMP_BARRIER], [$defval],
126                     [Define to 2 if wssmp_ is available, and to 3 if wssmp is available])
127fi
128
129#############################################################################
130#                             Other dependencies                            #
131#############################################################################
132
133AC_COIN_CHECK_GNU_READLINE(ClpLib)
134
135##############################################################################
136#                   VPATH links for example input files                      #
137##############################################################################
138
139# In case this is a VPATH configuration we need to make sure that the
140# input files for the examples are available in the VPATH directory.
141
142AC_COIN_VPATH_LINK(examples/hello.mps)
143AC_COIN_VPATH_LINK(examples/input.130)
144
145#############################################################################
146#                  Check for doxygen                                        #
147#############################################################################
148
149AC_COIN_DOXYGEN(CoinUtils Osi)
150
151##############################################################################
152#                   Finishing up by writing all the output                   #
153##############################################################################
154
155# Here list all the files that configure should create (except for the
156# configuration header file)
157AC_CONFIG_FILES([Makefile
158                 examples/Makefile
159                 src/Makefile
160                 src/OsiClp/Makefile
161                 test/Makefile
162                 clp.pc
163                 clp-uninstalled.pc])
164                 
165if test $coin_has_osi = yes ; then
166  AC_CONFIG_FILES([osi-clp.pc:src/OsiClp/osi-clp.pc.in
167                   osi-clp-uninstalled.pc:src/OsiClp/osi-clp-uninstalled.pc.in])
168fi
169
170AC_CONFIG_FILES([doxydoc/doxygen.conf])
171
172# Here put the location and name of the configuration header file
173AC_CONFIG_HEADER([inc/config_clp.h])
174
175# Finally, we let configure write all the output...
176AC_COIN_FINALIZE
Note: See TracBrowser for help on using the repository browser.