[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
-------------------------------------------------------------