-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Closed
Labels
T-dev-toolsRelevant to the development tools team, which will review and decide on the RFC.Relevant to the development tools team, which will review and decide on the RFC.
Description
High priority tasks
- Either make
kind=static-nobundle
stable, or changekind=static
to behave likekind=static-nobundle
. - Add support for linking the debug CRT.
- Handle linking in a manifest. Need to re-fix Windows manifest embedding. rust#11207
- Support linking to object files, and resource files. Extended linking kinds #1489
- Allow rustc to emit idata sections instead of depending on import libraries. Produce idata content for dll/dylib import on windows rust#30027
- Mechanism for dealing with Structured Exception Handling. Add some mechanism for catching structured exceptions on Windows rust#38963
- Improve handle inheritance when spawning processes. Consider different way of inheriting handles in child processes on Windows rust#38227
- Make
env_clear
actually work.env_clear
does not work on Windows rust#31259 - Stop messing up console handling. Windows / Colors are displayed as codes cargo#4722 WinConsole's tty check is inaccurate Stebalien/term#62
Lower priority tasks
- Improve the quality of PDB debug info. https://github.com/Microsoft/microsoft-pdb
- Support inter-crate
dllimport
properly, or just get rid of thedylib
crate type. Correctly handle dllimport on Windows rust#27438 - Fix library creation so that libraries compiled by
cl
with/GL
can be linked properly. Or just stopkind=static
from bundling. MSVC: support LTCG native libraries in rlibs rust#26003 - Improve the location of metadata for DLLs. Metadata for DLLs should actually go in the LIB import library on Windows rust#29511
- Removed unused import libraries in the
-msvc
distribution.-msvc
distribution has unused import libraries rust#31816 - Support the calling convention for methods, which is different than the calling convention for functions. Need calling convention for stdcall methods (different from functions!) #1342
- Provide an option to choose the target NT version.
- Support targeting drivers.
- Support targeting store apps.
- Deprecate the old makefiles. run-make is still hanging around.
- Use the correct extension for msvc object files. --emit=obj for Windows msvc producing .o instead of .obj rust#37207
- Make cross compilation to Windows, or between Windows architectures easier.
- Make MinGW static libraries use the correct extension. Windows: Static libraries should end with .a not .lib when using MinGW/GCC rust#43749
- Make
Command
work better. Command::spawn has weird rules for finding binaries on Windows rust#37519 - Automatic long path handling. Automatically insert
\\?\
where needed on Windows rust#32689 - Add way to re-export C symbols. https://github.com/rust-lang/rust/issues/36342
Completed tasks
- Support linking to system static libraries. Implement kind="static-nobundle" (RFC 1717) rust#38426
- Add support for statically linking the CRT. Can't statically link MSVC runtime libc#290 Choosing which CRT to link to #1684 Enable customizing the linkage of a platform's C runtime #1721
- Provide an option to choose the subsystem. Windows subsystem support #1665
- Support FFI
dllimport
properly. Use #[link(kind)] to fix imports from native libs on Windows #1717 - Variable and type information in PDB debug info.
- Support
dllexport
. Add support for DllExport on Windows rust#7196 - Emit PDB debug info on msvc. Emit windows-specific debug info rust#19533
- Get rid of the dependency on
libgcc
and use native/llvm unwinding stuff. - Teach
librustc_back
how to invokelink.exe
. - Add code to figure out where MSVC and the Windows SDK is installed.
- Upgrade the Rust build system to be able to build code using the MSVC toolchain rather than the GNU toolchain.
- Add code so that the Rust standard library can be built using only APIs available on XP or Vista. Rethink supporting Windows XP rust#12842
- Do all IO using WinAPI rather than libc, since libc is just a layer of overhead on top of WinAPI anyway.
- Fix the naming of static libraries. Windows: Static libraries should end with .lib not .a when using the MSVC ABI install rust#29508
- Eliminate dependency on gcc for building compiler-rt for msvc targets.
- Implement unwinding MSVC: Implement 32-bit Unwinding rust#25869
- Make it easy to install multiple targets. Handled by rustup.rs.
- Upload Rust docs for Windows to the website, so it isn't just linux docs up there. std::os::windows missing on http://doc.rust-lang.org/nightly/std/os/ rust#24658
- Provide fallback implementations to missing APIs on XP/Vista so that code will still run correctly and not panic. Investigate fallback implementations on Windows XP rust#26654
- Make ASLR work on mingw. use ASLR on Windows rust#16514 use high entropy ASLR on 64-bit Windows rust#16593
Wishlist
- Use
lld
for cross compilation to Windows with a new pure Rust target without any CRT bits at all. migrate to the LLVM toolchain rust#9367
Related links
- Make
Command
behave better. Command::spawn has weird rules for finding binaries on Windows rust#37519
ratijas
Metadata
Metadata
Assignees
Labels
T-dev-toolsRelevant to the development tools team, which will review and decide on the RFC.Relevant to the development tools team, which will review and decide on the RFC.