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

Gaetan Nadon gaetan.nadon at videotron.ca
Wed Nov 25 17:22:58 PST 2009


On Wed, 2009-11-25 at 13:43 -0800, Jeremy Huddleston wrote:

> 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.
> 

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. 

Thanks for reviewing.


> 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 --------------
An HTML attachment was scrubbed...
URL: http://lists.x.org/archives/xorg-devel/attachments/20091125/d323a9da/attachment.html 


More information about the xorg-devel mailing list