]> granicus.if.org Git - postgresql/blob - configure.in
Remove all traces of multibyte and locale options. Clean up comments
[postgresql] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 dnl $Header: /cvsroot/pgsql/configure.in,v 1.202 2002/09/03 21:45:41 petere Exp $
3 dnl
4 dnl Developers, please strive to achieve this order:
5 dnl
6 dnl 0. Initialization and options processing
7 dnl 1. Programs
8 dnl 2. Libraries
9 dnl 3. Header files
10 dnl 4. Types
11 dnl 5. Structures
12 dnl 6. Compiler characteristics
13 dnl 7. Functions, global variables
14 dnl 8. System services
15 dnl
16 dnl Read the Autoconf manual for details.
17 dnl
18 m4_pattern_forbid(^PGAC_)dnl to catch undefined macros
19 dnl
20 dnl The GNU folks apparently haven't heard that some people don't use
21 dnl Texinfo. Use this sorcery to use "docdir" instead of "infodir".
22 m4_define([info], [doc])
23 m4_define([infodir], [docdir])
24 AC_INIT([PostgreSQL], [7.3devel], [pgsql-bugs@postgresql.org])
25 m4_undefine([infodir])
26 m4_undefine([info])
27 AC_SUBST(docdir)
28
29 AC_PREREQ(2.53)
30 AC_COPYRIGHT([Copyright 2002 PostgreSQL Global Development Group])
31 AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c])
32 AC_CONFIG_AUX_DIR(config)
33 AC_PREFIX_DEFAULT(/usr/local/pgsql)
34 AC_SUBST(configure_args, [$ac_configure_args])
35
36 AC_DEFINE_UNQUOTED(PG_VERSION, "$PACKAGE_VERSION", [PostgreSQL version])
37
38 AC_CANONICAL_HOST
39
40 template=
41 AC_MSG_CHECKING([which template to use])
42
43 PGAC_ARG_REQ(with, template, [],
44 [
45   case $withval in
46     list)   echo; ls "$srcdir/src/template"; exit;;
47     *)      if test -f "$srcdir/src/template/$with_template" ; then
48               template=$withval
49             else
50               AC_MSG_ERROR(['$withval' is not a valid template name. Use 'list' for a list.])
51             fi;;
52   esac
53 ],
54 [
55   # --with-template not given
56
57 case $host_os in
58      aix*) template=aix ;;
59     beos*) template=beos ;;
60     bsdi*) template=bsdi ;;
61   cygwin*) template=win ;;
62   darwin*) template=darwin ;;
63     dgux*) template=dgux ;;
64  freebsd*) template=freebsd ;;
65     hpux*) template=hpux ;;
66     irix*) template=irix5 ;;
67    linux*) template=linux ;;
68   netbsd*) template=netbsd ;;
69 nextstep*) template=nextstep ;;
70  openbsd*) template=openbsd ;;
71      osf*) template=osf ;;
72      qnx*) template=qnx4 ;;
73      sco*) template=sco ;;
74  solaris*) template=solaris ;;
75    sunos*) template=sunos4 ;;
76  sysv4.2*)
77         case $host_vendor in
78           univel) template=univel ;;
79         esac ;;
80    sysv4*) template=svr4 ;;
81    sysv5*) template=unixware ;;
82   ultrix*) template=ultrix4 ;;
83 esac
84
85   if test x"$template" = x"" ; then
86     AC_MSG_ERROR([[
87 *******************************************************************
88 PostgreSQL has apparently not been ported to your platform yet.
89 To try a manual configuration, look into the src/template directory
90 for a similar platform and use the '--with-template=' option.
91
92 Please also contact <pgsql-ports@postgresql.org> to see about
93 rectifying this.  Include the above 'checking host system type...'
94 line.
95 *******************************************************************
96 ]])
97   fi
98
99 ])
100
101 AC_MSG_RESULT([$template])
102
103 PORTNAME=$template
104 AC_SUBST(PORTNAME)
105
106 # Pick right test-and-set (TAS) code.  Most platforms have inline
107 # assembler code in src/include/storage/s_lock.h, so we just use
108 # a dummy file here.
109 case $host in
110   *-*-hpux*)        need_tas=yes; tas_file=hpux.s ;;
111   sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;;
112   i?86-*-solaris*)   need_tas=yes; tas_file=solaris_i386.s ;;
113   *)                need_tas=no;  tas_file=dummy.s ;;
114 esac
115 AC_CONFIG_LINKS([src/backend/port/tas.s:src/backend/port/tas/${tas_file}])
116
117 if test "$need_tas" = yes ; then
118   TAS=tas.o
119 fi
120 AC_SUBST(TAS)
121
122
123
124 ##
125 ## Command line options
126 ##
127
128
129 #
130 # Add non-standard directories to the include path
131 #
132 PGAC_ARG_REQ(with, includes, [  --with-includes=DIRS    look for additional header files in DIRS])
133
134
135 #
136 # Add non-standard directories to the library search path
137 #
138 PGAC_ARG_REQ(with, libraries, [  --with-libraries=DIRS   look for additional libraries in DIRS],
139              [LIBRARY_DIRS=$withval])
140
141 PGAC_ARG_REQ(with, libs,      [  --with-libs=DIRS        alternative spelling of --with-libraries],
142              [LIBRARY_DIRS=$withval])
143
144
145 #
146 # 64-bit integer date/time storage (--enable-integer-datetimes)
147 #
148 AC_MSG_CHECKING([whether to build with 64-bit integer date/time support])
149 PGAC_ARG_BOOL(enable, integer-datetimes, no, [  --enable-integer-datetimes  enable 64-bit integer date/time support],
150               [AC_DEFINE([USE_INTEGER_DATETIMES], 1,
151                          [Set to 1 if you want integer date/time support (--enable-integer-datetimes)])])
152 AC_MSG_RESULT([$enable_integer_datetimes])
153
154
155 # Character set recode (--enable-recode)
156 #
157 AC_MSG_CHECKING([whether to build with recode support])
158 PGAC_ARG_BOOL(enable, recode, no, [  --enable-recode         enable character set recode support],
159               [AC_DEFINE([CYR_RECODE], 1,
160                          [Set to 1 if you want cyrillic recode support (--enable-recode)])])
161 AC_MSG_RESULT([$enable_recode])
162
163
164 #
165 # NLS
166 #
167 AC_MSG_CHECKING([whether NLS is wanted])
168 PGAC_ARG_OPTARG(enable, nls,
169                 [[  --enable-nls[=LANGUAGES]  enable Native Language Support]],
170                 [],
171                 [WANTED_LANGUAGES=$enableval],
172                 [AC_DEFINE(ENABLE_NLS, 1,
173                            [Define to 1 if you want National Language Support (--enable-nls)])])
174 AC_MSG_RESULT([$enable_nls])
175 AC_SUBST(enable_nls)
176 AC_SUBST(WANTED_LANGUAGES)
177
178 #
179 # Default port number (--with-pgport), default 5432
180 #
181 AC_MSG_CHECKING([for default port number])
182 PGAC_ARG_REQ(with, pgport, [  --with-pgport=PORTNUM   change default port number [5432]],
183              [default_port=$withval],
184              [default_port=5432])
185 AC_MSG_RESULT([$default_port])
186 # Need both of these because some places want an integer and some a string
187 AC_DEFINE_UNQUOTED(DEF_PGPORT, ${default_port},
188 [The default TCP port number on which the server listens and to which
189 clients will try to connect to.  This can be overridden at run-time,
190 but it's convenient if your clients have the right default compiled in.
191 (--with-pgport=PORTNUM)])
192 AC_DEFINE_UNQUOTED(DEF_PGPORT_STR, "${default_port}",
193                    [Default TCP port number as string constant])
194 AC_SUBST(default_port)
195
196 #
197 # Maximum number of allowed connections (--with-maxbackends), default 32
198 #
199 AC_MSG_CHECKING([for default soft limit on number of connections])
200 PGAC_ARG_REQ(with, maxbackends, [  --with-maxbackends=N    set default maximum number of connections [32]],
201              [],
202              [with_maxbackends=32])
203 AC_MSG_RESULT([$with_maxbackends])
204 AC_DEFINE_UNQUOTED([DEF_MAXBACKENDS], [$with_maxbackends],
205                    [The default soft limit on the number of concurrent connections, i.e., the default for the postmaster -N switch (--with-maxbackends)])
206
207
208 #
209 # Option to disable shared libraries
210 #
211 PGAC_ARG_BOOL(enable, shared, yes,
212               [  --disable-shared        do not build shared libraries])
213 AC_SUBST(enable_shared)
214
215 #
216 # '-rpath'-like feature can be disabled
217 #
218 PGAC_ARG_BOOL(enable, rpath, yes,
219               [  --disable-rpath         do not embed shared library search path in executables])
220 AC_SUBST(enable_rpath)
221
222
223 #
224 # --enable-debug adds -g to compiler flags
225 #
226 PGAC_ARG_BOOL(enable, debug, no,
227               [  --enable-debug          build with debugging symbols (-g)])
228 AC_SUBST(enable_debug)
229
230 #
231 # C compiler
232 #
233
234 # For historical reasons you can also use --with-CC to specify the C compiler
235 # to use, although the standard way to do this is to set the CC environment
236 # variable.
237 PGAC_ARG_REQ(with, CC, [], [CC=$with_CC])
238
239 case $template in
240   aix) pgac_cc_list="gcc xlc";;
241  irix) pgac_cc_list="cc";; # no gcc
242     *) pgac_cc_list="gcc cc";;
243 esac
244
245 AC_PROG_CC([$pgac_cc_list])
246 # Read the template
247 . "$srcdir/src/template/$template" || exit
248
249 if test "$ac_env_CFLAGS_set" = set; then
250   CFLAGS=$ac_env_CFLAGS_value
251 fi
252 if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then
253   CFLAGS="$CFLAGS -g"
254 fi
255 AC_MSG_NOTICE([using CFLAGS=$CFLAGS])
256 # Check if the compiler still works with the template settings
257 AC_MSG_CHECKING([whether the C compiler still works])
258 AC_TRY_LINK([], [return 0;],
259   [AC_MSG_RESULT(yes)],
260   [AC_MSG_RESULT(no)
261    AC_MSG_ERROR([cannot proceed])])
262 AC_PROG_CPP
263 AC_SUBST(GCC)
264
265 # Create compiler version string
266 if test x"$GCC" = x"yes" ; then
267   cc_string="GCC `${CC} --version | sed q`"
268 else
269   cc_string=$CC
270 fi
271 AC_DEFINE_UNQUOTED(PG_VERSION_STR, ["PostgreSQL $PACKAGE_VERSION on $host, compiled by $cc_string"], [A canonical string containing the version number, platform, and C compiler])
272
273
274 #
275 # Automatic dependency tracking
276 #
277 PGAC_ARG_BOOL(enable, depend, no, [  --enable-depend         turn on automatic dependency tracking],
278               [autodepend=yes])
279 AC_SUBST(autodepend)
280
281
282 #
283 # Enable assert checks
284 #
285 PGAC_ARG_BOOL(enable, cassert, no, [  --enable-cassert        enable assertion checks (for debugging)],
286               [AC_DEFINE([USE_ASSERT_CHECKING], 1,
287                          [Define to 1 to build with assertion checks])])
288
289
290 #
291 # Include directories
292 #
293 ac_save_IFS=$IFS
294 IFS="${IFS}:"
295 # SRCH_INC comes from the template file
296 for dir in $with_includes $SRCH_INC; do
297   if test -d "$dir"; then
298     INCLUDES="$INCLUDES -I$dir"
299   else
300     AC_MSG_WARN([*** Include directory $dir does not exist.])
301   fi
302 done
303 IFS=$ac_save_IFS
304 AC_SUBST(INCLUDES)
305
306
307 #
308 # Library directories
309 #
310 ac_save_IFS=$IFS
311 IFS="${IFS}:"
312 # LIBRARY_DIRS comes from command line, SRCH_LIB from template file.
313 for dir in $LIBRARY_DIRS $SRCH_LIB; do
314   if test -d "$dir"; then
315     LIBDIRS="$LIBDIRS -L$dir"
316   else
317     AC_MSG_WARN([*** Library directory $dir does not exist.])
318   fi
319 done
320 IFS=$ac_save_IFS
321
322
323 #
324 # Tcl/Tk
325 #
326 AC_MSG_CHECKING([whether to build with Tcl])
327 PGAC_ARG_BOOL(with, tcl, no, [  --with-tcl              build Tcl and Tk interfaces])
328 AC_MSG_RESULT([$with_tcl])
329 AC_SUBST([with_tcl])
330
331 # If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk
332 AC_MSG_CHECKING([whether to build with Tk])
333 if test "$with_tcl" = yes; then
334   PGAC_ARG_BOOL(with, tk, yes, [  --without-tk            do not build Tk interfaces if Tcl is enabled])
335 else
336   with_tk=no
337 fi
338 AC_MSG_RESULT([$with_tk])
339 AC_SUBST([with_tk])
340
341
342 # We see if the path to the Tcl/Tk configuration scripts is specified.
343 # This will override the use of tclsh to find the paths to search.
344
345 PGAC_ARG_REQ(with, tclconfig, [  --with-tclconfig=DIR    tclConfig.sh and tkConfig.sh are in DIR])
346
347 # We see if the path to the Tk configuration scripts is specified.
348 # This will override the use of tclsh to find the paths to search.
349
350 PGAC_ARG_REQ(with, tkconfig,  [  --with-tkconfig=DIR     tkConfig.sh is in DIR])
351
352 #
353 # Optionally build Perl modules (Pg.pm and PL/Perl)
354 #
355 AC_MSG_CHECKING([whether to build Perl modules])
356 PGAC_ARG_BOOL(with, perl, no, [  --with-perl             build PL/Perl])
357 AC_MSG_RESULT([$with_perl])
358 AC_SUBST(with_perl)
359
360 #
361 # Optionally build Python interface module
362 #
363 AC_MSG_CHECKING([whether to build Python modules])
364 PGAC_ARG_BOOL(with, python, no, [  --with-python           build Python interface module])
365 AC_MSG_RESULT([$with_python])
366 AC_SUBST(with_python)
367
368 #
369 # Optionally build the Java/JDBC tools
370 #
371 AC_MSG_CHECKING([whether to build Java/JDBC tools])
372 PGAC_ARG_BOOL(with, java, no, [  --with-java             build JDBC interface and Java tools],
373 [AC_MSG_RESULT(yes)
374 PGAC_PATH_ANT
375 if test -z "$ANT"; then
376   AC_MSG_ERROR([Ant is required to build Java components])
377 fi
378 if "$ANT" -version | sed q | egrep -v ' 1\.[[5-9]]| [[2-9]]\.' >/dev/null ; then
379   AC_MSG_ERROR([Ant version >= 1.5 is required to build Java components])
380 fi],
381 [AC_MSG_RESULT(no)])
382 AC_SUBST(with_java)
383
384 dnl A note on the Kerberos and OpenSSL options:
385 dnl
386 dnl The user can give an argument to the option in order the specify
387 dnl the base path of the respective installation (what he specified
388 dnl perhaps as --prefix). If no argument is given ($withval is "yes")
389 dnl then we take the path where the package installs by default. This
390 dnl way the user doesn't have to use redundant --with-includes and
391 dnl --with-libraries options, but he can still use them if the layout
392 dnl is non-standard.
393
394 #
395 # Kerberos 4
396 #
397 AC_MSG_CHECKING([whether to build with Kerberos 4 support])
398 PGAC_ARG_OPTARG(with, krb4, [[  --with-krb4[=DIR]       build with Kerberos 4 support [/usr/athena]]],
399                 [krb4_prefix=/usr/athena],
400                 [krb4_prefix=$withval],
401 [
402   AC_MSG_RESULT(yes)
403   AC_DEFINE(KRB4, 1, [Define if you are building with Kerberos 4 support.])
404
405   if test -d "$krb4_prefix/include"; then
406     INCLUDES="$INCLUDES -I$krb4_prefix/include"
407   fi
408   if test -d "$krb4_prefix/lib"; then
409     LIBDIRS="$LIBDIRS -L$krb4_prefix/lib"
410   fi
411
412   krb_srvtab="/etc/srvtab"
413 ],
414 [AC_MSG_RESULT(no)])
415
416 AC_SUBST(with_krb4)
417
418
419 #
420 # Kerberos 5
421 #
422 AC_MSG_CHECKING([whether to build with Kerberos 5 support])
423 PGAC_ARG_OPTARG(with, krb5, [[  --with-krb5[=DIR]       build with Kerberos 5 support [/usr/athena]]],
424               [krb5_prefix=/usr/athena],
425               [krb5_prefix=$withval],
426 [
427   AC_MSG_RESULT([yes])
428   AC_DEFINE(KRB5, 1, [Define if you are building with Kerberos 5 support.])
429
430   if test -d "$krb5_prefix/include"; then
431     INCLUDES="$INCLUDES -I$krb5_prefix/include"
432   fi
433   if test -d "$krb5_prefix/lib"; then
434     LIBDIRS="$LIBDIRS -L$krb5_prefix/lib"
435   fi
436
437   krb_srvtab="FILE:\$(sysconfdir)/krb5.keytab"
438 ],
439 [AC_MSG_RESULT(no)])
440
441 AC_SUBST(with_krb5)
442
443
444 # Using both Kerberos 4 and Kerberos 5 at the same time isn't going to work.
445 if test "$with_krb4" = yes && test "$with_krb5" = yes ; then
446   AC_MSG_ERROR([Kerberos 4 and Kerberos 5 support cannot be combined])
447 fi
448
449 AC_SUBST(krb_srvtab)
450
451
452 #
453 # Kerberos configuration parameters
454 #
455 PGAC_ARG_REQ(with, krb-srvnam,
456              [  --with-krb-srvnam=NAME  name of the service principal in Kerberos [postgres]],
457              [],
458              [with_krb_srvnam="postgres"])
459 AC_DEFINE_UNQUOTED([PG_KRB_SRVNAM], ["$with_krb_srvnam"],
460                    [The name of the PostgreSQL service principal in Kerberos])
461
462
463 #
464 # PAM
465 #
466 AC_MSG_CHECKING([whether to build with PAM support])
467 PGAC_ARG_BOOL(with, pam, no,
468               [  --with-pam              build with PAM support],
469               [AC_DEFINE([USE_PAM], 1, [Define to build with PAM support])])
470 AC_MSG_RESULT([$with_pam])
471 AC_SUBST(with_pam)
472
473
474 #
475 # OpenSSL
476 #
477 PGAC_ARG_OPTARG(with, openssl,
478                 [[  --with-openssl[=DIR]    build with OpenSSL support [/usr/local/ssl]]],
479                 [openssl_prefix=/usr/local/ssl],
480                 [openssl_prefix=$withval],
481 [
482   AC_MSG_RESULT([building with OpenSSL support])
483   AC_DEFINE([USE_SSL], 1, [Define to build with (Open)SSL support])
484
485   if test -d "${openssl_prefix}/include" ; then
486     INCLUDES="$INCLUDES -I${openssl_prefix}/include"
487   fi
488   if test -d "${openssl_prefix}/lib" ; then
489     LIBDIRS="$LIBDIRS -L${openssl_prefix}/lib"
490   fi
491 ])
492
493 AC_SUBST(with_openssl)
494
495
496 #
497 # Readline
498 #
499 PGAC_ARG_BOOL(with, readline, yes,
500               [  --without-readline      do not use Readline])
501
502 #
503 # Zlib
504 #
505 PGAC_ARG_BOOL(with, zlib, yes,
506               [  --without-zlib          do not use Zlib])
507
508
509
510 # Assume system is ELF if it predefines __ELF__ as 1,
511 # otherwise believe host_os based default.
512 case $host_os in
513     freebsd1*|freebsd2*) elf=no;;
514     freebsd3*|freebsd4*) elf=yes;;
515 esac
516
517 AC_EGREP_CPP(yes,
518 [#if __ELF__
519   yes
520 #endif
521 ],
522 [ELF_SYS=true],
523 [if test "X$elf" = "Xyes" ; then
524   ELF_SYS=true
525 else
526   ELF_SYS=
527 fi])
528 AC_SUBST(ELF_SYS)
529
530
531
532 CPPFLAGS="$CPPFLAGS $INCLUDES"
533 LDFLAGS="$LDFLAGS $LIBDIRS"
534
535 AC_MSG_NOTICE([using CPPFLAGS=$CPPFLAGS])
536 AC_MSG_NOTICE([using LDFLAGS=$LDFLAGS])
537
538
539 AC_PROG_AWK
540 PGAC_PATH_FLEX
541 AC_PROG_LN_S
542 AC_PROG_LD
543 AC_SUBST(LD)
544 AC_SUBST(with_gnu_ld)
545 case $host_os in sysv5*)
546   AC_CACHE_CHECK([whether ld -R works], [pgac_cv_prog_ld_R],
547   [
548     pgac_save_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -Wl,-R/usr/lib"
549     AC_TRY_LINK([], [], [pgac_cv_prog_ld_R=yes], [pgac_cv_prog_ld_R=no])
550     LDFLAGS=$pgac_save_LDFLAGS
551   ])
552   ld_R_works=$pgac_cv_prog_ld_R
553   AC_SUBST(ld_R_works)
554 esac
555 AC_PROG_RANLIB
556 AC_CHECK_PROGS(LORDER, lorder)
557 AC_PATH_PROG(TAR, tar)
558 PGAC_CHECK_STRIP
559
560 AC_CHECK_PROGS(YACC, ['bison -y'])
561 if test -z "$YACC"; then
562   AC_MSG_WARN([
563 *** Without Bison you will not be able to build PostgreSQL from CVS or
564 *** change any of the parser definition files.  You can obtain Bison from
565 *** a GNU mirror site.  (If you are using the official distribution of
566 *** PostgreSQL then you do not need to worry about this because the Bison
567 *** output is pre-generated.)  To use a different yacc program (possible,
568 *** but not recommended), set the environment variable YACC before running
569 *** 'configure'.])
570 fi
571 AC_SUBST(YFLAGS)
572
573 if test "$with_tk" = yes; then
574     AC_PATH_PROG(WISH, wish)
575     test -z "$WISH" && AC_MSG_ERROR(['wish' is required for Tk support])
576 fi
577
578 PGAC_PATH_PERL
579 if test "$with_perl" = yes; then
580   PGAC_CHECK_PERL_CONFIGS([installsitearch,installman3dir,
581                            archlibexp,privlibexp,useshrplib,man3ext])
582   PGAC_CHECK_PERL_EMBED_LDFLAGS
583 fi
584
585 if test "$with_python" = yes; then
586   PGAC_PATH_PYTHON
587   PGAC_CHECK_PYTHON_MODULE_SETUP
588   PGAC_CHECK_PYTHON_EMBED_SETUP
589 fi
590
591
592 ##
593 ## Libraries
594 ##
595
596 if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha"
597 then
598         AC_CHECK_LIB(bsd,      main)
599 fi
600 AC_CHECK_LIB(util,     setproctitle)
601 AC_CHECK_LIB(m,        main)
602 AC_CHECK_LIB(dl,       main)
603 AC_CHECK_LIB(nsl,      main)
604 AC_CHECK_LIB(socket,   main)
605 AC_CHECK_LIB(ipc,      main)
606 AC_CHECK_LIB(IPC,      main)
607 AC_CHECK_LIB(lc,       main)
608 AC_CHECK_LIB(dld,      main)
609 AC_CHECK_LIB(ld,       main)
610 AC_CHECK_LIB(compat,   main)
611 AC_CHECK_LIB(BSD,      main)
612 AC_CHECK_LIB(gen,      main)
613 AC_CHECK_LIB(PW,       main)
614 AC_CHECK_LIB(resolv,   main)
615 AC_SEARCH_LIBS(getopt_long, [getopt])
616 # QNX:
617 AC_CHECK_LIB([[unix]], main)
618 AC_SEARCH_LIBS(crypt,  crypt)
619 # BeOS:
620 AC_CHECK_LIB(bind,     __inet_ntoa)
621 # Solaris:
622 AC_SEARCH_LIBS(fdatasync, [rt posix4])
623
624 if test "$with_readline" = yes; then
625   PGAC_CHECK_READLINE
626   if test x"$pgac_cv_check_readline" = x"no"; then
627     AC_MSG_ERROR([readline library not found
628 Use --without-readline to disable readline support.])
629   fi
630 fi
631
632 if test "$with_zlib" = yes; then
633   AC_CHECK_LIB(z, inflate, [],
634                [AC_MSG_ERROR([zlib library not found
635 Use --without-zlib to disable zlib support.])])
636 fi
637
638 if test "$with_krb4" = yes ; then
639   AC_CHECK_LIB(des, [des_encrypt], [], [AC_MSG_ERROR([library 'des' is required for Kerberos 4])])
640   AC_CHECK_LIB(krb, [krb_sendauth], [], [AC_MSG_ERROR([library 'krb' is required for Kerberos 4])])
641 fi
642
643 if test "$with_krb5" = yes ; then
644   AC_SEARCH_LIBS(com_err, [krb5 'krb5 -ldes -lasn1 -lroken' com_err], [],
645                  [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])])
646   AC_SEARCH_LIBS(krb5_encrypt, [krb5 'krb5 -ldes -lasn1 -lroken' crypto k5crypto], [],
647                  [AC_MSG_ERROR([could not find function 'krb5_encrypt' required for Kerberos 5])])
648   AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -ldes -lasn1 -lroken'], [],
649                  [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])])
650 fi
651
652 if test "$with_openssl" = yes ; then
653   dnl Order matters!
654   AC_CHECK_LIB(crypto, [CRYPTO_new_ex_data], [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
655   AC_CHECK_LIB(ssl,    [SSL_library_init], [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
656 fi
657
658 if test "$with_pam" = yes ; then
659   AC_CHECK_LIB(pam,    [pam_start], [], [AC_MSG_ERROR([library 'pam' is required for PAM])])
660 fi
661
662
663 ##
664 ## Header files
665 ##
666
667 dnl sys/socket.h is required by AC_FUNC_ACCEPT_ARGTYPES
668 AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h pwd.h sys/ipc.h sys/pstat.h sys/select.h sys/sem.h sys/socket.h sys/shm.h sys/un.h termios.h kernel/OS.h kernel/image.h SupportDefs.h])
669
670 # At least on IRIX, cpp test for netinet/tcp.h will fail unless
671 # netinet/in.h is included first.
672 AC_CHECK_HEADERS([netinet/in.h])
673 AC_CHECK_HEADERS([netinet/tcp.h], [], [],
674 [AC_INCLUDES_DEFAULT
675 #ifdef HAVE_NETINET_IN_H
676 #include <netinet/in.h>
677 #endif
678 ])
679
680 if test "$with_readline" = yes; then
681   AC_CHECK_HEADERS([readline/readline.h], [],
682                    [AC_CHECK_HEADERS([readline.h], [],
683                                      [AC_MSG_ERROR([readline header not found
684 Use --without-readline to disable readline support.])])])
685   AC_CHECK_HEADERS([readline/history.h], [],
686                    [AC_CHECK_HEADERS([history.h], [],
687                                      [AC_MSG_ERROR([history header not found
688 Use --without-readline to disable readline support.])])])
689 fi
690
691 if test "$with_zlib" = yes; then
692   AC_CHECK_HEADER(zlib.h, [], [AC_MSG_ERROR([zlib header not found
693 Use --without-zlib to disable zlib support.])])
694 fi
695
696 if test "$with_krb4" = yes ; then
697   AC_CHECK_HEADER(krb.h, [], [AC_MSG_ERROR([header file <krb.h> is required for Kerberos 4])])
698 fi
699
700 if test "$with_krb5" = yes ; then
701   AC_CHECK_HEADER(krb5.h, [], [AC_MSG_ERROR([header file <krb5.h> is required for Kerberos 5])])
702   AC_CHECK_HEADER(com_err.h, [], [AC_MSG_ERROR([header file <com_err.h> is required for Kerberos 5])])
703 fi
704
705 if test "$with_openssl" = yes ; then
706   AC_CHECK_HEADER([openssl/ssl.h], [], [AC_MSG_ERROR([header file <openssl/ssl.h> is required for OpenSSL])])
707   AC_CHECK_HEADER([openssl/err.h], [], [AC_MSG_ERROR([header file <openssl/err.h> is required for OpenSSL])])
708 fi
709
710 if test "$with_pam" = yes ; then
711   AC_CHECK_HEADER([security/pam_appl.h], [], [AC_MSG_ERROR([header file <security/pam_appl.h> is required for PAM])])
712 fi
713
714
715 ##
716 ## Types, structures, compiler characteristics
717 ##
718
719 m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that.
720 AC_C_CONST
721 AC_C_INLINE
722 AC_C_STRINGIZE
723 PGAC_C_SIGNED
724 AC_C_VOLATILE
725 AC_STRUCT_TIMEZONE
726 PGAC_UNION_SEMUN
727 PGAC_STRUCT_SOCKADDR_UN
728
729 AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [],
730 [#include <sys/param.h>
731 #include <sys/socket.h>
732 #include <sys/ucred.h>])
733
734 if test "$with_zlib" = yes; then
735   # Check that <zlib.h> defines z_streamp (versions before about 1.0.4
736   # did not).  While we could work around the lack of z_streamp, it
737   # seems unwise to encourage people to use such old zlib versions...
738   AC_CHECK_TYPE(z_streamp, [], [AC_MSG_ERROR([zlib version is too old
739 Use --without-zlib to disable zlib support.])],
740                 [#include <zlib.h>])
741 fi
742
743 if test "$with_krb5" = yes; then
744 # Check for differences between MIT and Heimdal (KTH) releases
745   AC_CHECK_MEMBERS([krb5_ticket.enc_part2], [],
746                    [AC_CHECK_MEMBERS([krb5_ticket.client], [],
747                                      [AC_MSG_ERROR([could not determine how to get client name from Kerberos 5 ticket])],
748                                      [#include <krb5.h>])],
749                    [#include <krb5.h>])
750   AC_CHECK_MEMBERS([krb5_error.text.data], [],
751                    [AC_CHECK_MEMBER([krb5_error.e_data], [],
752                                     [AC_MSG_ERROR([could not determine how to extract Kerberos 5 error messages])],
753                                     [#include <krb5.h>])],
754                    [#include <krb5.h>])
755 fi
756
757
758 ##
759 ## Functions, global variables
760 ##
761
762 PGAC_VAR_INT_TIMEZONE
763 AC_FUNC_ACCEPT_ARGTYPES
764 PGAC_FUNC_GETTIMEOFDAY_1ARG
765
766 # SunOS doesn't handle negative byte comparisons properly with +/- return
767 AC_FUNC_MEMCMP
768
769 AC_CHECK_FUNCS([cbrt fcvt getopt_long memmove pstat setproctitle setsid sigprocmask sysconf waitpid dlopen fdatasync])
770
771 AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
772
773 AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS],
774 [AC_TRY_LINK(
775 [#include <machine/vmparam.h>
776 #include <sys/exec.h>
777 ],
778 [PS_STRINGS->ps_nargvstr = 1;
779 PS_STRINGS->ps_argvstr = "foo";],
780 [pgac_cv_var_PS_STRINGS=yes],
781 [pgac_cv_var_PS_STRINGS=no])])
782 if test "$pgac_cv_var_PS_STRINGS" = yes ; then
783   AC_DEFINE([HAVE_PS_STRINGS], [], [Define if the PS_STRINGS thing exists.])
784 fi
785
786
787 # We use our snprintf.c emulation if either snprintf() or vsnprintf()
788 # is missing.  Yes, there are machines that have only one.  We may
789 # also decide to use snprintf.c if snprintf() is present but does not
790 # have working "long long int" support -- see below.
791
792 pgac_need_repl_snprintf=no
793 AC_CHECK_FUNCS(snprintf, [], pgac_need_repl_snprintf=yes)
794 AC_CHECK_FUNCS(vsnprintf, [], pgac_need_repl_snprintf=yes)
795
796
797 # Check whether <stdio.h> declares snprintf() and vsnprintf(); if not,
798 # include/c.h will provide declarations.  Note this is a separate test
799 # from whether the functions exist in the C library --- there are
800 # systems that have the functions but don't bother to declare them :-(
801
802 AC_CHECK_DECLS([snprintf, vsnprintf])
803
804
805 # do this one the hard way in case isinf() is a macro
806 AC_CACHE_CHECK([for isinf], ac_cv_func_isinf,
807 [AC_TRY_LINK(
808 [#include <math.h>
809 ],
810 [double x = 0.0; int res = isinf(x);],
811 [ac_cv_func_isinf=yes],
812 [ac_cv_func_isinf=no])])
813
814 if test $ac_cv_func_isinf = yes ; then
815   AC_DEFINE(HAVE_ISINF, 1, [Define to 1 if you have isinf()])
816 else
817   AC_LIBOBJ(isinf)
818   # Look for a way to implement a substitute for isinf()
819   AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break])
820 fi
821
822 AC_REPLACE_FUNCS([gethostname getrusage inet_aton random srandom strcasecmp strdup strerror strtol strtoul])
823
824 # Solaris has a very slow qsort in certain cases.
825 case $host_os in 
826   solaris*) AC_LIBOBJ(qsort) ;;
827 esac
828
829 # On HPUX 9, rint() is not in regular libm.a but in /lib/pa1.1/libm.a;
830 # this hackery with HPUXMATHLIB allows us to cope.
831 HPUXMATHLIB=""
832 case $host_cpu in
833   hppa1.1) 
834         if test -r /lib/pa1.1/libm.a ; then
835             HPUXMATHLIB="-L /lib/pa1.1 -lm"
836         fi ;;
837 esac
838 AC_SUBST(HPUXMATHLIB)
839
840 AC_CHECK_FUNCS(rint, [],
841                [AC_CHECK_LIB(m, rint, AC_DEFINE(HAVE_RINT), , $HPUXMATHLIB)])
842
843
844 if test "$with_readline" = yes; then
845   PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
846   AC_CHECK_FUNCS([rl_completion_matches rl_filename_completion_function])
847 fi
848
849
850 dnl Cannot use AC_CHECK_FUNC because finite may be a macro
851 AC_MSG_CHECKING(for finite)
852 AC_TRY_LINK([#include <math.h>],
853             [int dummy=finite(1.0);],
854             [AC_DEFINE(HAVE_FINITE, 1, [Set to 1 if you have finite()])
855 AC_MSG_RESULT(yes)],
856             [AC_MSG_RESULT(no)])
857
858 dnl Cannot use AC_CHECK_FUNC because sigsetjmp may be a macro
859 dnl (especially on GNU libc)
860 dnl See also comments in pg_config.h.
861 AC_MSG_CHECKING(for sigsetjmp)
862 AC_TRY_LINK([#include <setjmp.h>],
863             [sigjmp_buf x; sigsetjmp(x, 1);],
864             [AC_DEFINE(HAVE_SIGSETJMP, 1, [Set to 1 if you have sigsetjmp()])
865 AC_MSG_RESULT(yes)],
866             [AC_MSG_RESULT(no)])
867
868 AC_CHECK_FUNC(syslog, 
869              [AC_CHECK_HEADER(syslog.h,
870              [AC_DEFINE(HAVE_SYSLOG, 1, [])],
871              [])])
872
873 AC_CACHE_CHECK([for optreset], pgac_cv_var_int_optreset,
874 [AC_TRY_LINK([#include <unistd.h>],
875   [extern int optreset; optreset = 1;],
876   [pgac_cv_var_int_optreset=yes],
877   [pgac_cv_var_int_optreset=no])])
878 if test x"$pgac_cv_var_int_optreset" = x"yes"; then
879   AC_DEFINE(HAVE_INT_OPTRESET, 1, [Define to 1 if you have the global variable 'int optreset'])
880 fi
881
882 AC_CHECK_FUNCS([strtoll strtoq], [break])
883 AC_CHECK_FUNCS([strtoull strtouq], [break])
884
885 # Check for one of atexit() or on_exit()
886 AC_CHECK_FUNCS(atexit, [],
887                [AC_CHECK_FUNCS(on_exit, [],
888                                [AC_MSG_ERROR([neither atexit() nor on_exit() found])])])
889
890 AC_FUNC_FSEEKO
891
892
893 # This test makes sure that run tests work at all.  Sometimes a shared
894 # library is found by the linker, but the runtime linker can't find it.
895 # This check should come after all modifications of compiler or linker
896 # variables, and before any other run tests.
897 AC_MSG_CHECKING([test program])
898 AC_TRY_RUN([int main() { return 0; }],
899 [AC_MSG_RESULT(ok)],
900 [AC_MSG_RESULT(failed)
901 AC_MSG_ERROR([[
902 *** Could not execute a simple test program.  This may be a problem
903 *** related to locating shared libraries.  Check the file 'config.log'
904 *** for the exact reason.]])],
905 [AC_MSG_RESULT([cross-compiling])])
906
907
908 dnl Check to see if we have a working 64-bit integer type.
909 dnl This breaks down into two steps:
910 dnl (1) figure out if the compiler has a 64-bit int type with working
911 dnl arithmetic, and if so
912 dnl (2) see whether snprintf() can format the type correctly.  (Currently,
913 dnl snprintf is the only library routine we really need for int8 support.)
914 dnl It's entirely possible to have a compiler that handles a 64-bit type
915 dnl when the C library doesn't; this is fairly likely when using gcc on
916 dnl an older platform, for example.
917 dnl If there is no native snprintf() or it does not handle the 64-bit type,
918 dnl we force our own version of snprintf() to be used instead.
919 dnl Note this test must be run after our initial check for snprintf/vsnprintf.
920
921 PGAC_TYPE_64BIT_INT([long int])
922
923 if test x"$HAVE_LONG_INT_64" = x"no" ; then
924   PGAC_TYPE_64BIT_INT([long long int])
925 fi
926
927
928 dnl If we need to use "long long int", figure out whether nnnLL notation works.
929
930 if test x"$HAVE_LONG_LONG_INT_64" = xyes ; then
931   AC_TRY_COMPILE([
932 #define INT64CONST(x)  x##LL
933 long long int foo = INT64CONST(0x1234567890123456);
934 ],
935         [],
936         [AC_DEFINE(HAVE_LL_CONSTANTS, 1, [Define if you have LL constants])],
937         [])
938 fi
939
940
941 dnl If we found "long int" is 64 bits, assume snprintf handles it.
942 dnl If we found we need to use "long long int", better check.
943 dnl We cope with snprintfs that use either %lld or %qd as the format.
944 dnl If neither works, fall back to our own snprintf emulation (which we
945 dnl know uses %lld).
946
947 if test x"$HAVE_LONG_LONG_INT_64" = xyes ; then
948   if test $pgac_need_repl_snprintf = no; then
949     AC_MSG_CHECKING(whether snprintf handles 'long long int' as %lld)
950     AC_TRY_RUN([#include <stdio.h>
951 typedef long long int int64;
952 #define INT64_FORMAT "%lld"
953
954 int64 a = 20000001;
955 int64 b = 40000005;
956
957 int does_int64_snprintf_work()
958 {
959   int64 c;
960   char buf[100];
961
962   if (sizeof(int64) != 8)
963     return 0;                   /* doesn't look like the right size */
964
965   c = a * b;
966   snprintf(buf, 100, INT64_FORMAT, c);
967   if (strcmp(buf, "800000140000005") != 0)
968     return 0;                   /* either multiply or snprintf is busted */
969   return 1;
970 }
971 main() {
972   exit(! does_int64_snprintf_work());
973 }],
974         [ AC_MSG_RESULT(yes)
975           INT64_FORMAT='"%lld"'
976         ],
977   [ AC_MSG_RESULT(no)
978     AC_MSG_CHECKING(whether snprintf handles 'long long int' as %qd) 
979     AC_TRY_RUN([#include <stdio.h>
980 typedef long long int int64;
981 #define INT64_FORMAT "%qd"
982    
983 int64 a = 20000001;
984 int64 b = 40000005;
985    
986 int does_int64_snprintf_work()
987 {  
988   int64 c;
989   char buf[100];
990
991   if (sizeof(int64) != 8)
992     return 0;     /* doesn't look like the right size */
993
994   c = a * b;
995   snprintf(buf, 100, INT64_FORMAT, c);
996   if (strcmp(buf, "800000140000005") != 0)
997     return 0;     /* either multiply or snprintf is busted */
998   return 1;
999 }
1000 main() {
1001   exit(! does_int64_snprintf_work());
1002 }],
1003   [ AC_MSG_RESULT(yes)
1004     INT64_FORMAT='"%qd"'
1005   ],
1006   [ AC_MSG_RESULT(no)
1007         # Force usage of our own snprintf, since system snprintf is broken
1008         pgac_need_repl_snprintf=yes
1009         INT64_FORMAT='"%lld"'
1010   ],
1011   [ AC_MSG_RESULT([cannot test (not on host machine)])
1012         # Force usage of our own snprintf, since we cannot test foreign snprintf
1013         pgac_need_repl_snprintf=yes
1014         INT64_FORMAT='"%lld"'
1015   ]) ],
1016   [ AC_MSG_RESULT([cannot test (not on host machine)])
1017         # Force usage of our own snprintf, since we cannot test foreign snprintf
1018         pgac_need_repl_snprintf=yes
1019         INT64_FORMAT='"%lld"'
1020   ])
1021   else
1022     # here if we previously decided we needed to use our own snprintf
1023     INT64_FORMAT='"%lld"'
1024   fi
1025 else
1026   # Here if we are not using 'long long int' at all
1027   INT64_FORMAT='"%ld"'
1028 fi
1029
1030 AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT,
1031                    [Define this as the appropriate snprintf format for 64-bit ints, if any])
1032
1033 if test $pgac_need_repl_snprintf = yes; then
1034   AC_LIBOBJ(snprintf)
1035 fi
1036
1037 dnl Need a #define for the size of Datum (unsigned long)
1038
1039 AC_CHECK_SIZEOF([unsigned long])
1040 AC_DEFINE_UNQUOTED(SIZEOF_DATUM, $ac_cv_sizeof_unsigned_long, [sizeof(Datum) -- don't change])
1041
1042 # Determine memory alignment requirements for the basic C data types.
1043
1044 PGAC_CHECK_ALIGNOF(short)
1045 PGAC_CHECK_ALIGNOF(int)
1046 PGAC_CHECK_ALIGNOF(long)
1047 if test x"$HAVE_LONG_LONG_INT_64" = x"yes" ; then
1048   PGAC_CHECK_ALIGNOF(long long int)
1049 fi
1050 PGAC_CHECK_ALIGNOF(double)
1051
1052 # Compute maximum alignment of any basic type.
1053 # We assume long's alignment is at least as strong as char, short, or int;
1054 # but we must check long long (if it exists) and double.
1055
1056 MAX_ALIGNOF=$pgac_cv_alignof_long
1057 if test $MAX_ALIGNOF -lt $pgac_cv_alignof_double ; then
1058   MAX_ALIGNOF=$pgac_cv_alignof_double
1059 fi
1060 if test x"$HAVE_LONG_LONG_INT_64" = xyes && test $MAX_ALIGNOF -lt $pgac_cv_alignof_long_long_int ; then
1061   MAX_ALIGNOF="$pgac_cv_alignof_long_long_int"
1062 fi
1063 AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any type])
1064
1065
1066 # Some platforms predefine the types int8, int16, etc.  Only check
1067 # a (hopefully) representative subset.
1068 AC_CHECK_TYPES([int8, uint8, int64, uint64], [], [],
1069 [#include <stdio.h>
1070 #ifdef HAVE_SUPPORTDEFS_H
1071 #include <SupportDefs.h>
1072 #endif])
1073
1074 # We also check for sig_atomic_t, which *should* be defined per ANSI
1075 # C, but is missing on some old platforms.
1076 AC_CHECK_TYPES([sig_atomic_t], [], [], [#include <signal.h>])
1077
1078
1079 PGAC_FUNC_POSIX_SIGNALS
1080 if test $ac_cv_func_fseeko = yes; then
1081 AC_SYS_LARGEFILE
1082 fi
1083
1084
1085 # Select semaphore implementation type.
1086 if test x"$USE_NAMED_POSIX_SEMAPHORES" = x"1" ; then
1087   AC_DEFINE(USE_NAMED_POSIX_SEMAPHORES, 1, [Define to select named POSIX semaphores])
1088   SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
1089 else
1090   if test x"$USE_UNNAMED_POSIX_SEMAPHORES" = x"1" ; then
1091     AC_DEFINE(USE_UNNAMED_POSIX_SEMAPHORES, 1, [Define to select unnamed POSIX semaphores])
1092     SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
1093   else
1094     AC_DEFINE(USE_SYSV_SEMAPHORES, 1, [Define to select SysV-style semaphores])
1095     SEMA_IMPLEMENTATION="src/backend/port/sysv_sema.c"
1096   fi
1097 fi
1098
1099
1100 # Select shared-memory implementation type.
1101 AC_DEFINE(USE_SYSV_SHARED_MEMORY, 1, [Define to select SysV-style shared memory])
1102 SHMEM_IMPLEMENTATION="src/backend/port/sysv_shmem.c"
1103
1104
1105 if test "$enable_nls" = yes ; then
1106   PGAC_CHECK_GETTEXT
1107 fi
1108
1109 # Check for Tcl configuration script tclConfig.sh
1110 if test "$with_tcl" = yes; then
1111     PGAC_PATH_TCLCONFIGSH([$with_tclconfig])
1112     PGAC_EVAL_TCLCONFIGSH([$TCL_CONFIG_SH],
1113                           [TCL_LIB_FILE,TCL_LIBS,TCL_LIB_SPEC,TCL_SHARED_BUILD])
1114     AC_SUBST(TCL_SHLIB_LD_LIBS)dnl don't want to double-evaluate that one
1115 fi
1116
1117 # Check for Tk configuration script tkConfig.sh
1118 if test "$with_tk" = yes; then
1119     PGAC_PATH_TKCONFIGSH([$with_tkconfig $with_tclconfig])
1120     PGAC_EVAL_TCLCONFIGSH([$TK_CONFIG_SH], [TK_LIBS,TK_LIB_SPEC,TK_XINCLUDES])
1121 fi
1122
1123
1124 #
1125 # Check for DocBook and tools
1126 #
1127 PGAC_PROG_NSGMLS
1128 PGAC_PROG_JADE
1129 PGAC_CHECK_DOCBOOK([3.1])
1130 PGAC_PATH_DOCBOOK_STYLESHEETS
1131 PGAC_PATH_COLLATEINDEX
1132 AC_CHECK_PROGS(SGMLSPL, sgmlspl)
1133
1134
1135 # prepare build tree if outside source tree
1136 # Note 1: test -ef might not exist, but it's more reliable than `pwd`.
1137 # Note 2: /bin/pwd might be better than shell's built-in at getting
1138 #         a symlink-free name.
1139 if test "$no_create" != yes; then
1140   if ( test "$srcdir" -ef . ) >/dev/null 2>&1 || test "`cd $srcdir && /bin/pwd`" = "`/bin/pwd`"; then
1141     :
1142   else
1143     AC_SUBST(vpath_build, yes)
1144     _AS_ECHO_N([preparing build tree... ])
1145     pgac_abs_top_srcdir=`cd "$srcdir" && pwd`
1146     $SHELL "$ac_aux_dir/prep_buildtree" "$pgac_abs_top_srcdir" "." \
1147       || AC_MSG_ERROR(failed)
1148     AC_MSG_RESULT(done)
1149   fi
1150 fi
1151
1152
1153 AC_CONFIG_FILES([GNUmakefile src/Makefile.global])
1154
1155 AC_CONFIG_LINKS([
1156   src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c
1157   src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION}
1158   src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION}
1159   src/include/dynloader.h:src/backend/port/dynloader/${template}.h
1160   src/include/pg_config_os.h:src/include/port/${template}.h
1161   src/Makefile.port:src/makefiles/Makefile.${template}
1162 ])
1163
1164 AC_CONFIG_HEADERS([src/include/pg_config.h],
1165 [
1166 # Update timestamp for pg_config.h (see Makefile.global)
1167 echo >src/include/stamp-h
1168 ])
1169
1170 AC_OUTPUT