octave-patch-tracker
[Top][All Lists]
Advanced

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

[Octave-patch-tracker] [patch #8919] Start of patch to enable visibility


From: Markus Mützel
Subject: [Octave-patch-tracker] [patch #8919] Start of patch to enable visibility attributes for GCC in build system
Date: Wed, 30 Dec 2020 14:59:38 -0500 (EST)
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36 Edg/87.0.664.66

Follow-up Comment #21, patch #8919 (project octave):

Re comment #20: That would happen if we used only one macro for setting the
visibility attribute in all libraries.
For Windows targets, those attributes can be set to either "dllexport" or
"dllimport" the respective symbols. If we used only one macro, we'd set it to
always "dllexport". That means, we'd export the symbols whenever the
respective headers are included in each library.
IIUC, a function must be defined in a library when the symbol has the
"dllexport" attribute. It must not be defined in the same library (or program)
if it has the the "dllimport" attribute.
With that, we *need* to have separate API macros for each library.
There are a few symbols (specializations/instantiations of the Array template
class) that are exported by the same header/files from both liboctave and
liboctinterp. All other symbols seem to be defined in headers exclusive to
their respective library. I think I found a solution for that.

Many classdef related BISTs are failing on Windows with the changes I am
currently working with. Atm, it's not clear to me why.
So, I no longer plan on pushing them as they are. Instead, I'll likely upload
a series of patches here after I came around to cleaning them up.

    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/patch/?8919>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/




reply via email to

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