[PD-dev] Pdextended 0.43.1 and vista

Hans-Christoph Steiner hans at at.or.at
Tue Jul 12 22:18:38 CEST 2011


On Tue, 12 Jul 2011 09:22 +0200, "IOhannes m zmoelnig" <zmoelnig at iem.at>
wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> On 2011-07-11 19:37, Hans-Christoph Steiner wrote:
> > 
> > 
> > That makes me think.... so ./configure is finding libdl find, and then
> > setting HAVE_LIBDL, and then the code in s_loader.c is going to do both
> > HAVE_LIBDL and the MSW section below it.  So I guess we should force
> > this build system to not use HAVE_LIBDL on Windows, or fix the define to
> > be something like:
> > 
> 
> shouldn't it be more like trying all available dylib loading mechanisms?
> e.g. if HAVE_LIBDL than try using dlopen, if that fails fall back to the
> w32 native LoadLibrary.
> 
> and finally, Pd should probably still be able to compile even if no
> dylib mechanism is present (think iOS). if the system cannot loading
> libraries, than Pd won't be able to load externals, but internals and
> abstractions will continue to work.

Yes, defiitely.  Here's how I am thinking (also attached):


--- a/src/s_loader.c
+++ b/src/s_loader.c
@@ -178,8 +178,7 @@ gotone:
     }
     makeout = (t_xxx)dlsym(dlobj,  symname);
     /* fprintf(stderr, "symbol %s\n", symname); */
-#endif
-#ifdef MSW
+#elif defined(_WIN32)
     sys_bashfilename(filename, filename);
     ntdll = LoadLibrary(filename);
     if (!ntdll)
@@ -189,6 +188,8 @@ gotone:
         return (0);
     }
     makeout = (t_xxx)GetProcAddress(ntdll, symname);  
+#else
+# warning "No dynamic loading mechanism specified, libdl or WIN32
required for loading externa
 #endif
 
     if (!makeout)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libdl_windows.patch
Type: text/x-patch
Size: 637 bytes
Desc: not available
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20110712/93e5f0bb/attachment.bin>


More information about the Pd-dev mailing list