diff options
author | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-09-24 22:51:30 +0200 |
---|---|---|
committer | Daniel Mensinger <daniel@mensinger-ka.de> | 2019-10-03 10:06:03 +0200 |
commit | c6938bd57997c6e5af57d0a58a6753f0ef4ca1d6 (patch) | |
tree | 9f278d816f5d131e553bed965cc7b1ba74c2047b | |
parent | 8593506b7ba73e3025d7f94c4ea793af94a10e51 (diff) | |
download | meson-c6938bd57997c6e5af57d0a58a6753f0ef4ca1d6.zip meson-c6938bd57997c6e5af57d0a58a6753f0ef4ca1d6.tar.gz meson-c6938bd57997c6e5af57d0a58a6753f0ef4ca1d6.tar.bz2 |
Handle -idirafter in unix_args_to_native
-rw-r--r-- | mesonbuild/compilers/d.py | 9 | ||||
-rw-r--r-- | mesonbuild/compilers/mixins/visualstudio.py | 12 | ||||
-rw-r--r-- | mesonbuild/dependencies/base.py | 2 |
3 files changed, 21 insertions, 2 deletions
diff --git a/mesonbuild/compilers/d.py b/mesonbuild/compilers/d.py index 5e0c173..346f18e 100644 --- a/mesonbuild/compilers/d.py +++ b/mesonbuild/compilers/d.py @@ -285,7 +285,14 @@ class DmdLikeCompilerMixin: if arg.startswith('-isystem='): dcargs.append('-I=' + arg[9:]) else: - dcargs.append('-I') + dcargs.append('-I' + arg[8:]) + continue + elif arg.startswith('-idirafter'): + # same as -isystem, but appends the path instead + if arg.startswith('-idirafter='): + dcargs.append('-I=' + arg[11:]) + else: + dcargs.append('-I' + arg[10:]) continue elif arg.startswith('-L/') or arg.startswith('-L./'): # we need to handle cases where -L is set by e.g. a pkg-config diff --git a/mesonbuild/compilers/mixins/visualstudio.py b/mesonbuild/compilers/mixins/visualstudio.py index 48a2229..9fddbb4 100644 --- a/mesonbuild/compilers/mixins/visualstudio.py +++ b/mesonbuild/compilers/mixins/visualstudio.py @@ -228,6 +228,18 @@ class VisualStudioLikeCompiler(metaclass=abc.ABCMeta): continue else: i = name + '.lib' + elif i.startswith('-isystem'): + # just use /I for -isystem system include path s + if i.startswith('-isystem='): + i = '/I' + i[9:] + else: + i = '/I' + i[8:] + elif i.startswith('-idirafter'): + # same as -isystem, but appends the path instead + if i.startswith('-idirafter='): + i = '/I' + i[11:] + else: + i = '/I' + i[10:] # -pthread in link flags is only used on Linux elif i == '-pthread': continue diff --git a/mesonbuild/dependencies/base.py b/mesonbuild/dependencies/base.py index e5cb4bf..cbf9c44 100644 --- a/mesonbuild/dependencies/base.py +++ b/mesonbuild/dependencies/base.py @@ -105,7 +105,7 @@ class Dependency: return methods @classmethod - def _process_is_system_kw(cls, kwargs): + def _process_is_system_kw(cls, kwargs): if 'is_system' not in kwargs: return False if not isinstance(kwargs['is_system'], bool): |