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 <j...@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
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to