LIBOBJS = @LIBOBJS@
PYTHON_CPPFLAGS = @PYTHON_CPPFLAGS@
PYTHON_LDFLAGS = @PYTHON_LDFLAGS@
+PYTHON_X_CFLAGS = @PYTHON_X_CFLAGS@
LIBSSL_CPPFLAGS = @LIBSSL_CPPFLAGS@
LIBSSL_LDFLAGS = @LIBSSL_LDFLAGS@
LIBSSL_LIBS = @LIBSSL_LIBS@
$(swig) -python -o $@ $(CPPFLAGS) $(PYTHON_CPPFLAGS) $<
ldns_wrapper.lo: $(pywrapdir)/ldns_wrapper.c $(LIBDNS_HEADERS) ldns/common.h ldns/util.h ldns/config.h
- $(COMP_LIB) -I./include/ldns $(PYTHON_CPPFLAGS) -c $< -o $@
+ $(COMP_LIB) -I./include/ldns $(PYTHON_CPPFLAGS) $(PYTHON_X_CFLAGS) -c $< -o $@
_ldns.la: ldns_wrapper.lo libldns.la
$(LIBTOOL) --tag=CC --mode=link $(CC) $(strip $(CFLAGS) $(PYTHON_CFLAGS) $(LDFLAGS) $(PYTHON_LDFLAGS) -module -version-number $(version_info) -no-undefined -o $@ $< -rpath $(python_site) -L. -L.libs -lldns $(LIBS))
INFORMATION FOR SPECIFIC OPERATING SYSTEMS
Mac OS X
Solaris
+ KNOWN ISSUES
+ pyldns
Your Support
Project page:
* Developers
ldns is developed by the ldns team at NLnet Labs. This team currently
consists of:
+ o Willem Toorop
o Wouter Wijngaards
o Matthijs Mekking
* Credits
We have received patches from the following people, thanks!
+ o Bedrich Kosata
o Erik Rozendaal
o Håkan Olsson
o Jakob Schlyter
o Ondřej Surý
-IFORMATION FOR SPECIFIC OPERATING SYSTEMS
+INFORMATION FOR SPECIFIC OPERATING SYSTEMS
MAC OS X
script that sets the right build and link options. You can find it in
contrib/build-solaris.sh
+KNOWN ISSUES
+
+A complete list of currently known open issues can be found here:
+http://www.nlnetlabs.nl/projects/ldns/bugs
+
+* pyldns
+Compiling pyldns produces many ``unused parameter'' warnings. Those are
+harmless and may safely be ignored.
+Also when building with Swig which version is before 2.0.4, compiling
+pyldns produces many ``missing initializer'' warnings. Those are harmless
+too.
Your Support
NLnet Labs offers all of its software products as open source, most are
AC_SEARCH_LIBS([inet_pton], [nsl])
# check for python
+PYTHON_X_CFLAGS=""
AC_ARG_WITH(pyldns, AC_HELP_STRING([--with-pyldns],
[generate python library, or --without-pyldns to disable Python support.]),
[],[ withval="no" ])
AC_SUBST(swig, "$SWIG")
fi
else
- AC_MSG_RESULT([*** don't have Python, skipping Swig, no pyldns ***])
+ AC_MSG_RESULT([*** don't have Python, skipping Swig, no pyldns ***]) # '
+ fi
+
+ # xtra cflags for pyldns
+ if test x_$ldns_have_python != x_no; then
+ ACX_CHECK_COMPILER_FLAG(fno-strict-aliasing, [PYTHON_X_CFLAGS="-fno-strict-aliasing"])
fi
fi
+AC_SUBST(PYTHON_X_CFLAGS)
# Use libtool
ACX_LIBTOOL_C_ONLY
%newobject ldns_dname_new_frm_data;
%newobject ldns_dname_label;
+# limit the number of arguments to 2 and
+# deal with variable number of arguments the Python way
+%varargs(2, char *arg = NULL) ldns_buffer_printf;
+
%rename(ldns_buffer) ldns_struct_buffer;
#ifdef LDNS_DEBUG
#parameters: ldns_buffer *,
#retvals: size_t
- def printf(self,*str):
+ def printf(self, str, *args):
"""Prints to the buffer, increasing the capacity if required using buffer_reserve().
The buffer's position is set to the terminating '\0'. Returns the number of characters written (not including the terminating '\0') or -1 on failure.
:param str: a string
:returns: (int)
"""
- return _ldns.ldns_buffer_printf(self,*str)
+ data = str % args
+ return _ldns.ldns_buffer_printf(self,data)
#parameters: ldns_buffer *,const char *,...
#retvals: int