dricore: Turn it into a normal library.
authorEric Anholt <eric@anholt.net>
Tue, 12 Jun 2012 20:37:58 +0000 (13:37 -0700)
committerEric Anholt <eric@anholt.net>
Thu, 21 Jun 2012 17:10:46 +0000 (10:10 -0700)
Our intention is still that it's not abi stable, so make the package
version number get included in the library name.  Now you can parallel
install dricore-using drivers from multiple mesa versions.  We can put
it into lib now that we're following library versioning rules
(assuming that ABIs don't change within a single Mesa point release).

LD_LIBRARY_PATH still doesn't work with a non-/, non-/usr prefix
because libtool uses rpath instead of runpath for nonstandard
prefixes.

configs/current.in
configs/default
configure.ac
src/mesa/libdricore/Makefile.am

index 6deedaa5e5a191263e1642468ae2a758306f429a..f4858bdfa60432f1513a172cb820acb709b7353a 100644 (file)
@@ -41,8 +41,6 @@ LLVM_LIBS = @LLVM_LIBS@
 LLVM_INCLUDEDIR = @LLVM_INCLUDEDIR@
 GLW_CFLAGS = @GLW_CFLAGS@
 GLX_TLS = @GLX_TLS@
-DRI_CFLAGS = @DRI_CFLAGS@
-DRI_CXXFLAGS = @DRI_CXXFLAGS@
 
 # dlopen
 DLOPEN_LIBS = @DLOPEN_LIBS@
@@ -124,8 +122,6 @@ GALLIUM_DRIVERS = $(foreach DIR,$(GALLIUM_DRIVERS_DIRS),$(TOP)/src/gallium/drive
 
 # Driver specific build vars
 DRI_DIRS = @DRI_DIRS@
-DRICORE_LIBS = @DRICORE_LIBS@
-DRICORE_LIB_DEPS = @DRICORE_LIB_DEPS@
 EGL_PLATFORMS = @EGL_PLATFORMS@
 EGL_CLIENT_APIS = @EGL_CLIENT_APIS@
 
index bf67d347fe44bb2f0bc3748bcadaf6ee6d3ffcce..734b2f62e8989dd9c2b2af689fb52338a4cfcf6d 100644 (file)
@@ -83,9 +83,6 @@ GLESv2_LIB_GLOB = $(GLESv2_LIB_NAME)*
 VG_LIB_GLOB = $(VG_LIB_NAME)*
 GLAPI_LIB_GLOB = $(GLAPI_LIB_NAME)*
 
-DRI_CFLAGS = $(CFLAGS)
-DRI_CXXFLAGS = $(CXXFLAGS)
-
 # Optional assembly language optimization files for libGL
 MESA_ASM_FILES =
 
index 879a50702b4a4df84279623fbae81b415c35e0a2..b78eb15555752c47902fb2bbdcf5d6b9c98de831 100644 (file)
@@ -1085,25 +1085,15 @@ AC_SUBST([GLAPI_LIB_DEPS])
 
 
 dnl Setup default DRI CFLAGS
-DRI_CFLAGS='$(CFLAGS)'
-DRI_CXXFLAGS='$(CXXFLAGS)'
 DRI_LIB_DEPS='$(TOP)/src/mesa/libmesa.a'
 MESA_MODULES='$(TOP)/src/mesa/libmesa.a'
 
 if test "x$enable_dri" = xyes && test "x$driglx_direct" = xyes ; then
-    DRICORE_LIBS='$(TOP)/$(LIB_DIR)/libdricore.so'
-    DRICORE_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR)'
-    DRI_LIB_DEPS='-L$(TOP)/$(LIB_DIR) -Wl,-R$(DRI_DRIVER_INSTALL_DIR) -ldricore'
-    DRI_CFLAGS='$(CFLAGS_NOVISIBILITY) -DUSE_DRICORE'
-    DRI_CXXFLAGS='$(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE'
-    MESA_MODULES='$(DRICORE_LIBS)'
+    DRI_LIB_DEPS="-L\$(TOP)/\$(LIB_DIR) -ldricore$VERSION"
+    MESA_MODULES="\$(TOP)/\$(LIB_DIR)/libdricore$VERSION.so"
     HAVE_DRICORE=yes
 fi
 AM_CONDITIONAL(HAVE_DRICORE, test x$HAVE_DRICORE = xyes)
-AC_SUBST([DRICORE_LIBS])
-AC_SUBST([DRICORE_LIB_DEPS])
-AC_SUBST([DRI_CXXFLAGS])
-AC_SUBST([DRI_CFLAGS])
 AC_SUBST([MESA_MODULES])
 
 AC_SUBST([HAVE_XF86VIDMODE])
index 866f8f153b63ba6a495c5b2b2b999b78cc687bd8..26d8a88fddc408ae7ba97e5a480201a04e8036f7 100644 (file)
@@ -32,13 +32,11 @@ AM_CPPFLAGS = \
        $(API_DEFINES) \
        $(DEFINES)
 
-dridir = $(libdir)/dri
-
 AM_CFLAGS = $(CFLAGS_NOVISIBILITY) -DUSE_DRICORE
 AM_CXXFLAGS = $(CXXFLAGS_NOVISIBILITY) -DUSE_DRICORE
 AM_CCASFLAGS = $(CFLAGS_NOVISIBILITY) -DUSE_DRICORE
 
-libdricore_la_SOURCES = \
+libdricore@VERSION@_la_SOURCES = \
        $(MESA_FILES) \
        $(MESA_CXX_FILES) \
        $(LIBGLCPP_GENERATED_FILES) \
@@ -47,8 +45,8 @@ libdricore_la_SOURCES = \
        $(LIBGLSL_CXX_FILES) \
        $(BUILTIN_COMPILER_GENERATED_CXX_FILES) \
        $(top_srcdir)/src/glsl/builtin_function.cpp
-libdricore_la_LDFLAGS = -module -avoid-version -shared
-libdricore_la_LIBADD = libdricore-asm.la
+libdricore@VERSION@_la_LDFLAGS = -version-number 1:0
+libdricore@VERSION@_la_LIBADD = libdricore-asm.la
 
 # This is separated from libdricore to avoid conflics in object
 # outputs between main/clip.c and sparc/clip.c.  The documented way to
@@ -72,16 +70,18 @@ endif
 
 if HAVE_DRICORE
 noinst_LTLIBRARIES = libdricore-asm.la
-dri_LTLIBRARIES = libdricore.la
+lib_LTLIBRARIES = libdricore@VERSION@.la
 
 # 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.
-all-local: libdricore.la
+all-local: libdricore@VERSION@.la
        $(MKDIR_P) $(top_builddir)/$(LIB_DIR);
-       ln -f .libs/libdricore.so $(top_builddir)/$(LIB_DIR)/libdricore.so;
+       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
 endif
 
 CLEANFILES = \
-       $(top_builddir)/$(LIB_DIR)/libdricore.so
+       $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so.1 \
+       $(top_builddir)/$(LIB_DIR)/libdricore@VERSION@.so
 
 -include $(DEPENDS)