automake: wie conditional dependency auf libxml2?

13/12/2008 - 14:48 von Axel Kittenberger | Report spam
Hallo Leute!

Ich hab ein GPL Projekt (lsyncd http://code.google.com/p/lsyncd/ ) mit
einer jetzt neuen optionalen Depencency auf libxml2, d.h. der configure
user sollte das auch abgredehen können, und dann kann das Teil halt
etwas weniger.

So hab ich jetzt die relevanten Teile irgendwie zusammen gehackt:

- configure.in -
AC_ARG_ENABLE([xml_config],
[ --enable-xml-config Lsyncd is able to parse lsyncd.conf files
(default: enabled)],
[case "${enableval}" in
yes) xml_config=true ;;
no) xml_config=false ;;
*) AC_MSG_ERROR([bad value ${enableval} for --enable-xml-config]) ;;
esac],[xml_config=true])
AM_CONDITIONAL(XML_CONFIG,[test x$xml_config = xtrue])

if test x$xml_config = xtrue; then
AM_PATH_XML2(2.5.0,,AC_MSG_ERROR([*** Libxml is required if you do not
fi
-


AM_CFLAGS=-Wall
AM_LIBSif XML_CONFIG
DEFS+=-DXML_CONFIG
AM_CFLAGS += `xml2-config --cflags`
AM_CFLAGS += `xml2-config --libs`
endif
-

Das ist jetzt mehrfach unelegant und unpraktisch.
Zuerst " ./configure --disable-xml-config" geht nicht weil:
"""
configure: error: conditional "AMDEP" was never defined.
Usually this means the macro was only invoked conditionally.
"""
Zum anderen ist der CFLAGS hack irgendwie dirty.

Kann mir wer helfen?

Danke!
 

Lesen sie die antworten

#1 Martin Vaeth
13/12/2008 - 22:38 | Warnen spam
Axel Kittenberger schrieb:
AM_CONDITIONAL(XML_CONFIG,[test x$xml_config = xtrue])



AM_CONDITIONAL(XML_CONFIG, $xml_config)

if test x$xml_config = xtrue; then



if $xml_config; then

Zum anderen ist der CFLAGS hack irgendwie dirty.



Für die Link-Flags gibt es LDADD (bzw. prog_LDADD).
Für die "echten" CFLAGS wüsste ich jetzt keine Alternative...

Ähnliche fragen