diff options
author | Christian Grothoff <christian@grothoff.org> | 2019-02-11 21:06:14 +0100 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2019-02-11 21:06:14 +0100 |
commit | 245de27e80bf9df771b2ee892a3145f9373eebe5 (patch) | |
tree | b6c0c5daa9b1d225eb94c4b28e640d2338f165fc /m4/ax_lib_postgresql.m4 | |
parent | 8795d17b84f1431ed108dc410ace2f4b86538442 (diff) | |
download | gnunet-secushare-245de27e80bf9df771b2ee892a3145f9373eebe5.tar.gz gnunet-secushare-245de27e80bf9df771b2ee892a3145f9373eebe5.zip |
add missing files
Diffstat (limited to 'm4/ax_lib_postgresql.m4')
-rw-r--r-- | m4/ax_lib_postgresql.m4 | 247 |
1 files changed, 247 insertions, 0 deletions
diff --git a/m4/ax_lib_postgresql.m4 b/m4/ax_lib_postgresql.m4 new file mode 100644 index 0000000..cc8e750 --- /dev/null +++ b/m4/ax_lib_postgresql.m4 | |||
@@ -0,0 +1,247 @@ | |||
1 | # =========================================================================== | ||
2 | # https://www.gnu.org/software/autoconf-archive/ax_lib_postgresql.html | ||
3 | # =========================================================================== | ||
4 | # | ||
5 | # SYNOPSIS | ||
6 | # | ||
7 | # AX_LIB_POSTGRESQL([MINIMUM-VERSION],[ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND]) | ||
8 | # | ||
9 | # DESCRIPTION | ||
10 | # | ||
11 | # This macro provides tests of availability of PostgreSQL 'libpq' library | ||
12 | # of particular version or newer. | ||
13 | # | ||
14 | # AX_LIB_POSTGRESQL macro takes only one argument which is optional. If | ||
15 | # there is no required version passed, then macro does not run version | ||
16 | # test. | ||
17 | # | ||
18 | # The --with-postgresql option takes one of three possible values: | ||
19 | # | ||
20 | # no - do not check for PostgreSQL client library | ||
21 | # | ||
22 | # yes - do check for PostgreSQL library in standard locations (pg_config | ||
23 | # should be in the PATH) | ||
24 | # | ||
25 | # path - complete path to pg_config utility, use this option if pg_config | ||
26 | # can't be found in the PATH (You could set also PG_CONFIG variable) | ||
27 | # | ||
28 | # This macro calls: | ||
29 | # | ||
30 | # AC_SUBST(POSTGRESQL_CPPFLAGS) | ||
31 | # AC_SUBST(POSTGRESQL_LDFLAGS) | ||
32 | # AC_SUBST(POSTGRESQL_LIBS) | ||
33 | # AC_SUBST(POSTGRESQL_VERSION) | ||
34 | # | ||
35 | # And sets: | ||
36 | # | ||
37 | # HAVE_POSTGRESQL | ||
38 | # | ||
39 | # It execute if found ACTION-IF-FOUND (empty by default) and | ||
40 | # ACTION-IF-NOT-FOUND (AC_MSG_FAILURE by default) if not found. | ||
41 | # | ||
42 | # LICENSE | ||
43 | # | ||
44 | # Copyright (c) 2008 Mateusz Loskot <mateusz@loskot.net> | ||
45 | # Copyright (c) 2014 Sree Harsha Totakura <sreeharsha@totakura.in> | ||
46 | # Copyright (c) 2018 Bastien Roucaries <rouca@debian.org> | ||
47 | # | ||
48 | # Copying and distribution of this file, with or without modification, are | ||
49 | # permitted in any medium without royalty provided the copyright notice | ||
50 | # and this notice are preserved. This file is offered as-is, without any | ||
51 | # warranty. | ||
52 | |||
53 | #serial 22 | ||
54 | |||
55 | AC_DEFUN([_AX_LIB_POSTGRESQL_OLD],[ | ||
56 | found_postgresql="no" | ||
57 | _AX_LIB_POSTGRESQL_OLD_fail="no" | ||
58 | while true; do | ||
59 | AC_CACHE_CHECK([for the pg_config program], [ac_cv_path_PG_CONFIG], | ||
60 | [AC_PATH_PROGS_FEATURE_CHECK([PG_CONFIG], [pg_config], | ||
61 | [[ac_cv_path_PG_CONFIG="";$ac_path_PG_CONFIG --includedir > /dev/null \ | ||
62 | && ac_cv_path_PG_CONFIG=$ac_path_PG_CONFIG ac_path_PG_CONFIG_found=:]], | ||
63 | [ac_cv_path_PG_CONFIG=""])]) | ||
64 | PG_CONFIG=$ac_cv_path_PG_CONFIG | ||
65 | AS_IF([test "X$PG_CONFIG" = "X"],[break]) | ||
66 | |||
67 | AC_CACHE_CHECK([for the PostgreSQL libraries CPPFLAGS],[ac_cv_POSTGRESQL_CPPFLAGS], | ||
68 | [ac_cv_POSTGRESQL_CPPFLAGS="-I`$PG_CONFIG --includedir`" || _AX_LIB_POSTGRESQL_OLD_fail=yes]) | ||
69 | AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break]) | ||
70 | POSTGRESQL_CPPFLAGS="$ac_cv_POSTGRESQL_CPPFLAGS" | ||
71 | |||
72 | AC_CACHE_CHECK([for the PostgreSQL libraries LDFLAGS],[ac_cv_POSTGRESQL_LDFLAGS], | ||
73 | [ac_cv_POSTGRESQL_LDFLAGS="-L`$PG_CONFIG --libdir`" || _AX_LIB_POSTGRESQL_OLD_fail=yes]) | ||
74 | AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break]) | ||
75 | POSTGRESQL_LDFLAGS="$ac_cv_POSTGRESQL_LDFLAGS" | ||
76 | |||
77 | AC_CACHE_CHECK([for the PostgreSQL libraries LIBS],[ac_cv_POSTGRESQL_LIBS], | ||
78 | [ac_cv_POSTGRESQL_LIBS="-lpq"]) | ||
79 | POSTGRESQL_LIBS="$ac_cv_POSTGRESQL_LIBS" | ||
80 | |||
81 | AC_CACHE_CHECK([for the PostgreSQL version],[ac_cv_POSTGRESQL_VERSION], | ||
82 | [ | ||
83 | ac_cv_POSTGRESQL_VERSION=`$PG_CONFIG --version | sed "s/^PostgreSQL[[[:space:]]][[[:space:]]]*\([[0-9.]][[0-9.]]*\).*/\1/"` \ | ||
84 | || _AX_LIB_POSTGRESQL_OLD_fail=yes | ||
85 | ]) | ||
86 | AS_IF([test "X$_AX_LIB_POSTGRESQL_OLD_fail" = "Xyes"],[break]) | ||
87 | POSTGRESQL_VERSION="$ac_cv_POSTGRESQL_VERSION" | ||
88 | |||
89 | |||
90 | dnl | ||
91 | dnl Check if required version of PostgreSQL is available | ||
92 | dnl | ||
93 | AS_IF([test X"$postgresql_version_req" != "X"],[ | ||
94 | AC_MSG_CHECKING([if PostgreSQL version $POSTGRESQL_VERSION is >= $postgresql_version_req]) | ||
95 | AX_COMPARE_VERSION([$POSTGRESQL_VERSION],[ge],[$postgresql_version_req], | ||
96 | [found_postgresql_req_version=yes],[found_postgresql_req_version=no]) | ||
97 | AC_MSG_RESULT([$found_postgresql_req_version]) | ||
98 | ]) | ||
99 | AS_IF([test "Xfound_postgresql_req_version" = "Xno"],[break]) | ||
100 | |||
101 | found_postgresql="yes" | ||
102 | break | ||
103 | done | ||
104 | ]) | ||
105 | |||
106 | AC_DEFUN([_AX_LIB_POSTGRESQL_PKG_CONFIG], | ||
107 | [ | ||
108 | AC_REQUIRE([PKG_PROG_PKG_CONFIG]) | ||
109 | found_postgresql=no | ||
110 | |||
111 | while true; do | ||
112 | PKG_PROG_PKG_CONFIG | ||
113 | AS_IF([test X$PKG_CONFIG = X],[break]) | ||
114 | |||
115 | _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=no; | ||
116 | AS_IF([test "X$postgresql_version_req" = "X"], | ||
117 | [PKG_CHECK_EXISTS([libpq],[found_postgresql_pkg_config=yes],[found_postgresql=no])], | ||
118 | [PKG_CHECK_EXISTS([libpq >= "$postgresql_version_req"], | ||
119 | [found_postgresql=yes],[found_postgresql=no])]) | ||
120 | AS_IF([test "X$found_postgresql" = "no"],[break]) | ||
121 | |||
122 | AC_CACHE_CHECK([for the PostgreSQL libraries CPPFLAGS],[ac_cv_POSTGRESQL_CPPFLAGS], | ||
123 | [ac_cv_POSTGRESQL_CPPFLAGS="`$PKG_CONFIG libpq --cflags-only-I`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes]) | ||
124 | AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break]) | ||
125 | POSTGRESQL_CPPFLAGS="$ac_cv_POSTGRESQL_CPPFLAGS" | ||
126 | |||
127 | |||
128 | AC_CACHE_CHECK([for the PostgreSQL libraries LDFLAGS],[ac_cv_POSTGRESQL_LDFLAGS], | ||
129 | [ac_cv_POSTGRESQL_LDFLAGS="`$PKG_CONFIG libpq --libs-only-L --libs-only-other`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes]) | ||
130 | AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break]) | ||
131 | POSTGRESQL_LDFLAGS="$ac_cv_POSTGRESQL_LDFLAGS" | ||
132 | |||
133 | |||
134 | AC_CACHE_CHECK([for the PostgreSQL libraries LIBS],[ac_cv_POSTGRESQL_LIBS], | ||
135 | [ac_cv_POSTGRESQL_LIBS="`$PKG_CONFIG libpq --libs-only-l`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=ye]) | ||
136 | AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break]) | ||
137 | POSTGRESQL_LIBS="$ac_cv_POSTGRESQL_LIBS" | ||
138 | |||
139 | dnl already checked by exist but need to be recovered | ||
140 | AC_CACHE_CHECK([for the PostgreSQL version],[ac_cv_POSTGRESQL_VERSION], | ||
141 | [ac_cv_POSTGRESQL_VERSION="`$PKG_CONFIG libpq --modversion`" || _AX_LIB_POSTGRESQL_PKG_CONFIG_fail=yes]) | ||
142 | AS_IF([test "X$_AX_LIB_POSTGRESQL_PKG_CONFIG_fail" = "Xyes"],[break]) | ||
143 | POSTGRESQL_VERSION="$ac_cv_POSTGRESQL_VERSION" | ||
144 | |||
145 | found_postgresql=yes | ||
146 | break; | ||
147 | done | ||
148 | |||
149 | ]) | ||
150 | |||
151 | |||
152 | |||
153 | AC_DEFUN([AX_LIB_POSTGRESQL], | ||
154 | [ | ||
155 | AC_ARG_WITH([postgresql], | ||
156 | AS_HELP_STRING([--with-postgresql=@<:@ARG@:>@], | ||
157 | [use PostgreSQL library @<:@default=yes@:>@, optionally specify path to pg_config] | ||
158 | ), | ||
159 | [ | ||
160 | AS_CASE([$withval], | ||
161 | [[[nN]][[oO]]],[want_postgresql="no"], | ||
162 | [[[yY]][[eE]][[sS]]],[want_postgresql="yes"], | ||
163 | [ | ||
164 | want_postgresql="yes" | ||
165 | PG_CONFIG="$withval" | ||
166 | ]) | ||
167 | ], | ||
168 | [want_postgresql="yes"] | ||
169 | ) | ||
170 | |||
171 | AC_ARG_VAR([POSTGRESQL_CPPFLAGS],[cpp flags for PostgreSQL overriding detected flags]) | ||
172 | AC_ARG_VAR([POSTGRESQL_LIBFLAGS],[libs for PostgreSQL overriding detected flags]) | ||
173 | AC_ARG_VAR([POSTGRESQL_LDFLAGS],[linker flags for PostgreSQL overriding detected flags]) | ||
174 | |||
175 | # populate cache | ||
176 | AS_IF([test "X$POSTGRESQL_CPPFLAGS" != X],[ac_cv_POSTGRESQL_CPPFLAGS="$POSTGRESQL_CPPFLAGS"]) | ||
177 | AS_IF([test "X$POSTGRESQL_LDFLAGS" != X],[ac_cv_POSTGRESQL_LDFLAGS="$POSTGRESQL_LDFLAGS"]) | ||
178 | AS_IF([test "X$POSTGRESQL_LIBS" != X],[ac_cv_POSTGRESQL_LIBS="$POSTGRESQL_LIBS"]) | ||
179 | |||
180 | postgresql_version_req=ifelse([$1], [], [], [$1]) | ||
181 | found_postgresql="no" | ||
182 | |||
183 | POSTGRESQL_VERSION="" | ||
184 | |||
185 | dnl | ||
186 | dnl Check PostgreSQL libraries (libpq) | ||
187 | dnl | ||
188 | AS_IF([test X"$want_postgresql" = "Xyes"],[ | ||
189 | _AX_LIB_POSTGRESQL_PKG_CONFIG | ||
190 | |||
191 | |||
192 | AS_IF([test X"$found_postgresql" = "Xno"], | ||
193 | [_AX_LIB_POSTGRESQL_OLD]) | ||
194 | |||
195 | AS_IF([test X"$found_postgresql" = Xyes],[ | ||
196 | _AX_LIB_POSTGRESQL_OLD_CPPFLAGS="$CPPFLAGS" | ||
197 | CPPFLAGS="$CPPFLAGS $POSTGRESQL_CPPFLAGS" | ||
198 | _AX_LIB_POSTGRESQL_OLD_LDFLAGS="$LDFLAGS" | ||
199 | LDFLAGS="$LDFLAGS $POSTGRESQL_LDFLAGS" | ||
200 | _AX_LIB_POSTGRESQL_OLD_LIBS="$LIBS" | ||
201 | LIBS="$LIBS $POSTGRESQL_LIBS" | ||
202 | while true; do | ||
203 | dnl try to compile | ||
204 | AC_CHECK_HEADER([libpq-fe.h],[],[found_postgresql=no]) | ||
205 | AS_IF([test "X$found_postgresql" = "Xno"],[break]) | ||
206 | dnl try now to link | ||
207 | AC_CACHE_CHECK([for the PostgreSQL library linking is working],[ac_cv_postgresql_found], | ||
208 | [ | ||
209 | AC_LINK_IFELSE([ | ||
210 | AC_LANG_PROGRAM( | ||
211 | [ | ||
212 | #include <libpq-fe.h> | ||
213 | ], | ||
214 | [[ | ||
215 | char conninfo[]="dbname = postgres"; | ||
216 | PGconn *conn; | ||
217 | conn = PQconnectdb(conninfo); | ||
218 | ]] | ||
219 | ) | ||
220 | ],[ac_cv_postgresql_found=yes], | ||
221 | [ac_cv_postgresql_found=no]) | ||
222 | ]) | ||
223 | found_postgresql="$ac_cv_postgresql_found" | ||
224 | AS_IF([test "X$found_postgresql" = "Xno"],[break]) | ||
225 | break | ||
226 | done | ||
227 | CPPFLAGS="$_AX_LIB_POSTGRESQL_OLD_CPPFLAGS" | ||
228 | LDFLAGS="$_AX_LIB_POSTGRESQL_OLD_LDFLAGS" | ||
229 | LIBS="$_AX_LIB_POSTGRESQL_OLD_LIBS" | ||
230 | ]) | ||
231 | |||
232 | |||
233 | AS_IF([test "x$found_postgresql" = "xyes"],[ | ||
234 | AC_DEFINE([HAVE_POSTGRESQL], [1], | ||
235 | [Define to 1 if PostgreSQL libraries are available])]) | ||
236 | ]) | ||
237 | |||
238 | AC_SUBST([POSTGRESQL_VERSION]) | ||
239 | AC_SUBST([POSTGRESQL_CPPFLAGS]) | ||
240 | AC_SUBST([POSTGRESQL_LDFLAGS]) | ||
241 | AC_SUBST([POSTGRESQL_LIBS]) | ||
242 | |||
243 | AS_IF([test "x$found_postgresql" = "xyes"], | ||
244 | [ifelse([$2], , :, [$2])], | ||
245 | [ifelse([$3], , AS_IF([test X"$want_postgresql" = "Xyes"],[AC_MSG_ERROR([Library requirements (PostgreSQL) not met.])],[:]), [$3])]) | ||
246 | |||
247 | ]) | ||