# CONFIGURATION FILE FOR iBCS

# Edit, make clean, make install


# If you want to use versioned symbol names (recommended) in an attempt
# to allow the iBCS module to load against other, compatible kernel
# versions enable this.
#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, e.g.:
#
#	mknod /dev/socksys c <n> 0
#	ln -s /dev/socksys /dev/nfsd
#
#	mknod /dev/inet/ip c <n> 32
#	mknod /dev/inet/icmp c <n> 33
#	mknod /dev/inet/tcp c <n> 36
#	mknod /dev/inet/udp c <n> 39
#	ln -s /dev/inet/udp /dev/inet/arp
#	ln -s /dev/inet/udp /dev/inet/rip
#	mknod /dev/inet/rawip c <n> 41
#
#	ln -s /dev/null /dev/X0R
#	mknod /dev/spx c <n> 1
#
# where <n> is the chosen major number. If you are using auto allocation
# you should use a 2.0 or later version of /dev/MAKEDEV and run a
# 'cd /dev ; sh MAKEDEV update' after loading the iBCS module. Note
# that at least one version of MAKEDEV create /dev/XOR instead of /dev/X0R.
#
# 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
