summaryrefslogtreecommitdiff
path: root/cffi
diff options
context:
space:
mode:
authorArmin Rigo <arigo@tunes.org>2019-01-31 12:44:18 +0100
committerArmin Rigo <arigo@tunes.org>2019-01-31 12:44:18 +0100
commite5e4c8b8938e6651c93db8fd776ee08d93da732e (patch)
tree066e8467fff35ffaf86a7771c4fa904684bea74c /cffi
parentacfd2aef58cd40f4ee06bcc551b8549bb16974e8 (diff)
downloadcffi-e5e4c8b8938e6651c93db8fd776ee08d93da732e.tar.gz
Change the API and document it.
Diffstat (limited to 'cffi')
-rw-r--r--cffi/api.py16
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