]> git.lizzy.rs Git - rust.git/commitdiff
std: Move platform-specific code out of libstd/lib.rs
authorBrian Anderson <banderson@mozilla.com>
Fri, 30 Sep 2016 22:11:46 +0000 (22:11 +0000)
committerBrian Anderson <banderson@mozilla.com>
Tue, 1 Nov 2016 17:08:24 +0000 (17:08 +0000)
src/libstd/lib.rs
src/libstd/sys/mod.rs [new file with mode: 0644]
src/libstd/sys/windows/mod.rs
src/tools/tidy/src/pal.rs

index e470690b7c6b85b460318dac8064169e857ba180..1d6c2403c2fe63c1793faa2e9306f58505d11fb3 100644 (file)
 #[macro_use]
 #[path = "sys/common/mod.rs"] mod sys_common;
 
-#[cfg(unix)]
-#[path = "sys/unix/mod.rs"] mod sys;
-#[cfg(windows)]
-#[path = "sys/windows/mod.rs"] mod sys;
+mod sys;
 
 pub mod rt;
 mod panicking;
diff --git a/src/libstd/sys/mod.rs b/src/libstd/sys/mod.rs
new file mode 100644 (file)
index 0000000..f7e1a0a
--- /dev/null
@@ -0,0 +1,19 @@
+// Copyright 2016 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+pub use self::imp::*;
+
+#[cfg(unix)]
+#[path = "unix/mod.rs"]
+mod imp;
+
+#[cfg(windows)]
+#[path = "windows/mod.rs"]
+mod imp;
index 9cd6e6ca1761dfa23937f2628b27d3820d605eeb..0610a0245ea68235df6384559d05dccdc898624d 100644 (file)
@@ -179,7 +179,7 @@ pub fn truncate_utf16_at_nul<'a>(v: &'a [u16]) -> &'a [u16] {
     }
 }
 
-trait IsZero {
+pub trait IsZero {
     fn is_zero(&self) -> bool;
 }
 
@@ -193,7 +193,7 @@ fn is_zero(&self) -> bool {
 
 impl_is_zero! { i8 i16 i32 i64 isize u8 u16 u32 u64 usize }
 
-fn cvt<I: IsZero>(i: I) -> io::Result<I> {
+pub fn cvt<I: IsZero>(i: I) -> io::Result<I> {
     if i.is_zero() {
         Err(io::Error::last_os_error())
     } else {
@@ -201,7 +201,7 @@ fn cvt<I: IsZero>(i: I) -> io::Result<I> {
     }
 }
 
-fn dur2timeout(dur: Duration) -> c::DWORD {
+pub fn dur2timeout(dur: Duration) -> c::DWORD {
     // Note that a duration is a (u64, u32) (seconds, nanoseconds) pair, and the
     // timeouts in windows APIs are typically u32 milliseconds. To translate, we
     // have two pieces to take care of:
index 6ce5f7ee7fe274672cc3f10d24e5ceac579418ed..5caa7f8af440d96c0cba135483c38e122273fa5a 100644 (file)
     "src/libpanic_abort",
     "src/libpanic_unwind",
     "src/libunwind",
-    "src/libstd/sys/unix", // This is where platform-specific code for std should live
-    "src/libstd/sys/windows", // Ditto
+    "src/libstd/sys/unix", // This is where platform-specific code for unix
+    "src/libstd/sys/windows", // Ditto for windows
+    "src/libstd/sys/mod.rs", // This file chooses the platform
     "src/libstd/os", // Platform-specific public interfaces
     "src/rtstartup", // Not sure what to do about this. magic stuff for mingw
 
     // temporary exceptions
-    "src/libstd/lib.rs", // This could probably be done within the sys directory
     "src/libstd/rtdeps.rs", // Until rustbuild replaces make
     "src/libstd/path.rs",
     "src/libstd/num/f32.rs",