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