| // This test tries to check that basic cdylib libraries can be compiled and linked successfully |
| // with C code, that the cdylib itself can depend on another rlib, and that the library can be built |
| // - `foo.rs` is a cdylib that relies on an extern crate `bar` and defines two `extern "C"` |
| // - `foo()` which calls `bar::bar()`. |
| // - `bar()` which implements basic addition. |
| use run_make_support::{cc, cwd, dynamic_lib_name, is_msvc, rfs, run, rustc}; |
| rustc().input("bar.rs").run(); |
| rustc().input("foo.rs").run(); |
| cc().input("foo.c").arg("foo.dll.lib").out_exe("foo").run(); |
| cc().input("foo.c").arg("-lfoo").library_search_path(cwd()).output("foo").run(); |
| rfs::remove_file(dynamic_lib_name("foo")); |
| rustc().input("foo.rs").arg("-Clto").run(); |