]> granicus.if.org Git - postgresql/blob - configure.in
Make bison version test actually work ...
[postgresql] / configure.in
1 dnl Process this file with autoconf to produce a configure script.
2 dnl $Header: /cvsroot/pgsql/configure.in,v 1.257 2003/06/09 03:41:46 tgl 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.4devel], [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=cygwin ;;
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    mingw*) template=win32 ;;
69   netbsd*) template=netbsd ;;
70 nextstep*) template=nextstep ;;
71  openbsd*) template=openbsd ;;
72      osf*) template=osf ;;
73      qnx*) template=qnx4 ;;
74      sco*) template=sco ;;
75  solaris*) template=solaris ;;
76    sunos*) template=sunos4 ;;
77  sysv4.2*)
78         case $host_vendor in
79           univel) template=univel ;;
80         esac ;;
81    sysv4*) template=svr4 ;;
82    sysv5*) template=unixware ;;
83   ultrix*) template=ultrix4 ;;
84 esac
85
86   if test x"$template" = x"" ; then
87     AC_MSG_ERROR([[
88 *******************************************************************
89 PostgreSQL has apparently not been ported to your platform yet.
90 To try a manual configuration, look into the src/template directory
91 for a similar platform and use the '--with-template=' option.
92
93 Please also contact <pgsql-ports@postgresql.org> to see about
94 rectifying this.  Include the above 'checking host system type...'
95 line.
96 *******************************************************************
97 ]])
98   fi
99
100 ])
101
102 AC_MSG_RESULT([$template])
103
104 PORTNAME=$template
105 AC_SUBST(PORTNAME)
106
107 # Pick right test-and-set (TAS) code.  Most platforms have inline
108 # assembler code in src/include/storage/s_lock.h, so we just use
109 # a dummy file here.
110 case $host in
111   *-*-hpux*)        need_tas=yes; tas_file=hpux.s ;;
112   sparc-*-solaris*) need_tas=yes; tas_file=solaris_sparc.s ;;
113   i?86-*-solaris*)   need_tas=yes; tas_file=solaris_i386.s ;;
114   *)                need_tas=no;  tas_file=dummy.s ;;
115 esac
116 AC_CONFIG_LINKS([src/backend/port/tas.s:src/backend/port/tas/${tas_file}])
117
118 if test "$need_tas" = yes ; then
119   TAS=tas.o
120 fi
121 AC_SUBST(TAS)
122
123
124
125 ##
126 ## Command line options
127 ##
128
129
130 #
131 # Add non-standard directories to the include path
132 #
133 PGAC_ARG_REQ(with, includes, [  --with-includes=DIRS    look for additional header files in DIRS])
134
135
136 #
137 # Add non-standard directories to the library search path
138 #
139 PGAC_ARG_REQ(with, libraries, [  --with-libraries=DIRS   look for additional libraries in DIRS],
140              [LIBRARY_DIRS=$withval])
141
142 PGAC_ARG_REQ(with, libs,      [  --with-libs=DIRS        alternative spelling of --with-libraries],
143              [LIBRARY_DIRS=$withval])
144
145
146 #
147 # 64-bit integer date/time storage (--enable-integer-datetimes)
148 #
149 AC_MSG_CHECKING([whether to build with 64-bit integer date/time support])
150 PGAC_ARG_BOOL(enable, integer-datetimes, no, [  --enable-integer-datetimes  enable 64-bit integer date/time support],
151               [AC_DEFINE([USE_INTEGER_DATETIMES], 1,
152                          [Define to 1 if you want 64-bit integer timestamp and interval support. (--enable-integer-datetimes)])])
153 AC_MSG_RESULT([$enable_integer_datetimes])
154
155
156 # Character set recode (--enable-recode)
157 #
158 AC_MSG_CHECKING([whether to build with recode support])
159 PGAC_ARG_BOOL(enable, recode, no, [  --enable-recode         enable single-byte recode support],
160               [AC_DEFINE([CYR_RECODE], 1,
161                          [Define to 1 if you want single-byte recode support. (--enable-recode)])])
162 AC_MSG_RESULT([$enable_recode])
163
164
165 #
166 # NLS
167 #
168 AC_MSG_CHECKING([whether NLS is wanted])
169 PGAC_ARG_OPTARG(enable, nls,
170                 [[  --enable-nls[=LANGUAGES]  enable Native Language Support]],
171                 [],
172                 [WANTED_LANGUAGES=$enableval],
173                 [AC_DEFINE(ENABLE_NLS, 1,
174                            [Define to 1 if you want National Language Support. (--enable-nls)])])
175 AC_MSG_RESULT([$enable_nls])
176 AC_SUBST(enable_nls)
177 AC_SUBST(WANTED_LANGUAGES)
178
179 #
180 # Default port number (--with-pgport), default 5432
181 #
182 AC_MSG_CHECKING([for default port number])
183 PGAC_ARG_REQ(with, pgport, [  --with-pgport=PORTNUM   change default port number [5432]],
184              [default_port=$withval],
185              [default_port=5432])
186 AC_MSG_RESULT([$default_port])
187 # Need both of these because some places want an integer and some a string
188 AC_DEFINE_UNQUOTED(DEF_PGPORT, ${default_port},
189 [Define to the default TCP port number on which the server listens and
190 to which clients will try to connect to.  This can be overridden at
191 run-time, but it's convenient if your clients have the right default
192 compiled in.  (--with-pgport=PORTNUM)])
193 AC_DEFINE_UNQUOTED(DEF_PGPORT_STR, "${default_port}",
194                    [Define to the default TCP port number as string constant.])
195 AC_SUBST(default_port)
196
197 #
198 # Option to disable shared libraries
199 #
200 PGAC_ARG_BOOL(enable, shared, yes,
201               [  --disable-shared        do not build shared libraries])
202 AC_SUBST(enable_shared)
203
204 #
205 # '-rpath'-like feature can be disabled
206 #
207 PGAC_ARG_BOOL(enable, rpath, yes,
208               [  --disable-rpath         do not embed shared library search path in executables])
209 AC_SUBST(enable_rpath)
210
211
212 #
213 # --enable-debug adds -g to compiler flags
214 #
215 PGAC_ARG_BOOL(enable, debug, no,
216               [  --enable-debug          build with debugging symbols (-g)])
217 AC_SUBST(enable_debug)
218
219 #
220 # C compiler
221 #
222
223 # For historical reasons you can also use --with-CC to specify the C compiler
224 # to use, although the standard way to do this is to set the CC environment
225 # variable.
226 PGAC_ARG_REQ(with, CC, [], [CC=$with_CC])
227
228 case $template in
229   aix) pgac_cc_list="gcc xlc";;
230  irix) pgac_cc_list="cc";; # no gcc
231     *) pgac_cc_list="gcc cc";;
232 esac
233
234 AC_PROG_CC([$pgac_cc_list])
235 # Read the template
236 . "$srcdir/src/template/$template" || exit
237
238 if test "$ac_env_CFLAGS_set" = set; then
239   CFLAGS=$ac_env_CFLAGS_value
240 fi
241 if test "$enable_debug" = yes && test "$ac_cv_prog_cc_g" = yes; then
242   CFLAGS="$CFLAGS -g"
243 fi
244 AC_MSG_NOTICE([using CFLAGS=$CFLAGS])
245
246 # Check if the compiler still works with the template settings
247 AC_MSG_CHECKING([whether the C compiler still works])
248 AC_TRY_LINK([], [return 0;],
249   [AC_MSG_RESULT(yes)],
250   [AC_MSG_RESULT(no)
251    AC_MSG_ERROR([cannot proceed])])
252
253 # Defend against gcc -ffastmath
254 if test "$GCC" = yes; then
255 AC_TRY_COMPILE([], [@%:@ifdef __FAST_MATH__
256 choke me
257 @%:@endif], [], [AC_MSG_ERROR([do not put -ffast-math in CFLAGS])])
258 fi
259
260 AC_PROG_CPP
261 AC_SUBST(GCC)
262
263 # Create compiler version string
264 if test x"$GCC" = x"yes" ; then
265   cc_string="GCC `${CC} --version | sed q`"
266 else
267   cc_string=$CC
268 fi
269 AC_DEFINE_UNQUOTED(PG_VERSION_STR,
270                    ["PostgreSQL $PACKAGE_VERSION on $host, compiled by $cc_string"],
271                    [A 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. (--enable-cassert)])])
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 # Tcl/Tk
324 #
325 AC_MSG_CHECKING([whether to build with Tcl])
326 PGAC_ARG_BOOL(with, tcl, no, [  --with-tcl              build Tcl and Tk interfaces])
327 AC_MSG_RESULT([$with_tcl])
328 AC_SUBST([with_tcl])
329
330 # If Tcl is enabled (above) then Tk is also, unless the user disables it using --without-tk
331 AC_MSG_CHECKING([whether to build with Tk])
332 if test "$with_tcl" = yes; then
333   PGAC_ARG_BOOL(with, tk, yes, [  --without-tk            do not build Tk interfaces if Tcl is enabled])
334 else
335   with_tk=no
336 fi
337 AC_MSG_RESULT([$with_tk])
338 AC_SUBST([with_tk])
339
340
341 # We see if the path to the Tcl/Tk configuration scripts is specified.
342 # This will override the use of tclsh to find the paths to search.
343
344 PGAC_ARG_REQ(with, tclconfig, [  --with-tclconfig=DIR    tclConfig.sh and tkConfig.sh are in DIR])
345
346 # We see if the path to the Tk configuration scripts is specified.
347 # This will override the use of tclsh to find the paths to search.
348
349 PGAC_ARG_REQ(with, tkconfig,  [  --with-tkconfig=DIR     tkConfig.sh is in DIR])
350
351 #
352 # Optionally build Perl modules (PL/Perl)
353 #
354 AC_MSG_CHECKING([whether to build Perl modules])
355 PGAC_ARG_BOOL(with, perl, no, [  --with-perl             build Perl modules (PL/Perl)])
356 AC_MSG_RESULT([$with_perl])
357 AC_SUBST(with_perl)
358
359 #
360 # Optionally build Python interface module
361 #
362 AC_MSG_CHECKING([whether to build Python modules])
363 PGAC_ARG_BOOL(with, python, no, [  --with-python           build Python interface module])
364 AC_MSG_RESULT([$with_python])
365 AC_SUBST(with_python)
366
367 #
368 # Optionally build the Java/JDBC tools
369 #
370 AC_MSG_CHECKING([whether to build Java/JDBC tools])
371 PGAC_ARG_BOOL(with, java, no, [  --with-java             build JDBC interface and Java tools],
372 [AC_MSG_RESULT(yes)
373 PGAC_PATH_ANT
374 if test -z "$ANT"; then
375   AC_MSG_ERROR([Ant is required to build Java components
376 If you have Ant already installed, see config.log for details on the failure.])
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 to build with Kerberos 4 support. (--with-krb4)])
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 to build with Kerberos 5 support. (--with-krb5)])
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                    [Define to the name of the PostgreSQL service principal in Kerberos. (--with-krb-srvnam=NAME)])
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 1 to build with PAM support. (--with-pam)])])
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. (--with-openssl)])
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 # Elf
511 #
512
513 # Assume system is ELF if it predefines __ELF__ as 1,
514 # otherwise believe host_os based default.
515 case $host_os in
516     freebsd1*|freebsd2*) elf=no;;
517     freebsd3*|freebsd4*) elf=yes;;
518 esac
519
520 AC_EGREP_CPP(yes,
521 [#if __ELF__
522   yes
523 #endif
524 ],
525 [ELF_SYS=true],
526 [if test "X$elf" = "Xyes" ; then
527   ELF_SYS=true
528 else
529   ELF_SYS=
530 fi])
531 AC_SUBST(ELF_SYS)
532
533 #
534 # Pthreads
535 #
536
537 AC_CHECK_HEADER(pthread.h,
538         [AC_DEFINE(HAVE_THREADS, 1, [Define to 1 if you have the threads interface.])])
539 if test ! -z "$HAVE_THREADS"
540 then    
541         case $host_os in
542                 # BSD/OS and NetBSD require no special libraries or flags
543                 netbsd*|bsdi*) ;;
544                 freebsd2*|freebsd3*|freebsd4*) THREAD_CFLAGS="-pthread" ;;
545                 freebsd*) THREAD_LIBS="-lc_r" ;;
546                 linux*) THREAD_LIBS="-lpthread"
547                         THREAD_CFLAGS="-D_REENTRANT" ;;
548         # other operating systems might fail because they have pthread.h but need
549         # special libs we don't know about yet.
550         esac
551 fi
552 AC_SUBST(THREAD_LIBS)
553 AC_SUBST(THREAD_CFLAGS)
554
555 #
556 # Assignments
557 #
558
559 CPPFLAGS="$CPPFLAGS $INCLUDES"
560 LDFLAGS="$LDFLAGS $LIBDIRS"
561
562 AC_MSG_NOTICE([using CPPFLAGS=$CPPFLAGS])
563 AC_MSG_NOTICE([using LDFLAGS=$LDFLAGS])
564
565
566 AC_PROG_AWK
567 PGAC_PATH_FLEX
568 AC_PROG_LN_S
569 AC_PROG_LD
570 AC_SUBST(LD)
571 AC_SUBST(with_gnu_ld)
572 case $host_os in sysv5*)
573   AC_CACHE_CHECK([whether ld -R works], [pgac_cv_prog_ld_R],
574   [
575     pgac_save_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -Wl,-R/usr/lib"
576     AC_TRY_LINK([], [], [pgac_cv_prog_ld_R=yes], [pgac_cv_prog_ld_R=no])
577     LDFLAGS=$pgac_save_LDFLAGS
578   ])
579   ld_R_works=$pgac_cv_prog_ld_R
580   AC_SUBST(ld_R_works)
581 esac
582 AC_PROG_RANLIB
583 AC_CHECK_PROGS(LORDER, lorder)
584 AC_PATH_PROG(TAR, tar)
585 PGAC_CHECK_STRIP
586
587 AC_CHECK_PROGS(YACC, ['bison -y'])
588
589 if test "$YACC"; then
590   if $YACC --version | sed q | $AWK '{ if ($4 < 1.875) exit 0; else exit 1;}'; then
591     AC_MSG_WARN([
592 *** The installed version of Bison is too old.  PostgreSQL needs
593 *** Bison version 1.875 or later.])
594   fi
595 fi
596
597 if test -z "$YACC"; then
598   AC_MSG_WARN([
599 *** Without Bison you will not be able to build PostgreSQL from CVS or
600 *** change any of the parser definition files.  You can obtain Bison from
601 *** a GNU mirror site.  (If you are using the official distribution of
602 *** PostgreSQL then you do not need to worry about this because the Bison
603 *** output is pre-generated.)  To use a different yacc program (possible,
604 *** but not recommended), set the environment variable YACC before running
605 *** 'configure'.])
606 fi
607 AC_SUBST(YFLAGS)
608
609 PGAC_PATH_PERL
610 if test "$with_perl" = yes; then
611   PGAC_CHECK_PERL_CONFIGS([archlibexp,privlibexp,useshrplib])
612   PGAC_CHECK_PERL_EMBED_LDFLAGS
613 fi
614
615 if test "$with_python" = yes; then
616   PGAC_PATH_PYTHON
617   PGAC_CHECK_PYTHON_MODULE_SETUP
618   PGAC_CHECK_PYTHON_EMBED_SETUP
619 fi
620
621
622 ##
623 ## Libraries
624 ##
625
626 if test "$PORTNAME" != "aix" -a "$PORTNAME" != "alpha"
627 then
628         AC_CHECK_LIB(bsd,      main)
629 fi
630 AC_CHECK_LIB(util,     setproctitle)
631 AC_CHECK_LIB(m,        main)
632 AC_CHECK_LIB(dl,       main)
633 AC_CHECK_LIB(nsl,      main)
634 AC_CHECK_LIB(socket,   main)
635 AC_CHECK_LIB(ipc,      main)
636 AC_CHECK_LIB(IPC,      main)
637 AC_CHECK_LIB(lc,       main)
638 AC_CHECK_LIB(dld,      main)
639 AC_CHECK_LIB(ld,       main)
640 AC_CHECK_LIB(compat,   main)
641 AC_CHECK_LIB(BSD,      main)
642 AC_CHECK_LIB(gen,      main)
643 AC_CHECK_LIB(PW,       main)
644 AC_CHECK_LIB(resolv,   main)
645 AC_CHECK_LIB(wsock32,   main)
646 AC_SEARCH_LIBS(getopt_long, [getopt gnugetopt])
647 # QNX:
648 AC_CHECK_LIB(unix, main)
649 AC_SEARCH_LIBS(crypt,  crypt)
650 # BeOS:
651 AC_CHECK_LIB(bind, __inet_ntoa)
652 # Solaris:
653 AC_SEARCH_LIBS(fdatasync, [rt posix4])
654 # Cygwin:
655 AC_CHECK_LIB(cygipc, shmget)
656
657 if test "$with_readline" = yes; then
658   PGAC_CHECK_READLINE
659   if test x"$pgac_cv_check_readline" = x"no"; then
660     AC_MSG_ERROR([readline library not found
661 If you have readline already installed, see config.log for details on the
662 failure.  It is possible the compiler isn't looking in the proper directory.
663 Use --without-readline to disable readline support.])
664   fi
665 fi
666
667 if test "$with_zlib" = yes; then
668   AC_CHECK_LIB(z, inflate, [],
669                [AC_MSG_ERROR([zlib library not found
670 If you have zlib already installed, see config.log for details on the
671 failure.  It is possible the compiler isn't looking in the proper directory.
672 Use --without-zlib to disable zlib support.])])
673 fi
674
675 if test "$with_krb4" = yes ; then
676   AC_CHECK_LIB(des, des_encrypt, [], [AC_MSG_ERROR([library 'des' is required for Kerberos 4])])
677   AC_CHECK_LIB(krb, krb_sendauth, [], [AC_MSG_ERROR([library 'krb' is required for Kerberos 4])])
678   AC_REPLACE_FUNCS([gethostname])
679 fi
680
681 if test "$with_krb5" = yes ; then
682   AC_SEARCH_LIBS(com_err, [krb5 'krb5 -ldes -lasn1 -lroken' com_err], [],
683                  [AC_MSG_ERROR([could not find function 'com_err' required for Kerberos 5])])
684   AC_SEARCH_LIBS(krb5_encrypt, [krb5 'krb5 -ldes -lasn1 -lroken' crypto k5crypto], [],
685                  [AC_MSG_ERROR([could not find function 'krb5_encrypt' required for Kerberos 5])])
686   AC_SEARCH_LIBS(krb5_sendauth, [krb5 'krb5 -ldes -lasn1 -lroken'], [],
687                  [AC_MSG_ERROR([could not find function 'krb5_sendauth' required for Kerberos 5])])
688 fi
689
690 if test "$with_openssl" = yes ; then
691   dnl Order matters!
692   AC_CHECK_LIB(crypto, CRYPTO_new_ex_data, [], [AC_MSG_ERROR([library 'crypto' is required for OpenSSL])])
693   AC_CHECK_LIB(ssl,    SSL_library_init, [], [AC_MSG_ERROR([library 'ssl' is required for OpenSSL])])
694 fi
695
696 if test "$with_pam" = yes ; then
697   AC_CHECK_LIB(pam,    pam_start, [], [AC_MSG_ERROR([library 'pam' is required for PAM])])
698 fi
699
700
701 ##
702 ## Header files
703 ##
704
705 dnl sys/socket.h is required by AC_FUNC_ACCEPT_ARGTYPES
706 AC_CHECK_HEADERS([crypt.h dld.h endian.h fp_class.h getopt.h ieeefp.h poll.h pwd.h sys/ipc.h sys/poll.h sys/pstat.h sys/select.h sys/sem.h sys/socket.h sys/shm.h sys/un.h termios.h utime.h kernel/OS.h kernel/image.h SupportDefs.h])
707
708 # At least on IRIX, cpp test for netinet/tcp.h will fail unless
709 # netinet/in.h is included first.
710 AC_CHECK_HEADERS(netinet/in.h)
711 AC_CHECK_HEADERS(netinet/tcp.h, [], [],
712 [AC_INCLUDES_DEFAULT
713 #ifdef HAVE_NETINET_IN_H
714 #include <netinet/in.h>
715 #endif
716 ])
717
718 if test "$with_readline" = yes; then
719   AC_CHECK_HEADERS(readline/readline.h, [],
720                    [AC_CHECK_HEADERS(editline/readline.h, [],
721                          [AC_CHECK_HEADERS(readline.h, [],
722                                      [AC_MSG_ERROR([readline header not found
723 If you have readline already installed, see config.log for details on the
724 failure.  It is possible the compiler isn't looking in the proper directory.
725 Use --without-readline to disable readline support.])])])])
726   AC_CHECK_HEADERS(readline/history.h, [],
727                    [AC_CHECK_HEADERS(editline/history.h, [],
728                          [AC_CHECK_HEADERS(history.h, [],
729                                      [AC_MSG_ERROR([history header not found
730 If you have readline already installed, see config.log for details on the
731 failure.  It is possible the compiler isn't looking in the proper directory.
732 Use --without-readline to disable readline support.])])])])
733 fi
734
735 if test "$with_zlib" = yes; then
736   AC_CHECK_HEADER(zlib.h, [], [AC_MSG_ERROR([zlib header not found
737 If you have zlib already installed, see config.log for details on the
738 failure.  It is possible the compiler isn't looking in the proper directory.
739 Use --without-zlib to disable zlib support.])])
740 fi
741
742 if test "$with_krb4" = yes ; then
743   AC_CHECK_HEADER(krb.h, [], [AC_MSG_ERROR([header file <krb.h> is required for Kerberos 4])])
744 fi
745
746 if test "$with_krb5" = yes ; then
747   AC_CHECK_HEADER(krb5.h, [], [AC_MSG_ERROR([header file <krb5.h> is required for Kerberos 5])])
748   AC_CHECK_HEADER(com_err.h, [], [AC_MSG_ERROR([header file <com_err.h> is required for Kerberos 5])])
749 fi
750
751 if test "$with_openssl" = yes ; then
752   AC_CHECK_HEADER(openssl/ssl.h, [], [AC_MSG_ERROR([header file <openssl/ssl.h> is required for OpenSSL])])
753   AC_CHECK_HEADER(openssl/err.h, [], [AC_MSG_ERROR([header file <openssl/err.h> is required for OpenSSL])])
754 fi
755
756 if test "$with_pam" = yes ; then
757   AC_CHECK_HEADERS(security/pam_appl.h, [],
758                    [AC_CHECK_HEADERS(pam/pam_appl.h, [],
759                                      [AC_MSG_ERROR([header file <security/pam_appl.h> or <pam/pam_appl.h> is required for PAM.])])])
760 fi
761
762
763 ##
764 ## Types, structures, compiler characteristics
765 ##
766
767 m4_defun([AC_PROG_CC_STDC], []) dnl We don't want that.
768 AC_C_CONST
769 AC_C_INLINE
770 AC_C_STRINGIZE
771 PGAC_C_SIGNED
772 AC_C_VOLATILE
773 PGAC_C_FUNCNAME_SUPPORT
774 PGAC_STRUCT_TIMEZONE
775 PGAC_UNION_SEMUN
776 PGAC_STRUCT_SOCKADDR_UN
777 PGAC_STRUCT_ADDRINFO
778
779 AC_CHECK_TYPES([struct cmsgcred, struct fcred, struct sockcred], [], [],
780 [#include <sys/param.h>
781 #include <sys/socket.h>
782 #include <sys/ucred.h>])
783
784 if test "$with_zlib" = yes; then
785   # Check that <zlib.h> defines z_streamp (versions before about 1.0.4
786   # did not).  While we could work around the lack of z_streamp, it
787   # seems unwise to encourage people to use such old zlib versions...
788   AC_CHECK_TYPE(z_streamp, [], [AC_MSG_ERROR([zlib version is too old
789 Use --without-zlib to disable zlib support.])],
790                 [#include <zlib.h>])
791 fi
792
793 if test "$with_krb5" = yes; then
794 # Check for differences between MIT and Heimdal (KTH) releases
795   AC_CHECK_MEMBERS(krb5_ticket.enc_part2, [],
796                    [AC_CHECK_MEMBERS(krb5_ticket.client, [],
797                                      [AC_MSG_ERROR([could not determine how to get client name from Kerberos 5 ticket])],
798                                      [#include <krb5.h>])],
799                    [#include <krb5.h>])
800   AC_CHECK_MEMBERS(krb5_error.text.data, [],
801                    [AC_CHECK_MEMBERS(krb5_error.e_data, [],
802                                      [AC_MSG_ERROR([could not determine how to extract Kerberos 5 error messages])],
803                                      [#include <krb5.h>])],
804                    [#include <krb5.h>])
805 fi
806
807
808 ##
809 ## Functions, global variables
810 ##
811
812 PGAC_VAR_INT_TIMEZONE
813 AC_FUNC_ACCEPT_ARGTYPES
814 PGAC_FUNC_GETTIMEOFDAY_1ARG
815
816 # SunOS doesn't handle negative byte comparisons properly with +/- return
817 AC_FUNC_MEMCMP
818
819 AC_CHECK_FUNCS([cbrt dlopen fcvt fdatasync getpeereid memmove poll pstat setproctitle setsid sigprocmask symlink sysconf utime utimes waitpid])
820
821 AC_CHECK_DECLS(fdatasync, [], [], [#include <unistd.h>])
822
823 AC_CHECK_TYPE([struct sockaddr_in6],
824               [AC_CHECK_FUNC(inet_ntop,
825                              [AC_DEFINE(HAVE_IPV6, 1, [Define to 1 if you have support for IPv6.])])],
826               [],
827 [$ac_includes_default
828 #include <netinet/in.h>])
829
830 AC_CACHE_CHECK([for PS_STRINGS], [pgac_cv_var_PS_STRINGS],
831 [AC_TRY_LINK(
832 [#include <machine/vmparam.h>
833 #include <sys/exec.h>
834 ],
835 [PS_STRINGS->ps_nargvstr = 1;
836 PS_STRINGS->ps_argvstr = "foo";],
837 [pgac_cv_var_PS_STRINGS=yes],
838 [pgac_cv_var_PS_STRINGS=no])])
839 if test "$pgac_cv_var_PS_STRINGS" = yes ; then
840   AC_DEFINE([HAVE_PS_STRINGS], [], [Define to 1 if the PS_STRINGS thing exists.])
841 fi
842
843
844 # We use our snprintf.c emulation if either snprintf() or vsnprintf()
845 # is missing.  Yes, there are machines that have only one.  We may
846 # also decide to use snprintf.c if snprintf() is present but does not
847 # have working "long long int" support -- see below.
848
849 pgac_need_repl_snprintf=no
850 AC_CHECK_FUNCS(snprintf, [], pgac_need_repl_snprintf=yes)
851 AC_CHECK_FUNCS(vsnprintf, [], pgac_need_repl_snprintf=yes)
852
853
854 # Check whether <stdio.h> declares snprintf() and vsnprintf(); if not,
855 # include/c.h will provide declarations.  Note this is a separate test
856 # from whether the functions exist in the C library --- there are
857 # systems that have the functions but don't bother to declare them :-(
858
859 AC_CHECK_DECLS([snprintf, vsnprintf])
860
861
862 # do this one the hard way in case isinf() is a macro
863 AC_CACHE_CHECK([for isinf], ac_cv_func_isinf,
864 [AC_TRY_LINK(
865 [#include <math.h>
866 ],
867 [double x = 0.0; int res = isinf(x);],
868 [ac_cv_func_isinf=yes],
869 [ac_cv_func_isinf=no])])
870
871 if test $ac_cv_func_isinf = yes ; then
872   AC_DEFINE(HAVE_ISINF, 1, [Define to 1 if you have isinf().])
873 else
874   AC_LIBOBJ(isinf)
875   # Look for a way to implement a substitute for isinf()
876   AC_CHECK_FUNCS([fpclass fp_class fp_class_d class], [break])
877 fi
878
879 AC_REPLACE_FUNCS([crypt fseeko getopt getopt_long getrusage inet_aton random rint srandom strcasecmp strdup strerror strtol strtoul])
880
881 # system's version of getaddrinfo(), if any, may be used only if we found
882 # a definition for struct addrinfo; see notes in src/include/getaddrinfo.h
883 if test x"$ac_cv_type_struct_addrinfo" = xyes ; then
884   AC_REPLACE_FUNCS([getaddrinfo])
885 else
886   AC_LIBOBJ(getaddrinfo)
887 fi
888
889 # BSD/OS & NetBSD use a custom fseeko/ftello built on fsetpos/fgetpos
890 # We override the previous test that said fseeko/ftello didn't exist
891 # OS tests are also done in include/c.h and port/fseeko.c
892 case $host_os in bsdi*|netbsd*)
893 ac_cv_func_fseeko=yes
894 esac
895
896 # Solaris has a very slow qsort in certain cases, so we replace it.
897 case $host_os in solaris*) 
898 AC_LIBOBJ(qsort) ;;
899 esac
900
901 # Win32 can't to rename or unlink on an open file
902 case $host_os in mingw*)
903 AC_LIBOBJ(dirmod)
904 AC_LIBOBJ(copydir)
905 AC_LIBOBJ(gettimeofday) ;;
906 esac
907
908 if test "$with_readline" = yes; then
909   PGAC_VAR_RL_COMPLETION_APPEND_CHARACTER
910   AC_CHECK_FUNCS([rl_completion_matches rl_filename_completion_function])
911   AC_CHECK_FUNCS([replace_history_entry])
912 fi
913
914
915 dnl Cannot use AC_CHECK_FUNC because finite may be a macro
916 AC_MSG_CHECKING(for finite)
917 AC_TRY_LINK([#include <math.h>],
918             [int dummy=finite(1.0);],
919             [AC_DEFINE(HAVE_FINITE, 1, [Define to 1 if you have finite().])
920 AC_MSG_RESULT(yes)],
921             [AC_MSG_RESULT(no)])
922
923 dnl Cannot use AC_CHECK_FUNC because sigsetjmp may be a macro
924 dnl (especially on GNU libc)
925 dnl See also comments in c.h.
926 AC_MSG_CHECKING(for sigsetjmp)
927 AC_TRY_LINK([#include <setjmp.h>],
928             [sigjmp_buf x; sigsetjmp(x, 1);],
929             [AC_DEFINE(HAVE_SIGSETJMP, 1, [Define to 1 if you have sigsetjmp().])
930 AC_MSG_RESULT(yes)],
931             [AC_MSG_RESULT(no)])
932
933 AC_CHECK_FUNC(syslog,
934               [AC_CHECK_HEADER(syslog.h,
935                                [AC_DEFINE(HAVE_SYSLOG, 1, [Define to 1 if you have the syslog interface.])])])
936
937 AC_CACHE_CHECK([for optreset], pgac_cv_var_int_optreset,
938 [AC_TRY_LINK([#include <unistd.h>],
939   [extern int optreset; optreset = 1;],
940   [pgac_cv_var_int_optreset=yes],
941   [pgac_cv_var_int_optreset=no])])
942 if test x"$pgac_cv_var_int_optreset" = x"yes"; then
943   AC_DEFINE(HAVE_INT_OPTRESET, 1, [Define to 1 if you have the global variable 'int optreset'.])
944 fi
945
946 AC_CHECK_FUNCS([strtoll strtoq], [break])
947 AC_CHECK_FUNCS([strtoull strtouq], [break])
948
949 # Check for one of atexit() or on_exit()
950 AC_CHECK_FUNCS(atexit, [],
951                [AC_CHECK_FUNCS(on_exit, [],
952                [AC_MSG_ERROR([neither atexit() nor on_exit() found])])])
953
954 AC_FUNC_FSEEKO
955
956
957 # This test makes sure that run tests work at all.  Sometimes a shared
958 # library is found by the linker, but the runtime linker can't find it.
959 # This check should come after all modifications of compiler or linker
960 # variables, and before any other run tests.
961 AC_MSG_CHECKING([test program])
962 AC_TRY_RUN([int main() { return 0; }],
963 [AC_MSG_RESULT(ok)],
964 [AC_MSG_RESULT(failed)
965 AC_MSG_ERROR([[
966 *** Could not execute a simple test program.  This may be a problem
967 *** related to locating shared libraries.  Check the file 'config.log'
968 *** for the exact reason.]])],
969 [AC_MSG_RESULT([cross-compiling])])
970
971
972 dnl Check to see if we have a working 64-bit integer type.
973 dnl This breaks down into two steps:
974 dnl (1) figure out if the compiler has a 64-bit int type with working
975 dnl arithmetic, and if so
976 dnl (2) see whether snprintf() can format the type correctly.  (Currently,
977 dnl snprintf is the only library routine we really need for int8 support.)
978 dnl It's entirely possible to have a compiler that handles a 64-bit type
979 dnl when the C library doesn't; this is fairly likely when using gcc on
980 dnl an older platform, for example.
981 dnl If there is no native snprintf() or it does not handle the 64-bit type,
982 dnl we force our own version of snprintf() to be used instead.
983 dnl Note this test must be run after our initial check for snprintf/vsnprintf.
984
985 PGAC_TYPE_64BIT_INT([long int])
986
987 if test x"$HAVE_LONG_INT_64" = x"no" ; then
988   PGAC_TYPE_64BIT_INT([long long int])
989 fi
990
991
992 dnl If we need to use "long long int", figure out whether nnnLL notation works.
993
994 if test x"$HAVE_LONG_LONG_INT_64" = xyes ; then
995   AC_TRY_COMPILE([
996 #define INT64CONST(x)  x##LL
997 long long int foo = INT64CONST(0x1234567890123456);
998 ],
999         [],
1000         [AC_DEFINE(HAVE_LL_CONSTANTS, 1, [Define to 1 if constants of type 'long long int' should have the suffix LL.])],
1001         [])
1002 fi
1003
1004
1005 # If we found "long int" is 64 bits, assume snprintf handles it.  If
1006 # we found we need to use "long long int", better check.  We cope with
1007 # snprintfs that use either %lld, %qd, or %I64d as the format.  If
1008 # neither works, fall back to our own snprintf emulation (which we
1009 # know uses %lld).
1010
1011 if test "$HAVE_LONG_LONG_INT_64" = yes ; then
1012   if test $pgac_need_repl_snprintf = no; then
1013     PGAC_FUNC_SNPRINTF_LONG_LONG_INT_FORMAT
1014     if test "$LONG_LONG_INT_FORMAT" = ""; then
1015       # Force usage of our own snprintf, since system snprintf is broken
1016       pgac_need_repl_snprintf=yes
1017       LONG_LONG_INT_FORMAT='%lld'
1018     fi
1019   else
1020     # Here if we previously decided we needed to use our own snprintf
1021     LONG_LONG_INT_FORMAT='%lld'
1022   fi
1023   INT64_FORMAT="\"$LONG_LONG_INT_FORMAT\""
1024 else
1025   # Here if we are not using 'long long int' at all
1026   INT64_FORMAT='"%ld"'
1027 fi
1028
1029 AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT,
1030                    [Define to the appropriate snprintf format for 64-bit ints, if any.])
1031
1032 if test $pgac_need_repl_snprintf = yes; then
1033   AC_LIBOBJ(snprintf)
1034 fi
1035
1036 # Need a #define for the size of Datum (unsigned long)
1037 AC_CHECK_SIZEOF([unsigned long])
1038
1039 # Determine memory alignment requirements for the basic C data types.
1040
1041 PGAC_CHECK_ALIGNOF(short)
1042 PGAC_CHECK_ALIGNOF(int)
1043 PGAC_CHECK_ALIGNOF(long)
1044 if test x"$HAVE_LONG_LONG_INT_64" = x"yes" ; then
1045   PGAC_CHECK_ALIGNOF(long long int)
1046 fi
1047 PGAC_CHECK_ALIGNOF(double)
1048
1049 # Compute maximum alignment of any basic type.
1050 # We assume long's alignment is at least as strong as char, short, or int;
1051 # but we must check long long (if it exists) and double.
1052
1053 MAX_ALIGNOF=$pgac_cv_alignof_long
1054 if test $MAX_ALIGNOF -lt $pgac_cv_alignof_double ; then
1055   MAX_ALIGNOF=$pgac_cv_alignof_double
1056 fi
1057 if test x"$HAVE_LONG_LONG_INT_64" = xyes && test $MAX_ALIGNOF -lt $pgac_cv_alignof_long_long_int ; then
1058   MAX_ALIGNOF="$pgac_cv_alignof_long_long_int"
1059 fi
1060 AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any C data type.])
1061
1062
1063 # Some platforms predefine the types int8, int16, etc.  Only check
1064 # a (hopefully) representative subset.
1065 AC_CHECK_TYPES([int8, uint8, int64, uint64], [], [],
1066 [#include <stdio.h>
1067 #ifdef HAVE_SUPPORTDEFS_H
1068 #include <SupportDefs.h>
1069 #endif])
1070
1071 # We also check for sig_atomic_t, which *should* be defined per ANSI
1072 # C, but is missing on some old platforms.
1073 AC_CHECK_TYPES(sig_atomic_t, [], [], [#include <signal.h>])
1074
1075
1076 PGAC_FUNC_POSIX_SIGNALS
1077 if test $ac_cv_func_fseeko = yes; then
1078 AC_SYS_LARGEFILE
1079 fi
1080
1081
1082 # Select semaphore implementation type.
1083 if test x"$USE_NAMED_POSIX_SEMAPHORES" = x"1" ; then
1084   AC_DEFINE(USE_NAMED_POSIX_SEMAPHORES, 1, [Define to select named POSIX semaphores.])
1085   SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
1086 else
1087   if test x"$USE_UNNAMED_POSIX_SEMAPHORES" = x"1" ; then
1088     AC_DEFINE(USE_UNNAMED_POSIX_SEMAPHORES, 1, [Define to select unnamed POSIX semaphores.])
1089     SEMA_IMPLEMENTATION="src/backend/port/posix_sema.c"
1090   else
1091     AC_DEFINE(USE_SYSV_SEMAPHORES, 1, [Define to select SysV-style semaphores.])
1092     SEMA_IMPLEMENTATION="src/backend/port/sysv_sema.c"
1093   fi
1094 fi
1095
1096
1097 # Select shared-memory implementation type.
1098 AC_DEFINE(USE_SYSV_SHARED_MEMORY, 1, [Define to select SysV-style shared memory.])
1099 SHMEM_IMPLEMENTATION="src/backend/port/sysv_shmem.c"
1100
1101
1102 if test "$enable_nls" = yes ; then
1103   PGAC_CHECK_GETTEXT
1104 fi
1105
1106 # Check for Tcl configuration script tclConfig.sh
1107 if test "$with_tcl" = yes; then
1108     PGAC_PATH_TCLCONFIGSH([$with_tclconfig])
1109     PGAC_EVAL_TCLCONFIGSH([$TCL_CONFIG_SH],
1110                           [TCL_INCLUDE_SPEC,TCL_LIB_FILE,TCL_LIBS,TCL_LIB_SPEC,TCL_SHARED_BUILD])
1111     AC_SUBST(TCL_SHLIB_LD_LIBS)dnl don't want to double-evaluate that one
1112 fi
1113
1114 # Check for Tk configuration script tkConfig.sh
1115 if test "$with_tk" = yes; then
1116     PGAC_PATH_TKCONFIGSH([$with_tkconfig $with_tclconfig])
1117     PGAC_EVAL_TCLCONFIGSH([$TK_CONFIG_SH], [TK_LIBS,TK_LIB_SPEC,TK_XINCLUDES])
1118 fi
1119
1120
1121 #
1122 # Check for DocBook and tools
1123 #
1124 PGAC_PROG_NSGMLS
1125 PGAC_PROG_JADE
1126 PGAC_CHECK_DOCBOOK(3.1)
1127 PGAC_PATH_DOCBOOK_STYLESHEETS
1128 PGAC_PATH_COLLATEINDEX
1129 AC_CHECK_PROGS(SGMLSPL, sgmlspl)
1130
1131
1132 # prepare build tree if outside source tree
1133 # Note 1: test -ef might not exist, but it's more reliable than `pwd`.
1134 # Note 2: /bin/pwd might be better than shell's built-in at getting
1135 #         a symlink-free name.
1136 if test "$no_create" != yes; then
1137   if ( test "$srcdir" -ef . ) >/dev/null 2>&1 || test "`cd $srcdir && /bin/pwd`" = "`/bin/pwd`"; then
1138     :
1139   else
1140     AC_SUBST(vpath_build, yes)
1141     _AS_ECHO_N([preparing build tree... ])
1142     pgac_abs_top_srcdir=`cd "$srcdir" && pwd`
1143     $SHELL "$ac_aux_dir/prep_buildtree" "$pgac_abs_top_srcdir" "." \
1144       || AC_MSG_ERROR(failed)
1145     AC_MSG_RESULT(done)
1146   fi
1147 fi
1148
1149
1150 AC_CONFIG_FILES([GNUmakefile src/Makefile.global])
1151
1152 AC_CONFIG_LINKS([
1153   src/backend/port/dynloader.c:src/backend/port/dynloader/${template}.c
1154   src/backend/port/pg_sema.c:${SEMA_IMPLEMENTATION}
1155   src/backend/port/pg_shmem.c:${SHMEM_IMPLEMENTATION}
1156   src/include/dynloader.h:src/backend/port/dynloader/${template}.h
1157   src/include/pg_config_os.h:src/include/port/${template}.h
1158   src/Makefile.port:src/makefiles/Makefile.${template}
1159 ])
1160
1161 AC_CONFIG_HEADERS([src/include/pg_config.h],
1162 [
1163 # Update timestamp for pg_config.h (see Makefile.global)
1164 echo >src/include/stamp-h
1165 ])
1166
1167 AC_OUTPUT