================================================================================
B A S T A R D                                            disassembly environment


Introduction
============
Is forthcoming.


Installation
============
The disassembler should be compiled with:
	make
The required libraries and headers may need to be installed on your system. The
general process for compilation is:

   /usr/src/binutils> cp -r include /usr/include/binutils
	/usr/src/readline> ./configure;make;make install
	/usr/src/bastard> mkdir lib
	/usr/src/seer> make.sh; cp lib/libseer.a /usr/src/bastard/lib
	/usr/src/typhoon> ./configure; make; cp src/libtyphoon.a /usr/src/bastard/lib
	/usr/src/bastard> make

The program can be run from any directory; however, symlinking is not yet
supported due to certain assumptions about Bastard's location. These will be
fixed in the future.


Required Libraries
==================
  libtyphoon	: Typhoon 1.11 Embedded Relational Database 
  libseer		: Seer 0.94 Embedded C Interpreter
  libreadline  : GNU readline library version 4.1
  libopcodes	: GNU binutils disassembler
Both Typhoon and Seer are supplied with this distribution in binary form;
the versions used can be downloaded from the Bastard distribution site at
	http://www.sourceforge.net/projects/bastard
The licenses for the libraries are in .license/typhoon, .license/seer, and 
.license/GNU.

Note: bfd.h and seer.h tend to fight it out over true/false enums; seer.h
proved incredibly resistant to change, so as a stopgap measure I changed bfd.h
and included it herewith. In the future, since BFD is not actually being used,
we should be able to strip bfd.h of all but the convenient #define's.

Also, readline headers are assumed to be in $INCLUDE/readline, and opcodes
headers are assumed to be in $INCLUDE/binutils.


Intended Usage
==============
All types of devious purposes.

To get a the interpreter commands, type "? ?" at the ;> prompt. The LOAD 
command [shortcut "l"] will load ./a.out as ELF format; or you can specify a
target filename [as well as format and CPU type, though these two do not do 
much at the moment]. At the moment it simply gives a bunch of test output,
e.g. it prints the file header and 50 bytes of disassembly ... when things get
going, it will do as expected.

See also doc/bastard.txt


License
=======
This bastard is given artistic license to roam free, as specified in the file
.license/bastard in the bastard's home directory.

Despite the reuse provisions of the GNU license, which has a "forest for the
trees" flaw typical of rms' stuff and tends to violate in letter what it 
promises in spirit, the source code for libopcodes and libreadline are *not* 
being distributed along with this package. The source code for either is too 
huge, and they are too readily available from other sources ... in fact, it 
seems so far that every extant linux distribution comes with both of them.


CVS
===
Bastard developers can retrieve the latest source code from the CVS repository
at Sourceforge. The CVSROOT for the project is
	username@cvs.bastard.sourceforge.net:/cvsroot/bastard
and ssh must be used to along with cvs to handle the remote connection.


Known Bugs
==========
Entering a char string in a function call at the command prompt will cause
a segfault; e.g.
	Message("demmit");
causes a segfault, but
	Message( "demmit" );
or
	char tmp[] = "demmit"; Message(tmp);
does not. Use spaces !!
