From 8bfc5756fb68e0b13d7e7c0073ad5b9a4790d1b6 Mon Sep 17 00:00:00 2001 From: rmanfredi Date: Thu, 24 Aug 2006 12:32:52 +0000 Subject: Moving project to sourceforge. git-svn-id: https://dist.svn.sourceforge.net/svnroot/dist/trunk/dist@1 190e5f8e-a817-0410-acf6-e9863daed9af --- mcon/U/Guess.U | 228 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 228 insertions(+) create mode 100644 mcon/U/Guess.U (limited to 'mcon/U/Guess.U') diff --git a/mcon/U/Guess.U b/mcon/U/Guess.U new file mode 100644 index 0000000..3459325 --- /dev/null +++ b/mcon/U/Guess.U @@ -0,0 +1,228 @@ +?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: Guess.U,v $ +?RCS: Revision 3.0.1.5 1995/07/25 13:37:14 ram +?RCS: patch56: now knows about OS/2 platforms +?RCS: +?RCS: Revision 3.0.1.4 1994/10/29 15:53:55 ram +?RCS: patch36: added ?F: line for metalint file checking +?RCS: patch36: call ./xenix explicitely instead of relying on PATH +?RCS: +?RCS: Revision 3.0.1.3 1993/12/15 08:14:35 ram +?RCS: patch15: variable d_bsd was not always set properly +?RCS: +?RCS: Revision 3.0.1.2 1993/08/30 08:57:14 ram +?RCS: patch8: fixed comment which wrongly attributed the usrinc symbol +?RCS: patch8: no more ugly messages when no /usr/include/ctype.h +?RCS: +?RCS: Revision 3.0.1.1 1993/08/27 14:37:37 ram +?RCS: patch7: added support for OSF/1 machines +?RCS: +?RCS: Revision 3.0 1993/08/18 12:04:57 ram +?RCS: Baseline for dist 3.0 netwide release. +?RCS: +?X: +?X: This unit hazards some guesses as to what the general nature of the system +?X: is. The information it collects here is used primarily to establish default +?X: answers to other questions. +?X: +?MAKE:Guess d_eunice d_xenix d_bsd d_linux d_dos d_os2: cat test echo n c \ + contains rm tr Loc eunicefix +?MAKE: -pick add $@ %< +?S:d_eunice: +?S: This variable conditionally defines the symbols EUNICE_SYSTEM, which +?S: alerts the C program that it must deal with ideosyncracies of VMS. +?S:. +?S:d_xenix: +?S: This variable conditionally defines the symbol XENIX_SYSTEM, which alerts +?S: the C program that it runs under Xenix. +?S:. +?S:d_dos: +?S: This symbol conditionally defines the symbol DOS_SYSTEM when running on +?S: DOS with DJGPP or Cygwin. +?S:. +?S:d_os2: +?S: This symbol conditionally defines the symbol OS2_SYSTEM when running on +?S: an OS/2 system. +?S:. +?S:d_bsd: +?S: This symbol conditionally defines the symbol BSD_SYSTEM when running on a +?S: BSD system. +?S:. +?S:d_linux: +?S: This symbol conditionally defines the symbol LINUX_SYSTEM when running +?S: on a Linux system. +?S:. +?C:EUNICE_SYSTEM (EUNICE): +?C: This symbol, if defined, indicates that the program is being compiled +?C: under the EUNICE package under VMS. The program will need to handle +?C: things like files that don't go away the first time you unlink them, +?C: due to version numbering. It will also need to compensate for lack +?C: of a respectable link() command. +?C:. +?C:VMS_SYSTEM (VMS): +?C: This symbol, if defined, indicates that the program is running under +?C: VMS. It is currently only set in conjunction with the EUNICE symbol. +?C:. +?C:XENIX_SYSTEM (XENIX): +?C: This symbol, if defined, indicates that the program is running under +?C: Xenix (at least 3.0 ?). +?C:. +?C:DOS_SYSTEM: +?C: This symbol, if defined, indicates that the program is running under +?C: DOS with DJGPP. +?C:. +?C:OS2_SYSTEM: +?C: This symbol, if defined, indicates that the program is running under +?C: an OS/2 system. +?C:. +?C:BSD_SYSTEM: +?C: This symbol, if defined, indicates that the program is running under +?C: a BSD system. +?C:. +?C:LINUX_SYSTEM: +?C: This symbol, if defined, indicates that the program is running under +?C: a Linux system. +?C:. +?H:#$d_eunice EUNICE_SYSTEM /**/ +?H:#$d_eunice VMS_SYSTEM /**/ +?H:#$d_xenix XENIX_SYSTEM /**/ +?H:#$d_dos DOS_SYSTEM /**/ +?H:#$d_os2 OS2_SYSTEM /**/ +?H:#$d_bsd BSD_SYSTEM /**/ +?H:#$d_linux LINUX_SYSTEM /**/ +?H:. +?F:./bsd ./usg ./v7 ./osf1 ./eunice ./xenix ./venix ./dos ./os2 ./gnu ./linux +?T:xxx DJGPP MACHTYPE +: make some quick guesses about what we are up against +echo " " +$echo $n "Hmm... $c" +echo exit 1 >bsd +echo exit 1 >usg +echo exit 1 >v7 +echo exit 1 >osf1 +echo exit 1 >eunice +echo exit 1 >xenix +echo exit 1 >venix +echo exit 1 >os2 +echo exit 1 >gnu +echo exit 1 >linux +echo exit 1 >dos +d_bsd="$undef" +d_linux="$undef" +d_dos="$undef" +d_os2="$undef" +?X: +?X: Do not use 'usrinc', or we get a circular dependency. because +?X: usrinc is defined in usrinc.U, which relies on us... +?X: +$cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null +if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1 +then + echo "Looks kind of like an OSF/1 system, but we'll see..." + echo exit 0 >osf1 +elif test `echo abc | $tr a-z A-Z` = Abc ; then + xxx=`./loc addbib blurfl $pth` + if $test -f $xxx; then + echo "Looks kind of like a USG system with BSD features, but we'll see..." + echo exit 0 >bsd + echo exit 0 >usg + else + if $contains SIGTSTP foo >/dev/null 2>&1 ; then + echo "Looks kind of like an extended USG system, but we'll see..." + else + echo "Looks kind of like a USG system, but we'll see..." + fi + echo exit 0 >usg + fi +elif $contains SIGTSTP foo >/dev/null 2>&1 ; then + echo "Looks kind of like a BSD system, but we'll see..." + d_bsd="$define" + echo exit 0 >bsd +elif + $rm --version 2>/dev/null >foo; + $contains "Free Software Foundation" foo >/dev/null +then + xxx=`uname` + echo exit 0 >gnu + echo "Looks kind of like a GNU/$xxx system, but we'll see..." + if $test X$xxx = XLinux; then + d_linux="$define" + echo exit 0 >linux + fi +else + echo "Looks kind of like a Version 7 system, but we'll see..." + echo exit 0 >v7 +fi +case "$eunicefix" in +*unixtovms*) + $cat <<'EOI' +There is, however, a strange, musty smell in the air that reminds me of +something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit. +EOI + echo exit 0 >eunice + d_eunice="$define" +: it so happens the Eunice I know will not run shell scripts in Unix format + ;; +*) + echo " " + echo "Congratulations. You aren't running Eunice." + d_eunice="$undef" + ;; +esac +case "$p_" in +:) ;; +*) + $cat <<'EOI' +I have the feeling something is not exactly right, however...don't tell me... +EOI + if test -n "$DJGPP"; then + case "X${MACHTYPE:-nonesuchmach}" in + cygwin) echo "hah!... you're running under Cygwin!";; + *) echo "got it... you're running DOS with DJGPP!";; + esac + echo exit 0 >dos + d_dos="$define" + else + $cat <<'EOI' +lemme think...does HAL ring a bell?...no, of course, you're only running OS/2! +EOI + echo exit 0 >os2 + d_os2="$define" + fi + ;; +esac +if test -f /xenix; then + echo "Actually, this looks more like a XENIX system..." + echo exit 0 >xenix + d_xenix="$define" +else + echo " " + echo "It's not Xenix..." + d_xenix="$undef" +fi +chmod +x xenix +$eunicefix xenix +if test -f /venix; then + echo "Actually, this looks more like a VENIX system..." + echo exit 0 >venix +else + echo " " + if ./xenix; then + : null + else + echo "Nor is it Venix..." + fi +fi +chmod +x bsd usg v7 osf1 eunice xenix venix dos os2 gnu linux +$eunicefix bsd usg v7 osf1 eunice xenix venix dos os2 gnu linux +$rm -f foo + -- cgit v1.2.3