|
|
@ -1988,8 +1988,8 @@ class StaticLibrary(BuildTarget): |
|
|
|
elif self.rust_crate_type not in ['rlib', 'staticlib']: |
|
|
|
elif self.rust_crate_type not in ['rlib', 'staticlib']: |
|
|
|
raise InvalidArguments(f'Crate type "{self.rust_crate_type}" invalid for static libraries; must be "rlib" or "staticlib"') |
|
|
|
raise InvalidArguments(f'Crate type "{self.rust_crate_type}" invalid for static libraries; must be "rlib" or "staticlib"') |
|
|
|
# See https://github.com/rust-lang/rust/issues/110460 |
|
|
|
# See https://github.com/rust-lang/rust/issues/110460 |
|
|
|
if self.rust_crate_type == 'rlib' and any(c in self.name for c in ['-', ' ']): |
|
|
|
if self.rust_crate_type == 'rlib' and any(c in self.name for c in ['-', ' ', '.']): |
|
|
|
raise InvalidArguments('Rust crate types "dylib" and "proc-macro" do not allow spaces or dashes in the library name ' |
|
|
|
raise InvalidArguments('Rust crate type "rlib" does not allow spaces, periods or dashes in the library name ' |
|
|
|
'due to a limitation of rustc. Replace them with underscores, for example') |
|
|
|
'due to a limitation of rustc. Replace them with underscores, for example') |
|
|
|
# By default a static library is named libfoo.a even on Windows because |
|
|
|
# By default a static library is named libfoo.a even on Windows because |
|
|
|
# MSVC does not have a consistent convention for what static libraries |
|
|
|
# MSVC does not have a consistent convention for what static libraries |
|
|
@ -2082,8 +2082,8 @@ class SharedLibrary(BuildTarget): |
|
|
|
elif self.rust_crate_type not in ['dylib', 'cdylib', 'proc-macro']: |
|
|
|
elif self.rust_crate_type not in ['dylib', 'cdylib', 'proc-macro']: |
|
|
|
raise InvalidArguments(f'Crate type "{self.rust_crate_type}" invalid for dynamic libraries; must be "dylib", "cdylib", or "proc-macro"') |
|
|
|
raise InvalidArguments(f'Crate type "{self.rust_crate_type}" invalid for dynamic libraries; must be "dylib", "cdylib", or "proc-macro"') |
|
|
|
# See https://github.com/rust-lang/rust/issues/110460 |
|
|
|
# See https://github.com/rust-lang/rust/issues/110460 |
|
|
|
if self.rust_crate_type != 'cdylib' and any(c in self.name for c in ['-', ' ']): |
|
|
|
if self.rust_crate_type != 'cdylib' and any(c in self.name for c in ['-', ' ', '.']): |
|
|
|
raise InvalidArguments('Rust crate types "dylib" and "proc-macro" do not allow spaces or dashes in the library name ' |
|
|
|
raise InvalidArguments('Rust crate types "dylib" and "proc-macro" do not allow spaces, periods or dashes in the library name ' |
|
|
|
'due to a limitation of rustc. Replace them with underscores, for example') |
|
|
|
'due to a limitation of rustc. Replace them with underscores, for example') |
|
|
|
|
|
|
|
|
|
|
|
if not hasattr(self, 'prefix'): |
|
|
|
if not hasattr(self, 'prefix'): |
|
|
|