diff options
| -rw-r--r-- | src/librustc/session/config.rs | 18 | ||||
| -rw-r--r-- | src/librustc_back/target/apple_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/bitrig_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/dragonfly_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/freebsd_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/fuchsia_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/haiku_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/linux_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/netbsd_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/openbsd_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/redox_base.rs | 2 | ||||
| -rw-r--r-- | src/librustc_back/target/solaris_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/windows_base.rs | 1 | ||||
| -rw-r--r-- | src/librustc_back/target/windows_msvc_base.rs | 1 |
14 files changed, 19 insertions, 13 deletions
diff --git a/src/librustc/session/config.rs b/src/librustc/session/config.rs index e500c08ce6e..17b5199e7ed 100644 --- a/src/librustc/session/config.rs +++ b/src/librustc/session/config.rs @@ -943,26 +943,20 @@ pub fn default_configuration(sess: &Session) -> ast::CrateConfig { let vendor = &sess.target.target.target_vendor; let max_atomic_width = sess.target.target.max_atomic_width(); - let fam = if let Some(ref fam) = sess.target.target.options.target_family { - Symbol::intern(fam) - } else if sess.target.target.options.is_like_windows { - Symbol::intern("windows") - } else { - Symbol::intern("unix") - }; - let mut ret = HashSet::new(); // Target bindings. ret.insert((Symbol::intern("target_os"), Some(Symbol::intern(os)))); - ret.insert((Symbol::intern("target_family"), Some(fam))); + if let Some(fam) = sess.target.target.options.target_family { + ret.insert((Symbol::intern("target_family"), Some(fam))); + if fam == "windows" || fam == "unix" { + ret.insert((fam, None)); + } + } ret.insert((Symbol::intern("target_arch"), Some(Symbol::intern(arch)))); ret.insert((Symbol::intern("target_endian"), Some(Symbol::intern(end)))); ret.insert((Symbol::intern("target_pointer_width"), Some(Symbol::intern(wordsz)))); ret.insert((Symbol::intern("target_env"), Some(Symbol::intern(env)))); ret.insert((Symbol::intern("target_vendor"), Some(Symbol::intern(vendor)))); - if fam == "windows" || fam == "unix" { - ret.insert((fam, None)); - } if sess.target.target.options.has_elf_tls { ret.insert((Symbol::intern("target_thread_local"), None)); } diff --git a/src/librustc_back/target/apple_base.rs b/src/librustc_back/target/apple_base.rs index 70c7ea99e13..21a2d4293df 100644 --- a/src/librustc_back/target/apple_base.rs +++ b/src/librustc_back/target/apple_base.rs @@ -37,6 +37,7 @@ pub fn opts() -> TargetOptions { function_sections: false, dynamic_linking: true, executables: true, + target_family: Some("unix".to_string()), is_like_osx: true, has_rpath: true, dll_prefix: "lib".to_string(), diff --git a/src/librustc_back/target/bitrig_base.rs b/src/librustc_back/target/bitrig_base.rs index 7baf80066b2..62418e68d43 100644 --- a/src/librustc_back/target/bitrig_base.rs +++ b/src/librustc_back/target/bitrig_base.rs @@ -15,6 +15,7 @@ pub fn opts() -> TargetOptions { TargetOptions { dynamic_linking: true, executables: true, + target_family: Some("unix".to_string()), linker_is_gnu: true, has_rpath: true, position_independent_executables: true, diff --git a/src/librustc_back/target/dragonfly_base.rs b/src/librustc_back/target/dragonfly_base.rs index 7555181a15c..dca33e45af7 100644 --- a/src/librustc_back/target/dragonfly_base.rs +++ b/src/librustc_back/target/dragonfly_base.rs @@ -15,6 +15,7 @@ pub fn opts() -> TargetOptions { TargetOptions { dynamic_linking: true, executables: true, + target_family: Some("unix".to_string()), linker_is_gnu: true, has_rpath: true, pre_link_args: vec