diff options
author | Armin Rigo <arigo@tunes.org> | 2019-01-31 12:44:18 +0100 |
---|---|---|
committer | Armin Rigo <arigo@tunes.org> | 2019-01-31 12:44:18 +0100 |
commit | e5e4c8b8938e6651c93db8fd776ee08d93da732e (patch) | |
tree | 066e8467fff35ffaf86a7771c4fa904684bea74c /cffi/api.py | |
parent | acfd2aef58cd40f4ee06bcc551b8549bb16974e8 (diff) | |
download | cffi-e5e4c8b8938e6651c93db8fd776ee08d93da732e.tar.gz |
Change the API and document it.
Diffstat (limited to 'cffi/api.py')
-rw-r--r-- | cffi/api.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/cffi/api.py b/cffi/api.py index 48b6e8a..722c2f1 100644 --- a/cffi/api.py +++ b/cffi/api.py @@ -640,15 +640,19 @@ class FFI(object): if os.sep in module_name or (os.altsep and os.altsep in module_name): raise ValueError("'module_name' must not contain '/': use a dotted " "name to make a 'package.module' location") - if "pkgconfig" in kwds: - from . import pkgconfig - libs = kwds.pop("pkgconfig") - if not isinstance(libs, (list, tuple)): - libs = [libs] - pkgconfig.merge_flags(kwds, pkgconfig.flags_from_pkgconfig(libs)) self._assigned_source = (str(module_name), source, source_extension, kwds) + def set_source_pkgconfig(self, module_name, pkgconfig_libs, source, + source_extension='.c', **kwds): + from . import pkgconfig + if not isinstance(pkgconfig_libs, list): + raise TypeError("the pkgconfig_libs argument must be a list " + "of package names") + kwds2 = pkgconfig.flags_from_pkgconfig(pkgconfig_libs) + pkgconfig.merge_flags(kwds, kwds2) + self.set_source(module_name, source, source_extension, **kwds) + def distutils_extension(self, tmpdir='build', verbose=True): from distutils.dir_util import mkpath from .recompiler import recompile |