Get link arguments from pkg-config. Add more files.
This commit is contained in:
28
setup.py
28
setup.py
@@ -6,6 +6,7 @@ distutils setup (setup.py) for pycdio
|
||||
|
||||
from setuptools import setup
|
||||
from distutils.core import Extension
|
||||
from subprocess import *
|
||||
|
||||
version = '0.14vc'
|
||||
|
||||
@@ -13,11 +14,34 @@ import os
|
||||
README = os.path.join(os.path.dirname(__file__), 'README.txt')
|
||||
long_description = open(README).read() + '\n\n'
|
||||
|
||||
# Find link args for libcdio and libiso9660 using pkg-config and add
|
||||
# collect them into a list for setup's ext_modules.
|
||||
libraries=[]
|
||||
link_args=[]
|
||||
for i, lib_name in enumerate(('libcdio', 'libiso9660',)):
|
||||
p = Popen(['pkg-config', '--libs', lib_name], stdout=PIPE)
|
||||
if p.returncode is None:
|
||||
link_args.append([p.communicate()[0]])
|
||||
libraries.append(None) # Above includes libcdio
|
||||
else:
|
||||
print ("Didn't the normal return code running pkg-config," +
|
||||
"got:\n\t%s" % p.returncode)
|
||||
short_libname = lib_name[3:] # Strip off "lib" from name
|
||||
print "Will try to add %s anyway." % short_libname
|
||||
link_args.append(None)
|
||||
libraries.append(short_libname) # Strip off "lib" frame name
|
||||
else:
|
||||
libcdio_link_args = None
|
||||
libcdio_library = ['cdio']
|
||||
|
||||
# FIXME: incorporate into above loop. E.g. using modules=[] var.
|
||||
pycdio_module = Extension('_pycdio',
|
||||
libraries=['cdio'],
|
||||
libraries=libraries[0],
|
||||
extra_link_args=link_args[0],
|
||||
sources=['swig/pycdio.i'])
|
||||
pyiso9660_module = Extension('_pyiso9660',
|
||||
libraries=['iso9660'],
|
||||
libraries=libraries[1],
|
||||
extra_link_args=link_args[1],
|
||||
sources=['swig/pyiso9660.i'])
|
||||
setup (name = 'pycdio',
|
||||
author = 'Rocky Bernstein',
|
||||
|
||||
Reference in New Issue
Block a user