[ 
https://issues.apache.org/jira/browse/DISPATCH-2178?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17366182#comment-17366182
 ] 

ASF GitHub Bot commented on DISPATCH-2178:
------------------------------------------

jiridanek opened a new pull request #1267:
URL: https://github.com/apache/qpid-dispatch/pull/1267


   The change would've been nice and easy in CMake 3.12+. Without support for 
using OBJECT library in `target_link_libraries`, it is necessary to 1) use a 
STATIC library and then handle the `-Wl,--whole-archive` flag (so that symbols 
used only from Python are not eliminated by linker) or 2) propagate the 
dependent libraries through the build some other way. I choose option 2) here.
   
   @astitcher Is this what you had in mind, or are there some improvements that 
I've missed?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


> Do not build separate libqpid-dispatch.so
> -----------------------------------------
>
>                 Key: DISPATCH-2178
>                 URL: https://issues.apache.org/jira/browse/DISPATCH-2178
>             Project: Qpid Dispatch
>          Issue Type: Improvement
>    Affects Versions: 1.16.0
>            Reporter: Jiri Daněk
>            Priority: Major
>
> h3. Motivation
> The split into a binary and a library is not unprecedented (e.g. CPython does 
> exactly the same thing), but in Dispatch it is avoidable with minimal code 
> changes (an executable can {{dlopen(NULL, ...)}} itself.
> Getting rid of libqpid-dispatch.so will mean one less file that we need to 
> install (and since it is not a published API, finding a good place for the so 
> has been tricky in the past (see DISPATCH-194).
> Furthermore, avoiding the indirection of a library call will likely give some 
> performance benefit at a low level (individual function calls) similar to 
> (again) Python in https://fedoraproject.org/wiki/Changes/PythonStaticSpeedup. 
> The gains can be best utilized after doing LTO (see DISPATCH-2121).
> h3. Expected issues
> The problem with this is that we lose semantic interposition 
> (https://fedoraproject.org/wiki/Changes/PythonNoSemanticInterpositionSpeedup),
>  meaning we won't be able to simply override symbols from libqpid-dispatch.so 
> at runtime. This is an issue because Dispatch unittests depend on this. (See 
> DISPATCH-1783)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to