?RCS: $Id$ ?RCS: ?RCS: Copyright (c) 1991-1997, 2004-2006, Raphael Manfredi ?RCS: ?RCS: You may redistribute only under the terms of the Artistic Licence, ?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: of the source tree for dist 4.0. ?RCS: ?RCS: $Log: d_getpgrp.U,v $ ?RCS: Revision 3.0.1.1 1997/02/28 15:34:28 ram ?RCS: patch61: new USE_BSD_GETPGRP to detect the getpgrp() flavour ?RCS: ?RCS: Revision 3.0 1993/08/18 12:06:15 ram ?RCS: Baseline for dist 3.0 netwide release. ?RCS: ?MAKE:d_getpgrp d_bsdgetpgrp: Guess Inlibc Setvar cat rm \ +cc +ccflags +ldflags +libs i_unistd ?MAKE: -pick add $@ %< ?S:d_getpgrp: ?S: This variable conditionally defines HAS_GETPGRP if getpgrp() is ?S: available to get the current process group. ?S:. ?S:d_bsdgetpgrp: ?S: This variable conditionally defines USE_BSD_GETPGRP if ?S: getpgrp needs one arguments whereas USG one needs none. ?S:. ?C:HAS_GETPGRP (GETPGRP): ?C: This symbol, if defined, indicates that the getpgrp routine is ?C: available to get the current process group. ?C:. ?C:USE_BSD_GETPGRP: ?C: This symbol, if defined, indicates that getpgrp needs one ?C: arguments whereas USG one needs none. ?C:. ?H:#$d_getpgrp HAS_GETPGRP /**/ ?H:#$d_bsdgetpgrp USE_BSD_GETPGRP /**/ ?H:. ?F:!set !set.c ?T:xxx ?LINT:set d_getpgrp d_bsdgetpgrp : see if getpgrp exists set getpgrp d_getpgrp eval $inlibc @if USE_BSD_GETPGRP || d_bsdgetpgrp case "$d_getpgrp" in "$define") echo " " echo "Checking to see which flavor of getpgrp is in use..." $cat >set.c < #ifdef I_UNISTD # include #endif int main() { if (getuid() == 0) { printf("(I see you are running Configure as super-user...)\n"); setuid(1); } #ifdef TRY_BSD_PGRP if (getpgrp(1) == 0) exit(0); #else if (getpgrp() > 0) exit(0); #endif exit(1); } EOP if $cc -DTRY_BSD_PGRP $ccflags $ldflags -o set set.c $libs >/dev/null 2>&1 && ./set then echo "You have to use getpgrp(pid) instead of getpgrp()." >&4 val="$define" elif $cc $ccflags $ldflags -o set set.c $libs >/dev/null 2>&1 && ./set; then echo "You have to use getpgrp() instead of getpgrp(pid)." >&4 val="$undef" else echo "I can't seem to compile and run the test program." if ./usg; then xxx="a USG one, i.e. you use getpgrp()." else # SVR4 systems can appear rather BSD-ish. case "$i_unistd" in $undef) xxx="a BSD one, i.e. you use getpgrp(pid)." val="$define" ;; $define) xxx="probably a USG one, i.e. you use getpgrp()." val="$undef" ;; esac fi echo "Assuming your getpgrp is $xxx" >&4 fi ;; *) val="$undef";; esac set d_bsdgetpgrp eval $setvar $rm -f set set.c @end