Commit Graph

79 Commits

Author SHA1 Message Date
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
Alex Crichton
b302bed9d2 Bump to 0.2.10 2016-04-12 11:09:00 -07:00