[Mesa-dev] [PATCH] build: remove script compatibility symlinks
Kenneth Graunke
kenneth at whitecape.org
Thu Jun 20 20:32:03 PDT 2013
On 06/20/2013 06:45 PM, Jonathan Gray wrote:
> On Thu, Jun 20, 2013 at 04:00:04PM -0600, Brian Paul wrote:
>> On 06/20/2013 03:32 PM, Dave Airlie wrote:
>>> On Fri, Jun 21, 2013 at 2:28 AM, Jonathan Gray <jsg at jsg.id.au> wrote:
>>>> The symlinks for compatibility with old scripts assumes
>>>> sysv shared library versioning and breaks other systems.
>>>>
>>>> For example OpenBSD uses sunos 4 style .so.major.minor
>>>> versioning so the targets with ln will fail.
>>>>
>>>> Fixes bug 63269.
>>>>
>>>
>>> totally nak.
>>
>> Yeah, I don't want to loose this feature either.
>>
>>
>>> My fix you mean avoids?
>>>
>>> A lot of developers use this feature, I do wonder if maybe we can move
>>> it behind a configure switch though as I think it also causes some
>>> rpaths to be emitted that I think distro packages would like to avoid.
>>
>> We could certainly be smarter about whether to make the links or how
>> they're made. I'd rather pursue that.
>
> Perhaps it is enough to glob the ln calls so the .patch part
> is never explicitly referenced. The additional symlinks to
> the library won't always make sense on non linux systems but
> at least mesa would actually build again then.
We could almost do:
for lib in .libs/foo.so*; do ln -f $lib
$(top_builddir)/$(LIB_DIR)/`basename $lib`; done
This would create hardlinks for every library that actually got built.
Unfortunately, I think it means that the symlinks will point to the
original .libs/foo.so.1.0.0 file, which means that you can't just copy
'lib' around anymore. Hm.
Alternatively, what about simply having 'make' run 'make
DESTDIR=$(top_builddir)/$(LIB_DIR) install' or the like? I guess that
would put libraries in mesa/lib/<prefix>/<libdir> and DRI drivers in
mesa/lib/<prefix>/<libdir>/dri, which is a little annoying. And does
rpath nonsense...
--Ken
More information about the mesa-dev
mailing list