List:NDB Connectors« Previous MessageNext Message »
From:Monty Taylor Date:January 23 2008 12:24am
Subject:Rev 417: Removed distutils. Added automake for Python. Still need to do debug lib split and install. in http://bazaar.launchpad.net/~ndb-connectors/n...
View as plain text  
At http://bazaar.launchpad.net/~ndb-connectors/ndb-connectors/devel

------------------------------------------------------------
revno: 417
revision-id:mtaylor@stripped
parent: mtaylor@stripped
committer: Monty Taylor <mtaylor@stripped>
branch nick: devel
timestamp: Tue 2008-01-22 19:24:21 -0500
message:
  Removed distutils. Added automake for Python. Still need to do debug lib split and
install. 
removed:
  python/MANIFEST.in            
svn-v2:1@5fca6d9a-db22-0410-b55c-899b0a28da89-trunk-python%2fMANIFEST.in
  python/PKG-INFO               
svn-v2:1@5fca6d9a-db22-0410-b55c-899b0a28da89-trunk-python%2fPKG%2dINFO
  python/ez_setup.py            
svn-v2:1@5fca6d9a-db22-0410-b55c-899b0a28da89-trunk-python%2fez_setup.py
  python/setup.py                setup.py-20071027082659-u3uu8u83f54jtbn4-1
modified:
  python/Makefile.am             makefile.am-20070925115907-x2wrdte5kicyfrrw-1
=== removed file 'python/MANIFEST.in'
--- a/python/MANIFEST.in	2007-11-04 21:32:20 +0000
+++ b/python/MANIFEST.in	1970-01-01 00:00:00 +0000
@@ -1,2 +0,0 @@
-include *.py
-include *.cpp

=== modified file 'python/Makefile.am'
--- a/python/Makefile.am	2008-01-23 00:22:42 +0000
+++ b/python/Makefile.am	2008-01-23 00:24:21 +0000
@@ -8,6 +8,13 @@
 
 SWIG_OPTS=-O -I$(srcdir) -I$(top_srcdir) -I$(top_builddir) -I$(top_srcdir)/mgmpp
-I$(SWIG_DIR) @MYSQL_INCLUDES@ -outdir $(builddir)/mysql/cluster
 
+#lib_LTLIBRARIES = _ndbapi.la _mgmapi.la
+#nodist__ndbapi_la_SOURCES = ndbapi.cpp
+#_ndbapi_la_LDFLAGS = -fpic ${PYTHON_EXTRA_LDFLAGS} ${PYTHON_LDFLAGS}
${PYTHON_EXTRA_LIBS}
+#_ndbapi_la_CPPFLAGS = $(PTHREAD_CFLAGS) ${PYTHON_CPPFLAGS}
+#nodist__mgmapi_la_SOURCES = mgmapi.cpp 
+#_mgmapi_la_LDFLAGS = -fpic ${PYTHON_EXTRA_LDFLAGS} ${PYTHON_LDFLAGS}
${PYTHON_EXTRA_LIBS}
+#_mgmapi_la_CPPFLAGS = $(PTHREAD_CFLAGS) ${PYTHON_CPPFLAGS}
 
 ${SWIG_BIN}:
 	( cd $(top_builddir)/swig && $(MAKE) $(AM_MAKEFLAGS) )
@@ -27,21 +34,36 @@
 	@chmod -R u+w $(builddir)/mysql
 	$(SWIG) -c++ -python $(SWIG_OPTS) -o $@ $<
 
-$(builddir)/mysql/cluster/_ndbapi.so $(builddir)/mysql/cluster/_mgmapi.so
$(builddir)/mysql/cluster/_events.so $(builddir)/mysql/cluster/_listeners.so:
$(builddir)/ndbapi.cpp $(builddir)/mgmapi.cpp $(builddir)/events.cpp
$(builddir)/listeners.cpp
-	 CC="${CXX}" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
SRCDIR="${srcdir}" TOP_SRCDIR="${top_srcdir}" BUILDDIR="${builddir}"
TOP_BUILDDIR="${top_builddir}" ${PYTHON} $(srcdir)/setup.py build 
--build-base="${top_builddir}/python/build" --src-dir="${srcdir}"
+${builddir}/mysql/cluster/_ndbapi.so:  $(builddir)/ndbapi.o
+	${CXX} ${LDFLAGS} -shared -fPIC ${PYTHON_EXTRA_LDFLAGS} ${PYTHON_LDFLAGS}
${PYTHON_EXTRA_LIBS} ${builddir}/ndbapi.o -o ${builddir}/mysql/cluster/_ndbapi.so 
+
+${builddir}/ndbapi.o:  $(builddir)/ndbapi.cpp
+	${CXX} -DNDEBUG -g ${CFLAGS} -fPIC ${CPPFLAGS} ${PYTHON_CPPFLAGS} -c
${builddir}/ndbapi.cpp -o ${builddir}/ndbapi.o
+
+${builddir}/mysql/cluster/_mgmapi.so:  $(builddir)/mgmapi.o
+	${CXX} ${LDFLAGS} -shared -fPIC ${PYTHON_EXTRA_LDFLAGS} ${PYTHON_LDFLAGS}
${PYTHON_EXTRA_LIBS} ${builddir}/mgmapi.o -L../mgmpp/.libs  -lmgmpp -o
${builddir}/mysql/cluster/_mgmapi.so 
+
+${builddir}/mgmapi.o:  $(builddir)/mgmapi.cpp
+	${CXX} -DNDEBUG -g ${CFLAGS} -fPIC ${CPPFLAGS} ${PYTHON_CPPFLAGS} -c
${builddir}/mgmapi.cpp -o ${builddir}/mgmapi.o
+
+${builddir}/mysql/cluster/_listeners.so:  $(builddir)/listeners.o
+	${CXX} ${LDFLAGS} -shared -fPIC ${PYTHON_EXTRA_LDFLAGS} ${PYTHON_LDFLAGS}
${PYTHON_EXTRA_LIBS} ${builddir}/listeners.o -L../mgmpp/.libs  -lmgmpp -o
${builddir}/mysql/cluster/_listeners.so 
+
+${builddir}/listeners.o:  $(builddir)/listeners.cpp
+	${CXX} -DNDEBUG -g ${CFLAGS} -fPIC ${CPPFLAGS} ${PYTHON_CPPFLAGS} -c
${builddir}/listeners.cpp -o ${builddir}/listeners.o
+
+${builddir}/mysql/cluster/_events.so:  $(builddir)/events.o
+	${CXX} ${LDFLAGS} -shared -fPIC ${PYTHON_EXTRA_LDFLAGS} ${PYTHON_LDFLAGS}
${PYTHON_EXTRA_LIBS} ${builddir}/events.o -L../mgmpp/.libs  -lmgmpp -o
${builddir}/mysql/cluster/_events.so 
+
+${builddir}/events.o:  $(builddir)/events.cpp
+	${CXX} -DNDEBUG -g ${CFLAGS} -fPIC ${CPPFLAGS} ${PYTHON_CPPFLAGS} -c
${builddir}/events.cpp -o ${builddir}/events.o
 
 clean-local:
-	${PYTHON} ${srcdir}/setup.py clean
 	rm -rf ${builddir}/build
 	@test ${builddir}/mysql -ef ${srcdir}/mysql || rm -rf ${builddir}/mysql
-	@rm ez_setup.pyc
 
-install: $(builddir)/mysql/cluster/_ndbapi.so $(builddir)/mysql/cluster/_mgmapi.so 
+install-exec-local:
 	@mkdir -p ${pythondir}
-	PYTHONPATH="${PYTHONPATH}:${pythondir}" CC="${CXX}" CFLAGS="${CFLAGS}"
CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" ${PYTHON} ${srcdir}/setup.py install
--prefix=${DESTDIR}${prefix} --single-version-externally-managed --root=/
-
-develop: $(builddir)/mysql/cluster/_ndbapi.so $(builddir)/mysql/cluster/_mgmapi.so
-	CC="${CXX}" CFLAGS="${CFLAGS}" CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}" ${PYTHON}
setup.py develop --prefix=${DESTDIR}${prefix}
 
 
 dist-hook:

=== removed file 'python/PKG-INFO'
--- a/python/PKG-INFO	2006-11-22 20:17:43 +0000
+++ b/python/PKG-INFO	1970-01-01 00:00:00 +0000
@@ -1,16 +0,0 @@
-Metadata-Version: 1.0
-Name: python-ndbapi
-Version: 0.1
-Summary: python wrapper of the NDBAPI
-Home-page: UNKNOWN
-Author: Monty Taylor
-Author-email: mtaylor@stripped
-License: GPL
-Description: python wrapper of the NDBAPI
-Platform: linux
-Classifier: Development Status :: 2 - Pre-Alpha
-Classifier: License :: OSI Approved :: GPL
-Classifier: Operating System :: POSIX :: Linux
-Classifier: Programming Language :: C++
-Classifier: Programming Language :: Python
-Classifier: Topic :: Software Development :: Libraries :: Python Modules

=== removed file 'python/ez_setup.py'
--- a/python/ez_setup.py	2007-10-27 09:26:42 +0000
+++ b/python/ez_setup.py	1970-01-01 00:00:00 +0000
@@ -1,234 +0,0 @@
-#!python
-"""Bootstrap setuptools installation
-
-If you want to use setuptools in your package's setup.py, just include this
-file in the same directory with it, and add this to the top of your setup.py::
-
-    from ez_setup import use_setuptools
-    use_setuptools()
-
-If you want to require a specific version of setuptools, set a download
-mirror, or use an alternate download directory, you can do so by supplying
-the appropriate options to ``use_setuptools()``.
-
-This file can also be run as a script to install or upgrade setuptools.
-"""
-import sys
-DEFAULT_VERSION = "0.6c1"
-DEFAULT_URL     = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]
-
-md5_data = {
-    'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca',
-    'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb',
-    'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b',
-    'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a',
-    'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618',
-    'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac',
-    'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5',
-    'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4',
-    'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c',
-    'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b',
-    'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27',
-    'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277',
-    'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa',
-    'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e',
-    'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e',
-    'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f',
-    'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2',
-    'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc',
-    'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167',
-    'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64',
-    'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d',
-    'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20',
-    'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab',
-    'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53',
-    'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2',
-    'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e',
-    'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372',
-}
-
-import sys, os
-
-def _validate_md5(egg_name, data):
-    if egg_name in md5_data:
-        from md5 import md5
-        digest = md5(data).hexdigest()
-        if digest != md5_data[egg_name]:
-            print >>sys.stderr, (
-                "md5 validation of %s failed!  (Possible download problem?)"
-                % egg_name
-            )
-            sys.exit(2)
-    return data
-
-
-def use_setuptools(
-    version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
-    download_delay=15
-):
-    """Automatically find/download setuptools and make it available on sys.path
-
-    `version` should be a valid setuptools version number that is available
-    as an egg for download under the `download_base` URL (which should end with
-    a '/').  `to_dir` is the directory where setuptools will be downloaded, if
-    it is not already available.  If `download_delay` is specified, it should
-    be the number of seconds that will be paused before initiating a download,
-    should one be required.  If an older version of setuptools is installed,
-    this routine will print a message to ``sys.stderr`` and raise SystemExit in
-    an attempt to abort the calling script.
-    """
-    try:
-        import setuptools
-        if setuptools.__version__ == '0.0.1':
-            print >>sys.stderr, (
-            "You have an obsolete version of setuptools installed.  Please\n"
-            "remove it from your system entirely before rerunning this script."
-            )
-            sys.exit(2)
-    except ImportError:
-        egg = download_setuptools(version, download_base, to_dir, download_delay)
-        sys.path.insert(0, egg)
-        import setuptools; setuptools.bootstrap_install_from = egg
-
-    import pkg_resources
-    try:
-        pkg_resources.require("setuptools>="+version)
-
-    except pkg_resources.VersionConflict, e:
-        # XXX could we install in a subprocess here?
-        print >>sys.stderr, (
-            "The required version of setuptools (>=%s) is not available, and\n"
-            "can't be installed while this script is running. Please install\n"
-            " a more recent version first.\n\n(Currently using %r)"
-        ) % (version, e.args[0])
-        sys.exit(2)
-
-def download_setuptools(
-    version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
-    delay = 15
-):
-    """Download setuptools from a specified location and return its filename
-
-    `version` should be a valid setuptools version number that is available
-    as an egg for download under the `download_base` URL (which should end
-    with a '/'). `to_dir` is the directory where the egg will be downloaded.
-    `delay` is the number of seconds to pause before an actual download attempt.
-    """
-    import urllib2, shutil
-    egg_name = "setuptools-%s-py%s.egg" % (version,sys.version[:3])
-    url = download_base + egg_name
-    saveto = os.path.join(to_dir, egg_name)
-    src = dst = None
-    if not os.path.exists(saveto):  # Avoid repeated downloads
-        try:
-            from distutils import log
-            if delay:
-                log.warn("""
----------------------------------------------------------------------------
-This script requires setuptools version %s to run (even to display
-help).  I will attempt to download it for you (from
-%s), but
-you may need to enable firewall access for this script first.
-I will start the download in %d seconds.
-
-(Note: if this machine does not have network access, please obtain the file
-
-   %s
-
-and place it in this directory before rerunning this script.)
----------------------------------------------------------------------------""",
-                    version, download_base, delay, url
-                ); from time import sleep; sleep(delay)
-            log.warn("Downloading %s", url)
-            src = urllib2.urlopen(url)
-            # Read/write all in one block, so we don't create a corrupt file
-            # if the download is interrupted.
-            data = _validate_md5(egg_name, src.read())
-            dst = open(saveto,"wb"); dst.write(data)
-        finally:
-            if src: src.close()
-            if dst: dst.close()
-    return os.path.realpath(saveto)
-
-def main(argv, version=DEFAULT_VERSION):
-    """Install or upgrade setuptools and EasyInstall"""
-
-    try:
-        import setuptools
-    except ImportError:
-        egg = None
-        try:
-            egg = download_setuptools(version, delay=0)
-            sys.path.insert(0,egg)
-            from setuptools.command.easy_install import main
-            return main(list(argv)+[egg])   # we're done here
-        finally:
-            if egg and os.path.exists(egg):
-                os.unlink(egg)
-    else:
-        if setuptools.__version__ == '0.0.1':
-            # tell the user to uninstall obsolete version
-            use_setuptools(version)
-
-    req = "setuptools>="+version
-    import pkg_resources
-    try:
-        pkg_resources.require(req)
-    except pkg_resources.VersionConflict:
-        try:
-            from setuptools.command.easy_install import main
-        except ImportError:
-            from easy_install import main
-        main(list(argv)+[download_setuptools(delay=0)])
-        sys.exit(0) # try to force an exit
-    else:
-        if argv:
-            from setuptools.command.easy_install import main
-            main(argv)
-        else:
-            print "Setuptools version",version,"or greater has been installed."
-            print '(Run "ez_setup.py -U setuptools" to reinstall or upgrade.)'
-
-
-
-def update_md5(filenames):
-    """Update our built-in md5 registry"""
-
-    import re
-    from md5 import md5
-
-    for name in filenames:
-        base = os.path.basename(name)
-        f = open(name,'rb')
-        md5_data[base] = md5(f.read()).hexdigest()
-        f.close()
-
-    data = ["    %r: %r,\n" % it for it in md5_data.items()]
-    data.sort()
-    repl = "".join(data)
-
-    import inspect
-    srcfile = inspect.getsourcefile(sys.modules[__name__])
-    f = open(srcfile, 'rb'); src = f.read(); f.close()
-
-    match = re.search("\nmd5_data = {\n([^}]+)}", src)
-    if not match:
-        print >>sys.stderr, "Internal error!"
-        sys.exit(2)
-
-    src = src[:match.start(1)] + repl + src[match.end(1):]
-    f = open(srcfile,'w')
-    f.write(src)
-    f.close()
-
-
-if __name__=='__main__':
-    if len(sys.argv)>2 and sys.argv[1]=='--md5update':
-        update_md5(sys.argv[2:])
-    else:
-        main(sys.argv[1:])
-
-
-
-
-

=== removed file 'python/setup.py'
--- a/python/setup.py	2008-01-23 00:22:42 +0000
+++ b/python/setup.py	1970-01-01 00:00:00 +0000
@@ -1,220 +0,0 @@
-#!/usr/bin/env python
-##  ndb-connectors: Wrappers for the NDBAPI
-##    Copyright (C) 2006 MySQL, Inc.
-##    
-##    This program is free software; you can redistribute it and/or modify
-##    it under the terms of the GNU General Public License as published by
-##    the Free Software Foundation; either version 2 of the License, or 
-##    (at your option) any later version.
-##    
-##    This program is distributed in the hope that it will be useful,
-##    but WITHOUT ANY WARRANTY; without even the implied warranty of
-##    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-##    GNU General Public License for more details.
-##
-##    You should have received a copy of the GNU General Public License
-##    along with this program; if not, write to the Free Software
-##    Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
-
-# bootstrap setuptools if necessary
-from ez_setup import use_setuptools
-use_setuptools()
-
-from distutils.command.clean import clean
-from distutils.command.build import build
-from distutils.command.build_ext import build_ext
-from distutils.command.build_py import  build_py
-from setuptools import setup,Extension
-
-from types import ListType, TupleType
-
-import os.path, os, string
-import sys
-
-# distutils doesn't support a src_dir option for out-of-tree builds, 
-# so we're adding one here. 
-
-class ndb_build(build):
-
-  user_options = build.user_options
-  user_options.append( ('src-dir=', None,
-                        "directory holding the source [default: %s]" %
-                        os.curdir ) )
-
-  def initialize_options(self):
-    self.src_dir=None
-    return build.initialize_options(self)
-
-
-class ndb_build_py(build_py):
-
-  user_options = build_py.user_options
-  user_options.append( ('src-dir=', None,
-                        "directory holding the source [default: %s]" %
-                        os.curdir ) )
-
-  def initialize_options(self):
-    self.src_dir=None
-    return build_py.initialize_options(self)
-
-  def finalize_options(self):
-      self.set_undefined_options('build', ('src_dir', 'src_dir'))
-      if self.src_dir is None:
-          self.src_dir = os.curdir
-      return build_py.finalize_options(self)
-
-  # As opposed to all of the other methods, there's no good way to wrap this one
-  def get_package_dir (self, package):
-      """Return the directory, relative to the top of the source
-      distribution, where package 'package' should be found
-      (at least according to the 'package_dir' option, if any)."""
-
-      path = string.split(package, '.')
-
-      if not self.package_dir:
-          if path:
-              return os.path.join(self.src_dir,apply(os.path.join, path))
-          else:
-              return self.src_dir
-      else:
-          tail = []
-          while path:
-              try:
-                  pdir = self.package_dir[string.join(path, '.')]
-              except KeyError:
-                  tail.insert(0, path[-1])
-                  del path[-1]
-              else:
-                  tail.insert(0, pdir)
-                  return os.path.join(self.src_dir,apply(os.path.join, tail))
-          else:
-              # Oops, got all the way through 'path' without finding a
-              # match in package_dir.  If package_dir defines a directory
-              # for the root (nameless) package, then fallback on it;
-              # otherwise, we might as well have not consulted
-              # package_dir at all, as we just use the directory implied
-              # by 'tail' (which should be the same as the original value
-              # of 'path' at this point).
-              pdir = self.package_dir.get('')
-              if pdir is not None:
-                  tail.insert(0, pdir)
-
-              if tail:
-                  return os.path.join(self.src_dir,apply(os.path.join, tail))
-              else:
-                  return self.src_dir
-
-  def check_package (self, package, package_dir):
-
-      if package_dir != "" and not os.path.exists(package_dir):
-          os.makedirs(package_dir)
-      return build_py.check_package(self, package, package_dir)
-
-
-class ndb_build_ext(build_ext):
-
-  user_options = build_ext.user_options
-  user_options.append( ('src-dir=', None,
-                        "directory holding the source [default: %s]" %
-                        os.curdir ) )
-
-  def initialize_options(self):
-    self.src_dir=None
-    return build_ext.initialize_options(self)
-
-  def finalize_options(self):
-      self.set_undefined_options('build', ('src_dir', 'src_dir'))
-      if self.src_dir is None:
-          self.src_dir = os.curdir
-      return build_ext.finalize_options(self)
-
-  def build_extension(self, ext):
-
-      sources = ext.sources
-      if sources is None or type(sources) not in (ListType, TupleType):
-          raise DistutilsSetupError, \
-              ("in 'ext_modules' option (extension '%s'), " +
-               "'sources' must be present and must be " +
-               "a list of source filenames") % ext.name
-
-      new_sources = []
-      for source in sources: 
-          new_sources.append(os.path.join(self.src_dir,source))
-      ext.sources = new_sources
-      return build_ext.build_extension(self, ext)
-
-srcdir=os.environ.get("SRCDIR",".")
-top_srcdir=os.environ.get("TOP_SRCDIR","..")
-builddir=os.environ.get("BUILDDIR",".")
-top_builddir=os.environ.get("TOP_BUILDDIR","..")
-
-description = """Python wrapper of the NDBAPI"""
-
-classifiers="""\
-Development Status :: 2 - Pre-Alpha
-License :: OSI Approved :: GPL
-Operating System :: POSIX :: Linux
-Programming Language :: C++
-Programming Language :: Python
-Topic :: Software Development :: Libraries :: Python Modules
-"""
-
-version = "0.5.0"
-
-setup(name="python-ndbapi",
-      version=version,
-      description=description, 
-      long_description=description,
-      author="Monty Taylor",
-      author_email="mtaylor@stripped",
-      url="http://launchpad.net/ndb-connectors",
-      platforms="linux",
-      license="GPL",
-      classifiers=filter(None, classifiers.splitlines()),
-      cmdclass = {
-        'build': ndb_build,
-        'build_ext': ndb_build_ext,
-        'build_py': ndb_build_py,
-        },
-      ext_modules=[
-                    Extension("mysql.cluster._mgmapi",
-                              sources=["mgmapi.cpp"],
-                              libraries=["mgmpp"],
-                              library_dirs=["%s/mgmpp/.libs" % top_builddir],
-                              depends=["%s/interface/mgmapi/%s" % (top_srcdir,f) for f in
os.listdir("%s/interface/mgmapi" % top_srcdir)],
-                              language="c++",
-                             
-                              ),
-                    Extension("mysql.cluster._ndbapi",
-                              sources=["ndbapi.cpp"],
-                              library_dirs=["%s/mgmpp/.libs" % top_builddir],
-                              depends=["%s/interface/ndbapi/%s" % (top_srcdir,f) for f in
os.listdir("%s/interface/ndbapi" % top_srcdir)],
-                              language="c++",
-                             
-                              ),
-                    Extension("mysql.cluster._events",
-                              sources=["events.cpp"],
-                              libraries=["mgmpp"],
-                              library_dirs=["%s/mgmpp/.libs" % top_builddir],
-                              depends=["%s/interface/mgmapi/%s" % (top_srcdir,f) for f in
os.listdir("%s/interface/mgmapi" % top_srcdir)],
-                              language="c++",
-                             
-                              ),
-                    Extension("mysql.cluster._listeners",
-                              sources=["listeners.cpp"],
-                              libraries=["mgmpp"],
-                              library_dirs=["%s/mgmpp/.libs" % top_builddir],
-                              depends=["%s/interface/mgmapi/%s" % (top_srcdir,f) for f in
os.listdir("%s/interface/mgmapi" % top_srcdir)],
-                              language="c++",
-                             
-                              ),
-
-                    ],
-      test_suite = "mysql.cluster.tests.NdbTest.test_all",
-      entry_points = {
-        'sqlalchemy.databases': [ 'ndbapi = mysql.cluster.alchemy:dialect' ]
-      },
-     
py_modules=["mysql.cluster.ndbapi","mysql.cluster.mgmapi","mysql.cluster.events","mysql.cluster.alchemy"]
-      
-     )
-

Thread
Rev 417: Removed distutils. Added automake for Python. Still need to do debug lib split and install. in http://bazaar.launchpad.net/~ndb-connectors/n...Monty Taylor23 Jan