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 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134
|
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html lang="en">
<head>
<title>Autoconf Macro: ms_check_pgsql_db</title>
<link rel="stylesheet" type="text/css" href="ac-archive.css">
</head>
<body>
<table summary="web navigation" style="width:100%;">
<tbody>
<tr>
<td style="width:50%;" align="center">[<a href="index.html">Macro Index
Page</a>]</td>
<td style="width:50%;" align="center">[<a href=
"../m4source/ms_check_pgsql_db.m4">Download M4 Source</a>]</td>
</tr>
</tbody>
</table>
<hr>
<h1>ms_check_pgsql_db</h1>
<h2>Synopsis</h2>
<div class="indent">
<p style="text-align:left; white-space:nowrap;">
<code>MS_CHECK_PGSQL_DB([DB], [USER], [HOST], [PASSWORD],
[ACTION_IF_FAILED], [ACTION_IF_OK])</code></p>
</div>
<h2>Description</h2>
<div class="indent">
<p>This macro checks wether we can connect to a PostgreSQL server with the
given data. The macro MS_PROG_PGCLIENT is required by this one. The
variable $pgclient_call is set for later use in Makefiles, if you'd like to
make use of this, you must do</p>
<pre>
AC_SUBST(pgclient_call)
</pre>
<p>after having called MS_CHECK_PGSQL_DB. You can then do something like
the following in your Makefile.am:</p>
<pre>
@pgclient_call@ -f file.sql
</pre>
<p>If you want the user to set the data, you should support something like
these configure options:</p>
<pre>
AC_ARG_WITH(pgsql-host,
[ --with-pgsql-host=HOST server is running on HOST @<:@local socket@:>@],
[pg_host=$withval], [pg_host=])
</pre>
<pre>
AC_ARG_WITH(pgsql-db,
[ --with-pgsql-db=DATABASE use DATABASE @<:@tarantoola@:>@],
[pg_db=$withval], [pg_db=tarantoola])
</pre>
<pre>
AC_ARG_WITH(pgsql-user,
[ --with-pgsql-user=USER use USER @<:@postgres@:>@],
[pg_user=$withval], [pg_user=postgres])
</pre>
<pre>
AC_ARG_WITH(pgsql-password,
[ --with-pgsql-password=PASSWORD use PASSWORD @<:@none@:>@],
[pg_password=$withval], [pg_password=""])
</pre>
<p>You can then call the macro like this:</p>
<pre>
MS_CHECK_PGSQL_DB([$pg_db], [$pg_user], [$pg_host], [$pg_password], [AC_MSG_ERROR([We need a database connection!])])
</pre>
</div>
<h2>Version</h2>
<div class="indent">
<p>1.1 (last modified: 2002-09-25)</p>
</div>
<h2>Author</h2>
<div class="indent">
<p>Moritz Sinn <moritz@freesources.org></p>
</div>
<h2>M4 Source Code</h2>
<div class="indent">
<pre class="m4source">
AC_DEFUN([MS_CHECK_PGSQL_DB], [
AC_REQUIRE([MS_PROG_PGCLIENT])
AC_MSG_CHECKING([for PostgreSQL db $1 (user: $2, host: $3)])
pgclient_call="$pgclient"
if test "x$1" != "x"; then
pgclient_call="$pgclient_call dbname=$1";
fi
if test "x$2" != "x"; then
pgclient_call="$pgclient_call user=$2";
fi
if test "x$3" != "x"; then
pgclient_call="$pgclient_call host=$3";
fi
if test "x$4" != "x"; then
pgclient_call="$pgclient_call password=$4";
fi
$pgclient_call -c 'SELECT 1' > /dev/null 2>&1
if test "x$?" = "x0"; then
AC_MSG_RESULT([yes])
$6
else
AC_MSG_RESULT([no])
$5
fi;
])dnl
</pre>
</div>
<h2>Copyright</h2>
<div class="indent">
<a href="COPYING.html">GNU General Public License</a> with this special
<a href="COPYING-Exception.html">exception</a>.
</div>
</body>
</html>
|