aboutsummaryrefslogtreecommitdiff
path: root/mesonbuild/mesonlib.py
diff options
context:
space:
mode:
Diffstat (limited to 'mesonbuild/mesonlib.py')
-rw-r--r--mesonbuild/mesonlib.py38
1 files changed, 30 insertions, 8 deletions
diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py
index 4871bf7..9d71c7e 100644
--- a/mesonbuild/mesonlib.py
+++ b/mesonbuild/mesonlib.py
@@ -449,7 +449,8 @@ def version_compare_many(vstr1, conditions):
found.append(req)
return not_found == [], not_found, found
-def default_libdir():
+
+def _default_libdir():
if is_debianlike():
try:
pc = subprocess.Popen(['dpkg-architecture', '-qDEB_HOST_MULTIARCH'],
@@ -465,14 +466,8 @@ def default_libdir():
return 'lib64'
return 'lib'
-def default_libexecdir():
- # There is no way to auto-detect this, so it must be set at build time
- return 'libexec'
-
-def default_prefix():
- return 'c:/' if is_windows() else '/usr/local'
-def get_library_dirs():
+def _default_library_dirs():
if is_windows():
return ['C:/mingw/lib'] # Fixme
if is_osx():
@@ -500,6 +495,33 @@ def get_library_dirs():
return unixdirs
+# These are mostly documented in builtin_options in coredata.py
+default_directories = {
+ 'prefix': 'c:/' if is_windows() else '/usr/local',
+ 'bindir': 'bin',
+ 'sbindir': 'sbin',
+ 'libdir': _default_libdir(),
+ 'libexecdir': 'libexec',
+ 'datadir': 'share',
+ 'includedir': 'include',
+ 'mandir': 'share/man',
+ 'infodir': 'share/info',
+ 'localedir': 'share/locale',
+ 'sysconfdir': 'etc',
+ 'localstatedir': 'var',
+ 'sharedstatedir': 'com',
+ 'librarydirs': _default_library_dirs(),
+}
+
+
+try:
+ # Allow distros to insert a file that sets its own directories
+ from .distro_directories import default_directories as overrides
+ default_directories.update(overrides)
+except ImportError:
+ pass
+
+
def do_replacement(regex, line, confdata):
missing_variables = set()