[Mesa-dev] [PATCH] automake: create compat symlinks only for linux systems

Emil Velikov emil.l.velikov at gmail.com
Sun Mar 9 04:55:18 PDT 2014


The primary users of these are linux developers, although
it can be extended for *BSD and others if needed.

Fixes make install for Cygwin and OpenBSD at least.

v2:
 - Wrap vdpau targets as well.
v3:
 - Fold HAVE_COMPAT_SYMLINKS checks within install*links.mk

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=63269
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Jon TURNEY <jon.turney at dronecode.org.uk>

Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
---

Interesting the first time tried it I've got some unusual
results, while it's works nicely now. I'm assuming that
there was a silly typo somewhere.

Thanks for the reminder Christian, I was not too keen on
the previous approach either :)

-Emil

 configure.ac                     | 12 ++++++++++++
 install-gallium-links.mk         |  2 ++
 install-lib-links.mk             |  2 ++
 src/mesa/drivers/dri/Makefile.am |  2 ++
 4 files changed, 18 insertions(+)

diff --git a/configure.ac b/configure.ac
index 7fbf2cf..c5042f9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -314,6 +314,18 @@ if test "x$enable_debug" = xyes; then
 fi
 
 dnl
+dnl compatibility symlinks
+dnl
+case "$host_os" in
+linux* )
+    HAVE_COMPAT_SYMLINKS=yes ;;
+* )
+    HAVE_COMPAT_SYMLINKS=no ;;
+esac
+
+AM_CONDITIONAL(HAVE_COMPAT_SYMLINKS, test "x$HAVE_COMPAT_SYMLINKS" = xyes)
+
+dnl
 dnl library names
 dnl
 case "$host_os" in
diff --git a/install-gallium-links.mk b/install-gallium-links.mk
index be69326..e655608 100644
--- a/install-gallium-links.mk
+++ b/install-gallium-links.mk
@@ -1,6 +1,7 @@
 # Provide compatibility with scripts for the old Mesa build system for
 # a while by putting a link to the driver into /lib of the build tree.
 
+if HAVE_COMPAT_SYMLINKS
 all-local : .libs/install-gallium-links
 
 .libs/install-gallium-links : $(dri_LTLIBRARIES) $(vdpau_LTLIBRARIES) $(egl_LTLIBRARIES) $(lib_LTLIBRARIES)
@@ -21,3 +22,4 @@ all-local : .libs/install-gallium-links
 			ln -f $$f $$link_dir;			\
 		fi;						\
 	done && touch $@
+endif
diff --git a/install-lib-links.mk b/install-lib-links.mk
index 2707eb8..0e13719 100644
--- a/install-lib-links.mk
+++ b/install-lib-links.mk
@@ -1,6 +1,7 @@
 # Provide compatibility with scripts for the old Mesa build system for
 # a while by putting a link to the driver into /lib of the build tree.
 
+if HAVE_COMPAT_SYMLINKS
 all-local : .libs/install-mesa-links
 
 .libs/install-mesa-links : $(lib_LTLIBRARIES)
@@ -12,3 +13,4 @@ all-local : .libs/install-mesa-links
 			ln -f $$f $(top_builddir)/$(LIB_DIR);	\
 		fi;						\
 	done && touch $@
+endif
diff --git a/src/mesa/drivers/dri/Makefile.am b/src/mesa/drivers/dri/Makefile.am
index 187e478..17ac76b 100644
--- a/src/mesa/drivers/dri/Makefile.am
+++ b/src/mesa/drivers/dri/Makefile.am
@@ -65,6 +65,7 @@ mesa_dri_drivers_la_LIBADD = \
 if NEED_MEGADRIVER
 dri_LTLIBRARIES = mesa_dri_drivers.la
 
+if HAVE_COMPAT_SYMLINKS
 # Add a link to allow setting LD_LIBRARY_PATH/LIBGL_DRIVERS_PATH to /lib of the build tree.
 all-local: mesa_dri_drivers.la
 	$(AM_V_at)$(MKDIR_P) $(top_builddir)/$(LIB_DIR);
@@ -74,6 +75,7 @@ all-local: mesa_dri_drivers.la
 		ln -f $(top_builddir)/$(LIB_DIR)/mesa_dri_drivers. at LIB_EXT@ \
 		      $(top_builddir)/$(LIB_DIR)/$$i; \
 	done;
+endif
 
 # hardlink each megadriver instance, but don't actually have
 # mesa_dri_drivers. at LIB_EXT@ in the set of final installed files.
-- 
1.9.0



More information about the mesa-dev mailing list