|  | 
|  | 1 | +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT | 
|  | 2 | +// file at the top-level directory of this distribution and at | 
|  | 3 | +// http://rust-lang.org/COPYRIGHT. | 
|  | 4 | +// | 
|  | 5 | +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | 
|  | 6 | +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | 
|  | 7 | +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | 
|  | 8 | +// option. This file may not be copied, modified, or distributed | 
|  | 9 | +// except according to those terms. | 
|  | 10 | + | 
|  | 11 | +use target::Target; | 
|  | 12 | + | 
|  | 13 | +pub fn target() -> Target { | 
|  | 14 | +    let mut base = super::musl_base::opts(); | 
|  | 15 | + | 
|  | 16 | +    // Most of these settings are copied from the arm_unknown_linux_gnueabihf | 
|  | 17 | +    // target. | 
|  | 18 | +    base.features = "+v6,+vfp2".to_string(); | 
|  | 19 | +    Target { | 
|  | 20 | +        // It's important we use "gnueabihf" and not "musleabihf" here. LLVM | 
|  | 21 | +        // uses it to determine the calling convention and float ABI, and it | 
|  | 22 | +        // doesn't support the "musleabihf" value. | 
|  | 23 | +        llvm_target: "arm-unknown-linux-gnueabihf".to_string(), | 
|  | 24 | +        target_endian: "little".to_string(), | 
|  | 25 | +        target_pointer_width: "32".to_string(), | 
|  | 26 | +        data_layout: "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64".to_string(), | 
|  | 27 | +        arch: "arm".to_string(), | 
|  | 28 | +        target_os: "linux".to_string(), | 
|  | 29 | +        target_env: "musleabi".to_string(), | 
|  | 30 | +        target_vendor: "unknown".to_string(), | 
|  | 31 | +        options: base, | 
|  | 32 | +    } | 
|  | 33 | +} | 
0 commit comments