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
|
<!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="http://autoconf-archive.cryp.to/ms_check_pgsql_db.m4">Download
M4 Source</a>
</td>
<td style="width:50%;" align="center">
<a href="macros-by-category.html">Macro Index Page</a>
</td>
</tr>
</tbody>
</table>
<hr>
<h1>
ms_check_pgsql_db
</h1>
<h2>
Synopsis
</h2>
<p class="indent" style="white-space:nowrap;">
<code>MS_CHECK_PGSQL_DB([DB], [USER], [HOST], [PASSWORD],
[ACTION_IF_FAILED], [ACTION_IF_OK])</code>
</p>
<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=])
AC_ARG_WITH(pgsql-db,
[ --with-pgsql-db=DATABASE use DATABASE @<:@tarantoola@:>@],
[pg_db=$withval], [pg_db=tarantoola])
AC_ARG_WITH(pgsql-user,
[ --with-pgsql-user=USER use USER @<:@postgres@:>@],
[pg_user=$withval], [pg_user=postgres])
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>
Author
</h2>
<p class="indent">
Moritz Sinn <moritz@freesources.org>
</p>
<h2>
Last Modified
</h2>
<p class="indent">
2002-09-25
</p>
<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>
</body>
</html>
|