File: ax_f90_library_setup.html

package info (click to toggle)
autoconf-archive 20090426-1
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 5,692 kB
  • ctags: 12
  • sloc: sh: 619; makefile: 22
file content (117 lines) | stat: -rw-r--r-- 4,118 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
 <head>
  <title>
   Autoconf Macro: ax_f90_library_setup
  </title>
  <link rel="stylesheet" type="text/css" href="autoconf-archive.css">
  <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 </head>
 <body>
  <table summary="web navigation" style="width:100%;">
   <tbody>
    <tr>
     <td style="width:33%;" align="center" valign="top">
      <a href="macros-by-category.html">Macros by Category</a>
     </td>
     <td style="width:33%;" align="center" valign="top">
      <a href=
      "http://git.cryp.to/autoconf-archive/history/master:/ax_f90_library_setup.m4">
      Revision History</a>
     </td>
     <td style="width:33%;" align="center" valign="top">
      <form method="get" action="http://www.google.com/search">
       <div>
        <input name="sitesearch" value="autoconf-archive.cryp.to" type=
        "hidden">Search: <input name="q" maxlength="255" type="text">
       </div>
      </form>
     </td>
    </tr>
   </tbody>
  </table>
  <hr>
  <h1>
   ax_f90_library_setup
  </h1>
  <h2>
   SYNOPSIS
  </h2>
  <p class="indent" style="white-space:nowrap;">
   <code>AX_F90_LIBRARY_SETUP(LIBRARY, HEADER-REGEXP, MODULE-REGEXP,
   LIB-REGEXP, FUNCTION-BODY)</code>
  </p>
  <h2>
   DESCRIPTION
  </h2>
  <div class="indent">
   <p>
    Convenience macro to set up a fortran 90 library in a simplified way.
    LIBRARY is the name of the library. HEADER-REGEXP is a regular expression
    (used by find) matched by the header file to look for (may be empty).
    MODULE-REGEXP is a regular expression (used by find) matched by the
    filename of the module (may be empty). LIB-REGEXP is a regular expression
    (used by find) matched by the filename of the library, this is useful
    either if the library filename does not follow the traditional libxxx.a or
    libxxx.so pattern, or if some specific information is embedded into the
    name, like compiler used, debugging status ...). FUNCTION-BODY is the body
    of a function (including the 'use' statements and the call to a function
    defined by the library).
   </p>
   <p>
    This macro is a simple wrapper around <a href=
    "ax_f90_module.html">AX_F90_MODULE</a> and <a href=
    "ax_f90_library.html">AX_F90_LIBRARY</a> that uses the parameters provided
    by the end user through a --with-xxx option to set up the search path. Both
    a module and a library will be tested, the same path will be used for both
    tests, so the path must be set up with a common parent directory of both
    the library file and the module file. The macro also automatically updates
    the FCFLAGS, LDFLAGS and LIBS variables in addition to providing the
    F90_HEADER_xxx, F90_MODULE_xxx, F90_LDFLAGS_xxx and F90_LIBS_xxx output
    variables.
   </p>
   <p>
    Example: suppose you have /home/nostradamus/esoteric/lib/libalchemy.a and
    /home/nostradamus/esoteric/mod/alchemy.mod which provides a function
    transmute_into_gold, you can use the following in you configure.ac:
   </p>
   <pre>
  AX_F90_MODULE_EXTENSION
  if test x$ax_cv_f90_modext = xunknown ; then
    AC_MSG_ERROR([unable to find f90 modules extension])
  fi
  AX_F90_LIBRARY_SETUP(alchemy,[],alchemy.$ax_cv_f90_modext,libalchemy*,[
     use alchemy
     call transmute_into_gold('lead')
    ])
</pre>
   <p>
    and the user could configure your package using a command like this:
   </p>
   <pre>
  ./configure --with-alchemy=$HOME/esoteric
</pre>
  </div>
  <h2>
   SOURCE CODE
  </h2>
  <p class="indent">
   <a href=
   "http://autoconf-archive.cryp.to/ax_f90_library_setup.m4">http://autoconf-archive.cryp.to/ax_f90_library_setup.m4</a>
  </p>
  <h2>
   LICENSE
  </h2>
  <div class="indent">
   <p style="white-space:nowrap;">
    Copyright &copy; 2009 Luc Maisonobe &lt;luc@spaceroots.org&gt;
   </p>
   <p>
    Copying and distribution of this file, with or without modification, are
    permitted in any medium without royalty provided the copyright notice and
    this notice are preserved.
   </p>
  </div>
 </body>
</html>