summaryrefslogtreecommitdiff
path: root/README.md
Commit message (Collapse)AuthorAgeFilesLines
* README.md: Clarify (lack of) MSRV policyJosh Triplett2022-07-261-1/+3
| | | | | | MSRV policy is still being discussed on an ongoing basis in https://github.com/rust-lang/libs-team/issues/72 . In the interim, clarify in README that libc doesn't currently have an MSRV policy.
* Enable `libc_const_extern_fn` implicitly from Rust 1.62Yuki Okushi2022-06-081-1/+3
|
* Replace all mentions about Pipelines with GHAYuki Okushi2021-01-281-1/+1
|
* Replace CI badgeYuki Okushi2020-10-151-3/+3
|
* Fix more typosDavid Stroud2020-09-301-1/+1
| | | | There was a missing period and the word "features" instead of "feature" in the section about `const extern fn`s.
* Fix typoDavid Stroud2020-09-301-1/+1
| | | | In the `no-std` section of the README, there was a typo: "disable this feature remove the dependency". The word "to" was added in this commit to create "disable this feature to remove this dependency".
* Add DevkitPPC supportDark Kirb2020-08-051-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DevkitPPC does not support unix sockets natively, meaning that bindings to these functions was removed for powerpc targets with "nintendo" as vendor. Suggested target json files: Nintendo Gamecube: ``` { "arch": "powerpc", "data-layout": "E-m:e-p:32:32-i64:64-n32", "dynamic-linking": false, "env": "newlib", "executables": true, "has-elf-tls": false, "has-rpath": true, "linker-flavor": "gcc", "llvm-target": "powerpc-eabi", "max-atomic-width": 32, "os": "dolphin", "target-c-int-width": "32", "target-endian": "big", "target-family": "unix", "target-mcount": "_mcount", "target-pointer-width": "32", "vendor": "nintendo" } ``` Nintendo Wii: ``` { "arch": "powerpc", "data-layout": "E-m:e-p:32:32-i64:64-n32", "dynamic-linking": false, "env": "newlib", "executables": true, "has-elf-tls": false, "has-rpath": true, "linker-flavor": "gcc", "llvm-target": "powerpc-eabi", "max-atomic-width": 32, "os": "revolution", "target-c-int-width": "32", "target-endian": "big", "target-family": "unix", "target-mcount": "_mcount", "target-pointer-width": "32", "vendor": "nintendo" } ```
* Tweak building documentationYuki Okushi2020-07-081-3/+3
|
* Put index.html using unstable rustdoc featuresYuki Okushi2020-07-081-3/+2
|
* Fix pipelines badge on READMEYuki Okushi2020-03-111-1/+1
|
* Auto merge of #1536 - Aaron1011:feature/const-fn, r=gnzlbgbors2019-11-181-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add support for making functions `const` PR https://github.com/rust-lang/rust/pull/64906 adds the ability to write `const extern fn` and `const unsafe extern fn`, which will allow manys functions in `libc` to become `const`. This is particuarly useful for functions which correspond to C macros (e.g. `CMSG_SPACE`). In C, these macros are constant expressions, allowing them to be used when declaring arrays. However, since the corresponding `libc` functions are not `const`, writing equivalent Rust code is impossible. Users must either perform an unecessary heap allocation, or pull in `bindgen` to evaluate the macro for specific values (e.g. `CMSG_SPACE(1)`). However, the syntax `const extern fn` is not currently parsed by rust. To allow libc to use this without breaking backwards compatibility (i.e. bumping the minimum Rust version), I've taken the following approach: 1. A new off-by-default feature `extern-const-fn` is added to `libc`. 2. The internal `f!` macro has two versions, selected at compile-time by a `cfg_if`. When `extern-const-fn` is enabled, the declared `f!` macro passes through the `const` keyword from the macro user to the final definition (`pub const unsafe extern fn foo`. When `extern-const-fn` is disabled, the `const` keyword passed by the macro user is discarded, resulting in a plain `pub extern const fn` being declared. Unfortunately, I couldn't manage to get `macro_rules` to accept a normal `const` token in the proper place (after `pub`). I had to resort to placing it in curly brackets: ```rust pub {const} fn foo(val: u8) -> i8 { } ``` The `f!` macro then translates this to a function definition with `const` in the proper position. I'd appreciate it if someone who's more familiar with `macro_rules!` could see if I missed a way to get the desired syntax.
| * Add support for declaring 'const fn'Aaron Hill2019-10-271-0/+3
| | | | | | | | | | Add a new feature to enable this, since `const extern fn` support is unstable
* | Readme updatesAlex Touchet2019-10-171-9/+9
|/
* Remove broken linkgnzlbg2019-10-171-1/+1
|
* Update README Azure badge to rust-lang2 orggnzlbg2019-08-121-2/+2
|
* Remove Appveyorgnzlbg2019-07-271-5/+3
|
* Setup Azure Pipelinesgnzlbg2019-07-271-1/+1
|
* Fix link in README.mdJonathan Behrens2019-06-281-1/+1
|
* Deprecate `use_std` cargo feature: use `std` instead .gnzlbg2019-05-241-1/+3
| | | | Related to #657 .
* Fix broken links in READMEgnzlbg2019-02-211-5/+7
|
* Fix typo in README; do not generate .nojekyll file in gh-pages branchgnzlbg2019-02-211-1/+1
|
* Generate a proper landing page for the master docsgnzlbg2019-02-131-166/+72
|
* Fix license badgeArnav Borborah2019-02-081-1/+1
|
* Align Rust-version support table of the READMEgnzlbg2019-02-071-4/+4
|
* Document platform support in the READMEgnzlbg2019-02-071-1/+13
|
* Implement Hash for all typesBryant Mairs2019-02-021-2/+3
|
* Implement Debug for all typesBryant Mairs2019-02-021-2/+2
|
* Implement PartialEq,Eq for all typesBryant Mairs2019-02-021-0/+9
|
* Test out new bors integrationAlex Crichton2019-01-021-1/+0
| | | | See if it works with Cirrus CI!
* [skip ci] Add a Cirrus-ci.com build badgeAlan Somers2019-01-011-0/+1
| | | | Reported-by: Alex Zepeda
* Use crates.io keywords and categoriesgnzlbg2018-11-221-1/+1
| | | | Closes #651 .
* Factor out platforms for which libc is emptygnzlbg2018-11-201-2/+1
|
* Describe the align feature in the readmeLinus Färnstrand2018-07-301-0/+10
|
* added badgesBC Ko2018-06-301-1/+3
| | | added Documentation, Latest Version, License badges similar to rand crate. https://crates.io/crates/rand
* fix README.md linksTrevor Spiteri2018-04-211-21/+21
|
* Edit documentationbgermann2018-03-101-1/+4
| | | | | Add sparc64-unknown-linux-gnu and x86_64-sun-solaris. Remove aarch64-unknown-linux-musl.
* Add support for aarch64-unknown-linux-muslTom Kirchner2017-09-251-0/+3
| | | | | Signed-off-by: Tom Kirchner <tjk@amazon.com> Signed-off-by: Ben Cressey <bcressey@amazon.com>
* Add more fcntl and seal constants for Android/LinuxBryant Mairs2017-08-201-1/+1
| | | | | | | | | | | | We now create an additional binary `linux_fcntl` for testing this since there are header conflicts when including all necessary headers. This binary is run on all platforms even though it's empty on all non- Android/non-Linux platforms. Testing has been switched from a custom binary to using a runner-less test (or pair of tests). This means that for local development a simple `cd libc-test && cargo test` will run all the tests. CI has also been updated here to reflect that.
* Add instructions of how to make a releaseAlex Crichton2017-04-261-0/+19
| | | | Anyone can do it!
* Fixup target triple nameKevin Brothaler2017-01-171-1/+1
|
* Fix appveyor badge.Corey Farwell2016-11-261-1/+1
|
* Add support for Haiku x86 and x86_64Niels Sascha Reedijk2016-09-291-0/+2
| | | | | * Rework of original patches from Niels Sascha Reedijk that include style and build fixes for libc master
* Explain about the automated tests on TravisKai Noda2016-04-271-0/+10
| | | | | | | | | in order to advise contributors to locally test their patches. Also update ctest to include a fix on rerun-if-changed so that human developers doing trial & error can properly test their latest code. Signed-off-by: NODA, Kai <nodakai@gmail.com>
* Remove iOS doc links from READMEA.J. Gardner2016-04-021-3/+2
|
* Update links in README for transition to rust-langAlex Crichton2016-02-111-22/+22
|
* Add a default-on "use_std" featureAlex Crichton2016-02-101-0/+9
| | | | | | | | This adds a `use_std` Cargo feature which disables `#![no_std]` builds of libc, but is enabled by default. The library will currently continue to link to the standard library to maintain backwards compatibility with the 0.2 series and older Rust compilers for now, but this default can possible be changed in the future.
* Linkify more docs, add more tested triplesAlex Crichton2016-01-221-5/+6
| | | | Now we're testing rumprun, openbsd, and freebsd
* Bump to 0.2.00.2.0Alex Crichton2015-11-031-1/+1
|
* Update AppVeyor URLAlex Crichton2015-10-291-1/+1
|
* Not releasing 1.0 yetAlex Crichton2015-10-291-1/+1
|