This README discusses:
1) How to setup MSGLIB to include or exclude GETOPT
2) How to verify the versions of GETOPT of MSGLIB & SUPPL
3) How to make MSGLIB independed on SUPPL
4) What is included if the GETOPT support is disabled

===

1) How to setup MSGLIB to include or exclude GETOPT

MSGLIB does not include a single file of the GETOPT package. All of them
are located within the SUPPL library. All MSGLIB contains are files
that sets up some macros, then #include's the GETOPT.C of SUPPL. The
resulting object module implements the specific getopt() function for
the particular access method, but nothing more.

GETOPT requires several additional definitions that still only remains
within SUPPL. If getopt() is used without linking SUPPL to the program
as well, the linker will most likely report "Unresolved externals" or
something like that.

It is absolutely easy to enable or disable the support of MSGLIB for GETOPT.
To disable the GETOPT support (default):
1. Comment out the #include line in the file GETOPT.INC.
	You must not delete this file.
	For easy enabling I don't recommened to just delete the line.

To enable
1. Make sure SUPPL is set up, configured and compiles.
	You need not MSGLIB to use SUPPL.
2. Uncomment the #include line in the file GETOPT.INC and update the filename
	that is included to the GETOPT.C file of your SUPPL directory.

===

2) How to verify the versions of GETOPT of MSGLIB & SUPPL

If you got both source code packages MSGLIB and SUPPL, just set up the
file GETOPT.INC (see section 1) and recompile MSGLIB; you'll get a
synchronized pair of libraries ;-)

Both MSGLIB and SUPPL always include the version control information of
the GETOPT package, this is, in particular, the version of the source
code file GETOPT.C.

If you got the source code of SUPPL, just open that file and see in the
very first two lines.

Otherwise search the libraries for version control information. As
currently RCS is used to keep track of the revision history, grab the
GNU RCS package and run "ident s_english.lib suppl_s.lib".  This should
issue at least two lines including the source filename GETOPT.C, one for
each library. Just compare them.

===

3) How to make MSGLIB independed on SUPPL

Well, for my point of view this is not recommended, but there might be
reasons to do so. You'll loose the interoperablilty between MSGLIB and
SUPPL, must make sure that MSGLIB is always linked first (appears prior
SUPPL in the list of libraries to be linked with a program), and future
implementation of GETOPT might conflict with this procedure.

For the current GETOPT package all you need is the getopt*.c files from
SUPPL.

1. Copy them into a new subdirectory of MSGLIB, copy the files
GETOPT.H and INITSUPPL.INC as well.
2. Set up GETOPT.INC to reference to the copied GETOPT.C.
3. Create MSGLIB.
4. Compile the *.C files (from step 1) manually into .OBJ files.
5. Manually add the *.OBJ files you've created in the previous step.

Note: You need to perform steps 3 through 5 for each MSGLIB you create,
that includes for each compiler, each language and each memory model you
create.
Alternatively you could create all MSGLIB's you need, then compile
the GETOPT files for each compiler/memory model and add them to the
MSGLIB archives. You can then apply them to all different languages
you've created.

If you have difficulties to manually generate the the .OBJ files in
step 4, return into the SUPPL directory and generate SUPPL for the
each compiler/memory model pair. Then extract the getopt* modules.
This is remarkable slower, but better than nothing.
Alternatively you can look into the COMPILE.BAT script of your particular
compiler, search for a line the librarian (usually LIB.EXE or
..\..\bin\lib) is executed, insert a new line immediately before that
one with the content "goto ende". Now you can use this script to
generate all the .OBJ files (one memory model at a time). Just pick
all the GETOPT*.OBJ files from among them.

Refer to the documentation of LIB (or your variant if your compiler
does not use Intel compliant archive, e.g. Power C) about how to
add and subtract .OBJ modules to and from a library.

===

4) What is included if the GETOPT support is disabled

MSGLIB contains approx. 8 .OBJ modules that totally contains no byte
that is included into a program while linking. They will make the
library something bigger (at least 10 bytes per .OBJ module, depends on
how much "extra" information the compiler puts into them) only.
