parent
9d1b59fa7f
commit
e85138fcc8
|
@ -38,7 +38,7 @@ include/*
|
||||||
|
|
||||||
The file `.clang-format-ignore` contains a list of patterns matching the files
|
The file `.clang-format-ignore` contains a list of patterns matching the files
|
||||||
that will be excluded. Files matching the include list (see above) that match
|
that will be excluded. Files matching the include list (see above) that match
|
||||||
one of the ignore pattern will not be reformatted. Unlike include patters, ignore
|
one of the ignore pattern will not be reformatted. Unlike include patterns, ignore
|
||||||
patterns does not support `**` and a single `*` match any characters including
|
patterns does not support `**` and a single `*` match any characters including
|
||||||
path separators. Empty lines and lines starting with `#` are ignored.
|
path separators. Empty lines and lines starting with `#` are ignored.
|
||||||
|
|
||||||
|
|
|
@ -60,7 +60,7 @@ improved, and one can reasonably expect projects to compile.
|
||||||
## Splitting of Compiler.get_function_attribute('visibility')
|
## Splitting of Compiler.get_function_attribute('visibility')
|
||||||
|
|
||||||
On macOS there is no `protected` visibility, which results in the
|
On macOS there is no `protected` visibility, which results in the
|
||||||
visbility check always failing. 0.52.0 introduces two changes to
|
visibility check always failing. 0.52.0 introduces two changes to
|
||||||
improve this situation:
|
improve this situation:
|
||||||
|
|
||||||
1. the "visibility" check no longer includes "protected"
|
1. the "visibility" check no longer includes "protected"
|
||||||
|
|
|
@ -150,7 +150,7 @@ include/*
|
||||||
|
|
||||||
The file `.clang-format-ignore` contains a list of patterns matching the files
|
The file `.clang-format-ignore` contains a list of patterns matching the files
|
||||||
that will be excluded. Files matching the include list (see above) that match
|
that will be excluded. Files matching the include list (see above) that match
|
||||||
one of the ignore pattern will not be reformatted. Unlike include patters, ignore
|
one of the ignore pattern will not be reformatted. Unlike include patterns, ignore
|
||||||
patterns does not support `**` and a single `*` match any characters including
|
patterns does not support `**` and a single `*` match any characters including
|
||||||
path separators. Empty lines and lines starting with `#` are ignored.
|
path separators. Empty lines and lines starting with `#` are ignored.
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ project types select `Makefile project`. Click `Next`.
|
||||||
|
|
||||||
Type your project's name In the `Project name` entry box. In this
|
Type your project's name In the `Project name` entry box. In this
|
||||||
example we're going to use `testproj`. Next select the `Location`
|
example we're going to use `testproj`. Next select the `Location`
|
||||||
entry and browse to the root of your projet sources. Make sure that
|
entry and browse to the root of your project sources. Make sure that
|
||||||
the checkbox `Place solution and project in the same directory` is
|
the checkbox `Place solution and project in the same directory` is
|
||||||
checked. Click `Create`.
|
checked. Click `Create`.
|
||||||
|
|
||||||
|
|
|
@ -26,7 +26,7 @@ class BaseObject(T.TypedDict):
|
||||||
|
|
||||||
class Type(T.TypedDict):
|
class Type(T.TypedDict):
|
||||||
obj: str # References an object from `root.objects`
|
obj: str # References an object from `root.objects`
|
||||||
holds: T.Sequence[object] # Mypy does not support recusive dicts, but this should be T.List[Type]...
|
holds: T.Sequence[object] # Mypy does not support recursive dicts, but this should be T.List[Type]...
|
||||||
|
|
||||||
class Argument(BaseObject):
|
class Argument(BaseObject):
|
||||||
'''
|
'''
|
||||||
|
|
|
@ -1562,7 +1562,7 @@ class Backend:
|
||||||
raise MesonException(m.format(t.name, num_out, t.get_outputs(), num_outdirs))
|
raise MesonException(m.format(t.name, num_out, t.get_outputs(), num_outdirs))
|
||||||
assert len(t.install_tag) == num_out
|
assert len(t.install_tag) == num_out
|
||||||
install_mode = t.get_custom_install_mode()
|
install_mode = t.get_custom_install_mode()
|
||||||
# because mypy get's confused type narrowing in lists
|
# because mypy gets confused type narrowing in lists
|
||||||
first_outdir = outdirs[0]
|
first_outdir = outdirs[0]
|
||||||
first_outdir_name = install_dir_names[0]
|
first_outdir_name = install_dir_names[0]
|
||||||
|
|
||||||
|
|
|
@ -388,7 +388,7 @@ class IncludeDirs(HoldableObject):
|
||||||
"""Convert IncludeDirs object to a list of strings.
|
"""Convert IncludeDirs object to a list of strings.
|
||||||
|
|
||||||
:param sourcedir: The absolute source directory
|
:param sourcedir: The absolute source directory
|
||||||
:param builddir: The absolute build directory, option, buid dir will not
|
:param builddir: The absolute build directory, option, build dir will not
|
||||||
be added if this is unset
|
be added if this is unset
|
||||||
:returns: A list of strings (without compiler argument)
|
:returns: A list of strings (without compiler argument)
|
||||||
"""
|
"""
|
||||||
|
@ -2562,7 +2562,7 @@ class CustomTarget(Target, CommandBase):
|
||||||
|
|
||||||
def is_internal(self) -> bool:
|
def is_internal(self) -> bool:
|
||||||
'''
|
'''
|
||||||
Returns True iif this is a not installed static library.
|
Returns True if this is a not installed static library.
|
||||||
'''
|
'''
|
||||||
if len(self.outputs) != 1:
|
if len(self.outputs) != 1:
|
||||||
return False
|
return False
|
||||||
|
@ -2805,7 +2805,7 @@ class CustomTargetIndex(HoldableObject):
|
||||||
|
|
||||||
def is_internal(self) -> bool:
|
def is_internal(self) -> bool:
|
||||||
'''
|
'''
|
||||||
Returns True iif this is a not installed static library
|
Returns True if this is a not installed static library
|
||||||
'''
|
'''
|
||||||
suf = os.path.splitext(self.output)[-1]
|
suf = os.path.splitext(self.output)[-1]
|
||||||
return suf in {'.a', '.lib'} and not self.should_install()
|
return suf in {'.a', '.lib'} and not self.should_install()
|
||||||
|
|
|
@ -676,7 +676,7 @@ class Environment:
|
||||||
# acts as a linker driver, `-Dc_args` will not.
|
# acts as a linker driver, `-Dc_args` will not.
|
||||||
#
|
#
|
||||||
# We still use the original key as the base here, as
|
# We still use the original key as the base here, as
|
||||||
# we want to inhert the machine and the compiler
|
# we want to inherit the machine and the compiler
|
||||||
# language
|
# language
|
||||||
key = key.evolve('env_args')
|
key = key.evolve('env_args')
|
||||||
env_opts[key].extend(p_list)
|
env_opts[key].extend(p_list)
|
||||||
|
|
|
@ -1872,7 +1872,7 @@ class Interpreter(InterpreterBase, HoldableObject):
|
||||||
"""
|
"""
|
||||||
for out in outputs:
|
for out in outputs:
|
||||||
if has_multi_in and ('@PLAINNAME@' in out or '@BASENAME@' in out):
|
if has_multi_in and ('@PLAINNAME@' in out or '@BASENAME@' in out):
|
||||||
raise InvalidArguments(f'{name}: output cannot containe "@PLAINNAME@" or "@BASENAME@" '
|
raise InvalidArguments(f'{name}: output cannot contain "@PLAINNAME@" or "@BASENAME@" '
|
||||||
'when there is more than one input (we can\'t know which to use)')
|
'when there is more than one input (we can\'t know which to use)')
|
||||||
|
|
||||||
@typed_pos_args('custom_target', optargs=[str])
|
@typed_pos_args('custom_target', optargs=[str])
|
||||||
|
|
|
@ -323,7 +323,7 @@ class ConfigurationDataHolder(ObjectHolder[build.ConfigurationData], MutableInte
|
||||||
@typed_kwargs('configuration_data.set10', _CONF_DATA_SET_KWS)
|
@typed_kwargs('configuration_data.set10', _CONF_DATA_SET_KWS)
|
||||||
def set10_method(self, args: T.Tuple[str, T.Union[int, bool]], kwargs: 'kwargs.ConfigurationDataSet') -> None:
|
def set10_method(self, args: T.Tuple[str, T.Union[int, bool]], kwargs: 'kwargs.ConfigurationDataSet') -> None:
|
||||||
self.__check_used()
|
self.__check_used()
|
||||||
# bool is a subclass of int, so we need to check for bool excplicitly.
|
# bool is a subclass of int, so we need to check for bool explicitly.
|
||||||
# We already have typed_pos_args checking that this is either a bool or
|
# We already have typed_pos_args checking that this is either a bool or
|
||||||
# an int.
|
# an int.
|
||||||
if not isinstance(args[1], bool):
|
if not isinstance(args[1], bool):
|
||||||
|
|
|
@ -211,7 +211,7 @@ class _FoundProto(Protocol):
|
||||||
|
|
||||||
"""Protocol for subdir arguments.
|
"""Protocol for subdir arguments.
|
||||||
|
|
||||||
This allows us to define any objec that has a found(self) -> bool method
|
This allows us to define any object that has a found(self) -> bool method
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def found(self) -> bool: ...
|
def found(self) -> bool: ...
|
||||||
|
|
|
@ -104,7 +104,7 @@ def guess_win_linker(env: 'Environment', compiler: T.List[str], comp_class: T.Ty
|
||||||
prefix=comp_class.LINKER_PREFIX if use_linker_prefix else [],
|
prefix=comp_class.LINKER_PREFIX if use_linker_prefix else [],
|
||||||
exelist=compiler, version=search_version(o), direct=invoked_directly)
|
exelist=compiler, version=search_version(o), direct=invoked_directly)
|
||||||
elif 'OPTLINK' in o:
|
elif 'OPTLINK' in o:
|
||||||
# Opltink's stdout *may* beging with a \r character.
|
# Optlink's stdout *may* begin with a \r character.
|
||||||
return OptlinkDynamicLinker(compiler, for_machine, version=search_version(o))
|
return OptlinkDynamicLinker(compiler, for_machine, version=search_version(o))
|
||||||
elif o.startswith('Microsoft') or e.startswith('Microsoft'):
|
elif o.startswith('Microsoft') or e.startswith('Microsoft'):
|
||||||
out = o or e
|
out = o or e
|
||||||
|
|
|
@ -1470,7 +1470,7 @@ class OptlinkDynamicLinker(VisualStudioLikeLinkerMixin, DynamicLinker):
|
||||||
|
|
||||||
def __init__(self, exelist: T.List[str], for_machine: mesonlib.MachineChoice,
|
def __init__(self, exelist: T.List[str], for_machine: mesonlib.MachineChoice,
|
||||||
*, version: str = 'unknown version'):
|
*, version: str = 'unknown version'):
|
||||||
# Use optlink instead of link so we don't interfer with other link.exe
|
# Use optlink instead of link so we don't interfere with other link.exe
|
||||||
# implementations.
|
# implementations.
|
||||||
super().__init__(exelist, for_machine, '', [], version=version)
|
super().__init__(exelist, for_machine, '', [], version=version)
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ assert(x == 'the quick\n brown\nfox')
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
# multi-line format strings
|
# multi-line format strings
|
||||||
# ------------------------------------------------------------------------------
|
# ------------------------------------------------------------------------------
|
||||||
y_actual = f'''This is a multi-line comment with string substition:
|
y_actual = f'''This is a multi-line comment with string substitution:
|
||||||
"@sub1@@sub2@@sub3@@sub4@"
|
"@sub1@@sub2@@sub3@@sub4@"
|
||||||
|
|
||||||
And I can even substitute the entry multiple times!
|
And I can even substitute the entry multiple times!
|
||||||
|
@ -32,7 +32,7 @@ And I can even substitute the entry multiple times!
|
||||||
@sub3@
|
@sub3@
|
||||||
'''
|
'''
|
||||||
|
|
||||||
y_expect = '''This is a multi-line comment with string substition:
|
y_expect = '''This is a multi-line comment with string substitution:
|
||||||
"the quick
|
"the quick
|
||||||
brown
|
brown
|
||||||
fox"
|
fox"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"stdout": [
|
"stdout": [
|
||||||
{
|
{
|
||||||
"line": "test cases/failing/40 custom target plainname many inputs/meson.build:5:0: ERROR: custom_target: output cannot containe \"@PLAINNAME@\" or \"@BASENAME@\" when there is more than one input (we can't know which to use)"
|
"line": "test cases/failing/40 custom target plainname many inputs/meson.build:5:0: ERROR: custom_target: output cannot contain \"@PLAINNAME@\" or \"@BASENAME@\" when there is more than one input (we can't know which to use)"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
project('python wihtout pkgconfig', 'c')
|
project('python without pkgconfig', 'c')
|
||||||
|
|
||||||
# This unit test is ran with PKG_CONFIG=notfound
|
# This unit test is ran with PKG_CONFIG=notfound
|
||||||
import('python').find_installation().dependency()
|
import('python').find_installation().dependency()
|
||||||
|
|
Loading…
Reference in New Issue