Revise memutils.h to use alignment information gathered by

configure, instead of having a bunch of crufty platform-specific guesses.
This commit is contained in:
Tom Lane 1999-03-25 19:05:19 +00:00
parent 235a569aaa
commit 1e117923aa
4 changed files with 370 additions and 96 deletions

339
src/configure vendored
View File

@ -5496,10 +5496,237 @@ EOF
echo $ac_n "checking alignment of short""... $ac_c" 1>&6
echo "configure:5504: checking alignment of short" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_short'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_alignof_short='sizeof(short)'
else
cat > conftest.$ac_ext <<EOF
#line 5512 "configure"
#include "confdefs.h"
#include <stdio.h>
struct { char filler; short field; } mystruct;
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", ((char*) & mystruct.field) - ((char*) & mystruct));
exit(0);
}
EOF
if { (eval echo configure:5524: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_alignof_short=`cat conftestval`
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
ac_cv_alignof_short='sizeof(short)'
fi
rm -fr conftest*
fi
fi
echo "$ac_t""$ac_cv_alignof_short" 1>&6
cat >> confdefs.h <<EOF
#define ALIGNOF_SHORT $ac_cv_alignof_short
EOF
echo $ac_n "checking alignment of int""... $ac_c" 1>&6
echo "configure:5544: checking alignment of int" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_alignof_int='sizeof(int)'
else
cat > conftest.$ac_ext <<EOF
#line 5552 "configure"
#include "confdefs.h"
#include <stdio.h>
struct { char filler; int field; } mystruct;
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", ((char*) & mystruct.field) - ((char*) & mystruct));
exit(0);
}
EOF
if { (eval echo configure:5564: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_alignof_int=`cat conftestval`
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
ac_cv_alignof_int='sizeof(int)'
fi
rm -fr conftest*
fi
fi
echo "$ac_t""$ac_cv_alignof_int" 1>&6
cat >> confdefs.h <<EOF
#define ALIGNOF_INT $ac_cv_alignof_int
EOF
echo $ac_n "checking alignment of long""... $ac_c" 1>&6
echo "configure:5584: checking alignment of long" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_long'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_alignof_long='sizeof(long)'
else
cat > conftest.$ac_ext <<EOF
#line 5592 "configure"
#include "confdefs.h"
#include <stdio.h>
struct { char filler; long field; } mystruct;
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", ((char*) & mystruct.field) - ((char*) & mystruct));
exit(0);
}
EOF
if { (eval echo configure:5604: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_alignof_long=`cat conftestval`
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
ac_cv_alignof_long='sizeof(long)'
fi
rm -fr conftest*
fi
fi
echo "$ac_t""$ac_cv_alignof_long" 1>&6
cat >> confdefs.h <<EOF
#define ALIGNOF_LONG $ac_cv_alignof_long
EOF
if [ $HAVE_LONG_LONG_INT_64 -eq 1 ] ; then
echo $ac_n "checking alignment of long long int""... $ac_c" 1>&6
echo "configure:5625: checking alignment of long long int" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_long_long_int'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_alignof_long_long_int='sizeof(long long int)'
else
cat > conftest.$ac_ext <<EOF
#line 5633 "configure"
#include "confdefs.h"
#include <stdio.h>
struct { char filler; long long int field; } mystruct;
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", ((char*) & mystruct.field) - ((char*) & mystruct));
exit(0);
}
EOF
if { (eval echo configure:5645: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_alignof_long_long_int=`cat conftestval`
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
ac_cv_alignof_long_long_int='sizeof(long long int)'
fi
rm -fr conftest*
fi
fi
echo "$ac_t""$ac_cv_alignof_long_long_int" 1>&6
cat >> confdefs.h <<EOF
#define ALIGNOF_LONG_LONG_INT $ac_cv_alignof_long_long_int
EOF
fi
echo $ac_n "checking alignment of double""... $ac_c" 1>&6
echo "configure:5666: checking alignment of double" >&5
if eval "test \"`echo '$''{'ac_cv_alignof_double'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
if test "$cross_compiling" = yes; then
ac_cv_alignof_double='sizeof(double)'
else
cat > conftest.$ac_ext <<EOF
#line 5674 "configure"
#include "confdefs.h"
#include <stdio.h>
struct { char filler; double field; } mystruct;
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", ((char*) & mystruct.field) - ((char*) & mystruct));
exit(0);
}
EOF
if { (eval echo configure:5686: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
then
ac_cv_alignof_double=`cat conftestval`
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
ac_cv_alignof_double='sizeof(double)'
fi
rm -fr conftest*
fi
fi
echo "$ac_t""$ac_cv_alignof_double" 1>&6
cat >> confdefs.h <<EOF
#define ALIGNOF_DOUBLE $ac_cv_alignof_double
EOF
if [ $ac_cv_alignof_double != 'sizeof(double)' ] ; then
MAX_ALIGNOF="$ac_cv_alignof_long"
if [ $MAX_ALIGNOF -lt $ac_cv_alignof_double ] ; then
MAX_ALIGNOF="$ac_cv_alignof_double"
fi
if [ $HAVE_LONG_LONG_INT_64 -eq 1 ] ; then
if [ $MAX_ALIGNOF -lt $ac_cv_alignof_long_long_int ] ; then
MAX_ALIGNOF="$ac_cv_alignof_long_long_int"
fi
fi
else
MAX_ALIGNOF="$ac_cv_alignof_double"
fi
cat >> confdefs.h <<EOF
#define MAXIMUM_ALIGNOF $MAX_ALIGNOF
EOF
echo $ac_n "checking for POSIX signal interface""... $ac_c" 1>&6
echo "configure:5501: checking for POSIX signal interface" >&5
echo "configure:5728: checking for POSIX signal interface" >&5
cat > conftest.$ac_ext <<EOF
#line 5503 "configure"
#line 5730 "configure"
#include "confdefs.h"
#include <signal.h>
int main() {
@ -5509,7 +5736,7 @@ act.sa_flags = SA_RESTART;
sigaction(0, &act, &oact);
; return 0; }
EOF
if { (eval echo configure:5513: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:5740: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
cat >> confdefs.h <<\EOF
#define USE_POSIX_SIGNALS 1
@ -5533,7 +5760,7 @@ then
# Extract the first word of "tclsh", so it can be a program name with args.
set dummy tclsh; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:5537: checking for $ac_word" >&5
echo "configure:5764: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -5566,7 +5793,7 @@ fi
# Extract the first word of "tcl", so it can be a program name with args.
set dummy tcl; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:5570: checking for $ac_word" >&5
echo "configure:5797: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_TCLSH'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
@ -5605,7 +5832,7 @@ fi
if test "$USE_TCL" = true
then
echo $ac_n "checking for tclConfig.sh""... $ac_c" 1>&6
echo "configure:5609: checking for tclConfig.sh" >&5
echo "configure:5836: checking for tclConfig.sh" >&5
TCL_CONFIG_SH=
library_dirs=
if test -z "$TCL_DIRS"
@ -5634,7 +5861,7 @@ USE_TK=$USE_TCL # If TCL is disabled, disable TK
if test "$USE_TK" = true
then
echo $ac_n "checking for tkConfig.sh""... $ac_c" 1>&6
echo "configure:5638: checking for tkConfig.sh" >&5
echo "configure:5865: checking for tkConfig.sh" >&5
TK_CONFIG_SH=
# library_dirs are set in the check for TCL
for dir in $library_dirs
@ -5671,7 +5898,7 @@ if test "$USE_X" = true; then
# Uses ac_ vars as temps to allow command line to override cache and checks.
# --without-x overrides everything else, but does not touch the cache.
echo $ac_n "checking for X""... $ac_c" 1>&6
echo "configure:5675: checking for X" >&5
echo "configure:5902: checking for X" >&5
# Check whether --with-x or --without-x was given.
if test "${with_x+set}" = set; then
@ -5733,12 +5960,12 @@ if test "$ac_x_includes" = NO; then
# First, try using that file with no special directory specified.
cat > conftest.$ac_ext <<EOF
#line 5737 "configure"
#line 5964 "configure"
#include "confdefs.h"
#include <$x_direct_test_include>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:5742: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:5969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
@ -5807,14 +6034,14 @@ if test "$ac_x_libraries" = NO; then
ac_save_LIBS="$LIBS"
LIBS="-l$x_direct_test_library $LIBS"
cat > conftest.$ac_ext <<EOF
#line 5811 "configure"
#line 6038 "configure"
#include "confdefs.h"
int main() {
${x_direct_test_function}()
; return 0; }
EOF
if { (eval echo configure:5818: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6045: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
LIBS="$ac_save_LIBS"
# We can link X programs with no special library path.
@ -5920,17 +6147,17 @@ else
case "`(uname -sr) 2>/dev/null`" in
"SunOS 5"*)
echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6
echo "configure:5924: checking whether -R must be followed by a space" >&5
echo "configure:6151: checking whether -R must be followed by a space" >&5
ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries"
cat > conftest.$ac_ext <<EOF
#line 5927 "configure"
#line 6154 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
if { (eval echo configure:5934: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6161: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_R_nospace=yes
else
@ -5946,14 +6173,14 @@ rm -f conftest*
else
LIBS="$ac_xsave_LIBS -R $x_libraries"
cat > conftest.$ac_ext <<EOF
#line 5950 "configure"
#line 6177 "configure"
#include "confdefs.h"
int main() {
; return 0; }
EOF
if { (eval echo configure:5957: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6184: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
ac_R_space=yes
else
@ -5985,7 +6212,7 @@ rm -f conftest*
# libraries were built with DECnet support. And karl@cs.umb.edu says
# the Alpha needs dnet_stub (dnet does not exist).
echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6
echo "configure:5989: checking for dnet_ntoa in -ldnet" >&5
echo "configure:6216: checking for dnet_ntoa in -ldnet" >&5
ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -5993,7 +6220,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldnet $LIBS"
cat > conftest.$ac_ext <<EOF
#line 5997 "configure"
#line 6224 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -6004,7 +6231,7 @@ int main() {
dnet_ntoa()
; return 0; }
EOF
if { (eval echo configure:6008: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6235: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -6026,7 +6253,7 @@ fi
if test $ac_cv_lib_dnet_dnet_ntoa = no; then
echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6
echo "configure:6030: checking for dnet_ntoa in -ldnet_stub" >&5
echo "configure:6257: checking for dnet_ntoa in -ldnet_stub" >&5
ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -6034,7 +6261,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-ldnet_stub $LIBS"
cat > conftest.$ac_ext <<EOF
#line 6038 "configure"
#line 6265 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -6045,7 +6272,7 @@ int main() {
dnet_ntoa()
; return 0; }
EOF
if { (eval echo configure:6049: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6276: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -6074,12 +6301,12 @@ fi
# The nsl library prevents programs from opening the X display
# on Irix 5.2, according to dickey@clark.net.
echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6
echo "configure:6078: checking for gethostbyname" >&5
echo "configure:6305: checking for gethostbyname" >&5
if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6083 "configure"
#line 6310 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char gethostbyname(); below. */
@ -6102,7 +6329,7 @@ gethostbyname();
; return 0; }
EOF
if { (eval echo configure:6106: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6333: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_gethostbyname=yes"
else
@ -6123,7 +6350,7 @@ fi
if test $ac_cv_func_gethostbyname = no; then
echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6
echo "configure:6127: checking for gethostbyname in -lnsl" >&5
echo "configure:6354: checking for gethostbyname in -lnsl" >&5
ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -6131,7 +6358,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lnsl $LIBS"
cat > conftest.$ac_ext <<EOF
#line 6135 "configure"
#line 6362 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -6142,7 +6369,7 @@ int main() {
gethostbyname()
; return 0; }
EOF
if { (eval echo configure:6146: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6373: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -6172,12 +6399,12 @@ fi
# -lsocket must be given before -lnsl if both are needed.
# We assume that if connect needs -lnsl, so does gethostbyname.
echo $ac_n "checking for connect""... $ac_c" 1>&6
echo "configure:6176: checking for connect" >&5
echo "configure:6403: checking for connect" >&5
if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6181 "configure"
#line 6408 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char connect(); below. */
@ -6200,7 +6427,7 @@ connect();
; return 0; }
EOF
if { (eval echo configure:6204: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6431: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_connect=yes"
else
@ -6221,7 +6448,7 @@ fi
if test $ac_cv_func_connect = no; then
echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6
echo "configure:6225: checking for connect in -lsocket" >&5
echo "configure:6452: checking for connect in -lsocket" >&5
ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -6229,7 +6456,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lsocket $X_EXTRA_LIBS $LIBS"
cat > conftest.$ac_ext <<EOF
#line 6233 "configure"
#line 6460 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -6240,7 +6467,7 @@ int main() {
connect()
; return 0; }
EOF
if { (eval echo configure:6244: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6471: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -6264,12 +6491,12 @@ fi
# gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX.
echo $ac_n "checking for remove""... $ac_c" 1>&6
echo "configure:6268: checking for remove" >&5
echo "configure:6495: checking for remove" >&5
if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6273 "configure"
#line 6500 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char remove(); below. */
@ -6292,7 +6519,7 @@ remove();
; return 0; }
EOF
if { (eval echo configure:6296: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6523: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_remove=yes"
else
@ -6313,7 +6540,7 @@ fi
if test $ac_cv_func_remove = no; then
echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6
echo "configure:6317: checking for remove in -lposix" >&5
echo "configure:6544: checking for remove in -lposix" >&5
ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -6321,7 +6548,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lposix $LIBS"
cat > conftest.$ac_ext <<EOF
#line 6325 "configure"
#line 6552 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -6332,7 +6559,7 @@ int main() {
remove()
; return 0; }
EOF
if { (eval echo configure:6336: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6563: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -6356,12 +6583,12 @@ fi
# BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay.
echo $ac_n "checking for shmat""... $ac_c" 1>&6
echo "configure:6360: checking for shmat" >&5
echo "configure:6587: checking for shmat" >&5
if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6365 "configure"
#line 6592 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char shmat(); below. */
@ -6384,7 +6611,7 @@ shmat();
; return 0; }
EOF
if { (eval echo configure:6388: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6615: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_shmat=yes"
else
@ -6405,7 +6632,7 @@ fi
if test $ac_cv_func_shmat = no; then
echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6
echo "configure:6409: checking for shmat in -lipc" >&5
echo "configure:6636: checking for shmat in -lipc" >&5
ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -6413,7 +6640,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lipc $LIBS"
cat > conftest.$ac_ext <<EOF
#line 6417 "configure"
#line 6644 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -6424,7 +6651,7 @@ int main() {
shmat()
; return 0; }
EOF
if { (eval echo configure:6428: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6655: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -6457,7 +6684,7 @@ fi
# libraries we check for below, so use a different variable.
# --interran@uluru.Stanford.EDU, kb@cs.umb.edu.
echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6
echo "configure:6461: checking for IceConnectionNumber in -lICE" >&5
echo "configure:6688: checking for IceConnectionNumber in -lICE" >&5
ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -6465,7 +6692,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lICE $LIBS"
cat > conftest.$ac_ext <<EOF
#line 6469 "configure"
#line 6696 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -6476,7 +6703,7 @@ int main() {
IceConnectionNumber()
; return 0; }
EOF
if { (eval echo configure:6480: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6707: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -6509,7 +6736,7 @@ fi
X11_LIBS=""
echo $ac_n "checking for XOpenDisplay in -lX11""... $ac_c" 1>&6
echo "configure:6513: checking for XOpenDisplay in -lX11" >&5
echo "configure:6740: checking for XOpenDisplay in -lX11" >&5
ac_lib_var=`echo X11'_'XOpenDisplay | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
@ -6517,7 +6744,7 @@ else
ac_save_LIBS="$LIBS"
LIBS="-lX11 ${X_PRE_LIBS} $LIBS"
cat > conftest.$ac_ext <<EOF
#line 6521 "configure"
#line 6748 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2
@ -6528,7 +6755,7 @@ int main() {
XOpenDisplay()
; return 0; }
EOF
if { (eval echo configure:6532: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
if { (eval echo configure:6759: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes"
else
@ -6575,17 +6802,17 @@ then
PWD_INCDIR=no
ac_safe=`echo "pwd.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for pwd.h""... $ac_c" 1>&6
echo "configure:6579: checking for pwd.h" >&5
echo "configure:6806: checking for pwd.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
#line 6584 "configure"
#line 6811 "configure"
#include "confdefs.h"
#include <pwd.h>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:6589: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
{ (eval echo configure:6816: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*

View File

@ -896,6 +896,70 @@ fi
AC_DEFINE_UNQUOTED(INT64_FORMAT, $INT64_FORMAT)
dnl Determine memory alignment requirements for the basic C datatypes.
dnl CHECK_ALIGNOF(TYPE)
dnl This is modeled on the standard autoconf macro AC_CHECK_SIZEOF,
dnl except it finds the alignment requirement of the type instead of the size.
dnl The defined symbol is named ALIGNOF_TYPE, where the type name is
dnl converted in the same way as for AC_CHECK_SIZEOF.
dnl If cross-compiling, sizeof(type) is used as a default assumption.
AC_DEFUN(CHECK_ALIGNOF,
[changequote(<<, >>)dnl
dnl The name to #define.
define(<<AC_TYPE_NAME>>, translit(alignof_$1, [a-z *], [A-Z_P]))dnl
dnl The cache variable name.
define(<<AC_CV_NAME>>, translit(ac_cv_alignof_$1, [ *], [_p]))dnl
changequote([, ])dnl
AC_MSG_CHECKING(alignment of $1)
AC_CACHE_VAL(AC_CV_NAME,
[AC_TRY_RUN([#include <stdio.h>
struct { char filler; $1 field; } mystruct;
main()
{
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", ((char*) & mystruct.field) - ((char*) & mystruct));
exit(0);
}], AC_CV_NAME=`cat conftestval`,
AC_CV_NAME='sizeof($1)',
AC_CV_NAME='sizeof($1)')])dnl
AC_MSG_RESULT($AC_CV_NAME)
AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
undefine([AC_TYPE_NAME])dnl
undefine([AC_CV_NAME])dnl
])
CHECK_ALIGNOF(short)
CHECK_ALIGNOF(int)
CHECK_ALIGNOF(long)
if [[ $HAVE_LONG_LONG_INT_64 -eq 1 ]] ; then
CHECK_ALIGNOF(long long int)
fi
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 [[ $ac_cv_alignof_double != 'sizeof(double)' ]] ; then
MAX_ALIGNOF="$ac_cv_alignof_long"
if [[ $MAX_ALIGNOF -lt $ac_cv_alignof_double ]] ; then
MAX_ALIGNOF="$ac_cv_alignof_double"
fi
if [[ $HAVE_LONG_LONG_INT_64 -eq 1 ]] ; then
if [[ $MAX_ALIGNOF -lt $ac_cv_alignof_long_long_int ]] ; then
MAX_ALIGNOF="$ac_cv_alignof_long_long_int"
fi
fi
else
dnl cross-compiling: assume that double's alignment is worst case
MAX_ALIGNOF="$ac_cv_alignof_double"
fi
AC_DEFINE_UNQUOTED(MAXIMUM_ALIGNOF, $MAX_ALIGNOF)
dnl Check to see if platform has POSIX signal interface.
dnl NOTE: if this test fails then POSIX signals definitely don't work.
dnl It could be that the test compiles but the POSIX routines don't

View File

@ -290,6 +290,18 @@ extern void srandom(unsigned int seed);
/* Define this as the appropriate snprintf format for 64-bit ints, if any */
#undef INT64_FORMAT
/* These must be defined as the alignment requirement (NOT the size) of
* each of the basic C data types (except char, which we assume has align 1).
* MAXIMUM_ALIGNOF is the largest alignment requirement for any C data type.
* ALIGNOF_LONG_LONG_INT need only be defined if HAVE_LONG_LONG_INT_64 is.
*/
#undef ALIGNOF_SHORT
#undef ALIGNOF_INT
#undef ALIGNOF_LONG
#undef ALIGNOF_LONG_LONG_INT
#undef ALIGNOF_DOUBLE
#undef MAXIMUM_ALIGNOF
/* Define as the base type of the last arg to accept */
#undef SOCKET_SIZE_TYPE

View File

@ -15,7 +15,7 @@
*
* Copyright (c) 1994, Regents of the University of California
*
* $Id: memutils.h,v 1.22 1999/03/25 03:49:34 tgl Exp $
* $Id: memutils.h,v 1.23 1999/03/25 19:05:19 tgl Exp $
*
* NOTES
* some of the information in this file will be moved to
@ -30,50 +30,21 @@
/* ----------------
* Alignment macros: align a length or address appropriately for a given type.
*
* It'd be best to use offsetof to check how the compiler aligns stuff,
* but not all compilers support that (still true)? So we make the
* conservative assumption that a type must be aligned on a boundary equal
* to its own size, except on a few architectures where we know better.
* There used to be some incredibly crufty platform-dependent hackery here,
* but now we rely on the configure script to get the info for us. Much nicer.
*
* CAUTION: for the system tables, the struct declarations found in
* src/include/pg_*.h had better be interpreted by the compiler in a way
* that agrees with the workings of these macros. In practice that means
* being careful to lay out the columns of a system table in a way that avoids
* wasted pad space.
*
* CAUTION: _ALIGN will not work if sizeof(TYPE) is not a power of 2.
* There are machines where sizeof(double) is not, for example.
* But such a size is almost certainly not an alignment boundary anyway.
* NOTE: _ALIGN will not work if ALIGNVAL is not a power of 2.
* That case seems extremely unlikely to occur in practice, however.
* ----------------
*/
#define _ALIGN(TYPE,LEN) \
(((long)(LEN) + (sizeof(TYPE) - 1)) & ~(sizeof(TYPE) - 1))
#define _ALIGN(ALIGNVAL,LEN) (((long)(LEN) + (ALIGNVAL-1)) & ~(ALIGNVAL-1))
#define SHORTALIGN(LEN) _ALIGN(short, (LEN))
#if defined(m68k)
#define INTALIGN(LEN) _ALIGN(short, (LEN))
#else
#define INTALIGN(LEN) _ALIGN(int, (LEN))
#endif
#if (defined(sun) && ! defined(sparc)) || defined(m68k)
#define LONGALIGN(LEN) _ALIGN(short, (LEN))
#else
#define LONGALIGN(LEN) _ALIGN(long, (LEN))
#endif
#if defined(m68k)
#define DOUBLEALIGN(LEN) _ALIGN(short, (LEN))
#define MAXALIGN(LEN) _ALIGN(short, (LEN))
#elif defined(sco)
#define DOUBLEALIGN(LEN) _ALIGN(int, (LEN))
#define MAXALIGN(LEN) _ALIGN(int, (LEN))
#else
#define DOUBLEALIGN(LEN) _ALIGN(double, (LEN))
#define MAXALIGN(LEN) _ALIGN(double, (LEN))
#endif
#define SHORTALIGN(LEN) _ALIGN(ALIGNOF_SHORT, (LEN))
#define INTALIGN(LEN) _ALIGN(ALIGNOF_INT, (LEN))
#define LONGALIGN(LEN) _ALIGN(ALIGNOF_LONG, (LEN))
#define DOUBLEALIGN(LEN) _ALIGN(ALIGNOF_DOUBLE, (LEN))
#define MAXALIGN(LEN) _ALIGN(MAXIMUM_ALIGNOF, (LEN))
/*****************************************************************************
* oset.h -- Fixed format ordered set definitions. *