Skip to content
Snippets Groups Projects
  1. Feb 18, 2019
  2. Feb 13, 2019
  3. Feb 12, 2019
  4. Feb 11, 2019
    • Jason King's avatar
      Rename solaris dir to solarish to indicate it's including both Solaris · 9638d0de
      Jason King authored
      and Solaris-derived distributions (i.e. illumos).  In addition, a number
      of missing definitions (and compatability functions) that have been
      found necessary to run a number of rust binaries on illumos have been
      added.
      
      Portions were contributed by Mike Zeller <mike@mikezeller.net>
      9638d0de
  5. Feb 09, 2019
  6. Feb 08, 2019
    • bors's avatar
      Auto merge of #1247 - gnzlbg:build_all_platforms, r=gnzlbg · ff97bdb0
      bors authored
      Build all platforms
      
      cc @alexcrichton this needs a more thorough review. It turns out libc failed to build on a lot of older Rust versions for various reasons and platforms, so it took a while to fix the build on all of them.
      ff97bdb0
  7. Feb 07, 2019
    • gnzlbg's avatar
      Align Rust-version support table of the README · 5c796c58
      gnzlbg authored
      5c796c58
    • gnzlbg's avatar
      Document platform support in the README · ca12725d
      gnzlbg authored
      ca12725d
    • gnzlbg's avatar
      Fix build on all platforms · a17a91cd
      gnzlbg authored
      This PR fixes the build on all platforms and all Rust version down to the
      minimum Rust version supported by libc: Rust 1.13.0.
      
      The `build.rs` is extended with logic to detect the newer Rust features used by
      `libc` since Rust 1.13.0:
      
      * Rust 1.19.0: `untagged_unions`. APIs using untagged unions are gated on
        `cfg(libc_unions)` and not available on older Rust versions.
      
      * Rust 1.25.0: `repr(align)`. Because `repr(align)` cannot be parsed by older
        Rust versions, all uses of `repr(align)` are split into `align.rs` and
        `no_align.rs` modules, which are gated on the `cfg(libc_align)` at the top
        level. These modules sometimes contain macros that are expanded at the top
        level to avoid privacy issues (`pub(crate)` is not available in older Rust
        versions). Closes #1242 .
      
      * Rust : `const` `mem::size_of`. These uses are worked around with hardcoded
        constants on older Rust versions.
      
      Also, `repr(packed)` structs cannot automatically `derive()` some traits like
      `Debug`. These have been moved into `s_no_extra_traits!` and the lint of missing
      `Debug` implementations on public items is silenced for these. We can manually
      implement the `extra_traits` for these in a follow up PR. This is tracked
      in #1243. Also, `extra_traits` does not enable `align` manually anymore.
      
      Since `f64::to_bits` is not available in older Rust versions, its usage
      has been replaced with a `transmute` to an `u64` which is what that method
      does under the hood.
      
      Closes #1232 .
      a17a91cd
    • gnzlbg's avatar
      Build all platforms in CI · 8f1acf46
      gnzlbg authored
      This commit adds a `ci/build.sh` script that checks that libc builds correctly
      for some common configurations (`--no-default-features`, `default`,
      `extra_traits`) on most targets supported by Rust since Rust 1.13.0 (the oldest
      Rust version that libc supports).
      
      The build matrix is refactored into two stages.
      
      The first stage is called `tools-and-build-and-tier1` and it aims to discover
      issues quickly by running the documentation and linter builds, as well as
      checking that the library builds correctly on all targets in all supported
      channels and "problematic" Rust versions; Rust versions adding major new
      features like `repr(align)`, `union`, etc. This first stage also runs
      libc-test for the tier-1 targets on linux and osx. These builds finish
      quickly because no emulation is necessary.
      
      The second stage is called `tier2` and it runs libc-test for all other targets
      for which we are currently able to do so.
      
      Closes #1229 .
      8f1acf46
    • bors's avatar
      Auto merge of #1246 - gnzlbg:rustfmt_style, r=gnzlbg · a2bf9f1d
      bors authored
      Check style using rustfmt and reformat
      
      A couple of recent PRs attempt to reformat the library using rustfmt and run into issues against libc's style checker because rustfmt default settings differ.
      
      This PR uses the rustfmt-preview from nightly to check that the library is appropriately formatted, adding a style as similar to libc's style as possible, so that both style checkers work properly simultaneously.
      a2bf9f1d
    • gnzlbg's avatar
      Check style using rustfmt and reformat · 0a5484ea
      gnzlbg authored
      0a5484ea
  8. Feb 05, 2019
Loading