annotate m4/ax_lapack.m4 @ 20651:e54ecb33727e

lo-array-gripes.cc: Remove FIXME's related to buffer size. * lo-array-gripes.cc: Remove FIXME's related to buffer size. Shorten sprintf buffers from 100 to 64 characters (still well more than 19 required). Use 'const' decorator on constant value for clarity. Remove extra space between variable and array bracket.
author Rik <rik@octave.org>
date Mon, 12 Oct 2015 21:13:47 -0700
parents 97b8d462ef11
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
1 # ===========================================================================
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
2 # http://www.gnu.org/software/autoconf-archive/ax_lapack.html
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
3 # ===========================================================================
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
4 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
5 # SYNOPSIS
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
6 #
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
7 # AX_LAPACK([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
8 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
9 # DESCRIPTION
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
10 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
11 # This macro looks for a library that implements the LAPACK linear-algebra
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
12 # interface (see http://www.netlib.org/lapack/). On success, it sets the
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
13 # LAPACK_LIBS output variable to hold the requisite library linkages.
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
14 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
15 # To link with LAPACK, you should link with:
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
16 #
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
17 # $LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
18 #
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
19 # in that order. BLAS_LIBS is the output variable of the AX_BLAS macro,
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
20 # called automatically. FLIBS is the output variable of the
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
21 # AC_F77_LIBRARY_LDFLAGS macro (called if necessary by AX_BLAS), and is
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
22 # sometimes necessary in order to link with F77 libraries. Users will also
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
23 # need to use AC_F77_DUMMY_MAIN (see the autoconf manual), for the same
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
24 # reason.
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
25 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
26 # The user may also use --with-lapack=<lib> in order to use some specific
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
27 # LAPACK library <lib>. In order to link successfully, however, be aware
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
28 # that you will probably need to use the same Fortran compiler (which can
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
29 # be set via the F77 env. var.) as was used to compile the LAPACK and BLAS
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
30 # libraries.
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
31 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
32 # ACTION-IF-FOUND is a list of shell commands to run if a LAPACK library
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
33 # is found, and ACTION-IF-NOT-FOUND is a list of commands to run it if it
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
34 # is not found. If ACTION-IF-FOUND is not specified, the default action
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
35 # will define HAVE_LAPACK.
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
36 #
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
37 # LICENSE
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
38 #
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
39 # Copyright (c) 2009 Steven G. Johnson <stevenj@alum.mit.edu>
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
40 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
41 # This program is free software: you can redistribute it and/or modify it
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
42 # under the terms of the GNU General Public License as published by the
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
43 # Free Software Foundation, either version 3 of the License, or (at your
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
44 # option) any later version.
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
45 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
46 # This program is distributed in the hope that it will be useful, but
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
47 # WITHOUT ANY WARRANTY; without even the implied warranty of
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
48 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
49 # Public License for more details.
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
50 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
51 # You should have received a copy of the GNU General Public License along
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
52 # with this program. If not, see <http://www.gnu.org/licenses/>.
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
53 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
54 # As a special exception, the respective Autoconf Macro's copyright owner
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
55 # gives unlimited permission to copy, distribute and modify the configure
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
56 # scripts that are the output of Autoconf when processing the Macro. You
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
57 # need not follow the terms of the GNU General Public License when using
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
58 # or distributing such scripts, even though portions of the text of the
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
59 # Macro appear in them. The GNU General Public License (GPL) does govern
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
60 # all other use of the material that constitutes the Autoconf Macro.
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
61 #
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
62 # This special exception to the GPL applies to versions of the Autoconf
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
63 # Macro released by the Autoconf Archive. When you make and distribute a
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
64 # modified version of the Autoconf Macro, you may extend this special
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
65 # exception to the GPL to apply to your modified version as well.
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
66
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
67 #serial 7
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
68
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
69 AU_ALIAS([ACX_LAPACK], [AX_LAPACK])
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
70 AC_DEFUN([AX_LAPACK], [
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
71 AC_REQUIRE([AX_BLAS])
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
72 ax_lapack_ok=no
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
73
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
74 AC_ARG_WITH(lapack,
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
75 [AS_HELP_STRING([--with-lapack=<lib>], [use LAPACK library <lib>])])
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
76 case $with_lapack in
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
77 yes | "") ;;
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
78 no) ax_lapack_ok=disable ;;
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
79 -* | */* | *.a | *.so | *.so.* | *.o) LAPACK_LIBS="$with_lapack" ;;
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
80 *) LAPACK_LIBS="-l$with_lapack" ;;
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
81 esac
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
82
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
83 # Get fortran linker name of LAPACK function to check for.
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
84 AC_F77_FUNC(cheev)
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
85
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
86 # We cannot use LAPACK if BLAS is not found
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
87 if test "x$ax_blas_ok" != xyes; then
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
88 ax_lapack_ok=noblas
8027
fd13f9f7dbac update macros from cryp.to auoconf archive
Jaroslav Hajek <highegg@gmail.com>
parents: 6208
diff changeset
89 LAPACK_LIBS=""
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
90 fi
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
91
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
92 # First, check LAPACK_LIBS environment variable
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
93 if test "x$LAPACK_LIBS" != x; then
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
94 save_LIBS="$LIBS"; LIBS="$LAPACK_LIBS $BLAS_LIBS $LIBS $FLIBS"
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
95 AC_MSG_CHECKING([for $cheev in $LAPACK_LIBS])
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
96 AC_TRY_LINK_FUNC($cheev, [ax_lapack_ok=yes], [LAPACK_LIBS=""])
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
97 AC_MSG_RESULT($ax_lapack_ok)
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
98 LIBS="$save_LIBS"
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
99 if test $ax_lapack_ok = no; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
100 LAPACK_LIBS=""
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
101 fi
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
102 fi
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
103
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
104 # LAPACK linked to by default? (is sometimes included in BLAS lib)
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
105 if test $ax_lapack_ok = no; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
106 save_LIBS="$LIBS"; LIBS="$LIBS $BLAS_LIBS $FLIBS"
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
107 AC_CHECK_FUNC($cheev, [ax_lapack_ok=yes])
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
108 LIBS="$save_LIBS"
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
109 fi
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
110
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
111 # Generic LAPACK library?
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
112 for lapack in lapack lapack_rs6k; do
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
113 if test $ax_lapack_ok = no; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
114 save_LIBS="$LIBS"; LIBS="$BLAS_LIBS $LIBS"
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
115 AC_CHECK_LIB($lapack, $cheev,
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
116 [ax_lapack_ok=yes; LAPACK_LIBS="-l$lapack"], [], [$FLIBS])
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
117 LIBS="$save_LIBS"
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
118 fi
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
119 done
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
120
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
121 AC_SUBST(LAPACK_LIBS)
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
122
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
123 # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND:
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
124 if test x"$ax_lapack_ok" = xyes; then
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
125 ifelse([$1],,AC_DEFINE(HAVE_LAPACK,1,[Define if you have LAPACK library.]),[$1])
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
126 :
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
127 else
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
128 ax_lapack_ok=no
3887
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
129 $2
7da18459c08b [project @ 2002-04-04 00:44:21 by jwe]
jwe
parents:
diff changeset
130 fi
10951
97b8d462ef11 Update m4 macros.
Ben Abbott <bpabbott@mac.com>
parents: 9645
diff changeset
131 ])dnl AX_LAPACK