aboutsummaryrefslogtreecommitdiff
path: root/environment.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2013-03-09 22:42:01 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2013-03-09 22:42:01 +0200
commit347c2634311f8a70f2db5251358eace9f0e0eb38 (patch)
treefde6ff91a100199f1b3ed62b35f7dde6082227b8 /environment.py
parent68b50bd7328dc3fc7f9826d2f261e3a9116e5be9 (diff)
downloadmeson-347c2634311f8a70f2db5251358eace9f0e0eb38.zip
meson-347c2634311f8a70f2db5251358eace9f0e0eb38.tar.gz
meson-347c2634311f8a70f2db5251358eace9f0e0eb38.tar.bz2
Find and use external libraries.
Diffstat (limited to 'environment.py')
-rwxr-xr-xenvironment.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/environment.py b/environment.py
index 28b2221..e32b7e5 100755
--- a/environment.py
+++ b/environment.py
@@ -16,6 +16,7 @@
import subprocess, os.path, platform
import coredata
+from glob import glob
build_filename = 'meson.build'
@@ -416,6 +417,27 @@ class Environment():
def get_datadir(self):
return self.coredata.datadir
+ def find_library(self, libname):
+ dirs = self.get_library_dirs()
+ suffixes = [self.get_shared_lib_suffix(), self.get_static_lib_suffix()]
+ prefix = self.get_shared_lib_prefix()
+ for d in dirs:
+ for suffix in suffixes:
+ trial = os.path.join(d, prefix + libname + '.' + suffix)
+ if os.path.isfile(trial):
+ return trial
+
+ def get_library_dirs(self):
+ if is_windows():
+ return ['C:/mingw/lib'] # Fixme
+ if is_osx():
+ return ['/usr/lib'] # Fix me as well.
+ unixdirs = ['/usr/lib', '/lib']
+ plat = subprocess.check_output(['uname', '-m']).decode().strip()
+ unixdirs += glob('/usr/lib/' + plat + '*')
+ unixdirs.append('/usr/local/lib')
+ return unixdirs
+
class Dependency():
def __init__(self):
pass