summaryrefslogtreecommitdiff
path: root/giscanner/libtoolimporter.py
diff options
context:
space:
mode:
Diffstat (limited to 'giscanner/libtoolimporter.py')
-rw-r--r--giscanner/libtoolimporter.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/giscanner/libtoolimporter.py b/giscanner/libtoolimporter.py
index e149ec46..84c62f93 100644
--- a/giscanner/libtoolimporter.py
+++ b/giscanner/libtoolimporter.py
@@ -20,6 +20,7 @@
import imp
import os
+import platform
import sys
from .utils import extract_libtool
@@ -49,8 +50,16 @@ class LibtoolImporter(object):
def load_module(self, name):
realpath = extract_libtool(self.path)
- mod = imp.load_module(name, open(realpath), realpath,
- ('.so', 'rb', 3))
+ platform_system = platform.system()
+
+ if platform_system == 'Darwin':
+ extension = '.dylib'
+ elif platform_system == 'Windows':
+ extension = '.dll'
+ else:
+ extension = '.so'
+
+ mod = imp.load_module(name, open(realpath), realpath, (extension, 'rb', 3))
mod.__loader__ = self
return mod