[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mkoctfile

From: Andy Adler
Subject: Re: mkoctfile
Date: Thu, 14 Dec 2000 09:18:02 -0500

On Tuesday, December 12, 2000 11:52 PM, Mumit Khan wrote:
> On Tue, 12 Dec 2000, Andy Adler wrote:
> > I was thinking about this recently, and I wondered if it
> > would be possible to use the approach used in the Perl
> > module Win32::API
> >
> Two possible ways of building DLL version of Octave runtime:
> 1. One massive DLL -- this is much easier for reasons that 
> becomes apparent once your undertake this effort.
> 2. Keep Octave's current library structure, and then build
> individual DLLs. This is tricky, since you now have both
> multiple dependent DLLs.

What I need, at what I suspect most people are looking for,
is a way to use octave with custom *oct extensions under

One way to do this is to build them statically into octave.
Here is my recipe for doing it.

1. Start with a working foobar.oct from
2. Change the includes in
   replace #include <oct.h>
   with    #ifdef HAVE_CONFIG_H
           #include <config.h>
           #include "defun-dld.h"
           #include "error.h"
           #include "gripes.h"
           #include "oct-obj.h"
           #include "utils.h"
3. Put into the source tree at:
4. Edit the file octave-2.1.31/src/Makefile
   find the line 'DLD_XSRC := ' and
5. Recompile
   make in octave-2.1.31/

I agree that this isn't a solution to the dynamical linking
problem, but I thought I'd contribute this for those who
would like to get this functionality now.

Static builds under win32 are great in the sense that you don't
have to provide an install script. I just need to give my coworkers
three files: octave.exe, cygwin1.dll, dostuff.m
Put these in a directory and execute: octave dostuff.m

Andy Adler                    address@hidden

Octave is freely available under the terms of the GNU GPL.

Octave's home on the web:
How to fund new projects:
Subscription information:

reply via email to

[Prev in Thread] Current Thread [Next in Thread]