?RCS: $Id: ptrsize.U,v 3.0.1.1 1994/10/29 16:28:19 ram Exp $
?RCS:
?RCS: Copyright (c) 1991-1993, Raphael Manfredi
-?RCS:
-?RCS: You may redistribute only under the terms of the Artistic Licence,
+?RCS:
+?RCS: You may redistribute only under the terms of the Artistic License,
?RCS: as specified in the README file that comes with the distribution.
?RCS: You may reuse parts of this distribution only within the terms of
-?RCS: that same Artistic Licence; a copy of which may be found at the root
+?RCS: that same Artistic License; a copy of which may be found at the root
?RCS: of the source tree for dist 3.0.
?RCS:
?RCS: $Log: ptrsize.U,v $
?RCS: Revision 3.0 1993/08/18 12:09:37 ram
?RCS: Baseline for dist 3.0 netwide release.
?RCS:
-?MAKE:ptrsize: echo n c cat rm Myread Compile voidflags
+?MAKE:ptrsize: cat rm_try Myread Compile voidflags run use64bitall i_stdlib d_quad
?MAKE: -pick add $@ %<
?S:ptrsize:
?S: This variable contains the value of the PTRSIZE symbol, which
?H:#define PTRSIZE $ptrsize /**/
?H:.
?F:!try
+?LINT:extern use64bitint
: check for length of pointer
echo " "
case "$ptrsize" in
'')
- $echo $n "Checking to see how big your pointers are...$c" >&4
+ echo "Checking to see how big your pointers are..." >&4
if test "$voidflags" -gt 7; then
echo '#define VOID_PTR char *' > try.c
else
echo '#define VOID_PTR void *' > try.c
fi
- $cat >>try.c <<'EOCP'
+ $cat >>try.c <<EOCP
#include <stdio.h>
+#$i_stdlib I_STDLIB
+#ifdef I_STDLIB
+#include <stdlib.h>
+#endif
int main()
{
printf("%d\n", (int)sizeof(VOID_PTR));
- return(0);
+ exit(0);
}
EOCP
set try
if eval $compile_ok; then
- ptrsize=`./try`
- $echo " $ptrsize bytes." >&4
+ ptrsize=`$run ./try`
+ echo "Your pointers are $ptrsize bytes long."
else
dflt='4'
echo "(I can't seem to compile the test program. Guessing...)" >&4
fi
;;
esac
-$rm -f try.c try
+$rm_try
+case "$use64bitall" in
+"$define"|true|[yY]*)
+ case "$ptrsize" in
+ 4) cat <<EOM >&4
+
+*** You have chosen a maximally 64-bit build,
+*** but your pointers are only 4 bytes wide.
+*** Please rerun Configure without -Duse64bitall.
+EOM
+ case "$d_quad" in
+ define)
+ cat <<EOM >&4
+*** Since you have quads, you could possibly try with -Duse64bitint.
+EOM
+ ;;
+ esac
+ cat <<EOM >&4
+*** Cannot continue, aborting.
+
+EOM
+
+ exit 1
+ ;;
+ esac
+ ;;
+esac
+