Use -m option instead of looking for a cross-compiling version of dlltool
This commit is contained in:
parent
439292bc79
commit
a90f342b03
9 changed files with 87 additions and 14 deletions
22
tests/run-make/raw-dylib-cross-compilation/Makefile
Normal file
22
tests/run-make/raw-dylib-cross-compilation/Makefile
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Tests that raw-dylib cross compilation works correctly
|
||||
|
||||
# only-gnu
|
||||
# needs-i686-dlltool
|
||||
# needs-x86_64-dlltool
|
||||
|
||||
# i686 dlltool.exe can't product x64 binaries.
|
||||
# ignore-i686-pc-windows-gnu
|
||||
|
||||
include ../../run-make-fulldeps/tools.mk
|
||||
|
||||
all:
|
||||
# Build as x86 and make sure that we have x86 objects only.
|
||||
$(RUSTC) --crate-type lib --crate-name i686_raw_dylib_test --target i686-pc-windows-gnu lib.rs
|
||||
"$(LLVM_BIN_DIR)"/llvm-objdump -a $(TMPDIR)/libi686_raw_dylib_test.rlib > $(TMPDIR)/i686.objdump.txt
|
||||
$(CGREP) "file format coff-i386" < $(TMPDIR)/i686.objdump.txt
|
||||
$(CGREP) -v "file format coff-x86-64" < $(TMPDIR)/i686.objdump.txt
|
||||
# Build as x64 and make sure that we have x64 objects only.
|
||||
$(RUSTC) --crate-type lib --crate-name x64_raw_dylib_test --target x86_64-pc-windows-gnu lib.rs
|
||||
"$(LLVM_BIN_DIR)"/llvm-objdump -a $(TMPDIR)/libx64_raw_dylib_test.rlib > $(TMPDIR)/x64.objdump.txt
|
||||
$(CGREP) "file format coff-x86-64" < $(TMPDIR)/x64.objdump.txt
|
||||
$(CGREP) -v "file format coff-i386" < $(TMPDIR)/x64.objdump.txt
|
||||
20
tests/run-make/raw-dylib-cross-compilation/lib.rs
Normal file
20
tests/run-make/raw-dylib-cross-compilation/lib.rs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#![feature(raw_dylib)]
|
||||
#![feature(no_core, lang_items)]
|
||||
#![no_std]
|
||||
#![no_core]
|
||||
#![crate_type = "lib"]
|
||||
|
||||
// This is needed because of #![no_core]:
|
||||
#[lang = "sized"]
|
||||
trait Sized {}
|
||||
|
||||
#[link(name = "extern_1", kind = "raw-dylib")]
|
||||
extern {
|
||||
fn extern_fn();
|
||||
}
|
||||
|
||||
pub fn extern_fn_caller() {
|
||||
unsafe {
|
||||
extern_fn();
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue