On 26.06.2013 15:10, Jonathan Gray wrote: > This misses a few places see > http://marc.info/?l=mesa3d-dev&m=137179411405480&w=2 > > namely > > src/gbm/Makefile.am > src/mapi/es1api/Makefile.am > src/mapi/es2api/Makefile.am > src/mapi/vgapi/Makefile.am
I attached a new patch, fixing the Makefile.am's you mention. -- Jean-Sébastien Pédron
From 3b0c72425d7e3b024927023086c17c023fd193f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jean-S=C3=A9bastien=20P=C3=A9dron?= <dumbb...@freebsd.org> Date: Wed, 5 Jun 2013 13:30:06 +0200 Subject: [PATCH] Fix symlinking of libraries in /lib on non-Linux systems Makefiles were explicitly looking for a libraries suffixed with the full libtool versioning, such as "libglapi.so.0.0.0". However, on some systems, libtool only uses a shorter name, such as "libglapi.so.0". Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63269 --- src/egl/main/Makefile.am | 10 ++++++++-- src/gbm/Makefile.am | 9 ++++++++- src/glx/Makefile.am | 10 ++++++++-- src/mapi/es1api/Makefile.am | 11 ++++++++--- src/mapi/es2api/Makefile.am | 11 ++++++++--- src/mapi/shared-glapi/Makefile.am | 11 ++++++++--- src/mapi/vgapi/Makefile.am | 11 ++++++++--- src/mesa/libdricore/Makefile.am | 10 ++++++++-- 8 files changed, 64 insertions(+), 19 deletions(-) diff --git a/src/egl/main/Makefile.am b/src/egl/main/Makefile.am index ca5257a..c636071 100644 --- a/src/egl/main/Makefile.am +++ b/src/egl/main/Makefile.am @@ -120,8 +120,14 @@ endif # a while by putting a link to the driver into /lib of the build tree. all-local: libEGL.la $(MKDIR_P) $(top_builddir)/$(LIB_DIR); - ln -f .libs/libEGL.so.1.0.0 $(top_builddir)/$(LIB_DIR)/libEGL.so.1 - ln -sf libEGL.so.1 $(top_builddir)/$(LIB_DIR)/libEGL.so + base=$(basename $<); \ + dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \ + ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \ + ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \ + if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \ + ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \ + fi; \ + ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so pkgconfigdir = $(libdir)/pkgconfig diff --git a/src/gbm/Makefile.am b/src/gbm/Makefile.am index e22c55c..619a2bd 100644 --- a/src/gbm/Makefile.am +++ b/src/gbm/Makefile.am @@ -43,4 +43,11 @@ endif all-local: libgbm.la $(MKDIR_P) $(top_builddir)/$(LIB_DIR); - ln -f .libs/libgbm.so.1.0.0 $(top_builddir)/$(LIB_DIR)/libgbm.so + base=$(basename $<); \ + dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \ + ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \ + ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \ + if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \ + ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \ + fi; \ + ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so diff --git a/src/glx/Makefile.am b/src/glx/Makefile.am index f01709b..fc5863f 100644 --- a/src/glx/Makefile.am +++ b/src/glx/Makefile.am @@ -112,5 +112,11 @@ lib@GL_LIB@_la_LDFLAGS = $(GL_LDFLAGS) # a while by putting a link to the driver into /lib of the build tree. all-local: lib@GL_LIB@.la $(MKDIR_P) $(top_builddir)/$(LIB_DIR); - ln -f .libs/lib@GL_LIB@.so.1.2.0 $(top_builddir)/$(LIB_DIR)/lib@GL_LIB@.so.1 - ln -sf lib@GL_LIB@.so.1 $(top_builddir)/$(LIB_DIR)/lib@GL_LIB@.so + base=$(basename $<); \ + dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \ + ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \ + ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \ + if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \ + ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \ + fi; \ + ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so diff --git a/src/mapi/es1api/Makefile.am b/src/mapi/es1api/Makefile.am index eb98f16..a0ea7d8 100644 --- a/src/mapi/es1api/Makefile.am +++ b/src/mapi/es1api/Makefile.am @@ -61,6 +61,11 @@ CLEANFILES = $(BUILT_SOURCES) # a while by putting a link to the driver into /lib of the build tree. all-local: libGLESv1_CM.la $(MKDIR_P) $(top_builddir)/$(LIB_DIR); - ln -f .libs/libGLESv1_CM.so $(top_builddir)/$(LIB_DIR)/libGLESv1_CM.so - ln -f .libs/libGLESv1_CM.so.1 $(top_builddir)/$(LIB_DIR)/libGLESv1_CM.so.1 - ln -f .libs/libGLESv1_CM.so.1.1.0 $(top_builddir)/$(LIB_DIR)/libGLESv1_CM.so.1.1.0 + base=$(basename $<); \ + dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \ + ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \ + ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \ + if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \ + ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \ + fi; \ + ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so diff --git a/src/mapi/es2api/Makefile.am b/src/mapi/es2api/Makefile.am index c6b0ca4..c32e4ce 100644 --- a/src/mapi/es2api/Makefile.am +++ b/src/mapi/es2api/Makefile.am @@ -65,6 +65,11 @@ CLEANFILES = $(BUILT_SOURCES) # a while by putting a link to the driver into /lib of the build tree. all-local: libGLESv2.la $(MKDIR_P) $(top_builddir)/$(LIB_DIR); - ln -f .libs/libGLESv2.so $(top_builddir)/$(LIB_DIR)/libGLESv2.so - ln -f .libs/libGLESv2.so.2 $(top_builddir)/$(LIB_DIR)/libGLESv2.so.2 - ln -f .libs/libGLESv2.so.2.0.0 $(top_builddir)/$(LIB_DIR)/libGLESv2.so.2.0.0 + base=$(basename $<); \ + dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \ + ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \ + ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \ + if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \ + ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \ + fi; \ + ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so diff --git a/src/mapi/shared-glapi/Makefile.am b/src/mapi/shared-glapi/Makefile.am index 2021a73..a9c7314 100644 --- a/src/mapi/shared-glapi/Makefile.am +++ b/src/mapi/shared-glapi/Makefile.am @@ -27,6 +27,11 @@ AM_CPPFLAGS = \ all-local: libglapi.la $(MKDIR_P) $(top_builddir)/$(LIB_DIR) - ln -f .libs/libglapi.so.0.0.0 $(top_builddir)/$(LIB_DIR)/libglapi.so.0.0.0 - ln -sf libglapi.so.0.0.0 $(top_builddir)/$(LIB_DIR)/libglapi.so.0 - ln -sf libglapi.so.0 $(top_builddir)/$(LIB_DIR)/libglapi.so + base=$(basename $<); \ + dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \ + ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \ + ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \ + if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \ + ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \ + fi; \ + ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so diff --git a/src/mapi/vgapi/Makefile.am b/src/mapi/vgapi/Makefile.am index 0af7115..03c11d4 100644 --- a/src/mapi/vgapi/Makefile.am +++ b/src/mapi/vgapi/Makefile.am @@ -56,6 +56,11 @@ CLEANFILES = $(BUILT_SOURCES) # a while by putting a link to the driver into /lib of the build tree. all-local: libOpenVG.la $(MKDIR_P) $(top_builddir)/$(LIB_DIR); - ln -f .libs/libOpenVG.so $(top_builddir)/$(LIB_DIR)/libOpenVG.so - ln -f .libs/libOpenVG.so.1 $(top_builddir)/$(LIB_DIR)/libOpenVG.so.1 - ln -f .libs/libOpenVG.so.1.0.0 $(top_builddir)/$(LIB_DIR)/libOpenVG.so.1.0.0 + base=$(basename $<); \ + dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \ + ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \ + ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \ + if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \ + ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \ + fi; \ + ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so diff --git a/src/mesa/libdricore/Makefile.am b/src/mesa/libdricore/Makefile.am index 56ceeb7..44c0882 100644 --- a/src/mesa/libdricore/Makefile.am +++ b/src/mesa/libdricore/Makefile.am @@ -71,8 +71,14 @@ lib_LTLIBRARIES = libdricore@VERSION@.la # a while by putting a link to the driver into /lib of the build tree. all-local: libdricore@VERSION@.la $(MKDIR_P) $(top_builddir)/$(LIB_DIR); - ln -f .libs/libdricore@VERSION@.so.1.0.0 $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so.1; - ln -sf libdricore@VERSION@.so.1 $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so + base=$(basename $<); \ + dlname=$$(grep dlname= .libs/$< | cut -d "'" -f 2); \ + ver=$$(grep current= .libs/$< | cut -d "=" -f 2); \ + ln -f .libs/$$dlname $(top_builddir)/$(LIB_DIR)/$$dlname; \ + if [ ! -f $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver ]; then \ + ln -sf $$dlname $(top_builddir)/$(LIB_DIR)/$$base.so.$$ver; \ + fi; \ + ln -sf $$base.so.$$ver $(top_builddir)/$(LIB_DIR)/$$base.so endif CLEANFILES = \ -- 1.8.3.1
signature.asc
Description: OpenPGP digital signature
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev