<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 TRANSITIONAL//EN">
<HTML>
<HEAD>
  <META HTTP-EQUIV="Content-Type" CONTENT="text/html; CHARSET=UTF-8">
  <META NAME="GENERATOR" CONTENT="GtkHTML/3.26.0">
</HEAD>
<BODY>
On Wed, 2009-11-25 at 13:43 -0800, Jeremy Huddleston wrote:
<BLOCKQUOTE TYPE=CITE>
<PRE>
I like the idea... I'm just cautious about it being in share/pkgconfig ... I'm gonna have to edit some build system scripts here to include the new path in PKG_CONFIG_PATH, and I'm sure others will as well.  We should make sure this is noted in the release notes.

</PRE>
</BLOCKQUOTE>
Fortunatly, libxtrans was the first one and I recall from this list a number of build scripts being updated. There should be no issue on an end user platform as there already is a share/pkgconfig with a number of .pc files, like gnome. <BR>
<BR>
Thanks for reviewing.<BR>
<BR>
<BLOCKQUOTE TYPE=CITE>
<PRE>
Reviewed-by: Jeremy Huddleston &lt;<A HREF="mailto:jeremyhu@apple.com">jeremyhu@apple.com</A>&gt;

On Nov 25, 2009, at 10:49, Gaetan Nadon wrote:

&gt; On Wed, 2009-11-25 at 12:55 +1000, Peter Hutterer wrote: 
&gt; 
&gt;&gt; On Sun, Nov 22, 2009 at 03:59:44PM -0500, Gaetan Nadon wrote:
&gt;&gt;&gt; 
&gt;&gt;&gt; Thanks to Daniel Stone for providing the idea of using a .pc file. This
&gt;&gt;&gt; provides a robust implementation to copy the INSTALL file from a single
&gt;&gt;&gt; location to all xorg modules.  It can be updated every release if need
&gt;&gt;&gt; be with a single check-in.
&gt;&gt;&gt; 
&gt;&gt;&gt; The time honoured behaviours of ChangeLog are replicated.  When the file
&gt;&gt;&gt; cannot be copied, the existing one, if any, is not overwritten. If none
&gt;&gt;&gt; existed, an empty file is created so the tarball is created anyway.
&gt;&gt;&gt; Similar to ChangeLog, if the file is deleted from a tarball and
&gt;&gt;&gt; util-macros is not available, then it cannot be created. In that case,
&gt;&gt;&gt; one would have to obtain it from the original tarball or from git.
&gt;&gt;&gt; 
&gt;&gt;&gt; Note that xorg-macros.pc is installed in $prefix/share/pkgconfig because
&gt;&gt;&gt; it is architecture independent. I recalled a discussion about libxtrans
&gt;&gt;&gt; that could not cross compile.
&gt;&gt;&gt; 
&gt;&gt;&gt; I will release an additional patch for each module  to add both
&gt;&gt;&gt; ChangeLog and INSTALL on the MAINTAINERCLEANFILES list.
&gt;&gt;&gt; 
&gt;&gt;&gt; There has been questions as to what a module should do when additional
&gt;&gt;&gt; information is required, now that the INSTALL is standard. Here is an
&gt;&gt;&gt; excerpt fromthe INSTALL file:
&gt;&gt;&gt; 
&gt;&gt;&gt; Basic Installation
&gt;&gt;&gt; ==================
&gt;&gt;&gt; 
&gt;&gt;&gt;   Briefly, the shell commands `./configure; make; make install' should
&gt;&gt;&gt; configure, build, and install this package.  The following
&gt;&gt;&gt; more-detailed instructions are generic; see the `README' file for
&gt;&gt;&gt; instructions specific to this package.
&gt;&gt;&gt; 
&gt;&gt;&gt; 
&gt;&gt;&gt; Thank you very much for all those who helped with this issue.
&gt;&gt;&gt; 
&gt;&gt;&gt; The content of the XORG_INSTALL macro:
&gt;&gt;&gt; 
&gt;&gt;&gt; AC_REQUIRE([PKG_PROG_PKG_CONFIG])
&gt;&gt;&gt; macros_docdir=$($PKG_CONFIG --print-errors --variable=docdir
&gt;&gt;&gt; xorg-macros)
&gt;&gt;&gt; INSTALL_CMD=&quot;(cp -f &quot;$macros_docdir/INSTALL&quot; \$(top_srcdir)/.INSTALL.tmp
&gt;&gt;&gt; &amp;&amp; \
&gt;&gt;&gt; mv \$(top_srcdir)/.INSTALL.tmp \$(top_srcdir)/INSTALL) \
&gt;&gt;&gt; || (rm -f \$(top_srcdir)/.INSTALL.tmp; touch \$(top_srcdir)/INSTALL; \
&gt;&gt;&gt; echo 'util-macros \&quot;docdir\&quot; from xorg-macros.pc not found: installing
&gt;&gt; 
&gt;&gt; was this supposed to be in this patch?
&gt;&gt; it'd make sense to include it to this patch instead of a separate one since
&gt;&gt; the reason for the .pc file is this very macro.
&gt; 
&gt; 
&gt; There is only one patch. It was provided as an attachment. In the text,
&gt; I provided an excerpt. I realize now it's not a good idea when the
&gt; attachment is viewed in-line. I have re-attached the patch to this
&gt; e-mail. 
&gt; 
&gt;&gt; 
&gt;&gt; 
&gt;&gt;&gt; From 2c10c1b272a9388e7ef3f8a6e1f723acea3be5af Mon Sep 17 00:00:00 2001
&gt;&gt;&gt; From: Gaetan Nadon &lt;<A HREF="mailto:memsize@videotron.ca">memsize@videotron.ca</A>&gt;
&gt;&gt;&gt; Date: Sat, 21 Nov 2009 17:28:32 -0500
&gt;&gt;&gt; Subject: [PATCH] xorg-macros.pc.in: create a meta data file for util-macros
&gt;&gt;&gt; 
&gt;&gt;&gt; This is motivated primarly by XORG_INSTALL who needs to locate
&gt;&gt;&gt; the docdir when invoked from any module that may not be installed
&gt;&gt;&gt; using same prefix (default or otherwise).
&gt;&gt;&gt; 
&gt;&gt;&gt; There are other potential use for this file.
&gt;&gt;&gt; ---
&gt;&gt;&gt; Makefile.am       |    5 +++++
&gt;&gt;&gt; configure.ac      |    1 +
&gt;&gt;&gt; xorg-macros.pc.in |   14 ++++++++++++++
&gt;&gt;&gt; 3 files changed, 20 insertions(+), 0 deletions(-)
&gt;&gt;&gt; create mode 100644 xorg-macros.pc.in
&gt;&gt;&gt; 
&gt;&gt;&gt; diff --git a/Makefile.am b/Makefile.am
&gt;&gt;&gt; index 49c2d17..1e07014 100644
&gt;&gt;&gt; --- a/Makefile.am
&gt;&gt;&gt; +++ b/Makefile.am
&gt;&gt;&gt; @@ -29,6 +29,11 @@ dist_doc_DATA = INSTALL
&gt;&gt;&gt; install-data-hook:
&gt;&gt;&gt;         rm -f $(DESTDIR)$(aclocaldir)/xorgversion.m4
&gt;&gt;&gt; 
&gt;&gt;&gt; +pkgconfigdir = $(datadir)/pkgconfig
&gt;&gt;&gt; +pkgconfig_DATA = xorg-macros.pc
&gt;&gt;&gt; +
&gt;&gt;&gt; +EXTRA_DIST = xorg-macros.pc.in
&gt;&gt;&gt; +
&gt;&gt;&gt; .PHONY: ChangeLog
&gt;&gt;&gt; 
&gt;&gt;&gt; ChangeLog:
&gt;&gt;&gt; diff --git a/configure.ac b/configure.ac
&gt;&gt;&gt; index 8b1d450..4daec6a 100644
&gt;&gt;&gt; --- a/configure.ac
&gt;&gt;&gt; +++ b/configure.ac
&gt;&gt;&gt; @@ -40,5 +40,6 @@ m4_include([xorgversion.m4])
&gt;&gt;&gt; XORG_RELEASE_VERSION
&gt;&gt;&gt; XORG_CHANGELOG
&gt;&gt;&gt; 
&gt;&gt;&gt; +AC_CONFIG_FILES([xorg-macros.pc])
&gt;&gt;&gt; AC_CONFIG_FILES([Makefile xorg-macros.m4:xorg-macros.m4.in:xorgversion.m4])
&gt;&gt; 
&gt;&gt; any reason that can't be in a single command, like AC_OUTPUT in most other
&gt;&gt; modules?  i.e. 
&gt;&gt; 
&gt;&gt; AC_CONFIG_FILES([xorg-macros.pc
&gt;&gt;                 Makefile
&gt;&gt;                 etc])
&gt;&gt; 
&gt; 
&gt; For small modules, it's pretty much just a style issue. AC_CONFIG_FILES
&gt; is an instantiating macro, so it can have commands.
&gt; 
&gt; Macro: AC_CONFIG_FILES (file..., [cmds], [init-cmds])
&gt; 
&gt; For large config file like libxcb, they have grouped files by topic,
&gt; makefile together, .pc together and finally doxygen. If commands are
&gt; needed, then they must have separate statement. I can write a single
&gt; statement at the next patch opportunity. Thanks for the advanced
&gt; warning, it will be something to ask when the opportunity arise.
&gt; 
&gt; Thanks
&gt; 
&gt; 
&gt;&gt; Cheers,
&gt;&gt;  Peter
&gt;&gt; _______________________________________________
&gt;&gt; xorg-devel mailing list
&gt;&gt; <A HREF="mailto:xorg-devel@lists.x.org">xorg-devel@lists.x.org</A>
&gt;&gt; <A HREF="http://lists.x.org/mailman/listinfo/xorg-devel">http://lists.x.org/mailman/listinfo/xorg-devel</A>
&gt; &lt;0001-xorg-macros.pc.in-create-a-meta-data-file-for-util.patch&gt;_______________________________________________
&gt; xorg-devel mailing list
&gt; <A HREF="mailto:xorg-devel@lists.x.org">xorg-devel@lists.x.org</A>
&gt; <A HREF="http://lists.x.org/mailman/listinfo/xorg-devel">http://lists.x.org/mailman/listinfo/xorg-devel</A>

</PRE>
</BLOCKQUOTE>
</BODY>
</HTML>