Re: [PATCH] Use PKG_CHECK_MODULES to detect the libxml2 library
Hugh McMaster <hugh.mcmaster@outlook.com>
From: Hugh McMaster <hugh.mcmaster@outlook.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Daniel Gustafsson <daniel@yesql.se>,
Peter Eisentraut <peter.eisentraut@2ndquadrant.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2020-03-11T22:19:35Z
Lists: pgsql-hackers
On Thu, 12 Mar 2020 at 03:39, Tom Lane wrote: > Daniel Gustafsson writes: > > For me, the duplication aspect is the most troubling, since we'd still > need the > > xml2-config fallback and thus won't be able to simplify the code. > > Yeah, but at least it's concentrated in a few lines in configure.in. > > I think that the main objection to this is the documentation/confusion > issues raised by Noah in that old thread. Still, we probably don't > have much choice given that some distros are going to remove xml2-config. > In that connection, Hugh's patch lacks docs which is entirely not OK, > but the doc changes in Peter's old patch look workable. Documentation can be added easily. :-) I wonder whether we ought to try to align this with our documented > procedure for falling back if you have no icu-config but want to > use ICU; that part of the docs suggests setting ICU_CFLAGS and ICU_LIBS > manually. Unless your system has ICU installed in a non-standard location, there is no need to set those variables, as PKG_CHECK_MODULES will handle that for you. `./configure --help` also provides the relevant documentation on overriding pkg-config’s X_CFLAGS and X_LIBS. The patch as it stands doesn't seem to support manually > giving XML2_CFLAGS and XML2_LIBS, but it looks like it could easily > be adjusted to allow that. What I said for ICU also applies here (in fact, to all use of PKG_CHECK_MODULES). For the fallback, a minor rework is required. The question is really whether we want to maintain a fallback to xml2-config. To give more context, I gave a more detailed assessment of the situation in an earlier email to this list. (Personally, I don’t think we should.) Do note also that xslt-config will also be a problem at some point. Also, I see that pkg.m4 says > > dnl Note that if there is a possibility the first call to > dnl PKG_CHECK_MODULES might not happen, you should be sure to include an > dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac > > which we are not doing. We got away with that as long as there was only > one PKG_CHECK_MODULES call ... but with two, I'd expect that the second > one will fall over if the first one isn't executed. Yes, that macro needs to be set. Hugh
Commits
-
Use pkg-config, if available, to locate libxml2 during configure.
- d67d7243f914 10.13 landed
- 9af2f7dc9603 11.8 landed
- d8e7f8149400 12.3 landed
- 0bc8cebdb889 13.0 landed