File: yaz_libxml2.m4

package info (click to toggle)
yaz 5.27.1-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 16,184 kB
  • sloc: xml: 123,414; ansic: 72,530; sh: 5,007; tcl: 2,169; makefile: 1,321; yacc: 382
file content (155 lines) | stat: -rw-r--r-- 4,676 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
AC_DEFUN([YAZ_LIBXML2],[
AC_PATH_PROG(pkgconfigpath, pkg-config, NONE)
pkgmodule=""
xml2dir=default
XML2_VER=""
AC_ARG_WITH(xml2,[[  --with-xml2[=PREFIX]    use libxml2 in PREFIX]],xml2dir=$withval)
dnl -- if no PREFIX or not specified we just search in default locations
dnl -- try pkg-config. If not found, use xml2-config
if test "$xml2dir" = "yes" -o "$xml2dir" = "default"; then
    if test "$pkgconfigpath" != "NONE"; then
	if $pkgconfigpath --exists libxml-2.0; then
	    pkgmodule="libxml-2.0"
	fi
    fi
    if test -z "$pkgmodule"; then
	for d in /usr /usr/local; do
	    if test -x $d/bin/xml2-config; then
		xml2dir=$d
	    fi
	done
    fi
fi
dnl --- do the real check (pkg-config, xml2-config, not-found)
if test "$xml2dir" != "no"; then
    AC_MSG_CHECKING(for libXML2)
    if test "$pkgmodule"; then
	XML2_LIBS=`$pkgconfigpath --libs $pkgmodule`
	XML2_CFLAGS=`$pkgconfigpath --cflags $pkgmodule`
	XML2_VER=`$pkgconfigpath --modversion $pkgmodule`
	AC_MSG_RESULT($XML2_VER)
	m4_default([$1],[AC_DEFINE(HAVE_XML2)])
    elif test -x $xml2dir/bin/xml2-config; then
	XML2_LIBS=`$xml2dir/bin/xml2-config --libs`
	XML2_CFLAGS=`$xml2dir/bin/xml2-config --cflags`
	XML2_VER=`$xml2dir/bin/xml2-config --version`
	AC_MSG_RESULT($XML2_VER)
	m4_default([$1],[AC_DEFINE(HAVE_XML2)])
    else
	AC_MSG_RESULT(Not found)
	if test "$xml2dir" = "default"; then
	    AC_MSG_WARN([libxml2 development libraries not found.])
	    AC_MSG_WARN([There will be no support for SRU.])
	else
	    AC_MSG_ERROR([libxml2 development libraries not found.])
	fi
    fi
    XML2_LIBS=`echo $XML2_LIBS|sed 's@-./usr/lib @@g'`
fi
])

AC_DEFUN([YAZ_LIBXSLT],[
pkgmodule=""
xsltdir=default
yaz_xslt_pkgconfig=no
XSLT_VER=""
AC_ARG_WITH(xslt,[[  --with-xslt[=PREFIX]    use libXSLT in PREFIX]],xsltdir=$withval)

dnl -- if no PREFIX or not specified we just search in default locations
dnl -- try pkg-config. If not found, use xslt-config
if test "$xsltdir" = "yes" -o "$xsltdir" = "default"; then
    if test "$pkgconfigpath" != "NONE"; then
	        # pkg-config on woody reports bad CFLAGS which does 
		# not include libxml2 CFLAGS, so avoid it..
	if $pkgconfigpath --atleast-version 1.1.0 libxslt; then
	    pkgmodule="libxslt"
	fi
    fi
    if test -z "$pkgmodule"; then
	for d in /usr /usr/local; do
	    if test -x $d/bin/xslt-config; then
		xsltdir=$d
	    fi
	done
    fi
fi
dnl --- do the real check (pkg-config, xslt-config, not-found)
if test "$xsltdir" != "no"; then
    AC_MSG_CHECKING(for libXSLT)
    if test "$pkgmodule"; then
	XML2_LIBS=`$pkgconfigpath --libs $pkgmodule`
	XML2_CFLAGS=`$pkgconfigpath --cflags $pkgmodule`
	XSLT_VER=`$pkgconfigpath --modversion $pkgmodule`
	AC_MSG_RESULT($XSLT_VER)
	m4_default([$1],[AC_DEFINE(HAVE_XSLT)])
	yaz_xslt_pkgconfig=yes
    elif test -x $xsltdir/bin/xslt-config; then
	XML2_LIBS=`$xsltdir/bin/xslt-config --libs`
	XML2_CFLAGS=`$xsltdir/bin/xslt-config --cflags`
	XSLT_VER=`$xsltdir/bin/xslt-config --version`
	AC_MSG_RESULT($XSLT_VER)
	m4_default([$1],[AC_DEFINE(HAVE_XSLT)])
    else
	AC_MSG_RESULT(Not found)
	
	if test "$xsltdir" = "default"; then
	    AC_MSG_WARN([libXSLT development libraries not found.])
	else
	    AC_MSG_ERROR([libXSLT development libraries not found.])
	fi
    fi
    XML2_LIBS=`echo $XML2_LIBS|sed 's@-./usr/lib @@g'`
fi
])

dnl -- get libEXSLT. xslt-config is no good. So use pkg-config only
AC_DEFUN([YAZ_LIBEXSLT],[
exsltdir=default
pkgmodule=""
EXSLT_VER=""
AC_ARG_WITH(exslt,[[  --with-exslt[=PREFIX]   use libEXSLT in PREFIX]],exsltdir=$withval)
if test "$exsltdir" = "yes" -o "$exsltdir" = "default"; then
    if test "$pkgconfigpath" != "NONE"; then
	if $pkgconfigpath --exists libexslt; then
	    pkgmodule="libexslt"
	fi
    fi
fi
if test "$exsltdir" != "no"; then
    AC_MSG_CHECKING(for libEXSLT)
    if test "$pkgmodule"; then
	if test "$yaz_xslt_pkgconfig" != "yes"; then
	    AC_MSG_RESULT([Disabled. Libxslt is not pkg-config configured])
	else
	    XML2_LIBS=`$pkgconfigpath --libs $pkgmodule`
	    XML2_CFLAGS=`$pkgconfigpath --cflags $pkgmodule`
	    EXSLT_VER=`$pkgconfigpath --modversion $pkgmodule`
	    AC_MSG_RESULT($EXSLT_VER)
	    m4_default([$1],[AC_DEFINE(HAVE_EXSLT)])
	fi
    else
	AC_MSG_RESULT(Not found)
	
	if test "$pkgconfigpath" = "NONE"; then
	    extra="libEXSLT not enabled. pkg-config not found."
	else
	    extra="libEXSLT development libraries not found."
	fi
	
	if test "$exsltdir" = "default"; then
	    AC_MSG_WARN([$extra])
	else
	    AC_MSG_ERROR([$extra])
	fi
    fi
fi
OLIBS=$LIBS
LIBS="$LIBS $XML2_LIBS"
AC_CHECK_FUNCS([xsltSaveResultToString])
LIBS=$OLIBS
])
dnl Local Variables:
dnl mode:shell-script
dnl sh-indentation: 2
dnl sh-basic-offset: 4
dnl End: