diff README @ 0:4da14cce0890 pytave-branch

First launchpad.net check in.
author David Grundberg <c04dgg@cs.umu.se>
date Fri, 17 Oct 2008 12:05:46 +0200
parents
children e84a2afb3342
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Fri Oct 17 12:05:46 2008 +0200
@@ -0,0 +1,141 @@
+pytave README
+*************
+
+Building instructions
+=====================
+
+You can use either Python distutils, GNU Automake or Boost BJam to
+build pytave. The configure script outputs files for all these build
+systems. Autoconf's VPATH is supported on all build systems.
+
+    Use the configure script to set up Octave and Boost::Python
+paths. Run `./configure --help' for more info. There are two custom
+arguments that control building of pytave, `--with-octave' and
+`--with-boost-python'.
+
+Dependencies
+============
+
+Configuring:
+	an sh shell capable of running `configure'
+
+Building:
+	Python's distutils or
+	make or
+	BJam
+
+Linked and tested with:
+    Python 2.4
+    Boost::Python 1.33
+    Octave 3.0.2
+
+Autotools
+=========
+
+The Autotools build system need not be installed to build the
+module. You need `make' and all library dependencies though.
+
+  1. Create the `Makefile' by typing:
+	 `./configure --prefix=/directory/where/you/want/the/module/file'
+
+  2. Type `make' to build the extention module.
+
+  3. To copy the pytave dynamic library to the prefix, type
+     `make install'
+
+BJam
+====
+
+BJam must be installed in order to build the module. You also need a
+proper `user-config.jam' file in your home directory.
+
+  1. Create `Jamfile' and `project-root.jam' by typing `./configure'
+
+  2. Use your `bjam' command to build the extention module. 
+
+user-config.jam
+===============
+
+For your convenience, here the content of a typical ~/user-config.jam
+on a GNU/Linux system:
+
+using gcc ;
+using python : 2.5 ;
+
+Distutils
+=========
+
+  1. Create the `setup.py' file by typing `./configure'
+
+  2. Run `python setup.py build' to build and package the extention
+     module together with the pure Python files.
+
+Running from build directory
+============================
+
+Pytave is made up of three parts. The `pytave' package, the
+`pytave/pytave' module and the `pytave/_pytave' extention. When the
+user uses `import pytave', the pytave package __init__ script loads
+both the module and the extention. It is important that they both can
+be found. 
+
+  1. Follow the Distutils build instructions. A complete Python
+     package directory called `pytave' is created in
+     `build/lib.something'
+
+  2. Start the Python interactive interpreter with
+     `PYTHONPATH=build/lib.linux-i686-2.4/ python' (with appropiate
+     changes for your system.)
+
+  3. In the interpreter you can now access Octave through Python:
+
+import pytave
+import Numeric
+pytave.feval(1, "cos", 0)
+b = pytave.addpath(".")
+pytave.feval(1, "testfile", 42)
+
+     (Observe that there is a testfile.m file in the distribution.)
+
+    Using BJam or Automake instead of Distutils, you load the
+`pytave/pytave' module and the extention instead of the whole
+package. Using `import pytave' now calls the module directly, but the
+difference is transparent to the user.
+
+    Basically all you want to do is load Python with shared library
+for the pytave extention (called `pytave/_pytave') and the native
+`pytave/pytave' module. BJam creates shared library in the
+`bin/something/something' directory, while Autotools hide a working
+shared library in the `.libs' directory. The contents of the `pytave'
+package is stored in the directory `package' of the source
+package. This is an example for an Autotools build.
+
+  1. Follow the Autotools build instructions.
+
+  2. Start the Python interpreter with a Python path set to a path
+     containing `_pytave.so' and the `package' directory. A common way
+     to do this with the bash shell is to execute this command:
+     `PYTHONPATH=.libs:package python'.
+
+Installing with distutils
+=========================
+
+  1. Run `python setup.py install'
+
+Creating a source dist
+======================
+
+  1. Run `make distcheck'
+
+Hint about foreign systems
+==========================
+
+If you are running on a system incapable of executing the configure
+scripts (e.g. a Microsoft Windows system), you may want to try
+installing the `MinGW' and `MSYS' packages, and build everything
+inside that environment. This isn't for the faint of hearted though,
+since you need/want to build Octave too. It is probably easier than
+trying to build without configure scripts, that's all. There are no
+guarentees that it will build at all, it has not been tested.
+
+EOF.
\ No newline at end of file