?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 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 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.1.1 1994/10/29 16:28:19 ram ?RCS: patch36: added ?F: line for metalint file checking ?RCS: ?RCS: Revision 3.0 1993/08/18 12:09:37 ram ?RCS: Baseline for dist 3.0 netwide release. ?RCS: ?MAKE:ptrsize: cat rm_try Myread Compile run use64bitall i_stdlib d_quad ?MAKE: -pick add $@ %< ?S:ptrsize: ?S: This variable contains the value of the PTRSIZE symbol, which ?S: indicates to the C program how many bytes there are in a pointer. ?S:. ?C:PTRSIZE: ?C: This symbol contains the size of a pointer, so that the C preprocessor ?C: can make decisions based on it. It will be sizeof(void *) if ?C: the compiler supports (void *); otherwise it will be ?C: sizeof(char *). ?C:. ?H:#define PTRSIZE $ptrsize /**/ ?H:. ?F:!try ?LINT:extern use64bitint : check for length of pointer echo " " case "$ptrsize" in '') echo "Checking to see how big your pointers are..." >&4 $cat >try.c < #$i_stdlib I_STDLIB #ifdef I_STDLIB #include #endif int main() { printf("%d\n", (int)sizeof(void *)); exit(0); } EOCP set try if eval $compile_ok; then 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 rp="What is the size of a pointer (in bytes)?" . ./myread ptrsize="$ans" fi ;; esac $rm_try case "$use64bitall" in "$define"|true|[yY]*) case "$ptrsize" in 4) cat <&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 <&4 *** Since you have quads, you could possibly try with -Duse64bitint. EOM ;; esac cat <&4 *** Cannot continue, aborting. EOM exit 1 ;; esac ;; esac