Alan W. Irwin wrote:

>
> Nevertheless, every time there is a Windows visibility issue, you would
> wonder whether ignoring dllimport for the undefined symbols for some 
> of our
> libraries is the culprit.  Furthermore, for consistencies sake, since the
> import issue is treated properly for libplplotd it should be done that 
> way
> for our other libraries as well.  Finally, I think it is fundamentally
> worthwhile to keep track of which symbols are exported (i.e., defined 
> by the
> library) and which are imported (undefined by the library).
>
> Therefore, I encourage you to go ahead and make the changes to honor the
> import/export distinction for libplplotcxxd the way they are currently 
> done
> for libplplotd.
>
> Also, it's possible this issue may be causing real visibility problems 
> for
> our Fortran (77 and 95) support libraries for MinGW so I recommend the 
> same
> thing there. That is, our pure-C Fortran support libraries 
> (libplplotf77cd
> and libplplot f95cd) should import symbols from libplplotd and export 
> them
> to the pure Fortran libraries (libplplotf77d and libplplotf95d), the pure
> Fortran libraries should import symbols from the pure-C Fortran support
> libraries and export the Fortran symbols for our Fortran examples, and 
> the
> Fortran examples should import the Fortran symbols from our pure-Fortran
> libraries.

I agree that we need to take of both systematically importing and exporting
these symbols. The issue does raise a few questions:
- At compile time (for the examples) we need to know if the libraries 
will be
  dynamic (DLL or so or dylib) or static. I know we pay little attention 
nowadays
  to static libraries, but it could be an issue.
- Are symbols imported from the C library to accommodate the Fortran or 
other
  bindings automatically visible via these other libraries? I mean: is 
the visibility
  transitive? We would still get some namespace cluttering. Whether that is
  an important issue, I do not know.
- The Fortran and other bindings will have to use both explicit 
importing and
  explicit exporting - this will lead to some macro gymnastics, won't it?
 
Well, I am going to see how we can solve these visibility issues 
consistently.
(The combinatorics are getting interesting, but not yet overwhelming :))

Regards,

Arjen

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to