diff --git a/libc-test/build.rs b/libc-test/build.rs
index 8858320b154f98bce9ef5efdbc12f1b62fb94749..de343db2d220a4807d5413dea2e2fcc53c3ca764 100644
--- a/libc-test/build.rs
+++ b/libc-test/build.rs
@@ -43,7 +43,7 @@ impl<'a> TestGenerator<'a> {
         let mut ret = Vec::new();
 
         // Pull in extra goodies on linux
-        if self.target.contains("unknown-linux") {
+        if self.target.contains("unknown-linux-gnu") {
             ret.push("_GNU_SOURCE");
         }
 
@@ -211,8 +211,10 @@ impl<'a> TestGenerator<'a> {
         } else {
             panic!("unknown arch/pointer width: {}", self.target)
         };
-        let (os, family, env) = if self.target.contains("unknown-linux") {
+        let (os, family, env) = if self.target.contains("unknown-linux-gnu") {
             ("linux", "unix", "gnu")
+        } else if self.target.contains("unknown-linux-musl") {
+            ("linux", "unix", "musl")
         } else if self.target.contains("apple-darwin") {
             ("macos", "unix", "")
         } else if self.target.contains("windows-msvc") {
diff --git a/src/linuxlike/linux.rs b/src/linuxlike/linux.rs
index 8f436ff123925d2bd710649dc63426b862ea5d47..09e7f7a7a6a35727abef513c6af83d9eb2496898 100644
--- a/src/linuxlike/linux.rs
+++ b/src/linuxlike/linux.rs
@@ -120,6 +120,8 @@ pub const _SC_XOPEN_REALTIME_THREADS: ::c_int = 131;
 pub const RLIMIT_NLIMITS: ::c_int = 16;
 pub const RLIM_SAVED_MAX: ::rlim_t = ::RLIM_INFINITY;
 pub const RLIM_SAVED_CUR: ::rlim_t = ::RLIM_INFINITY;
+
+#[cfg(not(target_env = "musl"))]
 pub const RUSAGE_THREAD: ::c_int = 1;
 
 pub const GLOB_ERR: ::c_int = 1 << 0;