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 © 2009 Luc Maisonobe <luc@spaceroots.org>
</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>
|