[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 10:49:58 PST 2009
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.x.org/archives/xorg-devel/attachments/20091125/4147bdd3/attachment.html
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-xorg-macros.pc.in-create-a-meta-data-file-for-util.patch
Type: text/x-patch
Size: 0 bytes
Desc: not available
Url : http://lists.x.org/archives/xorg-devel/attachments/20091125/4147bdd3/attachment-0001.bin
More information about the xorg-devel
mailing list