Opened 9 years ago

Closed 8 years ago

#98 closed defect (wontfix)

libtool: support win32-dll LT_INIT option

Reported by: dmik Owned by:
Priority: major Milestone: dev tools
Component: libtool Version:
Severity: medium Keywords:
Cc:

Description

On Windows, this option in particular disables exporting all symbols by libtool when building a DLL since it implies that only the necessary symbols are exported with __declspec(dllexport) in the sources. However, we don't have anything similar on OS/2. So if we use __declspec(dllexport) in the sources there and use libtool, we will still get all symbols exported instead of the ones marked with __declspec(dllexport). This needs to be fixed as it's not good to export stuff that is not intended to be exported.

Change History (5)

comment:1 by dmik, 9 years ago

The reason behind supporting win32-dll on OS/2 instead of introducing our own os2-dll is to minimize changes in configure.ac files. If the project uses __declspec(export) on Win32, it may be easily changed to doing so on OS/2 as well (just a couple of defines in some header usually) and we are good to go.

comment:2 by Silvan Scherrer, 8 years ago

Milestone: dev tools

comment:3 by dmik, 8 years ago

Frankly I can't find what's mentioned in the ticket description in libtool sources. The win32-dll option seems to only add the enable_win32_dll=yes statement to the scripts but this variable isn't used anywhere in libtool itself. May be it's intended to be used in configure scripts, but that doesn't make much sense. The current Libtool docs (https://www.gnu.org/software/libtool/manual/html_node/LT_005fINIT.html) only mention that this option enables building of DLLs per se and when not set, no DLLs are built at all. But again, I don't see this in the Libtool code. May be I'm overlooking something... Too bad I didn't record what package I was on when I added this ticket.

comment:4 by dmik, 8 years ago

It looks to me that the effect of this variable has been removed from the current Libtool for some reason.

comment:5 by dmik, 8 years ago

Resolution: wontfix
Status: newclosed

So I don't think this is relevant, I will reopen it once I face a real life use case.

Note: See TracTickets for help on using tickets.