The Meson Build System
http://mesonbuild.com/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Tag:
Branch:
Tree:
63cea2ae22
0.35.1
0.41
0.42
0.42-msi
0.44
0.45
0.46
0.47
0.48
0.49
0.50
0.51
0.52
0.53
0.54
0.55
0.56
0.57
0.58
0.59
0.60
0.61
0.62
0.63
0.64
0.tryme
1.0
1.1
1.2
1.3
1.4
1.5
1.tryme
biggen
builddirupgrade
corporations
crossenvvar
darwin_arch
deprecationdeadline
dirc2
docbuild
dolphin
dotinclude
es/0.61-plus-cython
fedora
gentarget
gh-pages
killpy3
lang-enum
master
mingwdisable
ninjalink
opthelper
optionlookup
optionrefactor
optionrefactor2
optiontree
overrides
pr8895-old
remove-parse_cmd_line_options
revert-10757-llvm-config
rustcmix
tingping/test-gir-program
tingping/test-profile
tingping/xdg-module
trigger-ciimage-builder
uniquefilenames
useargsintests
versionfile
vsmodtest
wip/default-directories
wip/ignatenko/gtester
wip/tingping/xdg-auto-post-install
wip/xclaesse/pr-10714
wip/xclaesse/pr-12097
xclaesse/pr11561-orig
0.1.0
0.10.0
0.11.0
0.12.0
0.13.0
0.14.0
0.15.0
0.16.0
0.17.0
0.18.0
0.19.0
0.2.0
0.20.0
0.21.0
0.22.0
0.23.0
0.24.0
0.25.0
0.26.0
0.27.0
0.28.0
0.29.0
0.30.0
0.31.0
0.32.0
0.33.0
0.34.0
0.35.0
0.35.1
0.36.0
0.37.0
0.37.1
0.38.0
0.38.1
0.39.0
0.39.1
0.4.0
0.4.1
0.40.0
0.40.1
0.41.0
0.41.1
0.41.2
0.42.0
0.42.1
0.43.0
0.44.0
0.44.1
0.45.0
0.45.1
0.46.0
0.46.1
0.47.0
0.47.1
0.47.2
0.48.0
0.48.1
0.48.2
0.49.0
0.49.1
0.49.2
0.5.0
0.50.0
0.50.1
0.51.0
0.51.1
0.51.2
0.52.0
0.52.1
0.53.0
0.53.1
0.53.2
0.54.0
0.54.0.rc1
0.54.1
0.54.2
0.54.3
0.55.0
0.55.0.rc1
0.55.0.rc2
0.55.1
0.55.2
0.55.3
0.56.0
0.56.0.rc1
0.56.0.rc2
0.56.1
0.56.2
0.57.0
0.57.0.rc1
0.57.1
0.57.2
0.58.0
0.58.0.rc1
0.58.1
0.58.2
0.59.0
0.59.0.rc1
0.59.0.rc2
0.59.1
0.59.2
0.59.3
0.59.4
0.6.0
0.60.0
0.60.0.rc1
0.60.0rc2
0.60.1
0.60.2
0.60.3
0.61.0
0.61.0rc1
0.61.1
0.61.2
0.61.3
0.61.4
0.61.5
0.62.0
0.62.0rc1
0.62.0rc2
0.62.1
0.62.2
0.63.0
0.63.0.rc2
0.63.0rc1
0.63.1
0.63.2
0.63.3
0.64.0
0.64.0rc1
0.64.0rc2
0.64.1
0.7.0
0.8.0
0.9.0
1.0.0
1.0.0rc1
1.0.0rc2
1.0.1
1.0.2
1.1.0
1.1.0rc1
1.1.0rc2
1.1.1
1.2.0
1.2.0rc1
1.2.0rc2
1.2.0rc3
1.2.1
1.2.2
1.2.3
1.3.0
1.3.0rc1
1.3.0rc2
1.3.0rc3
1.3.1
1.3.2
1.4.0
1.4.0rc1
1.4.0rc2
1.4.1
1.4.2
1.5.0
1.5.0rc1
1.5.0rc2
1.5.0rc3
1.5.1
1.5.2
1.6.0
1.6.0rc1
1.6.0rc2
${ noResults }
meson/test cases/rust/3 staticlib
Dylan Baker
c0db0b73da
Rustc as of version 1.61.0 has support for controlling when whole-archive linking takes place, previous to this it tried to make a good guess about what you wanted, which worked most of the time. This is now implemented. Additionally, rustc makes some assumptions about library names (specifically static names), that meson does not keep. This can be fixed with rustc 1.67, where a new +verbatim modifier has been added. We can then force rustc to use the name we give it. Before that, we can sneak through `/WHOELARCHIVE:` in cases of dynamic linking (into a dll or exe), but we can't force the archiver to do what we want (rustc considers the archiver to be an implementation detail). The only solution I can come up with is to copy the library to the format that rustc expects. I've run into some issues with that as well, so we warn in that case. The decisions to leave static into static broken on MSVC for 1.61–1.66 was made because: 1) The work around is non-trivial, and we would have to support that workaround for a long time 2) The number of users of Rust in Meson is small 3) The number of users of Rust in Meson on Windows, with MSVC is tiny 4) Using rustup to update rustc on windows is trivial, and solves the problem completely Fixes: #10723 Fixes: #11247 Co-authored-by: Nirbheek Chauhan <nirbheek@centricular.com> |
2 years ago | |
---|---|---|
.. | ||
meson.build | Implement rustc controlled whole-archive linking | 2 years ago |
other.rs | Implement rustc controlled whole-archive linking | 2 years ago |
prog.rs | Implement rustc controlled whole-archive linking | 2 years ago |
stuff.rs | Implement rustc controlled whole-archive linking | 2 years ago |
test.json | compilers/d: Add b_ndebug support | 5 years ago |
value.c | Implement rustc controlled whole-archive linking | 2 years ago |