File: setup.py

package info (click to toggle)
pyvorbis 1.4-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 304 kB
  • ctags: 268
  • sloc: ansic: 2,424; python: 530; sh: 335; makefile: 63
file content (80 lines) | stat: -rwxr-xr-x 2,376 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
#!/usr/bin/env python

"""Setup script for the Vorbis module distribution."""

import os, re, sys, string
from distutils.core import setup
from distutils.extension import Extension

VERSION_MAJOR = 1
VERSION_MINOR = 4
pyvorbis_version = str(VERSION_MAJOR) + '.' + str(VERSION_MINOR)

try:
    import ogg._ogg
except ImportError:
    print '''You must have the Ogg Python bindings
installed in order to build and install
these bindings. Import of ogg._ogg failed.'''
    sys.exit(1)

def get_setup():
    data = {}
    r = re.compile(r'(\S+)\s*?=\s*(.+)')
    
    if not os.path.isfile('Setup'):
        print "No 'Setup' file. Perhaps you need to run the configure script."
        sys.exit(1)

    f = open('Setup', 'r')
    
    for line in f.readlines():
        m = r.search(line)
        if not m:
            print "Error in setup file:", line
            sys.exit(1)
        key = m.group(1)
        val = m.group(2)
        data[key] = val
        
    return data

data = get_setup()

vorbis_include_dir = data['vorbis_include_dir']
vorbis_lib_dir = data['vorbis_lib_dir']
vorbis_libs = string.split(data['vorbis_libs'])

ogg_include_dir = data['ogg_include_dir']
ogg_lib_dir = data['ogg_lib_dir']

vorbismodule = Extension(name='vorbis',
                         sources=['src/vorbismodule.c',
                                  'src/pyvorbisfile.c',
                                  'src/pyvorbiscodec.c',
                                  'src/pyvorbisinfo.c',
                                  'src/vcedit.c',
                                  'src/general.c'],
                         define_macros = [('VERSION', '"%s"' %
                                           pyvorbis_version)],
                         include_dirs=[vorbis_include_dir,
                                       ogg_include_dir],
                         library_dirs=[vorbis_lib_dir,
                                       ogg_lib_dir],
                         libraries=vorbis_libs)

setup ( name = "pyvorbis",
        version = pyvorbis_version,
        description = "A wrapper for the Vorbis libraries.",
        author = "Andrew Chatham",
        author_email = "andrew.chatham@duke.edu",
        url = "http://dulug.duke.edu/~andrew/pyogg",

        packages = ['ogg'],
        package_dir = {'ogg' : 'src'},
        ext_package = 'ogg',
        ext_modules = [vorbismodule])