[PATCH] util-macros: Addition of a meta data file xorg-macros.pc.in used by XORG_INSTALL

Jeremy Huddleston jeremyhu at freedesktop.org
Wed Nov 25 13:43:11 PST 2009


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.

Reviewed-by: Jeremy Huddleston <jeremyhu at apple.com>

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

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 5820 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-devel/attachments/20091125/04b18849/attachment-0001.bin 


More information about the xorg-devel mailing list