[PATCH xserver] dmx: fix linking

Michel Dänzer michel at daenzer.net
Mon Feb 6 09:49:57 UTC 2017


On 04/02/17 06:53 AM, Mihail Konev wrote:
> On Fri, Feb 03, 2017 at 10:08:03AM +0900, Michel Dänzer wrote:
>> On 03/02/17 06:57 AM, Mihail Konev wrote:
>>> Regressed-in: bb9128fd ("present: disable page flip")
>>> Signed-off-by: Mihail Konev <k.mvc at ya.ru>
>>> ---
>>> Maybe there should be #ifdef-s instead - I only bisected :)
>>>
>>>  randr/Makefile.am | 1 +
>>>  1 file changed, 1 insertion(+)
>>>
>>> diff --git a/randr/Makefile.am b/randr/Makefile.am
>>> index 90dc9ec9aac4..90aa1289f958 100644
>>> --- a/randr/Makefile.am
>>> +++ b/randr/Makefile.am
>>> @@ -30,3 +30,4 @@ if XINERAMA
>>>  librandr_la_SOURCES += ${XINERAMA_SRCS}
>>>  endif
>>>  
>>> +librandr_la_LIBADD = $(top_builddir)/render/librender.la
>>>
>>
>> This looks weird. bb9128fd added a RRHasScanoutPixmap call in present
>> code; I'd expect that to require linking randr to wherever the present
>> code ends up, not sure why it would require linking render to randr.
>>
> 
> Linker command line for Xdmx was: render, present, randr
> With bb9128fd, needs to be: present, randr, render
> 
> Probably this is due to how inter-dependencies are resolved, as randr, present, render gives:
> 
>   ../../present/.libs/libpresent.a(present.o): In function `present_check_output_slaves_active':
>   /xserver/present/present.c:126: undefined reference to `RRHasScanoutPixmap'
>   collect2: error: ld returned 1 exit status
> 
> Adding render at the end of Xdmx_LDADD gives just the needed "present, randr, render".
> (libtool probably only leaves the last librender.a).

FWIW, another possibility should be changing the XDMX_LIBS definition in
configure.ac.

I wonder which solution is best.


-- 
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer


More information about the xorg-devel mailing list