Bug 128302 - The same SVX_DLLIMPLEMENTATION macro is used for both the svx and svxcore libraries
Summary: The same SVX_DLLIMPLEMENTATION macro is used for both the svx and svxcore lib...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium normal
Assignee: Stephan Bergmann
URL:
Whiteboard: target:6.5.0
Keywords: difficultyBeginner, easyHack, skillCpp, topicCleanup
Depends on:
Blocks:
 
Reported: 2019-10-21 16:54 UTC by How can I remove my account?
Modified: 2020-02-03 08:53 UTC (History)
6 users (show)

See Also:
Crash report or crash signature:


Attachments
How far I got before my patience ran out (314.93 KB, patch)
2019-10-21 16:55 UTC, How can I remove my account?
Details

Note You need to log in before you can comment on or make changes to this bug.
Description How can I remove my account? 2019-10-21 16:54:36 UTC
Description:
The same SVX_DLLIMPLEMENTATION macro is used for both the svx and svxcore libraries, see svx/Library_svx.mk and svx/Library_svxcore.mk. That is very odd, not at all how it should be done as far as I understand, and I don't understand how it hasn't had any ill effects when building LibreOffice on Windows. (Windows is the only platform where those DLLIMPLEMENTATION things have any effect.)

But sadly fixing this is a huge task. I lost patience after spending most of today on it. I doubt it can be done in some automated fashion. There is a very large number of include files that need to be handled. It is a bit unclear to me what actually is in svx and what is in svxcore. And mst says that they can't be combined into one library.

Actual Results:
.

Expected Results:
.


Reproducible: Always


User Profile Reset: No



Additional Info:
.
Comment 1 How can I remove my account? 2019-10-21 16:55:59 UTC
Created attachment 155208 [details]
How far I got before my patience ran out

(The svxcoredllapi.h file is not in the patch but you know what it contains, right.)
Comment 2 How can I remove my account? 2019-10-21 17:29:17 UTC
To be more concrete, I suddenly start seeing the problem that various SvxRuler entry points are no longer found when building the svxcore DLL. (No idea why these errors haven't happened before.) (This happens in a vendor branch, but as such the SVX_DLLIMPLEMENTATION mess is the same in master, too.) This is not strange as the code for SvxRuler is in the xls library, but the include file misleadingly makes it seem that it might as well be in the svxcore library, as the same SVX_DLLIMPLEMENTATION is used for both. Or something like that. Anyway, I will try to come up with a minimal fix for only this specific issue.)
Comment 3 How can I remove my account? 2019-10-22 07:21:50 UTC
s/xls/svx
Comment 4 How can I remove my account? 2019-11-06 04:38:01 UTC
(I fixed the problem (in a quick-and-dirty way) in a vendor branch of ours with d5d9d4d7502efba4340e8117a55a28d831a2104b , no idea why something similar is not needed in master etc.)
Comment 5 Xisco Faulí 2019-11-07 09:56:19 UTC
Hi Tor,
Do you think we can turn this into an easyhack ?
Comment 6 How can I remove my account? 2019-11-07 10:17:21 UTC
Sure, if somebody other than me mentors the easyhacker;)
Comment 7 Xisco Faulí 2019-11-07 10:22:18 UTC
(In reply to Tor Lillqvist from comment #6)
> Sure, if somebody other than me mentors the easyhacker;)

yep, the mailing list it a better place for questions
Comment 8 Stephan Bergmann 2020-02-01 07:24:37 UTC
<https://gerrit.libreoffice.org/c/core/+/87794> "tdf#128302: Split SVXCORE_DLLPUBLIC from SVX_DLLPUBLIC"
Comment 9 Commit Notification 2020-02-02 17:41:37 UTC
Stephan Bergmann committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/ff546a5dd35d6a31f01c70a9b995afc1f7b7389e

tdf#128302: Split SVXCORE_DLLPUBLIC from SVX_DLLPUBLIC

It will be available in 6.5.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.