File: diff

package info (click to toggle)
ibcs 971113-3
  • links: PTS
  • area: main
  • in suites: hamm
  • size: 1,108 kB
  • ctags: 2,061
  • sloc: ansic: 14,910; makefile: 280; sh: 203; asm: 47; perl: 18; pascal: 2
file content (650 lines) | stat: -rw-r--r-- 21,978 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
--- ibcs-970513.orig/CONFIG.i386
+++ ibcs-970513/CONFIG.i386
@@ -14,7 +14,7 @@
 # kernel but will crash and burn due to the lack of correct locking.
 # The default below is to build either a working iBCS or one which
 # will not load. It is wrong for the majority but it is _safe_ :-).
-SMP=yes
+SMP=no
 
 # If you want to use versioned symbol names in an attempt to allow the
 # iBCS module to load against other, compatible kernel versions enable
@@ -24,7 +24,7 @@
 # *same* kernel version. I don't know why. I don't recommend you use
 # this option if you build several slightly different kernels for
 # different machines/purposes.
-USE_VERSIONS=no
+USE_VERSIONS=yes
 
 # SOCKSYS_MAJOR is the major number to use for the /dev/socksys socket
 # interface to streams based TCP/IP (i.e. Lachman as used by many SVR3s).
--- ibcs-970513.orig/Makefile
+++ ibcs-970513/Makefile
@@ -21,14 +21,14 @@
 	  test ! -d $$i || \
 	    { $(MAKE) -C $$i; }; done
 
-install: CONFIG devices
+install: CONFIG # devices
 	set -e; for i in $(SUBDIRS); do \
 	  test ! -d $$i || \
-	    { $(MAKE) -C $$i install; }; done
+	    { $(MAKE) -C $$i install DEST=$(DEST); }; done
 
 devices:
-	cp MAKEDEV.ibcs /dev/MAKEDEV.ibcs
-	cd /dev; ./MAKEDEV.ibcs
+	cp MAKEDEV.ibcs $(DEST)/dev/MAKEDEV.ibcs
+	cd $(DEST)/dev; sh ../../MAKEDEV.debian
 
 clean:	CONFIG
 	set -e; for i in $(SUBDIRS); do \
--- ibcs-970513.orig/Tools/Makefile
+++ ibcs-970513/Tools/Makefile
@@ -15,10 +15,10 @@
 
 
 lnxstamp:	lnxstamp.c
-		cc -O -fomit-frame-pointer -o lnxstamp lnxstamp.c
+		gcc -O -fomit-frame-pointer -o lnxstamp lnxstamp.c
 
 trace:		trace.c
-		cc -O -fomit-frame-pointer -o trace -I../include trace.c
+		gcc -O -fomit-frame-pointer -o trace -I../include trace.c
 
 dep:
 		$(CPP) -M -I../include $(CFLAGS) *.c > .depend
--- ibcs-970513.orig/Tools/trace.c
+++ ibcs-970513/Tools/trace.c
@@ -14,8 +14,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
-#include <ibcs/ibcs.h>
-#include <ibcs/trace.h>
+#include <ibcs/traceapi.h>
 
 
 _syscall1(int, personality, int, pers);
--- ibcs-970513.orig/devtrace/Makefile
+++ ibcs-970513/devtrace/Makefile
@@ -9,7 +9,7 @@
 
 
 devtrace: devtrace.c
-	$(CC) $(CFLAGS) -c -o devtrace devtrace.c
+	$(CC) $(CFLAGS) -c -o devtrace devtrace.c -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h -I/usr/src/linux/include
 
 clean:
 	rm -f devtrace core *.o *.a *.s .depend
--- ibcs-970513.orig/iBCSemul/Makefile
+++ ibcs-970513/iBCSemul/Makefile
@@ -12,7 +12,7 @@
 
 include ../CONFIG
 
-MODULEDIR = /lib/modules/`uname -r`/misc
+MODULEDIR = $(DEST)/lib/modules/`kernelversion`/misc
 
 EMUOPTS	=
 
@@ -117,7 +117,7 @@
 endif
 
 ifeq ($(USE_VERSIONS),yes)
-MODOPTS := -DMODVERSIONS -include /usr/include/linux/modversions.h
+MODOPTS := -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h
 endif
 
 ifeq ($(SMP),yes)
@@ -125,7 +125,7 @@
 endif
 
 CFLAGS = -D__KERNEL__=1 -DMODULE -D__NO_VERSION__ \
-	-I../include -Wall -Wstrict-prototypes \
+	-I../include -I/usr/src/linux/include -Wall -Wstrict-prototypes \
 	-O3 -fomit-frame-pointer $(ARCH_FLAGS) \
 	-DSOCKSYS_MAJOR=$(SOCKSYS_MAJOR) $(EMUOPTS) $(MODOPTS) $(SMPOPTS)
 
--- ibcs-970513.orig/iBCSemul/xstat.c
+++ ibcs-970513/iBCSemul/xstat.c
@@ -21,9 +21,11 @@
 #endif
 
 #include <linux/kernel.h>
+#if 0
 #include <sys/types.h>
 #include <sys/stat.h>
 #include <sys/time.h>
+#endif
 #include <linux/fs.h>
 #include <linux/errno.h>
 #include <linux/mm.h>
--- ibcs-970513.orig/include/ibcs/trace.h
+++ ibcs-970513/include/ibcs/trace.h
@@ -4,18 +4,7 @@
  * $Id: trace.h,v 1.9 1995/11/16 15:34:23 mike Exp $
  * $Source: /usr/CVS/ibcs/include/ibcs/trace.h,v $
  */
-#define	TRACE_API	0x00000001 /* all call/return values */
-#define	TRACE_IOCTL	0x00000002 /* all ioctl calls */
-#define	TRACE_IOCTL_F	0x00000004 /* ioctl calls that fail */
-#define	TRACE_SIGNAL	0x00000008 /* all signal calls */
-#define	TRACE_SIGNAL_F	0x00000010 /* signal calls that fail */
-#define	TRACE_SOCKSYS	0x00000020 /* socksys and spx devices */
-#define	TRACE_COFF_LD	0x00000040 /* COFF loader */
-#define	TRACE_ELF_LD	0x00000080 /* ELF loader */
-#define	TRACE_XOUT_LD	0x00000100 /* XOUT loader */
-#define	TRACE_XOUT_DB	0x00000200 /* XOUT loader blocks before launch */
-#define	TRACE_STREAMS	0x00000400 /* STREAMS faking */
-#define	TRACE_FUNC	0x10000000 /* trace this function */
+#include<ibcs/traceapi.h>
 
 extern int ibcs_trace;
 extern IBCS_func *ibcs_func_p;
--- ibcs-970513.orig/include/ibcs/traceapi.h
+++ ibcs-970513/include/ibcs/traceapi.h
@@ -0,0 +1,16 @@
+/*
+ * ibcs trace -- mask of trace values
+ *
+ */
+#define	TRACE_API	0x00000001 /* all call/return values */
+#define	TRACE_IOCTL	0x00000002 /* all ioctl calls */
+#define	TRACE_IOCTL_F	0x00000004 /* ioctl calls that fail */
+#define	TRACE_SIGNAL	0x00000008 /* all signal calls */
+#define	TRACE_SIGNAL_F	0x00000010 /* signal calls that fail */
+#define	TRACE_SOCKSYS	0x00000020 /* socksys and spx devices */
+#define	TRACE_COFF_LD	0x00000040 /* COFF loader */
+#define	TRACE_ELF_LD	0x00000080 /* ELF loader */
+#define	TRACE_XOUT_LD	0x00000100 /* XOUT loader */
+#define	TRACE_XOUT_DB	0x00000200 /* XOUT loader blocks before launch */
+#define	TRACE_STREAMS	0x00000400 /* STREAMS faking */
+#define	TRACE_FUNC	0x10000000 /* trace this function */
--- ibcs-970513.orig/x286emul/Makefile
+++ ibcs-970513/x286emul/Makefile
@@ -3,7 +3,7 @@
 # any other format.
 BINTYPE=	i486-linuxaout
 
-CC=		cc -pipe
+CC=		gcc -pipe 
 #CFLAGS=		-O -g -I../include -D__KERNEL__ -DDEBUG -DDEBUG_LDT
 CFLAGS=		-s -O2 -fomit-frame-pointer -m486 -I../include -D__KERNEL__ -DDEBUG
 LDFLAGS=	-static
@@ -14,7 +14,7 @@
 		emu_generic.o emu_memory.o emu_exec.o \
 
 ifneq ($(BINTYPE),)
-CC	:= $(CC) -b $(BINTYPE)
+CC	:= /usr/$(BINTYPE)/bin/$(CC)
 LD	:= /usr/$(BINTYPE)/bin/ld -m i386linux
 endif
 
@@ -24,7 +24,7 @@
 all:		x286emul
 
 install:	all
-		cp x286emul /usr/lib/x286emul
+		cp x286emul $(DEST)/usr/lib/x286emul
 
 clean:
 		rm -f x286emul *.o
--- ibcs-970513.orig/debian/README.debian
+++ ibcs-970513/debian/README.debian
@@ -0,0 +1,24 @@
+iBCS for Debian
+---------------
+Most of the Documentation you will find in this directory.
+Sorry there are barely any manpages provided except the one
+called iBCS.
+
+Note that the Documentation is lacking. So is the functionality of
+the Emulator. Be sure to contact the mailing list and perhaps you should
+not use the Emulator if you are not able/willing to troubleshoot issues
+that come up.
+
+I will fix things that relate to the Debian package but I cannot be
+an advisor for other brands of Unixes or incompatibility problems
+running applications under the Emulator unless you pay me for it.
+
+It is highly unlikely that this version will work on a 2.1.X Kernel!
+
+The loadable module now is versioned to fit with current Debian Kernels.
+Note that there is a history of iBCS not loading although versioned symbols
+are generated. The author of iBCS does not know why and would be glad to
+anyone troubleshooting that issue. If you are hit by the loading modules
+problem then you need to rebuild the package on your machine.
+
+Michael Meskes <meskes@debian.org>
--- ibcs-970513.orig/debian/postinst
+++ ibcs-970513/debian/postinst
@@ -0,0 +1,23 @@
+#!/bin/sh
+
+set -e
+
+depmod -a
+
+cd /dev
+
+[ -e X ] || (mkdir X; chmod 755 X; chown root.root X)
+if [ ! -d X ]
+then
+ echo "/dev/X is not a directory!"
+ exit 1
+fi
+
+[ -e inet ] || (mkdir inet; chmod 755 inet; chown root.root inet)
+if [ ! -d inet ] 
+then 
+  echo "/dev/inet is not a directory!"
+  exit 1
+fi
+
+/dev/MAKEDEV ibcs2-unoff
--- ibcs-970513.orig/debian/changelog
+++ ibcs-970513/debian/changelog
@@ -0,0 +1,100 @@
+ibcs (970513-6) unstable; urgency=low
+
+  * Call depmod from postinst.
+
+ -- Michael Meskes <meskes@topsystem.de>  Wed, 27 Aug 1997 10:16:11 +0200
+
+ibcs (970513-5) unstable; urgency=low
+
+  * Corrected dependency file. Binaries are compiled against libc6.
+  * Moved devtrace from usr/sbin to /lib/modules/2.0/misc where it belongs.
+
+ -- Michael Meskes <meskes@topsystem.de>  Mon,  4 Aug 1997 09:59:10 +0200
+
+ibcs (970513-4) unstable; urgency=low
+
+  * call to /dev/MAKEDEV from postinst instead of including the devices in
+    the package
+
+ -- Michael Meskes <meskes@topsystem.de>  Mon, 28 Jul 1997 12:07:58 +0200
+
+ibcs (970513-3) unstable; urgency=low
+
+  * Made sure iBCS is compiled with the Debian kernel headers
+  * changed call to MAKEDEV.debian, since it has mode 644
+
+ -- Michael Meskes <meskes@topsystem.de>  Tue, 10 Jun 1997 11:30:18 +0200
+
+ibcs (970513-2) unstable; urgency=low
+
+  * Removed standard include files from iBCSemul/xstat.c and added
+    -I/usr/src/linux/include in Makefile to make compilation with
+    gcc-2.7.2.2 possible.
+
+ -- Michael Meskes <meskes@topsystem.de>  Fri, 23 May 1997 20:53:37 +0200
+
+ibcs (970513-1) unstable; urgency=medium
+
+  * New maintainer
+  * New upstream version
+
+ -- Michael Meskes <meskes@topsystem.de>  Wed, 7 May 1997 20:22:52 +0200
+
+ibcs (970212-2) unstable frozen; urgency=low
+
+  * Fix location of iBCS manpage by rebuild with new debmake
+
+ -- Christoph Lameter <clameter@debian.org>  Wed, 2 Apr 1997 10:46:15 -0800
+
+ibcs (970212-1) unstable; urgency=low
+
+  * Revised README.debian. ibcs compiled without SMP support otherwise it
+    wont work on non SMP machines.
+  * New upstream release
+  * #7307 Doc directory removed
+  * Manual page installed #7125
+  * Needs new maintainer since I have no application anymore to test it!
+
+ -- Christoph Lameter <clameter@debian.org>  Tue, 4 Feb 1997 16:45:26 -0800
+
+ibcs (960823-5) unstable; urgency=high
+
+  * Reenabled x286emul since the gcc a.out is fixed now.
+
+ -- Christoph Lameter <clameter@debian.org>  Fri, 10 Jan 1997 19:08:21 -0800
+
+ibcs (960823-4) unstable; urgency=high
+
+  * Recompiled under an unpatched 2.0.24 kernel to hopefully fix troubles
+    with one symbol not matching.
+
+ -- Christoph Lameter <clameter@debian.org>  Thu, 7 Nov 1996 06:12:43 -0800
+
+ibcs (960823-3) unstable; urgency=high
+
+  * Xenix 286 Mode not available since ld-aout could not link the code
+  * We are no longer using ibcs since the application we intended (a Server) did
+    not work. Had to install SCO for that purpose. I have no way of testing ibcs
+    anymore. It would be better if someone who is actually running ibcs would maintain it.
+  * debmake used
+  * ibcs will only run with a kernel compiled with MODVERSIONS!
+
+ -- Christoph Lameter <clameter@debian.org>  Thu, 24 Oct 1996 09:18:12 -0700
+
+ibcs (960823-2) unstable; urgency=high
+
+  * iBCS module not included
+  * Device creation made not so violent to /dev directory
+  * Permission problems
+
+ -- Christoph Lameter <clameter@debian.org>  Mon, 30 Sep 1996 9:00:00 -0800
+
+ibcs (960823-1) unstable;urgency=medium
+
+  * Initial Release
+
+ -- Christoph Lameter <clameter@debian.org>  Sun, 29 Sep 1996 9:00:00 -0800
+
+Local variables:
+mode: debian-changelog
+End:
--- ibcs-970513.orig/debian/control
+++ ibcs-970513/debian/control
@@ -0,0 +1,30 @@
+Source: ibcs
+Section: otherosfs
+Priority: optional
+Maintainer: Michael Meskes <meskes@debian.org>
+Standards-Version: 2.1.1.0
+
+Package: ibcs
+Architecture: i386 sparc
+Depends: ${shlibs:Depends}, makedev (>=1.6-11)
+Description: Intel Binary Compatibility Specification Module
+ The iBCS Emulator runs binaries for other Unixes.
+ Emulations provided:
+ * Sparc Solaris
+ * i386 BSD (386BSD, FreeBSD, NetBSD, BSDI/386) - very alpha, very old.
+ * SVR4 (Interactive, Unixware, USL, Dell etc.)
+ * SVR3 generic
+ * SCO (SVR3 with extensions for symlinks and long filenames)
+ * SCO OpenServer 5
+ * Wyse V/386 (SVR3 with extensions for symlinks)
+ * Xenix V/386 (386 small model binaries only)
+ * Xenix 286
+ .
+ Subsystems emulated:
+ * SYSV IPC
+ * /dev/socksys socket interface as used by the Lachman STREAMS
+   based networking implementation.
+ * BSD and Wyse V/386 system call socket interface.
+ * /dev/spx STREAMS device (limited server support).
+ * XTI/TLI transports for TCP, UDP and related protocols - client
+   only (outgoing connections). Accepting connections untested.
--- ibcs-970513.orig/debian/copyright
+++ ibcs-970513/debian/copyright
@@ -0,0 +1,6 @@
+ibcs can be found on tsx-11.mit.edu:/pub/BETA/ibcs2
+
+I could not find anything related to copyright issues.
+
+The package was initially put together for the Debian project by
+Christoph Lameter at the end of September 1996
--- ibcs-970513.orig/debian/rules
+++ ibcs-970513/debian/rules
@@ -0,0 +1,79 @@
+#!/usr/bin/make -f
+# Sample debian.rules file - for GNU Hello (1.3).
+# Copyright 1994,1995 by Ian Jackson.
+# I hereby give you perpetual unlimited permission to copy,
+# modify and relicense this file, provided that you do not remove
+# my name from the file itself.  (I assert my moral right of
+# paternity under the Copyright, Designs and Patents Act 1988.)
+# This file may have to be extensively modified
+
+# There used to be `source' and `diff' targets in this file, and many
+# packages also had `changes' and `dist' targets.  These functions
+# have been taken over by dpkg-source, dpkg-genchanges and
+# dpkg-buildpackage in a package-independent way, and so these targets
+# are obsolete.
+
+package=ibcs
+
+build:
+	$(checkdir)
+	make 
+	cd VSYS;gcc -s -O2 -o bin bin.c
+	cd devtrace;make
+	touch build
+
+clean:
+	$(checkdir)
+	-rm build
+	-make clean
+	-rm `find . -name "*~"`
+	-cd VSYS;rm bin
+	-cd devtrace;make clean
+	-rm -rf debian/tmp debian/files*
+
+binary-indep:	checkroot build
+	$(checkdir)
+# There are no architecture-independent files to be uploaded
+# generated by this package.  If there were any they would be
+# made here.
+
+binary-arch:	checkroot build
+	$(checkdir)
+	-rm -rf debian/tmp
+	install -d debian/tmp/usr/sbin debian/tmp/usr/doc/ibcs/VSYS \
+		debian/tmp/usr/lib/x286emul
+	make install DEST=`pwd`/debian/tmp
+	install -m 644 devtrace/devtrace debian/tmp/lib/modules/`kernelversion`/misc
+	install Tools/lnxstamp Tools/trace debian/tmp/usr/sbin
+	install Tools/mkmnttab debian/tmp/usr/sbin
+	install VSYS/bin debian/tmp/usr/doc/ibcs/VSYS
+# Extract all we can get of documentation
+	cp -a Doc/* debian/tmp/usr/doc/ibcs
+	cp -a PROD.Patches debian/tmp/usr/doc/ibcs
+	cp Tools/README debian/tmp/usr/doc/ibcs/Tools.README
+	cp VSYS/README debian/tmp/usr/doc/ibcs/VSYS
+	cp x286emul/README debian/tmp/usr/doc/ibcs/x286emul.README
+	debstd ChangeLog CREDITS README RELEASE
+	find debian/tmp/usr/sbin -type f | xargs file | grep ELF | awk -F : '{print $$1; }' | xargs dpkg-shlibdeps
+	dpkg-gencontrol
+	chown -R root.root debian/tmp
+	chmod -R a+r debian/tmp
+	chmod -R g-ws debian/tmp
+	dpkg --build debian/tmp ..
+
+define checkdir
+	test -f debian/rules
+endef
+
+# Below here is fairly generic really
+
+binary:		binary-indep binary-arch
+
+source diff:
+	@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
+
+checkroot:
+	$(checkdir)
+	test root = "`whoami`"
+
+.PHONY: binary binary-arch binary-indep clean checkroot
--- ibcs-970513.orig/debian/substvars
+++ ibcs-970513/debian/substvars
@@ -0,0 +1 @@
+shlibs:Depends=libc6
--- ibcs-970513.orig/CONFIG
+++ ibcs-970513/CONFIG
@@ -0,0 +1,171 @@
+# CONFIGURATION FILE FOR iBCS
+
+# Edit, make clean, make install
+
+
+# You should not change this entry. You should have copied the correct
+# CONFIG.xxx file to start with.
+ARCH=i386
+
+# If you intend to run on a multiprocessor SMP system you will need
+# this enabled. You need to set this correctly. An SMP iBCS module
+# will not load against a non-SMP kernel (the symbol apic_reg is
+# undefined). A non-SMP iBCS will probably load against an SMP
+# kernel but will crash and burn due to the lack of correct locking.
+# The default below is to build either a working iBCS or one which
+# will not load. It is wrong for the majority but it is _safe_ :-).
+SMP=no
+
+# If you want to use versioned symbol names in an attempt to allow the
+# iBCS module to load against other, compatible kernel versions enable
+# this. Be warned that I have observed that two different builds of
+# the same kernel version have resulted in different versioned symbol
+# names leading to modules not working with different builds of the
+# *same* kernel version. I don't know why. I don't recommend you use
+# this option if you build several slightly different kernels for
+# different machines/purposes.
+USE_VERSIONS=yes
+
+# SOCKSYS_MAJOR is the major number to use for the /dev/socksys socket
+# interface to streams based TCP/IP (i.e. Lachman as used by many SVR3s).
+# Setting this to zero tells the module initialisation code to attempt
+# to auto allocate the next available major number. This is supported
+# by later 1.1 kernels. It is however not a good idea to try it unless
+# there is kernel support for it!
+#
+# You also need to create the some devices. The MAKEDEV.ibcs script
+# will create all the necessary entries in whatever directory it
+# is run in. A "make install" will install MAKEDEV.ibcs in /dev
+# and do "cd /dev; ./MAKEDEV.ibcs" automatically.
+#
+# See the README file for more details.
+
+SOCKSYS_MAJOR=30
+
+
+# The following emulations are provided. Select those which you wish
+# the emulator to support.
+# (You currently can't avoid much of the SVR4/SVR3/SCO... emulation)
+#
+# EMU_SCO		SCO specifics
+# EMU_ISC		ISC specifics
+# EMU_SVR4		SVR4 specifics
+# EMU_BSD		BSD specifics.
+#			(BSD a.out requires the iBCS a.out loader)
+# EMU_WYSE		Wyse V/386 specifics.
+# EMU_WYSEMP		Wyse V/386 MP extensions (Wyse 9000i etc.)
+# EMU_X286		Xenix 286 emulator.
+#
+# EMU_SPX		STREAMS based pipes (used by SCO X at least)
+# EMU_XTI		STREAMS based XTI/TLI TCP/IP interface
+#
+
+EMU_SCO		= yes
+EMU_ISC		= yes
+EMU_SVR4	= yes
+EMU_BSD		= yes
+EMU_WYSE	= yes
+EMU_WYSEMP	= yes
+EMU_X286	= yes
+EMU_SPX		= yes
+EMU_XTI		= yes
+
+
+# XTI/TLI options.
+#
+# Option management is the single biggest change between TLI and XTI.
+# Unfortunately the header structures used in the options list are
+# significantly differenet leading to incompatibilities from the
+# application right down in to the kernel. For now you should almost
+# certainly only enable the TLI option management.
+#
+# EMU_TLI_OPTMGMT	Options handling exists in TLI implementations
+#			and is used by existing programs.
+#
+# EMU_XTI_OPTMGMT	None of SCO 3.2.x, SCO OS5, Interactive SVR4 or
+#			UnixWare 1.x appear to support t_optmgmt for XTI.
+#			The SCO man page states that t_optmgmt is not
+#			currently supported for XTI and will give a
+#			TNOTSUPPORT error.
+#			Since X/Open mandates t_optmgmt we can expect it
+#			to be added soon - although how we will tell the
+#			difference between a TLI options request and an
+#			XTI options request remains to be seen.
+EMU_TLI_OPTMGMT	= yes
+EMU_XTI_OPTMGMT	= no
+
+
+# Binary formats to support.
+#
+# A.OUT is used by older BSD and Linux systems. You only need the
+# iBCS A.OUT loader if you wish to support BSD flavours. The A.OUT
+# loader in the Linux kernel will handle Linux binaries.
+#
+# ELF is used by SVR4 (UnixWare, Dell etc.) however the ELF loader is part
+# of later Linux kernels (1.1.54+). If you have kernel support for ELF
+# binaries you don't need it in the emulator as well. EXCEPT perhps when
+# you need support for a system that uses ELF but is NOT based on SVR4 - in
+# which case you need the emulator's ELF loader to recognise the correct
+# personality. Currently there are no known systems that require the
+# iBCS ELF loader in preference to the kernel loader. SCO OpenServer 5
+# ELF is different from SVR4 but this does not need to be handled by the
+# loader.
+# (THE iBCS ELF LOADER SEEMS BROKEN ANYWAY. DO *NOT* USE IT!)
+#
+# COFF is used by SVR3 (SCO, Wyse V/386) however many SVR4 systems may
+# also include older COFF binaries and many applications are sold as
+# COFF binaries since they may run on more platforms.
+#
+# XOUT is used by Xenix (both 386 and 286) however many SVR3 (and even
+# SVR4 systems) still have old XOUT binaries on them. Such programs
+# were often written with 286 segmentation assumed and are too much
+# trouble to port to a flat address space.
+#
+# OLDSCRIPT is for old shell scripts. In the past the '#!...'
+# convention was not as common and things that looked like
+# text files were passed to a shell for (possible) execution.
+# By convention the file is passed to a Bourne shell if the first
+# character of the file is a colon, otherwise it is passed to whatever
+# the user has as a shell. This convention *should* be part of the
+# libc used but there are rumours of possibilities of some systems
+# which might have put it in the kernel. At the moment it is
+# probably safe to leave this enabled although it adds a little
+# (mostly unnecessary) overhead to exec speed.
+#
+EMU_BINFMT_AOUT = yes
+EMU_BINFMT_ELF	= no	# Broken. Do not use!
+EMU_BINFMT_COFF	= yes
+EMU_BINFMT_XOUT	= yes
+EMU_BINFMT_OLDSCRIPT = yes
+
+
+# The following debugging options are available:
+#
+# Note that debugging support is *very* useful for finding application
+# bugs not just emulator bugs. However enabling all the debug options
+# will make the emulator 3-4 pages (1 page = 4k) bigger which may be
+# a significant difference for some.
+#
+# IBCS_TRACE		Add code to trace the iBCS emulator. See the Tools
+#			subdirectory for a program that can be used to set
+#			the tracing level.
+#
+# VERBOSE_ERRORS	Give textual error message as well as number in
+#                       the trace log. (This only makes sense if IBCS_TRACE
+#                       is also defined)
+#
+# COFF_TRACE		Add code to trace the COFF loader. This is useful
+#			if you have executables not recognised correctly.
+#
+# ELF_TRACE		Add code to trace the ELF loader. This is useful
+#			if you have executables not recognised correctly.
+#
+# XOUT_DEBUG		Add code to trace the XOUT loader.
+#
+IBCS_TRACE	= yes
+VERBOSE_ERRORS	= yes
+COFF_TRACE	= yes
+ELF_TRACE	= yes
+XOUT_DEBUG	= yes
+
+ARCH_FLAGS	= -m486