[PATCH] DRI-specific pkg-config file

View: New views
3 Messages — Rating Filter:   Alert me  

[PATCH] DRI-specific pkg-config file

by Dan Nicholson-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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 @@
+prefix=@INSTALL_DIR@
+exec_prefix=${prefix}
+libdir=${exec_prefix}/@LIB_DIR@
+includedir=${prefix}/include
+dridriverdir=@DRI_DRIVER_DIR@
+
+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
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@...
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Re: [PATCH] DRI-specific pkg-config file

by Dan Nicholson-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Anyone have any problems with this?

On Thu, Jun 12, 2008 at 7:12 AM, Dan Nicholson <dbn.lists@...> wrote:

> 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 @@
> +prefix=@INSTALL_DIR@
> +exec_prefix=${prefix}
> +libdir=${exec_prefix}/@LIB_DIR@
> +includedir=${prefix}/include
> +dridriverdir=@DRI_DRIVER_DIR@
> +
> +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
> _______________________________________________
> Mesa3d-dev mailing list
> Mesa3d-dev@...
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>

-------------------------------------------------------------------------
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
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@...
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Re: [PATCH] DRI-specific pkg-config file

by Kristian Høgsberg :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Fri, Jun 27, 2008 at 9:31 AM, Dan Nicholson <dbn.lists@...> wrote:
> Anyone have any problems with this?

I saw you already added this, but just wanted to say it looks good to me.

thanks,
Kristian


> On Thu, Jun 12, 2008 at 7:12 AM, Dan Nicholson <dbn.lists@...> wrote:
>> 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 @@
>> +prefix=@INSTALL_DIR@
>> +exec_prefix=${prefix}
>> +libdir=${exec_prefix}/@LIB_DIR@
>> +includedir=${prefix}/include
>> +dridriverdir=@DRI_DRIVER_DIR@
>> +
>> +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
>> _______________________________________________
>> Mesa3d-dev mailing list
>> Mesa3d-dev@...
>> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>>
>
> -------------------------------------------------------------------------
> 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
> _______________________________________________
> Mesa3d-dev mailing list
> Mesa3d-dev@...
> https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
>

-------------------------------------------------------------------------
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
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@...
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev
LightInTheBox - Buy quality products at wholesale price