
This is the standalone distribution of Willows Twin Libraries.

If you find bugs in Willows Software Twin Libraries, send reports to 
twin-bugs@willows.com.  To have source extensions and additions added
to the software libraries, send your modifications and updates to 
twin@willows.com.  For additional information about the Willows Twin
libraries, and download the latest versions of the software, contact
http://www.willows.com.

The Willows Twin Libraries are distributed under the GNU Library General
Public License.  See the file COPYING.LIB for copying conditions.

The makefile builds libtwin.so.  You may optionally build libtwin32.so,
or static libraries libtwin.a or libtwin32.a.  The makefile will also
build a library tester, xwin which can execute existing windows 16 
executables, see README.XWIN for more information.

These are the instructions for doing a source build.
For additional information see the README file in
the makeinclude subdirectory.

Source Directory Layout (see the file MANIFEST for specific file information)
=============================================================================

bin:		directory containing source for resource compiler and
		help file viewer.
bmp:		directory containing binary resources, icons, bitmaps, etc.
commctrl:	directory with win32 common controls dll.
commdlg:	directory with common dialogs dll.
debugger:	directory with built-in debugger, for x86 platforms.
dll:		directory with sources to give shared libraries the same
		interfaces as windows DLL's, ie. LibMain, DllEntry...
doc:		directory with supplemental documentation.
include:	directory of public header files.
intp32:		directory with source to x86 interpreter.
makeinclude:	directory with platform independent makefile components.
multimedia:	directory with sources to multimedia libraries.
pal:		directory of platform abstraction layer sources, ie. x11...
readline:	directory with readline for debugger.
samples:	directory of sample sources demonstrating twin libraries.
shell:		directory of windows shell dll.
template:	directory with sample win.ini and ~/.twinrc files.
utilities:	directory of support functions for common controls.
xdos:		directory with dos emulation library.
win:		directory of core Willows Twin Library files.


Basic Installation
==================

These are generic installation instructions.

1.   Run the 'setup' script in the makeinclude directory.  This must be
     run once for each platform the library will be built on or for.
     The purpose of this script is to create initial makefile include
     files, Makefile.$(TARGET) and Makeinclude.$(TARGET).  Once these
     files are built, you may run the next script as often as you like
     to configure the build environment variables for a given TARGET.

2.   The `configure' shell script verifies the installation, and builds
     the file config.twin, which contains environment variables required
     to build the library.

     This script will initialize required environment variables, check 
     source directories, and check required tools are built.

3.   source the file config.twin, built above, to set appropriate environment
     variables. (eg. . config.twin, or source config.twin)

	To successfully re-compile the library, the following variables 
	MUST be set...

	TARGET		to one of the supported platforms 
			eg. TARGET=linux

	TWINDIR		to the root directory holding the Willows Sources
			eg. TWINDIR=/usr/local/src/twin/3.0.0

	TWINSRC		to the directory holding the CORE Library Sources
			eg. TWINSRC=win

	TWINOPT		to one of OPT, DBG, or PROF 
		
	OPTIONALLY, the following variables may be set...

	TWIN_APISIZE	to control whether to build win16 version vs. win32
			It is NOT set to build the 16bit interface,
			it IS set to 32 to build the 32bit interface.

	AUX		may have additional flags that should be passed to 
			the compiler, such as AUX=-Wall

	note:	The 16/32 bit interface does NOT refer to whether the library
		is compiled 16 or 32 bits, but the whether the Windows Interface
		is the win 3.x flavor, or the win32 flavor.  The Willows Library
		will always be the 'natural' size of the TARGET.

4.   make clean 	to remove all object and executable files

     make clobber 	to remove all objects and executable files, and 
     			'built' files, (ie. xxx.res.c, xxx.tab.c...)

5.   make the willows resource compiler, rc, and make it available in your PATH.

	make rc

     By default this will build and install the resource compiler in the
     directory, $(TWINDIR)/$(TARGET)/bin.  The resource compiler is required
     to successfully build the libraries.  To change where the resource compiler
     is installed, use the following:

	make -e INSTALLDIR=/usr/local rc    

     This will install the resource compiler in /usr/local/bin, (assuming you
     have write permissions to the /usr/local directory). 
 
6.   make the libraries and xwin

	make 		to build the library.

7.   make libs or make libs32 to build update libraries only...

8.   verify xwin loads and executes...

	./win/xwin	will bring up the common file dialog asking for
			what 16 bit windows executable to run.

			note: if you've built the shared library, libtwin.so,
			be sure to make it available to the run-time linker
			ld.so.
	
			note: the template directory contains two run-time
			sample initialization files, win.ini and twinrc, which
			can be used to configure run-time behavior.

	./win/xwin sol.exe  
			will run sol.exe.  The ~/.twinrc configuration
			file should have an entry that points to where the
			win 16 binaries are kept. See the file 
			./template/readme.twinrc for more information, and file
			./template/sample.twinrc for an example file.

9.   verify sample sources load and execute...

	windemo				most basic simple window

	bindemo bindemo2 bn2demo	samples of sources, loading windows 3.x
					binaries...

	cdsdemo				sample of common dialogs

	cliptext			sample of using clipboard to interchange
					to text with X11 server 

	dlgdemo				sample of dialog boxes
	dlldemo				sample of dynamically loading shared 
					libraries, (dll's)
	hlpdemo				sample of launching twinview help viewer
	mdidemo				sample of MDI windows in X11
	msgdemo				sample of messages sent/receive library
	prtdemo				sample of using binary printer interface
	wmfdemo				sample of using windows metafiles

	ctrldemo			win32 demo of common controls
	listview			win32 demo of listview control
	treeview			win32 demo of treeview control
	progbar				win32 demo of progress bar

Compilers and Options
=====================

This library has been successfully built with both the native compilers
and gcc for several systems.  By default, on a given platform, the 
makefiles will assume the platform native compiler.  You may select to
use gcc by setting and exporting COMPILER=gcc.

   Copyright (c) 1997, Willows Software Inc.  All rights reserved.
