Newer
Older
int64 a = 20000001;
int64 b = 40000005;
int does_int64_snprintf_work()
{
int64 c;
char buf[100];
if (sizeof(int64) != 8)
return 0; /* doesn't look like the right size */
c = a * b;
snprintf(buf, 100, INT64_FORMAT, c);
if (strcmp(buf, "800000140000005") != 0)
return 0; /* either multiply or snprintf is busted */
return 1;
}
main() {
exit(! does_int64_snprintf_work());
}],
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
[ AC_MSG_RESULT(yes)
INT64_FORMAT='"%qd"'
],
[ AC_MSG_RESULT(no)
# Force usage of our own snprintf, since system snprintf is broken
SNPRINTF='snprintf.o'
INT64_FORMAT='"%lld"'
],
[ AC_MSG_RESULT(assuming not on target machine)
# Force usage of our own snprintf, since we cannot test foreign snprintf
SNPRINTF='snprintf.o'
INT64_FORMAT='"%lld"'
]) ],
[ AC_MSG_RESULT(assuming not on target machine)
# Force usage of our own snprintf, since we cannot test foreign snprintf
SNPRINTF='snprintf.o'
INT64_FORMAT='"%lld"'
])
else
# here if we previously decided we needed to use our own snprintf
INT64_FORMAT='"%lld"'
fi
else
# Here if we are not using 'long long int' at all
INT64_FORMAT='"%ld"'
AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT)
dnl Determine memory alignment requirements for the basic C datatypes.
PGAC_CHECK_ALIGNOF(short)
PGAC_CHECK_ALIGNOF(int)
PGAC_CHECK_ALIGNOF(long)
PGAC_CHECK_ALIGNOF(long long int)
PGAC_CHECK_ALIGNOF(double)
dnl Compute maximum alignment of any basic type.
dnl We assume long's alignment is at least as strong as char, short, or int;
dnl but we must check long long (if it exists) and double.
if test $pgac_cv_alignof_double != 'sizeof(double)' ; then
MAX_ALIGNOF=$pgac_cv_alignof_long
if test $MAX_ALIGNOF -lt $pgac_cv_alignof_double ; then
MAX_ALIGNOF=$pgac_cv_alignof_double
if test x"$HAVE_LONG_LONG_INT_64" = xyes && test $MAX_ALIGNOF -lt $pgac_cv_alignof_long_long_int ; then
MAX_ALIGNOF="$pgac_cv_alignof_long_long_int"
fi
else
dnl cross-compiling: assume that double's alignment is worst case
MAX_ALIGNOF="$pgac_cv_alignof_double"
AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF, [Define as the maximum alignment requirement of any type])
PGAC_FUNC_POSIX_SIGNALS
# Check for Tcl configuration script tclConfig.sh
if test "$with_tcl" = yes; then
PGAC_PATH_TCLCONFIGSH([$with_tclconfig])
# Check for Tk configuration script tkConfig.sh
if test "$with_tk" = yes; then
PGAC_PATH_TKCONFIGSH([$with_tkconfig $with_tclconfig])
#
# Check for DocBook and tools
#
PGAC_PROG_NSGMLS
# If you don't have nsgmls you won't get very far, so save the cycles.
if test -n "$NSGMLS"; then
PGAC_PROG_JADE
PGAC_CHECK_DOCBOOK([3.1])
PGAC_PATH_DOCBOOK_STYLESHEETS
AC_CHECK_PROGS(SGMLSPL, sgmlspl)
fi
# Finally ready to produce output files ...
Peter Eisentraut
committed
if test x"$abs_top_srcdir" != x"$abs_top_builddir"; then
echo $ac_n "preparing build tree... $ac_c" 1>&6
/bin/sh "$srcdir/config/prep_buildtree" "$abs_top_srcdir" "$abs_top_builddir" \
|| AC_MSG_ERROR(failed)
AC_MSG_RESULT(done)
fi
AC_OUTPUT(
[
GNUmakefile
src/GNUmakefile
src/Makefile.global
src/backend/port/Makefile
],
[echo "timestamp file" > src/include/stamp-h]