[RFC PATCH:xf86-video-ati 9/15] Link with modules needed to build with no-undefined linking

Alan Coopersmith alan.coopersmith at oracle.com
Wed Jun 20 22:04:40 PDT 2012


On 06/14/12 06:27 AM, Gaetan Nadon wrote:
> On 12-06-13 06:31 PM, Alan Coopersmith wrote:
>> On 06/12/12 12:06 AM, Michel Dänzer wrote:
>>> On Mon, 2012-06-11 at 18:36 -0700, Alan Coopersmith wrote: 
>>>> On 06/ 1/12 02:56 AM, Michel Dänzer wrote:
>>>>> On Fre, 2012-05-25 at 08:02 -0700, Alan Coopersmith wrote: 
>>>>>> Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
>>>>>> ---
>>>>>>  src/Makefile.am |   13 +++++++++++--
>>>>>>  1 file changed, 11 insertions(+), 2 deletions(-)
>>>>>>
>>>>>> diff --git a/src/Makefile.am b/src/Makefile.am
>>>>>> index dc77c02..4357135 100644
>>>>>> --- a/src/Makefile.am
>>>>>> +++ b/src/Makefile.am
>>>>>> @@ -26,11 +26,12 @@
>>>>>>  # _ladir passes a dummy rpath to libtool so the thing will actually link
>>>>>>  # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
>>>>>>  
>>>>>> -radeon_drv_la_LIBADD = $(LIBDRM_RADEON_LIBS)
>>>>>> +radeon_drv_la_LIBADD = $(LIBDRM_RADEON_LIBS) $(XORG_LIBS) -lpixman-1 -lm
>>>>> The driver doesn't depend on pixman directly, does it? I'd prefer that
>>>>> to be inherited from xserver somehow. If it isn't covered by -lfb
>>>>> anyway, that is.
>>>> It does, thanks to the fb macros that now implement region operations using
>>>> pixman functions - nm on radeon_drv.so here shows it calling:
>>>>
>>>> pixman_region_copy
>>>> pixman_region_equal
>>>> pixman_region_subtract
>>>> pixman_region_union
>>> Ugh. I stand by my point though: This is an xserver implementation
>>> detail, so ideally the -lpixman-1 should be inherited from xserver.
>>>
>>> Maybe that's beyond the scope of this patch, but at the least the pixman
>>> link stanza needs to be determined via pkg-config.
>> Unfortunately, the X server pkg-config file doesn't know which modules are
>> going to call the region functions or not - I suppose we could add it to the
>> .pc file and have libpixman linked into every module, whether it uses it or not.
>>
>> But certainly I can replace -lpixman-1 in Makefile.am with a
>> PKG_CHECK_MODULES(..., pixman-1) in configure.ac.   I don't remember why I
>> didn't do that in the first place.
>>
> I am out of context here, didn't read the whole thread. Isn't there a -lpixman-1
> already provided by the server?
> 
>     PKG_CHECK_MODULES(XORG, [xorg-server >= 1.3 xproto fontsproto
>     $REQUIRED_MODULES])
> 
> Which leads to:
> 
>     XORG_LIBS = -L/home/nadon/xorg/src/inst/lib -lpixman-1 -lpciaccess

That's in xorg-server though, not exported to driver/xf86-video-ati.

-- 
	-Alan Coopersmith-              alan.coopersmith at oracle.com
	 Oracle Solaris Engineering - http://blogs.oracle.com/alanc


More information about the xorg-devel mailing list