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

Peter Hutterer peter.hutterer at who-t.net
Tue Nov 24 18:55:33 PST 2009


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.


> 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])

Cheers,
  Peter


More information about the xorg-devel mailing list