aboutsummaryrefslogtreecommitdiff
path: root/cc/src/bin
diff options
context:
space:
mode:
Diffstat (limited to 'cc/src/bin')
-rw-r--r--cc/src/bin/gcc-shim.rs23
1 files changed, 23 insertions, 0 deletions
diff --git a/cc/src/bin/gcc-shim.rs b/cc/src/bin/gcc-shim.rs
new file mode 100644
index 0000000..7fd0ea8
--- /dev/null
+++ b/cc/src/bin/gcc-shim.rs
@@ -0,0 +1,23 @@
+#![cfg_attr(test, allow(dead_code))]
+
+use std::env;
+use std::fs::File;
+use std::io::prelude::*;
+use std::path::PathBuf;
+
+fn main() {
+ let out_dir = PathBuf::from(env::var_os("GCCTEST_OUT_DIR").unwrap());
+ for i in 0.. {
+ let candidate = out_dir.join(format!("out{}", i));
+ if candidate.exists() {
+ continue;
+ }
+ let mut f = File::create(candidate).unwrap();
+ for arg in env::args().skip(1) {
+ writeln!(f, "{}", arg).unwrap();
+ }
+
+ File::create(out_dir.join("libfoo.a")).unwrap();
+ break;
+ }
+}