D: fix include order
Commit 93c3ec7e
introduced a new way to handle deduplication with
compiler args. This resulted in D includes to be reversed.
This commit is contained in:
parent
6fc067344d
commit
1900720353
|
@ -19,6 +19,7 @@ from ..mesonlib import (
|
||||||
EnvironmentException, MachineChoice, version_compare,
|
EnvironmentException, MachineChoice, version_compare,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
from ..arglist import CompilerArgs
|
||||||
from .compilers import (
|
from .compilers import (
|
||||||
d_dmd_buildtype_args,
|
d_dmd_buildtype_args,
|
||||||
d_gdc_buildtype_args,
|
d_gdc_buildtype_args,
|
||||||
|
@ -426,6 +427,9 @@ class DmdLikeCompilerMixin:
|
||||||
args = [a.replace('-L=', '-Xcc=-Wl,') for a in args]
|
args = [a.replace('-L=', '-Xcc=-Wl,') for a in args]
|
||||||
return args
|
return args
|
||||||
|
|
||||||
|
class DCompilerArgs(CompilerArgs):
|
||||||
|
prepend_prefixes = ('-I', '-L')
|
||||||
|
dedup2_prefixes = ('-I')
|
||||||
|
|
||||||
class DCompiler(Compiler):
|
class DCompiler(Compiler):
|
||||||
mscrt_args = {
|
mscrt_args = {
|
||||||
|
@ -599,6 +603,9 @@ class DCompiler(Compiler):
|
||||||
args += extra_args
|
args += extra_args
|
||||||
return args
|
return args
|
||||||
|
|
||||||
|
def compiler_args(self, args: T.Optional[T.Iterable[str]] = None) -> DCompilerArgs:
|
||||||
|
return DCompilerArgs(self, args)
|
||||||
|
|
||||||
def compiles(self, code, env, *, extra_args=None, dependencies=None, mode='compile'):
|
def compiles(self, code, env, *, extra_args=None, dependencies=None, mode='compile'):
|
||||||
args = self._get_compiler_check_args(env, extra_args, dependencies, mode)
|
args = self._get_compiler_check_args(env, extra_args, dependencies, mode)
|
||||||
|
|
||||||
|
|
|
@ -376,6 +376,12 @@ class InternalTests(unittest.TestCase):
|
||||||
a += ['-I.', '-I./tests2/']
|
a += ['-I.', '-I./tests2/']
|
||||||
self.assertEqual(a, ['-I.', '-I./tests2/', '-I./tests/', '-I..'])
|
self.assertEqual(a, ['-I.', '-I./tests2/', '-I./tests/', '-I..'])
|
||||||
|
|
||||||
|
def test_compiler_args_class_d(self):
|
||||||
|
d = mesonbuild.compilers.DCompiler([], 'fake', MachineChoice.HOST, 'info', 'arch', False, None)
|
||||||
|
# check include order is kept when deduplicating
|
||||||
|
a = d.compiler_args(['-Ifirst', '-Isecond', '-Ithird'])
|
||||||
|
a += ['-Ifirst']
|
||||||
|
self.assertEqual(a, ['-Ifirst', '-Isecond', '-Ithird'])
|
||||||
|
|
||||||
def test_compiler_args_class(self):
|
def test_compiler_args_class(self):
|
||||||
cc = mesonbuild.compilers.CCompiler([], 'fake', False, MachineChoice.HOST, mock.Mock())
|
cc = mesonbuild.compilers.CCompiler([], 'fake', False, MachineChoice.HOST, mock.Mock())
|
||||||
|
|
Loading…
Reference in New Issue