help-octave
[Top][All Lists]
Advanced

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

Re: Octave / cygwin / dynamic linking - success


From: Andy Adler
Subject: Re: Octave / cygwin / dynamic linking - success
Date: Sun, 08 Sep 2002 17:01:31 -0400
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.0.0) Gecko/20020530

Paul Kienzle wrote:

I haven't looked at the details of what you've done, but I successfully
built a lite-kernel version of octave yesterday, and spent last night trying to update the configure scripts to do it automatically. Here is
what I came up with.
Great. Try to see if you can get *oct files working with your patch.  It
may simply require a link to the octave *dlls in the makefile

If not, I propose letting your patches get integrated first, then I'll see whats
left of my stuff to integrate.

DLLs must be installed in the bin directory and a new file, libxxx.dll.a,
must be installed in the lib directory.  I call these the load and link
forms respectively.  I tag them with SHLBIN and SHLLIB which I define in
configure.

AFAIK, cygwin does not require windows loader libraries (*.a or *.lib ) files for dlls. (unlike MSVC++). You can directly link against the dll, and it will figure out what to do.

Although the C++ compiler prepends an underscore, cygwin's dlsym
automatically adds it, so the configure test for CXX_PREPENDS_UNDERSCORE in
aclocal.m4 is leading us astray.
I noticed this, too.


The only other change that seemed to be required what to eliminate the test of
error_state in DEFINE_FUN_INSTALLER_FUN3. I spent quite a bit
of time tracing error_state through the various calls during DLD function
definition, and it seemed to suddenly become non zero. I suspect this may
be because the *dld function linked to the octave dll doesn't share
memory the same way as proper *nix style dynamic linking.

This is great - soon we can have a proper working windows build.
World domination must then be just around the corner ;-).

--
Andy Adler address@hidden




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

Octave's home on the web:  http://www.octave.org
How to fund new projects:  http://www.octave.org/funding.html
Subscription information:  http://www.octave.org/archive.html
-------------------------------------------------------------



reply via email to

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