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 <[email protected]> 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 <[email protected]> >>> 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 >> [email protected] >> 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 > [email protected] > http://lists.x.org/mailman/listinfo/xorg-devel
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ xorg-devel mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-devel
