Since the gl pkg-config file doesn't convey any specifics about the
backend in use, this adds a new pkg-config file for when DRI is in use.
This can be used by the xserver build to determine if the DRI extension
is appropriate.
---
Dan

 I don't know if this makes anything a lot better, but I think it at
 least helps differentiates the case of "user has non-DRI-GL". With it
 we can change the xserver DRI check:

 --- a/configure.ac
 +++ b/configure.ac
 @@ -880,7 +880,7 @@ if test "x$DRI" = xyes; then
         AC_DEFINE(XF86DRI, 1, [Build DRI extension])
         PKG_CHECK_MODULES([DRIPROTO], [xf86driproto])
         PKG_CHECK_MODULES([LIBDRM], [libdrm >= 2.3.0])
 -       PKG_CHECK_MODULES([GL], [glproto >= 1.4.1 gl >= 7.1.0])
 +       PKG_CHECK_MODULES([GL], [glproto >= 1.4.1 dri >= 7.1.0])
         PKG_CHECK_EXISTS(libdrm >= 2.2.0,
                          [AC_DEFINE([HAVE_LIBDRM_2_2], 1,
                          [Has version 2.2 (or newer) of the drm library])])

 It could also be used so that the xserver can sync with mesa on where
 the DRI drivers are really installed:

   dridriverdir=`pkg-config --variable=dridriverdir dri`

 Makefile                       |    1 +
 src/mesa/drivers/dri/Makefile  |   13 ++++++++++++-
 src/mesa/drivers/dri/dri.pc.in |   10 ++++++++++
 3 files changed, 23 insertions(+), 1 deletions(-)
 create mode 100644 src/mesa/drivers/dri/dri.pc.in

diff --git a/Makefile b/Makefile
index 0fa309b..21cf0b5 100644
--- a/Makefile
+++ b/Makefile
@@ -317,6 +317,7 @@ DRI_FILES = \
        $(DIRECTORY)/src/glx/x11/*.[ch]                                 \
        $(DIRECTORY)/src/mesa/drivers/dri/Makefile                      \
        $(DIRECTORY)/src/mesa/drivers/dri/Makefile.template             \
+       $(DIRECTORY)/src/mesa/drivers/dri/dri.pc.in                     \
        $(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.[ch]         \
        $(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po           \
        $(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS]                     \
diff --git a/src/mesa/drivers/dri/Makefile b/src/mesa/drivers/dri/Makefile
index 41dfc67..3f87782 100644
--- a/src/mesa/drivers/dri/Makefile
+++ b/src/mesa/drivers/dri/Makefile
@@ -20,8 +20,17 @@ subdirs:
                fi \
        done
 
+pcedit = sed \
+       -e 's,@INSTALL_DIR@,$(INSTALL_DIR),' \
+       -e 's,@LIB_DIR@,$(LIB_DIR),' \
+       -e 's,@VERSION@,$(MESA_MAJOR).$(MESA_MINOR).$(MESA_TINY),' \
+       -e 's,@DRI_DRIVER_DIR@,$(DRI_DRIVER_SEARCH_DIR),'
 
-install:
+dri.pc: dri.pc.in
+       $(pcedit) $< > $@
+
+
+install: dri.pc
        @for dir in $(DRI_DIRS) ; do \
                if [ -d $$dir ] ; then \
                        (cd $$dir && $(MAKE) install) || exit 1 ; \
@@ -30,6 +39,8 @@ install:
        $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/include/GL/internal
        $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_interface.h 
$(DESTDIR)$(INSTALL_DIR)/include/GL/internal
        $(INSTALL) -m 0644 $(TOP)/include/GL/internal/dri_sarea.h 
$(DESTDIR)$(INSTALL_DIR)/include/GL/internal
+       $(INSTALL) -d $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
+       $(INSTALL) -m 0644 dri.pc $(DESTDIR)$(INSTALL_DIR)/$(LIB_DIR)/pkgconfig
 
 
 clean:
diff --git a/src/mesa/drivers/dri/dri.pc.in b/src/mesa/drivers/dri/dri.pc.in
new file mode 100644
index 0000000..58d890d
--- /dev/null
+++ b/src/mesa/drivers/dri/dri.pc.in
@@ -0,0 +1,10 @@
[EMAIL PROTECTED]@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@LIB_DIR@
+includedir=${prefix}/include
[EMAIL PROTECTED]@
+
+Name: dri
+Description: Direct Rendering Infrastructure
+Version: @VERSION@
+Cflags: -I${includedir}
-- 
1.5.3.2

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
--
_______________________________________________
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel

Reply via email to