[PATCH V2] configure.ac: Fallback to older detection code if pkg-config can't find expat
Bill Spitzak
spitzak at gmail.com
Mon Feb 2 18:33:49 PST 2015
On 02/02/2015 03:12 PM, sardemff7+wayland at sardemff7.net wrote:
> On 2015-02-02 22:29, Bill Spitzak wrote:
>> This paritally reverts commit a4afd90f9f0c27ed5f3f313b915c260673f8be34.
>>
>> On older expat versions (ie the one on Ubuntu 12.04) there is no
>> pkg-config
>> file, so fall back to the previous test for the header file when it
>> fails.
>> Test is slightly cleaned up from previous one.
>>
>> I could not use AC_SEARCH_LIBS as was suggested, as this leaves the
>> switch
>> in LIBS, not EXPAT_LIBS, and thus does not match the pkg-config results.
>
> Well, you can perfectly do that, especially since AC_CHECK_LIB does not
> export EXPAT_LIBS either.
I think I may need some expert autotools help. I was basing these
changes on looking at what got put into the config.h and Makefile. If I
used AC_SEARCH_LIBS it added "-lexpat" to LIBS. I could make it also add
it to EXPAT_LIBS but I could not figure out a way to stop it from being
added to LIBS.
> I would advice to use AM_SUBST_NOTMAKE(LIBS) and never rely on LIBS at
> all. But that could be left to another patch I guess.
Unfortunately it looks like Makefile.in uses $(LIBS) a lot and they
would all have to be fixed. I found plenty of examples on the web for
avoiding my problem by clearing LIBS after running AC_SEARCH_LIBS but
that would break all the existing configuration.
>> configure.ac | 7 ++++++-
>> 1 file changed, 6 insertions(+), 1 deletion(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index 0426b53..fc5ea55 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -85,7 +85,12 @@ AC_ARG_WITH(icondir, [ --with-icondir=<dir>
>> Look for cursor icons here],
>> AC_SUBST([ICONDIR])
>>
>> if test "x$enable_scanner" = "xyes"; then
>> - PKG_CHECK_MODULES(EXPAT, [expat])
>> + PKG_CHECK_MODULES(EXPAT, [expat],,
>> + [AC_CHECK_HEADERS(expat.h,,
>> + [AC_MSG_ERROR([Can't find expat.h. Please install expat.])])
>> + AC_CHECK_LIB(expat, XML_ParserCreate, [EXPAT_LIBS="-lexpat"],
>
> Do you rely on PKG_CHECK_MODULES to AC_SUBST?
I have no idea. I'm trying not to change the behavior when
PKG_CHECK_MODULES works, just to alter the behavior when it does not work.
I am not very clear what AC_SUBST does, for EXPAT_LIBS it seems to work
the same whether I use that command or not. I am wondering if I am
running into a problem with caching using my previous results.
I guess I could use some help with this to get the replacement correct...
More information about the wayland-devel
mailing list