Commit Graph

80 Commits

Author SHA1 Message Date
gnzlbg
597d612164 Bump libc version 2019-02-13 14:48:50 +01:00
gnzlbg
a17a91cdbf Fix build on all platforms
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 .
2019-02-07 13:44:32 +01:00
Bryant Mairs
868a85d05d Implement PartialEq,Eq for all types 2019-02-02 13:06:58 -08:00
gnzlbg
9148ae9023 Bump to 0.2.48 2019-01-23 14:14:01 +01:00
Jeremy Soller
84d3147354
Bump version to 0.2.47 2019-01-14 08:07:57 -07:00
John Paul Adrian Glaubitz
11d1a181d2 Bump version to 0.2.46 2019-01-02 21:00:19 +01:00
Alex Crichton
dfb9579acc Fix build on x86_64-unknown-cloudabi, bump version 2018-12-09 19:32:01 -08:00
gnzlbg
7afe55be24 Use crates.io keywords and categories
Closes #651 .
2018-11-22 19:06:40 +01:00
Alex Crichton
91bd079e23 Prepare for being included via crates.io into std
This commit prepares the `libc` crate to be included directly into the
standard library via crates.io. More details about this can be found on
rust-lang/rust#56092, but the main idea is that this crate now depends
on core/compiler-builtins explicitly (but off-by-default).

The main caveat here is that this activates `no_core` when building as
part of libstd, which means that it needs to explicitly have an `iter`
and `option` module for the expansion of `for` loops to work.
2018-11-21 15:27:56 -08:00
Artyom Pavlov
eb09cfe4b6
use OR in the license field 2018-11-16 13:56:41 +03:00
Igor Gnatenko
793eeacbe5
exclude CI files from crates.io 2018-10-26 22:48:12 +02:00
Isaac Woods
79c80c4ec4
Re-export core::ffi::c_void if supported 2018-09-18 19:50:36 +01:00
Linus Färnstrand
add1a320b4 Bump version to 0.2.43 2018-08-06 01:35:46 +02:00
Linus Färnstrand
6abe0b5218 Add align feature and use on in6_addr 2018-07-29 18:54:45 +02:00
Jeremy Soller
a27fae96a0 Bump version to 0.2.42 2018-06-01 08:14:12 -06:00
Linus Färnstrand
6bbe4412c4 Bump to 0.2.41 2018-05-21 13:30:14 +02:00
Francis Gagné
e1fd577574 Bump to 0.2.40 2018-03-18 21:55:10 -04:00
Fredrick Brennan
528374ed9a Add FreeBSD get[pw|gr]ent_r, forgotten in #934
Sorry, accidentally forgot this when submitting #934..
2018-03-05 21:25:55 +08:00
Fredrick Brennan
5f9538d1e2 Add passwd/group APIs needed for nix-rust/nix#864 2018-03-03 11:13:02 +00:00
Benjamin Fry
5a50bec431 0.2.37 for release 2018-02-26 21:23:21 -08:00
Guillaume Gomez
e91769eceb Update libc version 2018-01-11 23:32:27 +01:00
Josh Driver
d61351e9c8 Bump to 0.2.35 2018-01-04 10:43:01 +10:30
Alex Crichton
19b0fbe210 Bump to 0.2.34 2017-11-30 06:50:55 -08:00
Andrew Tunnell-Jones
9ff7111743 Bump to 0.2.33 2017-10-28 05:47:18 -07:00
Trevor Reiff
95fe3cca5b Add project_name attribute to appveyor badge. 2017-10-13 15:38:43 -04:00
Sébastien Marie
cf4c0beffb bump to 0.2.32
- add DCCP constant definitions
- add clock_gettime related functions to macOS
- add fstatat64 on linux/android
- add preadv64/pwritev64 on linux/android
- add utimensat on solaris, netbsd and openbsd
- add IP_BINDANY on freebsd
2017-10-06 13:28:38 +02:00
James Tucker
d68943d221 Bump to 0.2.31 2017-09-19 16:51:42 -07:00
Alex Crichton
938252cba7 Bump to 0.2.30 2017-08-27 10:34:33 -07:00
Alex Crichton
201d539465 Remove OpenBSD CI
It's now broken due to changes in the `gcc` crate and having a too-old compiler,
and in general it's unfortunately architecturally so different from the other
test frameworks that it's difficult to maintain over time.
2017-08-18 09:34:08 -07:00
Wesley Moore
beb582e120 Bump to version 0.2.29 2017-07-31 21:12:05 +10:00
Martin Geisler
9f3d28d3ed Add CI badges 2017-07-25 01:21:04 +02:00
Marcin Mielniczuk
4afbf4eca5 Bump version to 0.2.28 2017-07-24 09:22:30 +02:00
Guillaume Gomez
312e5cb5f7 Update crate version 2017-07-21 10:38:00 +02:00
Alex Crichton
7d74c0993c Clean up CI configuration and add s390x
We can't test s390x because qemu segfaults but we can at least verify that it
compiles.

Closes #650
2017-07-07 14:19:06 -07:00
Fenrir
fa23a9bc42 Bump to 0.2.25 2017-07-07 08:35:54 -06:00
Razican
f5554af07a Bumped version number 2017-06-11 12:22:08 +02:00
Lee Bousfield
0457d3b32f Bump to 0.2.23 2017-05-18 18:41:37 -06:00
Alex Crichton
6ef11e694a Bump to 0.2.22 2017-04-26 07:29:19 -07:00
Kamal Marhubi
d24e86c9d7 Bump to 0.2.21
closes https://github.com/rust-lang/libc/issues/539
2017-03-01 19:00:07 -05:00
Alex Crichton
d30b4c6fe0 Bump to 0.2.20 2017-01-17 08:58:24 -08:00
Alex Crichton
a2dd65a5a8 Bump to 0.2.19 2017-01-04 13:52:33 -08:00
Alex Crichton
93dbca015f Bump to 0.2.18 2016-12-02 12:57:44 -08:00
Alex Crichton
f75965646e Bump to 0.2.17 2016-10-14 21:59:09 -07:00
Alex Crichton
739edbc468 Use workspaces in this repo
Also cache on appveyor to speed up builds.
2016-10-08 17:26:56 -07:00
Alex Crichton
351df2ddef Bump to 0.2.16 2016-09-08 15:01:24 -07:00
Alex Crichton
6c18f30543 Bump to 0.2.15 2016-08-04 08:19:48 -07:00
Alex Crichton
1f946a018a Bump to 0.2.14 2016-07-11 09:04:28 -07:00
Alex Crichton
760dd0b6dc Bump to 0.2.13 2016-06-28 10:02:55 -07:00
Alex Crichton
91c5dbf579 Bump to 0.2.12 2016-06-10 05:19:19 -07:00
Alex Crichton
959c6ab21b Bump to 0.2.11 2016-05-03 09:39:11 -07:00