예제 #1
0
    def build_launchers(self, debug=False):
        if not os.path.exists(self.obj_dir):
            os.makedirs(self.obj_dir)
        dflags = (['/Zi'] if debug else [])
        dlflags = (['/DEBUG'] if debug else ['/INCREMENTAL:NO'])
        base = self.j(self.src_root, 'setup', 'installer', 'windows')
        sources = [self.j(base, x) for x in ['util.c', 'MemoryModule.c']]
        headers = [self.j(base, x) for x in ['util.h', 'MemoryModule.h']]
        objects = [self.j(self.obj_dir, self.b(x)+'.obj') for x in sources]
        cflags  = '/c /EHsc /MD /W3 /Ox /nologo /D_UNICODE'.split()
        cflags += ['/DPYDLL="python%s.dll"'%self.py_ver, '/IC:/Python%s/include'%self.py_ver]
        for src, obj in zip(sources, objects):
            if not self.newer(obj, headers+[src]):
                continue
            cmd = [msvc.cc] + cflags + dflags + ['/Fo'+obj, '/Tc'+src]
            self.run_builder(cmd, show_output=True)

        dll = self.j(self.obj_dir, 'calibre-launcher.dll')
        ver = '.'.join(__version__.split('.')[:2])
        if self.newer(dll, objects):
            cmd = [msvc.linker, '/DLL', '/VERSION:'+ver, '/OUT:'+dll,
                   '/nologo', '/MACHINE:'+machine] + dlflags + objects + \
                [self.embed_resources(dll),
                '/LIBPATH:C:/Python%s/libs'%self.py_ver,
                'python%s.lib'%self.py_ver,
                '/delayload:python%s.dll'%self.py_ver]
            self.info('Linking calibre-launcher.dll')
            self.run_builder(cmd, show_output=True)

        src = self.j(base, 'main.c')
        shutil.copy2(dll, self.base)
        for typ in ('console', 'gui', ):
            self.info('Processing %s launchers'%typ)
            subsys = 'WINDOWS' if typ == 'gui' else 'CONSOLE'
            for mod, bname, func in zip(modules[typ], basenames[typ],
                    functions[typ]):
                xflags = list(cflags)
                if typ == 'gui':
                    xflags += ['/DGUI_APP=']

                xflags += ['/DMODULE="%s"'%mod, '/DBASENAME="%s"'%bname,
                    '/DFUNCTION="%s"'%func]
                dest = self.j(self.obj_dir, bname+'.obj')
                if self.newer(dest, [src]+headers):
                    self.info('Compiling', bname)
                    cmd = [msvc.cc] + xflags + dflags + ['/Tc'+src, '/Fo'+dest]
                    self.run_builder(cmd)
                exe = self.j(self.base, bname+'.exe')
                lib = dll.replace('.dll', '.lib')
                if self.newer(exe, [dest, lib, self.rc_template, __file__]):
                    self.info('Linking', bname)
                    cmd = [msvc.linker] + ['/MACHINE:'+machine,
                            '/LIBPATH:'+self.obj_dir, '/SUBSYSTEM:'+subsys,
                            '/LIBPATH:C:/Python%s/libs'%self.py_ver, '/RELEASE',
                            '/OUT:'+exe] + dlflags + [self.embed_resources(exe),
                            dest, lib]
                    self.run_builder(cmd)
예제 #2
0
    def build_launchers(self, debug=False):
        if not os.path.exists(self.obj_dir):
            os.makedirs(self.obj_dir)
        dflags = ["/Zi"] if debug else []
        dlflags = ["/DEBUG"] if debug else ["/INCREMENTAL:NO"]
        base = self.j(self.src_root, "setup", "installer", "windows")
        sources = [self.j(base, x) for x in ["util.c", "MemoryModule.c"]]
        headers = [self.j(base, x) for x in ["util.h", "MemoryModule.h"]]
        objects = [self.j(self.obj_dir, self.b(x) + ".obj") for x in sources]
        cflags = "/c /EHsc /MD /W3 /Ox /nologo /D_UNICODE".split()
        cflags += ['/DPYDLL="python%s.dll"' % self.py_ver, "/IC:/Python%s/include" % self.py_ver]
        for src, obj in zip(sources, objects):
            if not self.newer(obj, headers + [src]):
                continue
            cmd = [msvc.cc] + cflags + dflags + ["/Fo" + obj, "/Tc" + src]
            self.run_builder(cmd, show_output=True)

        dll = self.j(self.obj_dir, "calibre-launcher.dll")
        ver = ".".join(__version__.split(".")[:2])
        if self.newer(dll, objects):
            cmd = (
                [msvc.linker, "/DLL", "/VERSION:" + ver, "/OUT:" + dll, "/nologo", "/MACHINE:" + machine]
                + dlflags
                + objects
                + [
                    self.embed_resources(dll),
                    "/LIBPATH:C:/Python%s/libs" % self.py_ver,
                    "python%s.lib" % self.py_ver,
                    "/delayload:python%s.dll" % self.py_ver,
                ]
            )
            self.info("Linking calibre-launcher.dll")
            self.run_builder(cmd, show_output=True)

        src = self.j(base, "main.c")
        shutil.copy2(dll, self.base)
        for typ in ("console", "gui"):
            self.info("Processing %s launchers" % typ)
            subsys = "WINDOWS" if typ == "gui" else "CONSOLE"
            for mod, bname, func in zip(modules[typ], basenames[typ], functions[typ]):
                xflags = list(cflags)
                if typ == "gui":
                    xflags += ["/DGUI_APP="]

                xflags += ['/DMODULE="%s"' % mod, '/DBASENAME="%s"' % bname, '/DFUNCTION="%s"' % func]
                dest = self.j(self.obj_dir, bname + ".obj")
                if self.newer(dest, [src] + headers):
                    self.info("Compiling", bname)
                    cmd = [msvc.cc] + xflags + dflags + ["/Tc" + src, "/Fo" + dest]
                    self.run_builder(cmd)
                exe = self.j(self.base, bname + ".exe")
                lib = dll.replace(".dll", ".lib")
                if self.newer(exe, [dest, lib, self.rc_template, __file__]):
                    self.info("Linking", bname)
                    cmd = (
                        [msvc.linker]
                        + [
                            "/MACHINE:" + machine,
                            "/LIBPATH:" + self.obj_dir,
                            "/SUBSYSTEM:" + subsys,
                            "/LIBPATH:C:/Python%s/libs" % self.py_ver,
                            "/RELEASE",
                            "/OUT:" + exe,
                        ]
                        + dlflags
                        + [self.embed_resources(exe), dest, lib]
                    )
                    self.run_builder(cmd)
예제 #3
0
# The encoding of source files.
#source_encoding = 'utf-8-sig'

# The master toctree document.
master_doc = 'index'

# General information about the project.
project = u'ObjectRocket Python Client'
copyright = u'2014, ObjectRocket Engineering'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '.'.join(__version__.split('.')[:2])

# The full version, including alpha/beta/rc tags.
release = __version__

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None

# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
# Else, today_fmt is used as the format for a strftime call.
#today_fmt = '%B %d, %Y'

# List of patterns, relative to source directory, that match files and
예제 #4
0
    def build_launchers(self, debug=False):
        if not os.path.exists(self.obj_dir):
            os.makedirs(self.obj_dir)
        dflags = (['/Zi'] if debug else [])
        dlflags = (['/DEBUG'] if debug else ['/INCREMENTAL:NO'])
        base = self.j(self.src_root, 'setup', 'installer', 'windows')
        sources = [self.j(base, x) for x in ['util.c', 'MemoryModule.c']]
        headers = [self.j(base, x) for x in ['util.h', 'MemoryModule.h']]
        objects = [self.j(self.obj_dir, self.b(x) + '.obj') for x in sources]
        cflags = '/c /EHsc /MD /W3 /Ox /nologo /D_UNICODE'.split()
        cflags += [
            '/DPYDLL="python%s.dll"' % self.py_ver,
            '/IC:/Python%s/include' % self.py_ver
        ]
        for src, obj in zip(sources, objects):
            if not self.newer(obj, headers + [src]):
                continue
            cmd = [msvc.cc] + cflags + dflags + ['/Fo' + obj, '/Tc' + src]
            self.run_builder(cmd, show_output=True)

        dll = self.j(self.obj_dir, 'calibre-launcher.dll')
        ver = '.'.join(__version__.split('.')[:2])
        if self.newer(dll, objects):
            cmd = [msvc.linker, '/DLL', '/VERSION:'+ver, '/OUT:'+dll,
                   '/nologo', '/MACHINE:'+machine] + dlflags + objects + \
                [self.embed_resources(dll),
                '/LIBPATH:C:/Python%s/libs'%self.py_ver,
                'python%s.lib'%self.py_ver,
                '/delayload:python%s.dll'%self.py_ver]
            self.info('Linking calibre-launcher.dll')
            self.run_builder(cmd, show_output=True)

        src = self.j(base, 'main.c')
        shutil.copy2(dll, self.base)
        for typ in (
                'console',
                'gui',
        ):
            self.info('Processing %s launchers' % typ)
            subsys = 'WINDOWS' if typ == 'gui' else 'CONSOLE'
            for mod, bname, func in zip(modules[typ], basenames[typ],
                                        functions[typ]):
                xflags = list(cflags)
                if typ == 'gui':
                    xflags += ['/DGUI_APP=']

                xflags += [
                    '/DMODULE="%s"' % mod,
                    '/DBASENAME="%s"' % bname,
                    '/DFUNCTION="%s"' % func
                ]
                dest = self.j(self.obj_dir, bname + '.obj')
                if self.newer(dest, [src] + headers):
                    self.info('Compiling', bname)
                    cmd = [msvc.cc
                           ] + xflags + dflags + ['/Tc' + src, '/Fo' + dest]
                    self.run_builder(cmd)
                exe = self.j(self.base, bname + '.exe')
                lib = dll.replace('.dll', '.lib')
                if self.newer(exe, [dest, lib, self.rc_template, __file__]):
                    self.info('Linking', bname)
                    cmd = [msvc.linker] + [
                        '/MACHINE:' + machine, '/LIBPATH:' + self.obj_dir,
                        '/SUBSYSTEM:' + subsys,
                        '/LIBPATH:C:/Python%s/libs' % self.py_ver, '/RELEASE',
                        '/OUT:' + exe
                    ] + dlflags + [self.embed_resources(exe), dest, lib]
                    self.run_builder(cmd)
from setuptools import find_packages
from setup import __version__, __description__, __license__, __author__, __email__
from promebuilder import gen_metadata, setup
from promebuilder.utils import VERSIONFILE

with open(VERSIONFILE, 'w') as verfile:
    vv = __version__.split('.')
    while len(vv) < 3:
        vv.append('0')
    verfile.write('.'.join(vv))

METADATA = gen_metadata(
    name='django-mongoengine',
    description=__description__,
    url='https://github.com/prometeia/django-mongoengine',
    email="*****@*****.**",
    keywords="mongodb mongoengine django odm",
    package_data={'django-mongoengine': ['*.*']}
)
METADATA.update(dict(
    license=__license__,
    author=__author__,
    author_email=__email__,
    packages=find_packages(exclude=('doc', 'docs')),
    include_package_data=True,
    test_suite='nose.collector',
))

# Non importabile senza django configurato
if METADATA.get('conda_import_tests'):
    METADATA['conda_import_tests'] = False