aboutsummaryrefslogtreecommitdiff
path: root/mesonconf.py
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2015-11-03 03:03:54 +0200
committerJussi Pakkanen <jpakkane@gmail.com>2015-11-03 03:03:54 +0200
commite2313b85d7f0d10c0995ea9887bee00c2763290a (patch)
tree84ee6761ec41ba330df81eb864b06d03aefe6988 /mesonconf.py
parente96a31cce4bec7e734ef56624212441e4702cf0e (diff)
downloadmeson-e2313b85d7f0d10c0995ea9887bee00c2763290a.zip
meson-e2313b85d7f0d10c0995ea9887bee00c2763290a.tar.gz
meson-e2313b85d7f0d10c0995ea9887bee00c2763290a.tar.bz2
Refactored builtin options to a dictionary and created a new default library target type.
Diffstat (limited to 'mesonconf.py')
-rwxr-xr-xmesonconf.py60
1 files changed, 32 insertions, 28 deletions
diff --git a/mesonconf.py b/mesonconf.py
index 963585a..6fb45ae 100755
--- a/mesonconf.py
+++ b/mesonconf.py
@@ -72,52 +72,55 @@ class Conf:
if k == 'buildtype':
if v not in build_types:
raise ConfException('Invalid build type %s.' % v)
- self.coredata.buildtype = v
+ self.coredata.set_builtin_option('buildtype', v)
elif k == 'layout':
if v not in layouts:
raise ConfException('Invalid layout type %s.' % v)
- self.coredata.layout = v
+ self.coredata.set_builtin_option('layout', v)
elif k == 'warnlevel':
if not v in warning_levels:
raise ConfException('Invalid warning level %s.' % v)
- self.coredata.warning_level = v
+ self.coredata.set_builtin_option('warning_level', v)
elif k == 'strip':
- self.coredata.strip = self.tobool(v)
+ self.coredata.set_builtin_option('strip', self.tobool(v))
elif k == 'coverage':
- v = self.tobool(v)
- self.coredata.coverage = self.tobool(v)
+ self.coredata.set_builtin_option('coverage', self.tobool(v))
elif k == 'pch':
- self.coredata.use_pch = self.tobool(v)
+ self.coredata.set_builtin_option('use_pch', self.tobool(v))
elif k == 'unity':
- self.coredata.unity = self.tobool(v)
+ self.coredata.set_builtin_option('unity', self.tobool(v))
+ elif k == 'default_library':
+ if v != 'shared' and v != 'static':
+ raise ConfException('Invalid value for default_library')
+ self.coredata.set_builtin_option('default_library', v)
elif k == 'prefix':
if not os.path.isabs(v):
raise ConfException('Install prefix %s is not an absolute path.' % v)
- self.coredata.prefix = v
+ self.coredata.set_builtin_option('prefix', v)
elif k == 'libdir':
if os.path.isabs(v):
raise ConfException('Library dir %s must not be an absolute path.' % v)
- self.coredata.libdir = v
+ self.coredata.set_builtin_option('libdir', v)
elif k == 'bindir':
if os.path.isabs(v):
raise ConfException('Binary dir %s must not be an absolute path.' % v)
- self.coredata.bindir = v
+ self.coredata.set_builtin_option('bindir',v)
elif k == 'includedir':
if os.path.isabs(v):
raise ConfException('Include dir %s must not be an absolute path.' % v)
- self.coredata.includedir = v
+ self.coredata.set_builtin_option('includedir', v)
elif k == 'datadir':
if os.path.isabs(v):
raise ConfException('Data dir %s must not be an absolute path.' % v)
- self.coredata.datadir = v
+ self.coredata.set_builtin_option('datadir', v)
elif k == 'mandir':
if os.path.isabs(v):
raise ConfException('Man dir %s must not be an absolute path.' % v)
- self.coredata.mandir = v
+ self.coredata.set_builtin_option('mandir', v)
elif k == 'localedir':
if os.path.isabs(v):
raise ConfException('Locale dir %s must not be an absolute path.' % v)
- self.coredata.localedir = v
+ self.coredata.set_builtin_option('localedir', v)
elif k in self.coredata.user_options:
tgt = self.coredata.user_options[k]
tgt.set_value(v)
@@ -150,12 +153,13 @@ class Conf:
print('')
print('Core options\n')
carr = []
- carr.append(['buildtype', 'Build type', self.coredata.buildtype])
- carr.append(['warnlevel', 'Warning level', self.coredata.warning_level])
- carr.append(['strip', 'Strip on install', self.coredata.strip])
- carr.append(['coverage', 'Coverage report', self.coredata.coverage])
- carr.append(['pch', 'Precompiled headers', self.coredata.use_pch])
- carr.append(['unity', 'Unity build', self.coredata.unity])
+ carr.append(['buildtype', 'Build type', self.coredata.get_builtin_option('buildtype')])
+ carr.append(['warnlevel', 'Warning level', self.coredata.get_builtin_option('warning_level')])
+ carr.append(['strip', 'Strip on install', self.coredata.get_builtin_option('strip')])
+ carr.append(['coverage', 'Coverage report', self.coredata.get_builtin_option('coverage')])
+ carr.append(['pch', 'Precompiled headers', self.coredata.get_builtin_option('use_pch')])
+ carr.append(['unity', 'Unity build', self.coredata.get_builtin_option('unity')])
+ carr.append(['default_library', 'Default library type', self.coredata.get_builtin_option('default_library')])
self.print_aligned(carr)
print('')
print('Compiler arguments\n')
@@ -179,13 +183,13 @@ class Conf:
print('')
print('Directories\n')
parr = []
- parr.append(['prefix', 'Install prefix', self.coredata.prefix])
- parr.append(['libdir', 'Library directory', self.coredata.libdir])
- parr.append(['bindir', 'Binary directory', self.coredata.bindir])
- parr.append(['includedir', 'Header directory', self.coredata.includedir])
- parr.append(['datadir', 'Data directory', self.coredata.datadir])
- parr.append(['mandir', 'Man page directory', self.coredata.mandir])
- parr.append(['localedir', 'Locale file directory', self.coredata.localedir])
+ parr.append(['prefix', 'Install prefix', self.coredata.get_builtin_option('prefix')])
+ parr.append(['libdir', 'Library directory', self.coredata.get_builtin_option('libdir')])
+ parr.append(['bindir', 'Binary directory', self.coredata.get_builtin_option('bindir')])
+ parr.append(['includedir', 'Header directory', self.coredata.get_builtin_option('includedir')])
+ parr.append(['datadir', 'Data directory', self.coredata.get_builtin_option('datadir')])
+ parr.append(['mandir', 'Man page directory', self.coredata.get_builtin_option('mandir')])
+ parr.append(['localedir', 'Locale file directory', self.coredata.get_builtin_option('localedir')])
self.print_aligned(parr)
print('')
if len(self.coredata.user_options) == 0: