XRCed 用 setup.py

なんか codec 足りない気がする。

import sys
from os.path import *
from distutils.core import setup
import py2exe


def manifest(name):
    return manifest.template % (name, )


manifest.template = """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
    type="win32"
    name="Controls"
    version="0.64.1.0"
    processorArchitecture="x86"
    />
<description>%s</description>
<dependency>
    <dependentAssembly>
        <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="X86"
            publicKeyToken="6595b64144ccf1df"
            language="*"
            />
    </dependentAssembly>
</dependency>
</assembly>"""


if __name__ == '__main__':

    import wx
    xrced_path = join(wx.__path__[0], 'tools', 'XRCed')
    sys.path.insert(0, xrced_path)

    py2exe_options = dict(
        compressed = 1,
        optimize = 2,
        bundle_files = 2,
        #packages = [],
        )

    setup(
        data_files = [
            ('', [
                join(xrced_path, 'CHANGES.txt'),
                join(xrced_path, 'license.txt'),
                join(xrced_path, 'README.txt'),
                join(xrced_path, 'TODO.txt'),
                join(xrced_path, 'xrced.xrc'),
                ]),
            ],
        options = dict(py2exe = py2exe_options, ),
        zipfile = None,
        windows = [
            dict(
                script = join(xrced_path, 'xrced.py'),
                dest_base = 'XRCed',
                icon_resources = [
                    (1, join(xrced_path, 'xrced.ico'), ),
                    ],
                other_resources = [
                    (24, 1, manifest('XRCed'), ),
                    ],
                ),
            ],
        )