This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Populate metaconfig branch.
[metaconfig.git] / dist-3.0at70 / mcon / U / Guess.U
1 ?RCS: $Id: Guess.U,v 3.0.1.5 1995/07/25 13:37:14 ram Exp $
2 ?RCS:
3 ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
4 ?RCS: 
5 ?RCS: You may redistribute only under the terms of the Artistic Licence,
6 ?RCS: as specified in the README file that comes with the distribution.
7 ?RCS: You may reuse parts of this distribution only within the terms of
8 ?RCS: that same Artistic Licence; a copy of which may be found at the root
9 ?RCS: of the source tree for dist 3.0.
10 ?RCS:
11 ?RCS: $Log: Guess.U,v $
12 ?RCS: Revision 3.0.1.5  1995/07/25  13:37:14  ram
13 ?RCS: patch56: now knows about OS/2 platforms
14 ?RCS:
15 ?RCS: Revision 3.0.1.4  1994/10/29  15:53:55  ram
16 ?RCS: patch36: added ?F: line for metalint file checking
17 ?RCS: patch36: call ./xenix explicitely instead of relying on PATH
18 ?RCS:
19 ?RCS: Revision 3.0.1.3  1993/12/15  08:14:35  ram
20 ?RCS: patch15: variable d_bsd was not always set properly
21 ?RCS:
22 ?RCS: Revision 3.0.1.2  1993/08/30  08:57:14  ram
23 ?RCS: patch8: fixed comment which wrongly attributed the usrinc symbol
24 ?RCS: patch8: no more ugly messages when no /usr/include/ctype.h
25 ?RCS:
26 ?RCS: Revision 3.0.1.1  1993/08/27  14:37:37  ram
27 ?RCS: patch7: added support for OSF/1 machines
28 ?RCS:
29 ?RCS: Revision 3.0  1993/08/18  12:04:57  ram
30 ?RCS: Baseline for dist 3.0 netwide release.
31 ?RCS:
32 ?X: 
33 ?X: This unit hazards some guesses as to what the general nature of the system
34 ?X: is.  The information it collects here is used primarily to establish default
35 ?X: answers to other questions.
36 ?X: 
37 ?MAKE:Guess d_eunice d_xenix d_bsd: cat test echo n c contains rm Loc eunicefix
38 ?MAKE:  -pick add $@ %<
39 ?S:d_eunice:
40 ?S:     This variable conditionally defines the symbols EUNICE and VAX, which
41 ?S:     alerts the C program that it must deal with ideosyncracies of VMS.
42 ?S:.
43 ?S:d_xenix:
44 ?S:     This variable conditionally defines the symbol XENIX, which alerts
45 ?S:     the C program that it runs under Xenix.
46 ?S:.
47 ?S:d_bsd:
48 ?S:     This symbol conditionally defines the symbol BSD when running on a
49 ?S:     BSD system.
50 ?S:.
51 ?C:EUNICE:
52 ?C:     This symbol, if defined, indicates that the program is being compiled
53 ?C:     under the EUNICE package under VMS.  The program will need to handle
54 ?C:     things like files that don't go away the first time you unlink them,
55 ?C:     due to version numbering.  It will also need to compensate for lack
56 ?C:     of a respectable link() command.
57 ?C:.
58 ?C:VMS:
59 ?C:     This symbol, if defined, indicates that the program is running under
60 ?C:     VMS.  It is currently only set in conjunction with the EUNICE symbol.
61 ?C:.
62 ?C:XENIX:
63 ?C:     This symbol, if defined, indicates thet the program is running under
64 ?C:     Xenix (at least 3.0 ?).
65 ?C:.
66 ?C:BSD:
67 ?C:     This symbol, if defined, indicates that the program is running under
68 ?C:     a BSD system.
69 ?C:.
70 ?H:#$d_eunice EUNICE            /**/
71 ?H:#$d_eunice VMS               /**/
72 ?H:#$d_xenix XENIX              /**/
73 ?H:#$d_bsd BSD          /**/
74 ?H:.
75 ?F:./bsd ./usg ./v7 ./osf1 ./eunice ./xenix ./venix ./os2
76 ?T:xxx
77 : make some quick guesses about what we are up against
78 echo " "
79 $echo $n "Hmm...  $c"
80 echo exit 1 >bsd
81 echo exit 1 >usg
82 echo exit 1 >v7
83 echo exit 1 >osf1
84 echo exit 1 >eunice
85 echo exit 1 >xenix
86 echo exit 1 >venix
87 echo exit 1 >os2
88 d_bsd="$undef"
89 ?X:
90 ?X: Do not use 'usrinc', or we get a circular dependency. because
91 ?X: usrinc is defined in usrinc.U, which relies on us...
92 ?X:
93 $cat /usr/include/signal.h /usr/include/sys/signal.h >foo 2>/dev/null
94 if test -f /osf_boot || $contains 'OSF/1' /usr/include/ctype.h >/dev/null 2>&1
95 then
96         echo "Looks kind of like an OSF/1 system, but we'll see..."
97         echo exit 0 >osf1
98 elif test `echo abc | tr a-z A-Z` = Abc ; then
99         xxx=`./loc addbib blurfl $pth`
100         if $test -f $xxx; then
101         echo "Looks kind of like a USG system with BSD features, but we'll see..."
102                 echo exit 0 >bsd
103                 echo exit 0 >usg
104         else
105                 if $contains SIGTSTP foo >/dev/null 2>&1 ; then
106                         echo "Looks kind of like an extended USG system, but we'll see..."
107                 else
108                         echo "Looks kind of like a USG system, but we'll see..."
109                 fi
110                 echo exit 0 >usg
111         fi
112 elif $contains SIGTSTP foo >/dev/null 2>&1 ; then
113         echo "Looks kind of like a BSD system, but we'll see..."
114         d_bsd="$define"
115         echo exit 0 >bsd
116 else
117         echo "Looks kind of like a Version 7 system, but we'll see..."
118         echo exit 0 >v7
119 fi
120 case "$eunicefix" in
121 *unixtovms*)
122         $cat <<'EOI'
123 There is, however, a strange, musty smell in the air that reminds me of
124 something...hmm...yes...I've got it...there's a VMS nearby, or I'm a Blit.
125 EOI
126         echo exit 0 >eunice
127         d_eunice="$define"
128 : it so happens the Eunice I know will not run shell scripts in Unix format
129         ;;
130 *)
131         echo " "
132         echo "Congratulations.  You aren't running Eunice."
133         d_eunice="$undef"
134         ;;
135 esac
136 case "$p_" in
137 :) ;;
138 *)
139         $cat <<'EOI'
140 I have the feeling something is not exactly right, however...don't tell me...
141 lemme think...does HAL ring a bell?...no, of course, you're only running OS/2!
142 EOI
143         echo exit 0 >os2
144         ;;
145 esac
146 if test -f /xenix; then
147         echo "Actually, this looks more like a XENIX system..."
148         echo exit 0 >xenix
149         d_xenix="$define"
150 else
151         echo " "
152         echo "It's not Xenix..."
153         d_xenix="$undef"
154 fi
155 chmod +x xenix
156 $eunicefix xenix
157 if test -f /venix; then
158         echo "Actually, this looks more like a VENIX system..."
159         echo exit 0 >venix
160 else
161         echo " "
162         if ./xenix; then
163                 : null
164         else
165                 echo "Nor is it Venix..."
166         fi
167 fi
168 chmod +x bsd usg v7 osf1 eunice xenix venix os2
169 $eunicefix bsd usg v7 osf1 eunice xenix venix os2
170 $rm -f foo
171