]> git.lizzy.rs Git - rust.git/blobdiff - mk/platform.mk
Auto merge of #28263 - christopherdumas:add_help_E0118, r=nikomatsakis
[rust.git] / mk / platform.mk
index 9a6de772ab4a84a59d0f6f6b211e00b6dde6b660..fcb6a5b50d3cebc049cca98288e20035460dc08e 100644 (file)
@@ -237,64 +237,3 @@ endef
 
 $(foreach target,$(CFG_TARGET), \
   $(eval $(call CFG_MAKE_TOOLCHAIN,$(target))))
-
-# There are more comments about this available in the target specification for
-# Windows MSVC in the compiler, but the gist of it is that we use `llvm-ar.exe`
-# instead of `lib.exe` for assembling archives, so we need to inject this custom
-# dependency here.
-#
-# FIXME(stage0): remove this and all other relevant support in the makefiles
-#                after a snapshot is made
-define ADD_LLVM_AR_TO_MSVC_DEPS
-ifeq ($$(findstring msvc,$(1)),msvc)
-NATIVE_TOOL_DEPS_core_T_$(1) += llvm-ar.exe
-INSTALLED_BINS_$(1) += llvm-ar.exe
-endif
-endef
-
-$(foreach target,$(CFG_TARGET), \
-  $(eval $(call ADD_LLVM_AR_TO_MSVC_DEPS,$(target))))
-
-# When working with MSVC on windows, each DLL needs to explicitly declare its
-# interface to the outside world through some means. The options for doing so
-# include:
-#
-# 1. A custom attribute on each function itself
-# 2. A linker argument saying what to export
-# 3. A file which lists all symbols that need to be exported
-#
-# The Rust compiler takes care (1) for us for all Rust code by annotating all
-# public-facing functions with dllexport, but we have a few native dependencies
-# which need to cross the DLL boundary. The most important of these dependencies
-# is LLVM which is linked into `rustc_llvm.dll` but primarily used from
-# `rustc_trans.dll`. This means that many of LLVM's C API functions need to be
-# exposed from `rustc_llvm.dll` to be forwarded over the boundary.
-#
-# Unfortunately, at this time, LLVM does not handle this sort of exportation on
-# Windows for us, so we're forced to do it ourselves if we want it (which seems
-# like the path of least resistance right now). To do this we generate a `.DEF`
-# file [1] which we then custom-pass to the linker when building the rustc_llvm
-# crate. This DEF file list all symbols that are exported from
-# `src/librustc_llvm/lib.rs` and is generated by a small python script.
-#
-# Fun times!
-#
-# [1]: https://msdn.microsoft.com/en-us/library/28d6s79h.aspx
-#
-# FIXME(stage0): remove this macro and the usage below (and the commments above)
-#               when a new snapshot is available. Also remove the
-#               RUSTFLAGS$(1)_.._T_ variable in mk/target.mk along with
-#               CUSTOM_DEPS (as they were only added for this)
-define ADD_RUSTC_LLVM_DEF_TO_MSVC
-ifeq ($$(findstring msvc,$(1)),msvc)
-RUSTFLAGS0_rustc_llvm_T_$(1) += -C link-args="-DEF:$(1)/rt/rustc_llvm.def"
-CUSTOM_DEPS0_rustc_llvm_T_$(1) += $(1)/rt/rustc_llvm.def
-
-$(1)/rt/rustc_llvm.def: $$(S)src/etc/mklldef.py $$(S)src/librustc_llvm/lib.rs
-       $$(CFG_PYTHON) $$^ $$@ rustc_llvm-$$(CFG_FILENAME_EXTRA)
-endif
-endef
-
-$(foreach target,$(CFG_TARGET), \
-  $(eval $(call ADD_RUSTC_LLVM_DEF_TO_MSVC,$(target))))
-