configure.ac (16932B)
1 # -*- Autoconf -*- 2 # Process this file with autoconf to produce a configure script. 3 # 4 # This file is part of TALER 5 # Copyright (C) 2014-2023 Taler Systems SA 6 # 7 # TALER is free software; you can redistribute it and/or modify it under the 8 # terms of the GNU General Public License as published by the Free Software 9 # Foundation; either version 3, or (at your option) any later version. 10 # 11 # TALER is distributed in the hope that it will be useful, but WITHOUT ANY 12 # WARRANTY; without even the implied warranty of CHARITYABILITY or FITNESS FOR 13 # A PARTICULAR PURPOSE. See the GNU General Public License for more details. 14 # 15 # You should have received a copy of the GNU General Public License along with 16 # TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/license> 17 # 18 # 19 AC_PREREQ([2.69]) 20 AC_INIT([donau],[1.2.1],[taler-bug@gnunet.org]) 21 AC_CONFIG_AUX_DIR([build-aux]) 22 AC_CONFIG_SRCDIR([src/util/charity_signatures.c]) 23 AC_CONFIG_HEADERS([donau_config.h]) 24 AC_CANONICAL_TARGET 25 AC_CANONICAL_HOST 26 AC_CANONICAL_BUILD 27 # support for non-recursive builds 28 AM_INIT_AUTOMAKE([subdir-objects 1.9 tar-pax]) 29 30 # pretty build rules 31 AM_SILENT_RULES([yes]) 32 33 AC_CONFIG_MACRO_DIR([m4]) 34 AC_PROG_AWK 35 AC_PROG_CC 36 AC_PROG_OBJC 37 AC_PROG_INSTALL 38 AC_PROG_LN_S 39 AC_PROG_MAKE_SET 40 AM_PROG_CC_C_O 41 42 LT_INIT([disable-static dlopen]) 43 44 45 AC_CHECK_PROG([DPKG_ARCH], [dpkg-architecture], [yes], [no]) 46 if test "x$DPKG_ARCH" = "xyes"; then 47 MULTIARCH=`dpkg-architecture -qDEB_HOST_MULTIARCH` 48 else 49 MULTIARCH="" 50 fi 51 52 DX_INIT_DOXYGEN([donau],,, 53 DX_PS_FEATURE(OFF), 54 DX_PDF_FEATURE(OFF), 55 DX_RTF_FEATURE(OFF), 56 DX_CHI_FEATURE(OFF), 57 DX_XML_FEATURE(OFF)) 58 59 AC_MSG_CHECKING([whether to compile documentation ONLY]) 60 AC_ARG_ENABLE([only-doc], 61 [AS_HELP_STRING([--enable-only-doc], [only compile Taler documentation])], 62 [doc_only=${enableval}], 63 [doc_only=no]) 64 AC_MSG_RESULT($doc_only) 65 AM_CONDITIONAL([DOC_ONLY], [test "x$doc_only" = "xyes"]) 66 67 68 # Not indented, as most of the file falls under this one... 69 AS_IF([test "x$doc_only" != xyes],[ 70 71 # Force some CFLAGS 72 CFLAGS="-Wall -Wno-address-of-packed-member $CFLAGS" 73 74 TALER_LIB_LDFLAGS="-export-dynamic -no-undefined" 75 TALER_PLUGIN_LDFLAGS="-export-dynamic -avoid-version -module -no-undefined" 76 77 AC_SUBST(TALER_LIB_LDFLAGS) 78 AC_SUBST(TALER_PLUGIN_LDFLAGS) 79 80 81 # Checks for header files. 82 AC_CHECK_HEADERS([stdint.h stdlib.h string.h unistd.h sys/socket.h sys/un.h netinet/in.h netinet/ip.h]) 83 84 85 # Require minimum libgcrypt version 86 need_libgcrypt_version=1.6.1 87 AC_DEFINE_UNQUOTED([NEED_LIBGCRYPT_VERSION], ["$need_libgcrypt_version"], 88 [minimum version of libgcrypt required]) 89 AM_PATH_LIBGCRYPT([$need_libgcrypt_version]) 90 91 92 93 # should expensive tests be run? 94 AC_MSG_CHECKING(whether to run expensive tests) 95 AC_ARG_ENABLE([expensivetests], 96 [AS_HELP_STRING([--enable-expensivetests], [enable running expensive testcases])], 97 [enable_expensive=${enableval}], 98 [enable_expensive=no]) 99 AC_MSG_RESULT($enable_expensive) 100 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [test "x$enable_expensive" = "xyes"]) 101 102 103 AC_MSG_CHECKING(whether to enable epoll) 104 AC_ARG_ENABLE([[epoll]], 105 [AS_HELP_STRING([[--enable-epoll[=ARG]]], [enable epoll support (yes, no, auto) [auto]])], 106 [enable_epoll=${enableval}], 107 [enable_epoll='auto'] 108 ) 109 AC_MSG_RESULT($enable_epoll) 110 AM_CONDITIONAL([MHD_HAVE_EPOLL], [test "x$enable_epoll" = "xyes"]) 111 112 AS_IF([test "$enable_epoll" != "no"], 113 [AX_HAVE_EPOLL 114 AS_IF([test "${ax_cv_have_epoll}" = "yes"], 115 [AC_DEFINE([[EPOLL_SUPPORT]],[[1]],[Define to 1 to enable epoll support]) 116 enable_epoll='yes'], 117 [AS_IF([test "$enable_epoll" = "yes"], 118 AC_MSG_ERROR([[Support for epoll was explicitly requested but cannot be enabled on this platform.]])) 119 enable_epoll='no'])]) 120 121 122 AS_IF([test "x$enable_epoll" = "xyes"], 123 AC_CACHE_CHECK([for epoll_create1()], 124 [mhd_cv_have_epoll_create1], [ 125 AC_LINK_IFELSE([ 126 AC_LANG_PROGRAM([[ 127 #include <sys/epoll.h> 128 ]], [[ 129 int fd; 130 fd = epoll_create1(EPOLL_CLOEXEC);]])], 131 [mhd_cv_have_epoll_create1=yes], 132 [mhd_cv_have_epoll_create1=no])]) 133 AS_IF([test "x$mhd_cv_have_epoll_create1" = "xyes"],[ 134 AC_DEFINE([[HAVE_EPOLL_CREATE1]], [[1]], [Define if you have epoll_create1 function.])])) 135 136 137 # check for libmicrohttpd 138 AC_MSG_CHECKING([for microhttpd]) 139 AC_ARG_WITH([microhttpd], 140 [AS_HELP_STRING([--with-microhttpd=PFX], [base of microhttpd installation])], 141 [AC_MSG_RESULT([given as $with_microhttpd])], 142 [AC_MSG_RESULT([not given]) 143 with_microhttpd=yes]) 144 AS_CASE([$with_microhttpd], 145 [yes], [], 146 [no], [AC_MSG_ERROR([--with-microhttpd is required])], 147 [LDFLAGS="-L$with_microhttpd/lib/$MULTIARCH -L$with_microhttpd/lib/ $LDFLAGS" 148 CPPFLAGS="-I$with_microhttpd/include $CPPFLAGS"]) 149 MHD_VERSION_AT_LEAST([0.9.71]) 150 151 # check for libjansson (Jansson JSON library) 152 jansson=0 153 AC_MSG_CHECKING([for jansson]) 154 AC_ARG_WITH([jansson], 155 [AS_HELP_STRING([--with-jansson=PFX], [base of jansson installation])], 156 [AC_MSG_RESULT([given as $with_jansson])], 157 [AC_MSG_RESULT([not given]) 158 with_jansson=yes]) 159 AS_CASE([$with_jansson], 160 [yes], [], 161 [no], [AC_MSG_ERROR([--with-jansson is required])], 162 [LDFLAGS="-L$with_jansson/lib/$MULTIARCH -L$with_jansson/lib/ $LDFLAGS" 163 CPPFLAGS="-I$with_jansson/include $CPPFLAGS"]) 164 AC_CHECK_LIB(jansson,json_dumpb, 165 [AC_CHECK_HEADER([jansson.h],[jansson=1])]) 166 AS_IF([test $jansson = 0], 167 [AC_MSG_ERROR([[ 168 *** 169 *** You need libjansson >= 2.10 to build this program. 170 *** ]])]) 171 172 173 # Check for GNUnet's libgnunetutil. 174 libgnunetutil=0 175 AC_MSG_CHECKING([for libgnunetutil]) 176 AC_ARG_WITH(gnunet, 177 [AS_HELP_STRING([--with-gnunet=PFX], [base of GNUnet installation])], 178 [AC_MSG_RESULT([given as $with_gnunet])], 179 [AC_MSG_RESULT(not given) 180 with_gnunet=yes]) 181 AS_CASE([$with_gnunet], 182 [yes], [], 183 [no], [AC_MSG_ERROR([--with-gnunet is required])], 184 [LDFLAGS="-L$with_gnunet/lib/$MULTIARCH -L$with_gnunet/lib/ $LDFLAGS" 185 CPPFLAGS="-I$with_gnunet/include $CPPFLAGS"]) 186 AC_CHECK_HEADERS([gnunet/gnunet_util_lib.h], 187 [AC_CHECK_LIB([gnunetutil], [GNUNET_SCHEDULER_run], libgnunetutil=1)]) 188 AS_IF([test $libgnunetutil != 1], 189 [AC_MSG_ERROR([[ 190 *** 191 *** You need libgnunetutil >= 0.19.0 to build this program. 192 *** This library is part of GNUnet, available at 193 *** https://gnunet.org 194 *** ]])]) 195 196 197 # Check for GNUnet's libgnunetjson. 198 libgnunetjson=0 199 AC_MSG_CHECKING([for libgnunetjson]) 200 AC_ARG_WITH(gnunet, 201 [AS_HELP_STRING([--with-gnunet=PFX], [base of GNUnet installation])], 202 [AC_MSG_RESULT([given as $with_gnunet])], 203 [AC_MSG_RESULT(not given) 204 with_gnunet=yes]) 205 AS_CASE([$with_gnunet], 206 [yes], [], 207 [no], [AC_MSG_ERROR([--with-gnunet is required])], 208 [LDFLAGS="-L$with_gnunet/lib/$MULTIARCH -L$with_gnunet/lib/ $LDFLAGS" 209 CPPFLAGS="-I$with_gnunet/include $CPPFLAGS"]) 210 AC_CHECK_HEADERS([gnunet/gnunet_json_lib.h], 211 [AC_CHECK_LIB([gnunetjson], [GNUNET_JSON_parse], libgnunetjson=1)]) 212 AS_IF([test $libgnunetjson != 1], 213 [AC_MSG_ERROR([[ 214 *** 215 *** You need libgnunetjson to build this program. 216 *** Make sure you have libjansson installed while 217 *** building GNUnet. 218 *** ]])]) 219 220 # check for gettext 221 AM_GNU_GETTEXT([external]) 222 AM_GNU_GETTEXT_VERSION([0.19.8]) 223 224 225 # Save before checking libgnurl/libcurl 226 CFLAGS_SAVE=$CFLAGS 227 LDFLAGS_SAVE=$LDFLAGS 228 LIBS_SAVE=$LIBS 229 230 # check for libgnurl 231 # libgnurl 232 LIBGNURL_CHECK_CONFIG(,7.34.0,gnurl=1,gnurl=0) 233 LIBCURL_CHECK_CONFIG(,7.34.0,[curl=1],[curl=0]) 234 235 # cURL must support CURLINFO_TLS_SESSION, version >= 7.34 236 AS_IF([test "x$curl" = x1],[ 237 AC_CHECK_HEADER([curl/curl.h], 238 [AC_CHECK_DECLS(CURLINFO_TLS_SESSION,[curl=1],[curl=0],[[#include <curl/curl.h>]])], 239 [curl=0]) 240 ]) 241 242 243 # libcurl and libgnurl should be mutually exclusive 244 AS_IF([test "$gnurl" = 1], 245 [AM_CONDITIONAL(HAVE_LIBGNURL, true) 246 AC_DEFINE([HAVE_LIBGNURL],[1],[Have libgnurl]) 247 AM_CONDITIONAL(HAVE_LIBCURL, false) 248 AC_DEFINE([HAVE_LIBCURL],[0],[Lacking libcurl]) 249 [LIBGNURLCURL_LIBS="-lgnurl"]], 250 [AS_IF([test "$curl" = 1], 251 [AM_CONDITIONAL(HAVE_LIBGNURL, false) 252 AC_DEFINE([HAVE_LIBGNURL],[0],[Lacking libgnurl]) 253 AM_CONDITIONAL(HAVE_LIBCURL, true) 254 AC_DEFINE([HAVE_LIBCURL],[1],[Have libcurl]) 255 [LIBGNURLCURL_LIBS="-lcurl"]], 256 [AC_MSG_ERROR([FATAL: No libgnurl/libcurl])])]) 257 258 AC_SUBST([LIBGNURLCURL_LIBS]) 259 260 261 # Check for GNUnet's libgnunetcurl. 262 libgnunetcurl=0 263 AC_MSG_CHECKING([for libgnunetcurl]) 264 AC_ARG_WITH(gnunet, 265 [AS_HELP_STRING([--with-gnunet=PFX], [base of GNUnet installation])], 266 [AC_MSG_RESULT([given as $with_gnunet])], 267 [AC_MSG_RESULT(not given) 268 with_gnunet=yes]) 269 AS_CASE([$with_gnunet], 270 [yes], [], 271 [no], [AC_MSG_ERROR([--with-gnunet is required])], 272 [LDFLAGS="-L$with_gnunet/lib/$MULTIARCH -L$with_gnunet/lib/ $LDFLAGS" 273 CPPFLAGS="-I$with_gnunet/include $CPPFLAGS"]) 274 AC_CHECK_HEADERS([gnunet/gnunet_curl_lib.h], 275 [AC_CHECK_LIB([gnunetcurl], [GNUNET_CURL_get_select_info], libgnunetcurl=1)]) 276 AS_IF([test $libgnunetcurl != 1], 277 [AC_MSG_ERROR([[ 278 *** 279 *** You need libgnunetcurl to build this program. 280 *** Make sure you have libcurl or libgnurl installed while 281 *** building GNUnet. 282 *** ]])]) 283 284 # Check for Taler's libtalerpq 285 libtalerpq=0 286 AC_MSG_CHECKING([for libtalerpq]) 287 AC_ARG_WITH(exchange, 288 [AS_HELP_STRING([--with-exchange=PFX], [base of Taler EXCHANGE installation])], 289 [AC_MSG_RESULT([given as $with_exchange])], 290 [AC_MSG_RESULT(not given) 291 with_exchange=yes]) 292 AS_CASE([$with_exchange], 293 [yes], [], 294 [no], [AC_MSG_ERROR([--with-exchange is required])], 295 [LDFLAGS="-L$with_exchange/lib/$MULTIARCH -L$with_exchange/lib/ $LDFLAGS" 296 CPPFLAGS="-I$with_exchange/include $CPPFLAGS"]) 297 298 299 # Restore after gnurl/curl checks messed up these values 300 CFLAGS=$CFLAGS_SAVE 301 LDFLAGS=$LDFLAGS_SAVE 302 LIBS=$LIBS_SAVE 303 304 # test for postgres 305 AX_LIB_POSTGRESQL([13.0]) 306 AS_IF([test "x$found_postgresql" = "xyes"], 307 [SAVE_CPPFLAGS="$CPPFLAGS" 308 CPPFLAGS="$POSTGRES_CPPFLAGS $CPPFLAGS" 309 AC_CHECK_HEADERS([libpq-fe.h], [postgres=1], [postgres=0])]) 310 AS_IF([test "x$postgres" != "x1"], 311 [AC_MSG_ERROR([[ 312 *** 313 *** You need libpq(-dev) >= 13.0 to build this program. 314 *** ]])]) 315 AM_CONDITIONAL([HAVE_POSTGRESQL], [test "x$postgres" = "x1"]) 316 AC_DEFINE_UNQUOTED([HAVE_POSTGRESQL], [$postgres], 317 [Define to 1 if Postgres is available]) 318 319 # Check for GNUnet's libgnunetpq. 320 libgnunetpq=0 321 AC_MSG_CHECKING([for libgnunetpq]) 322 AC_ARG_WITH(gnunet, 323 [AS_HELP_STRING([--with-gnunet=PFX], [base of GNUnet installation])], 324 [AC_MSG_RESULT([given as $with_gnunet])], 325 [AC_MSG_RESULT(not given) 326 with_gnunet=yes]) 327 AS_CASE([$with_gnunet], 328 [yes], [], 329 [no], [AC_MSG_ERROR([--with-gnunet is required])], 330 [LDFLAGS="-L$with_gnunet/lib/$MULTIARCH -L$with_gnunet/lib/ $LDFLAGS" 331 CPPFLAGS="-I$with_gnunet/include ${CPPFLAGS}"]) 332 CPPFLAGS="${CPPFLAGS} ${POSTGRESQL_CPPFLAGS}" 333 AC_CHECK_HEADERS([gnunet/gnunet_pq_lib.h], 334 [AC_CHECK_LIB([gnunetpq], [GNUNET_PQ_result_spec_array_string], libgnunetpq=1)]) 335 AS_IF([test $libgnunetpq != 1], 336 [AC_MSG_ERROR([[ 337 *** 338 *** You need libgnunetpq version >= 4.0.0 to build this program. 339 *** Make sure you have Postgres installed while 340 *** building GNUnet (and that your GNUnet version 341 *** is recent!) 342 *** ]])]) 343 344 CFLAGS_SAVE=$CFLAGS 345 LDFLAGS_SAVE=$LDFLAGS 346 LIBS_SAVE="$LIBS" 347 348 # Check for GNUnet's libgnunetsq 349 libgnunetsq=0 350 AC_MSG_CHECKING([for libgnunetsq]) 351 AC_CHECK_HEADERS([gnunet/gnunet_sq_lib.h], 352 [AC_CHECK_LIB([gnunetsq], [GNUNET_SQ_result_spec_string], libgnunetsq=1)]) 353 354 355 356 CFLAGS=$CFLAGS_SAVE 357 LDFLAGS=$LDFLAGS_SAVE 358 LIBS=$LIBS_SAVE 359 360 # should developer logic be compiled (not-for-production code)? 361 AC_MSG_CHECKING(whether to compile developer logic) 362 AC_ARG_ENABLE([developer-mode], 363 [AS_HELP_STRING([--enable-developer-mode], [enable compiling developer code])], 364 [enable_developer=${enableval}], 365 [enable_developer=yes]) 366 AC_MSG_RESULT($enable_developer) 367 AM_CONDITIONAL([HAVE_DEVELOPER], [test "x$enable_developer" = "xyes"]) 368 enable_dev=1 369 AS_IF([test "x$enableval" = "xno"], [enable_dev=0]) 370 # developer-logic requires a more recent MHD than usual. 371 AC_CHECK_DECL([MHD_OPTION_NOTIFY_CONNECTION],,[enable_dev=0],[[#include <microhttpd.h>]]) 372 AC_DEFINE_UNQUOTED([HAVE_DEVELOPER],[$enable_dev],[1 if developer logic is enabled, 0 otherwise]) 373 374 AC_PATH_PROG([JQ], [jq], [no]) 375 if test "$JQ" = "no"; then 376 AC_MSG_ERROR([jq is required but not found. Please install jq.]) 377 fi 378 379 380 381 # Adam shostack suggests the following for Windows: 382 # -D_FORTIFY_SOURCE=2 -fstack-protector-all 383 AC_ARG_ENABLE(gcc-hardening, 384 AS_HELP_STRING(--enable-gcc-hardening, enable compiler security checks), 385 [AS_IF([test x$enableval = xyes],[ 386 CFLAGS="$CFLAGS -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-all" 387 CFLAGS="$CFLAGS -fwrapv -fPIE -Wstack-protector" 388 CFLAGS="$CFLAGS --param ssp-buffer-size=1" 389 LDFLAGS="$LDFLAGS -pie"])]) 390 391 392 # Linker hardening options 393 # Currently these options are ELF specific - you can't use this with MacOSX 394 AC_ARG_ENABLE(linker-hardening, 395 AS_HELP_STRING(--enable-linker-hardening, enable linker security fixups), 396 [AS_IF([test x$enableval = xyes],[LDFLAGS="$LDFLAGS -z relro -z now"])]) 397 398 399 AC_ARG_ENABLE(sanitizer, 400 AS_HELP_STRING(--enable-sanitizer, enable Address Sanitizer and Undefined Behavior Sanitizer), 401 [AS_IF([test x$enableval = xyes],[ 402 LDFLAGS="$CFLAGS -fsanitize=address,undefined -fno-omit-frame-pointer" 403 ])]) 404 405 # logging 406 extra_logging=0 407 AC_ARG_ENABLE([logging], 408 AS_HELP_STRING([--enable-logging@<:@=value@:>@],[Enable logging calls. Possible values: yes,no,verbose ('yes' is the default)]), 409 [AS_IF([test "x$enableval" = "xyes"], [], 410 [test "x$enableval" = "xno"], [AC_DEFINE([GNUNET_CULL_LOGGING],[],[Define to cull all logging calls])], 411 [test "x$enableval" = "xverbose"], [extra_logging=1] 412 [test "x$enableval" = "xveryverbose"], [extra_logging=2]) 413 ], []) 414 AC_DEFINE_UNQUOTED([GNUNET_EXTRA_LOGGING],[$extra_logging],[1 if extra logging is enabled, 2 for very verbose extra logging, 0 otherwise]) 415 416 # gcov compilation 417 AC_MSG_CHECKING(whether to compile with support for code coverage analysis) 418 AC_ARG_ENABLE([coverage], 419 AS_HELP_STRING([--enable-coverage], 420 [compile the library with code coverage support]), 421 [use_gcov=${enableval}], 422 [use_gcov=no]) 423 AC_MSG_RESULT($use_gcov) 424 AM_CONDITIONAL([USE_COVERAGE], [test "x$use_gcov" = "xyes"]) 425 426 # version info 427 AC_PATH_PROG(gitcommand, git) 428 AC_MSG_CHECKING(for source being under a VCS) 429 git_version= 430 AS_IF([test ! "X$gitcommand" = "X"], 431 [ 432 git_version=$(cd $srcdir ; git rev-list -n 1 --abbrev-commit HEAD 2>/dev/null) 433 ]) 434 AS_IF([test "X$git_version" = "X"], 435 [ 436 vcs_name="no" 437 vcs_version="\"release\"" 438 ], 439 [ 440 vcs_name="yes, git-svn" 441 vcs_version="\"git-$git_version\"" 442 ]) 443 AC_MSG_RESULT($vcs_name) 444 445 AC_MSG_CHECKING(VCS version) 446 AC_MSG_RESULT($vcs_version) 447 AC_DEFINE_UNQUOTED(VCS_VERSION, [$vcs_version], [VCS revision/hash or tarball version]) 448 449 450 # Checks for typedefs, structures, and compiler characteristics. 451 AC_TYPE_PID_T 452 AC_TYPE_SIZE_T 453 AC_TYPE_UINT16_T 454 AC_TYPE_UINT32_T 455 AC_TYPE_UINT64_T 456 AC_TYPE_INTMAX_T 457 AC_TYPE_UINTMAX_T 458 459 # Checks for library functions. 460 AC_CHECK_FUNCS([strdup]) 461 462 463 AC_ARG_ENABLE([[doc]], 464 [AS_HELP_STRING([[--disable-doc]], [do not build any documentation])], , 465 [enable_doc=yes]) 466 test "x$enable_doc" = "xno" || enable_doc=yes 467 AM_CONDITIONAL([ENABLE_DOC], [test "x$enable_doc" = "xyes"]) 468 469 470 ],[ # This is the big test "$doc_only" on top of the file! 471 472 473 # logic if doc_only is set, make sure conditionals are still defined 474 AM_CONDITIONAL([HAVE_EXPENSIVE_TESTS], [false]) 475 AM_CONDITIONAL([MHD_HAVE_EPOLL], [false]) 476 AM_CONDITIONAL([HAVE_POSTGRESQL], [false]) 477 AM_CONDITIONAL([HAVE_LIBCURL], [false]) 478 AM_CONDITIONAL([HAVE_LIBGNURL], [false]) 479 AM_CONDITIONAL([HAVE_DEVELOPER], [false]) 480 AM_CONDITIONAL([USE_COVERAGE], [false]) 481 AM_CONDITIONAL([ENABLE_DOC], [true]) 482 483 # end of 'doc_only' 484 ]) 485 486 AC_CONFIG_FILES([Makefile 487 contrib/Makefile 488 doc/Makefile 489 doc/doxygen/Makefile 490 po/Makefile.in 491 src/Makefile 492 src/donau/Makefile 493 src/donaudb/Makefile 494 src/donau-tools/Makefile 495 src/lib/Makefile 496 src/json/Makefile 497 src/pq/Makefile 498 src/testing/Makefile 499 src/include/Makefile 500 src/util/Makefile 501 ]) 502 AC_OUTPUT