*** README is automatically generated from admin/template.readme ***

The octave-forge project contains functions for Octave which are not in
the main distribution.  While the main Octave distribution is
conservative about accepting new functions and changes, octave-forge is
very open.  As a result, be prepared for some lower quality code and
more rapidly changing interfaces to the functions in octave-forge.

The collection is in the public domain, but the individual functions
vary.  See COPYING for details.  See INSTALL for installation
instructions.

Octave needs your support!  Please donate to the University of
Wisconsin Foundation:

    http://www.uwfoundation.wisc.edu/index.html

designated as follows:

   I/we wish to support ongoing development of the Octave modelling
   language, under the supervision of Professor James B. Rawlings and
   Dr. John W. Eaton of the Department of Chemical and Biological 
   Engineering at the University of Wisconsin-Madison.

Donations are tax deductible in the United States.  A donation of $10/user
per year at current estimates of the user base would support two developers.
Adjust as appropriate for the percentage of users that you think will donate.


=====================================================================
Project organization

admin/
	Contains files and scripts used to administer the octave-forge
	website and build the release files.  Nothing in here is needed
	by octave-forge users.

doc/
	Documentation for octave in general.  Documentation for specific
	packages goes into the doc/ subdirectory of the individual package 
	directories.  There are no standards for documentation at this
	time.

extra/
	Packages which:
	   * are too narrow in scope for main/, or
	   * act as alternatives for functions in main/, or
	   * do not follow octave conventions (because they want
	     to retain compatibility with matlab for example), or
	   * are primarily developed elsewhere, or
	   * require patches to Octave, or
	   * are designed for older versions of Octave, or
	   * haven't been tested enough.

extra/patches/
	Small patches to Octave. Patches should be labelled as
	name-version.patch, with version being the Octave version 
	number on which the patch was based.  The start of the 
	patch file should contain a description of what it does.  
	Patches should be generated with diff -c or diff -cp.

main/
	Packages which may eventually be included in the main octave 
	distribution.  As such, they should follow Octave conventions.  
	The octave-forge CVS tree should be the primary development/release 
	site.  All functions should work with the latest Octave 
	interpreter without any special compilation switches or patches
	applied.

nonfree/
	Packages which are not freely modifiable and redistributable 
	with modifications, or which depend on code which is not 
	free.  This includes functions which only permit non-commercial 
	use and functions which must be kept together as a package.  
	Functions in all other directories must be freely redistributable 
	with modifications.  Functions in non-free must be freely 
	redistributable for non-commercial use.  Functions of unknown
	license should not be included anywhere, since no license implies
	default license implies no rights to redistribute.

======================================================================
Package organization

package/NOINSTALL
	don't install this package; rename or delete this
	file if you want the package installed anyway.
package/INDEX
	a functions in the directory organized into categories.  See
	octave-forge/INDEX for a description of the format.
package/*.m 
	m-files for the package.  These will be installed in
	site/mfiles/octave-forge/package
package/data/*
	datafiles to be installed with the mfiles.  You can accesses
	them from your m-files with x = file_in_load_path("a").
package/Makefile 
	Makefile with a default target to build anything that needs
	building, an "install" target to install anything that needs
	installing (other than oct-files and m-files---they are handled
	automatically), and a "clean" target to delete everything that
	was built.
package/configure.add
package/Makeconf.add
	Additional configuration-time commands to run in order to 
	find all the components that the package requires.
package/*.oct
	oct-files built by Makefile. These will be installed all 
	together in site-oct-files/octave-forge.
package/bin/*
	executable files built by Makefile.  These will be 
	installed in Octave's EXEC_PATH, so they will be available 
	from Octave but not from the shell.  

==========================================================================
Administrative files

autogen.sh
	Generates ./configure and Makeconf.in

configure.base
Makeconf.base
	Basic configuration checks, such as locating the install paths,
	and the associated variables to be put into Makeconf.  Each 
	package can append checks by including configure.add in the 
	package directory.

octinst.sh.in
	Install program for packages, with pieces to be filed in by
	./configure

install-sh
	intall program to use if /usr/bin/install does not work

COPYING
	License for the collection, plus an out-of-date list of functions 
	in the collection and their licenses.

COPYING.GPL
	The text of the GPL license

cvs-tree
	Generate web listing of m-files in the tree

README
	This file

TODO
	Things that could/should be done

INSTALL
	Installation instructions

Makefile
	Top level makefile

release.sh
	Generates release tarball

cvsdir.sh
	Save/restore CVS adminstration files.  You need this to install
	directly from the CVS tree rather than an exported tarball.  E.g.,
	   $ cvsdir.sh save
	   $ make install
	   $ cvsdir.sh restore

==========================================================================
Compatibility Issues

Issue the following command:
	$ grep -d skip "XXX COMPATIBILITY XXX" */* */*/*
for a list of compatibility issues in various functions.  As of this
writing, mu2lin is a likely cause of problems when porting audio
packages.


==========================================================================
Paul Kienzle
pkienzle@users.sf.net
March 17, 2002
