mirror of
https://github.com/samba-team/samba.git
synced 2025-01-29 21:47:30 +03:00
r26700: tdb: Build and install Python bindings when possible.
(This used to be commit 8d77ea379fef5ad4b2718bc8e0620304588c9239)
This commit is contained in:
parent
c781879e35
commit
db5b0fcfb8
@ -36,7 +36,7 @@ DIRS = bin common tools
|
||||
SONAME = libtdb.$(SHLIBEXT).1
|
||||
SOLIB = libtdb.$(SHLIBEXT).$(PACKAGE_VERSION)
|
||||
|
||||
all: showflags dirs $(PROGS) $(SOLIB) libtdb.a
|
||||
all: showflags dirs $(PROGS) $(SOLIB) libtdb.a @PYTHON_BUILD_TARGET@
|
||||
|
||||
showflags:
|
||||
@echo 'tdb will be compiled with flags:'
|
||||
@ -55,13 +55,21 @@ showflags:
|
||||
dirs:
|
||||
@mkdir -p $(DIRS)
|
||||
|
||||
install: all
|
||||
install: all installdirs installbin installheaders installlibs @PYTHON_INSTALL_TARGET@
|
||||
|
||||
installdirs:
|
||||
mkdir -p $(DESTDIR)$(bindir)
|
||||
mkdir -p $(DESTDIR)$(includedir)
|
||||
mkdir -p $(DESTDIR)$(libdir)
|
||||
mkdir -p $(DESTDIR)$(libdir)/pkgconfig
|
||||
|
||||
installbin: installdirs
|
||||
cp $(PROGS) $(DESTDIR)$(bindir)
|
||||
|
||||
installheaders: installdirs
|
||||
cp $(srcdir)/include/tdb.h $(DESTDIR)$(includedir)
|
||||
|
||||
installlibs: installdirs
|
||||
cp tdb.pc $(DESTDIR)$(libdir)/pkgconfig
|
||||
cp libtdb.a $(SOLIB) $(DESTDIR)$(libdir)
|
||||
|
||||
@ -112,14 +120,16 @@ distclean: clean
|
||||
realdistclean: distclean
|
||||
rm -f configure include/config.h.in
|
||||
|
||||
tdb_wrap.c tdb.py: tdb.i
|
||||
$(SWIG) -O -Wall -python -keyword tdb.i
|
||||
.SUFFIXES: .i _wrap.c
|
||||
|
||||
build-python: libtdb.$(SHLIBEXT) tdb_wrap.c tdb.py
|
||||
.i_wrap.c:
|
||||
$(SWIG) -O -Wall -python -keyword $<
|
||||
|
||||
build-python: libtdb.$(SHLIBEXT) tdb_wrap.c
|
||||
./setup.py build
|
||||
|
||||
install-python:
|
||||
./setup.py install --prefix=$(prefix)
|
||||
installpython: build-python
|
||||
./setup.py install --prefix=$(DESTDIR)$(prefix)
|
||||
|
||||
check-python: build-python
|
||||
# FIXME: Should be more portable:
|
||||
|
@ -12,4 +12,14 @@ AC_LD_SHLIBEXT
|
||||
AC_LIBREPLACE_SHLD
|
||||
AC_LIBREPLACE_SHLD_FLAGS
|
||||
m4_include(libtdb.m4)
|
||||
AC_PATH_PROGS([PYTHON_CONFIG], [python2.6-config python2.5-config python2.4-config python-config])
|
||||
|
||||
PYTHON_BUILD_TARGET="build-python"
|
||||
PYTHON_INSTALL_TARGET="install-python"
|
||||
AC_SUBST(PYTHON_BUILD_TARGET)
|
||||
AC_SUBST(PYTHON_INSTALL_TARGET)
|
||||
if test -z "$PYTHON_CONFIG"; then
|
||||
PYTHON_BUILD_TARGET=""
|
||||
PYTHON_INSTALL_TARGET=""
|
||||
fi
|
||||
AC_OUTPUT(Makefile tdb.pc)
|
||||
|
@ -1,5 +1,5 @@
|
||||
# This file was automatically generated by SWIG (http://www.swig.org).
|
||||
# Version 1.3.31
|
||||
# Version 1.3.33
|
||||
#
|
||||
# Don't modify this file, modify the SWIG interface instead.
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* ----------------------------------------------------------------------------
|
||||
* This file was automatically generated by SWIG (http://www.swig.org).
|
||||
* Version 1.3.31
|
||||
* Version 1.3.33
|
||||
*
|
||||
* This file is not intended to be easily readable and contains a number of
|
||||
* coding conventions designed to improve portability and efficiency. Do not make
|
||||
@ -17,14 +17,14 @@
|
||||
|
||||
/* template workaround for compilers that cannot correctly implement the C++ standard */
|
||||
#ifndef SWIGTEMPLATEDISAMBIGUATOR
|
||||
# if defined(__SUNPRO_CC)
|
||||
# if (__SUNPRO_CC <= 0x560)
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR template
|
||||
# else
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR
|
||||
# endif
|
||||
# if defined(__SUNPRO_CC) && (__SUNPRO_CC <= 0x560)
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR template
|
||||
# elif defined(__HP_aCC)
|
||||
/* Needed even with `aCC -AA' when `aCC -V' reports HP ANSI C++ B3910B A.03.55 */
|
||||
/* If we find a maximum version that requires this, the test would be __HP_aCC <= 35500 for A.03.55 */
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR template
|
||||
# else
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR
|
||||
# define SWIGTEMPLATEDISAMBIGUATOR
|
||||
# endif
|
||||
#endif
|
||||
|
||||
@ -107,6 +107,12 @@
|
||||
# define _CRT_SECURE_NO_DEPRECATE
|
||||
#endif
|
||||
|
||||
/* Deal with Microsoft's attempt at deprecating methods in the standard C++ library */
|
||||
#if !defined(SWIG_NO_SCL_SECURE_NO_DEPRECATE) && defined(_MSC_VER) && !defined(_SCL_SECURE_NO_DEPRECATE)
|
||||
# define _SCL_SECURE_NO_DEPRECATE
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/* Python.h has to appear first */
|
||||
#include <Python.h>
|
||||
@ -343,7 +349,7 @@ SWIG_TypeNameComp(const char *f1, const char *l1,
|
||||
while ((*f2 == ' ') && (f2 != l2)) ++f2;
|
||||
if (*f1 != *f2) return (*f1 > *f2) ? 1 : -1;
|
||||
}
|
||||
return (l1 - f1) - (l2 - f2);
|
||||
return (int)((l1 - f1) - (l2 - f2));
|
||||
}
|
||||
|
||||
/*
|
||||
@ -1090,14 +1096,14 @@ SWIG_Python_AppendOutput(PyObject* result, PyObject* obj) {
|
||||
/* Unpack the argument tuple */
|
||||
|
||||
SWIGINTERN int
|
||||
SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyObject **objs)
|
||||
SWIG_Python_UnpackTuple(PyObject *args, const char *name, Py_ssize_t min, Py_ssize_t max, PyObject **objs)
|
||||
{
|
||||
if (!args) {
|
||||
if (!min && !max) {
|
||||
return 1;
|
||||
} else {
|
||||
PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got none",
|
||||
name, (min == max ? "" : "at least "), min);
|
||||
name, (min == max ? "" : "at least "), (int)min);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
@ -1105,14 +1111,14 @@ SWIG_Python_UnpackTuple(PyObject *args, const char *name, int min, int max, PyOb
|
||||
PyErr_SetString(PyExc_SystemError, "UnpackTuple() argument list is not a tuple");
|
||||
return 0;
|
||||
} else {
|
||||
register int l = PyTuple_GET_SIZE(args);
|
||||
register Py_ssize_t l = PyTuple_GET_SIZE(args);
|
||||
if (l < min) {
|
||||
PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
|
||||
name, (min == max ? "" : "at least "), min, l);
|
||||
name, (min == max ? "" : "at least "), (int)min, (int)l);
|
||||
return 0;
|
||||
} else if (l > max) {
|
||||
PyErr_Format(PyExc_TypeError, "%s expected %s%d arguments, got %d",
|
||||
name, (min == max ? "" : "at most "), max, l);
|
||||
name, (min == max ? "" : "at most "), (int)max, (int)l);
|
||||
return 0;
|
||||
} else {
|
||||
register int i;
|
||||
@ -1591,9 +1597,11 @@ _PySwigObject_type(void) {
|
||||
(unaryfunc)0, /*nb_float*/
|
||||
(unaryfunc)PySwigObject_oct, /*nb_oct*/
|
||||
(unaryfunc)PySwigObject_hex, /*nb_hex*/
|
||||
#if PY_VERSION_HEX >= 0x02020000
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
|
||||
#elif PY_VERSION_HEX >= 0x02000000
|
||||
#if PY_VERSION_HEX >= 0x02050000 /* 2.5.0 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_index */
|
||||
#elif PY_VERSION_HEX >= 0x02020000 /* 2.2.0 */
|
||||
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_true_divide */
|
||||
#elif PY_VERSION_HEX >= 0x02000000 /* 2.0.0 */
|
||||
0,0,0,0,0,0,0,0,0,0,0 /* nb_inplace_add -> nb_inplace_or */
|
||||
#endif
|
||||
};
|
||||
@ -2492,7 +2500,7 @@ static swig_module_info swig_module = {swig_types, 11, 0, 0, 0, 0};
|
||||
|
||||
#define SWIG_name "_tdb"
|
||||
|
||||
#define SWIGVERSION 0x010331
|
||||
#define SWIGVERSION 0x010333
|
||||
#define SWIG_VERSION SWIGVERSION
|
||||
|
||||
|
||||
@ -2596,14 +2604,12 @@ SWIG_AsCharPtrAndSize(PyObject *obj, char** cptr, size_t* psize, int *alloc)
|
||||
|
||||
|
||||
#include <limits.h>
|
||||
#ifndef LLONG_MIN
|
||||
# define LLONG_MIN LONG_LONG_MIN
|
||||
#endif
|
||||
#ifndef LLONG_MAX
|
||||
# define LLONG_MAX LONG_LONG_MAX
|
||||
#endif
|
||||
#ifndef ULLONG_MAX
|
||||
# define ULLONG_MAX ULONG_LONG_MAX
|
||||
#if !defined(SWIG_NO_LLONG_MAX)
|
||||
# if !defined(LLONG_MAX) && defined(__GNUC__) && defined (__LONG_LONG_MAX__)
|
||||
# define LLONG_MAX __LONG_LONG_MAX__
|
||||
# define LLONG_MIN (-LLONG_MAX - 1LL)
|
||||
# define ULLONG_MAX (LLONG_MAX * 2ULL + 1ULL)
|
||||
# endif
|
||||
#endif
|
||||
|
||||
|
||||
@ -3631,15 +3637,15 @@ static PyMethodDef SwigMethods[] = {
|
||||
|
||||
static swig_type_info _swigt__p_TDB_DATA = {"_p_TDB_DATA", "TDB_DATA *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_char = {"_p_char", "char *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_int = {"_p_int", "int *|mode_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_long_long = {"_p_long_long", "long long *|intmax_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_short = {"_p_short", "short *|int_least16_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_signed_char = {"_p_signed_char", "signed char *|int_fast8_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_int = {"_p_int", "intptr_t *|int *|int_least32_t *|int_fast32_t *|int32_t *|int_fast16_t *|mode_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_long_long = {"_p_long_long", "int_least64_t *|int_fast64_t *|int64_t *|long long *|intmax_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_short = {"_p_short", "short *|int_least16_t *|int16_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_signed_char = {"_p_signed_char", "signed char *|int_least8_t *|int_fast8_t *|int8_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_tdb_context = {"_p_tdb_context", "struct tdb_context *|tdb *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|uint_fast8_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "unsigned int *|uintptr_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_unsigned_long_long = {"_p_unsigned_long_long", "unsigned long long *|uintmax_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|uint_least16_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_unsigned_char = {"_p_unsigned_char", "unsigned char *|uint_least8_t *|uint_fast8_t *|uint8_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_unsigned_int = {"_p_unsigned_int", "uintptr_t *|uint_least32_t *|uint_fast32_t *|uint32_t *|unsigned int *|uint_fast16_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_unsigned_long_long = {"_p_unsigned_long_long", "uint_least64_t *|uint_fast64_t *|uint64_t *|unsigned long long *|uintmax_t *", 0, 0, (void*)0, 0};
|
||||
static swig_type_info _swigt__p_unsigned_short = {"_p_unsigned_short", "unsigned short *|uint_least16_t *|uint16_t *", 0, 0, (void*)0, 0};
|
||||
|
||||
static swig_type_info *swig_type_initial[] = {
|
||||
&_swigt__p_TDB_DATA,
|
||||
|
Loading…
x
Reference in New Issue
Block a user