Skip to content

Commit

Permalink
Merge pull request #273 from ijl/arm
Browse files Browse the repository at this point in the history
Support arm7l, aarch64 architectures and manylinux2014 tag
  • Loading branch information
konstin authored Mar 2, 2020
2 parents d792f01 + 89ad229 commit 7d3d6ad
Show file tree
Hide file tree
Showing 5 changed files with 134 additions and 111 deletions.
7 changes: 0 additions & 7 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ sha2 = "0.8.0"
shlex = "0.1.1"
structopt = "0.3.5"
tar = "0.4.26"
target_info = "0.1.0"
tempfile = "3.1.0"
toml = "0.5.5"
walkdir = "2.2.8"
Expand Down
74 changes: 39 additions & 35 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ pyo3 will set the used python interpreter in the environment variable `PYTHON_SY

Cffi wheels are compatible with all python versions, but they need to have `cffi` installed for the python used for building (`pip install cffi`).

maturin will utilize cbindgen to generate a header file. To customize the header file you can either configure cbindgen through a cbindgen.toml file inside your project root or write a setup a build script which writes a header file to `$PROJECT_ROOT/target/header.h`.
maturin will utilize cbindgen to generate a header file. To customize the header file you can either configure cbindgen through a cbindgen.toml file inside your project root or write a setup a build script which writes a header file to `$PROJECT_ROOT/target/header.h`.

Based on this header file maturin generates a module which exports an `ffi` and a `lib` object.

Expand Down Expand Up @@ -178,22 +178,22 @@ maturin can build wheels for pypy with pyo3. Note that pypy [is not compatible w

```
FLAGS:
-h, --help
-h, --help
Prints help information
--no-sdist
--no-sdist
Don't build a source distribution
--release
--release
Pass --release to cargo
--skip-auditwheel
--skip-auditwheel
[deprecated, use --manylinux instead] Don't check for manylinux compliance
--strip
--strip
Strip the library for minimum file size
-V, --version
-V, --version
Prints version information
Expand All @@ -203,56 +203,58 @@ OPTIONS:
--cargo-extra-args <cargo-extra-args>...
Extra arguments that will be passed to cargo as `cargo rustc [...] [arg1] [arg2] --`
Use as `--cargo-extra-args="--my-arg"`
-i, --interpreter <interpreter>...
The python versions to build wheels for, given as the names of the interpreters. Uses autodiscovery if not
explicitly set.
--manylinux <manylinux>
Control the platform tag on linux.
- `1`: Use the manylinux1 tag and check for compliance
- `1-unchecked`: Use the manylinux1 tag without checking for compliance
- `2010`: Use the manylinux2010 tag and check for compliance
- `2010-unchecked`: Use the manylinux1 tag without checking for compliance
- `2010-unchecked`: Use the manylinux2010 tag without checking for compliance
- `2014`: Use the manylinux2014 tag and check for compliance
- `2014-unchecked`: Use the manylinux2014 tag without checking for compliance
- `off`: Use the native linux tag (off)
This option is ignored on all non-linux platforms [default: 1] [possible values: 1, 1-unchecked, 2010,
2010-unchecked, off]
-o, --out <out>
The directory to store the built wheels in. Defaults to a new "wheels" directory in the project's target
directory
-m, --manifest-path <path>
-m, --manifest-path <path>
The path to the Cargo.toml [default: Cargo.toml]
--rustc-extra-args <rustc-extra-args>...
Extra arguments that will be passed to rustc as `cargo rustc [...] -- [arg1] [arg2]`
Use as `--rustc-extra-args="--my-arg"`
--target <triple>
--target <triple>
The --target option for cargo
```

### Publish

```
FLAGS:
--debug
--debug
Do not pass --release to cargo
-h, --help
-h, --help
Prints help information
--no-sdist
--no-sdist
Don't build a source distribution
--no-strip
--no-strip
Strip the library for minimum file size
--skip-auditwheel
--skip-auditwheel
[deprecated, use --manylinux instead] Don't check for manylinux compliance
-V, --version
-V, --version
Prints version information
Expand All @@ -262,59 +264,61 @@ OPTIONS:
--cargo-extra-args <cargo-extra-args>...
Extra arguments that will be passed to cargo as `cargo rustc [...] [arg1] [arg2] --`
Use as `--cargo-extra-args="--my-arg"`
-i, --interpreter <interpreter>...
The python versions to build wheels for, given as the names of the interpreters. Uses autodiscovery if not
explicitly set.
--manylinux <manylinux>
Control the platform tag on linux.
- `1`: Use the manylinux1 tag and check for compliance
- `1-unchecked`: Use the manylinux1 tag without checking for compliance
- `2010`: Use the manylinux2010 tag and check for compliance
- `2010-unchecked`: Use the manylinux1 tag without checking for compliance
- `2014`: Use the manylinux2010 tag and check for compliance
- `2014-unchecked`: Use the manylinux1 tag without checking for compliance
- `off`: Use the native linux tag (off)
This option is ignored on all non-linux platforms [default: 1] [possible values: 1, 1-unchecked, 2010,
2010-unchecked, off]
2010-unchecked, 2014, 2014-unchecked, off]
-o, --out <out>
The directory to store the built wheels in. Defaults to a new "wheels" directory in the project's target
directory
-p, --password <password>
Password for pypi or your custom registry. Note that you can also pass the password through MATURIN_PASSWORD
-m, --manifest-path <path>
-m, --manifest-path <path>
The path to the Cargo.toml [default: Cargo.toml]
-r, --repository-url <registry>
The url of registry where the wheels are uploaded to [default: https://upload.pypi.org/legacy/]
--rustc-extra-args <rustc-extra-args>...
Extra arguments that will be passed to rustc as `cargo rustc [...] -- [arg1] [arg2]`
Use as `--rustc-extra-args="--my-arg"`
--target <triple>
--target <triple>
The --target option for cargo
-u, --username <username>
-u, --username <username>
Username for pypi or your custom registry
```

### Develop

```
FLAGS:
-h, --help
-h, --help
Prints help information
--release
--release
Pass --release to cargo
--strip
--strip
Strip the library for minimum file size
-V, --version
-V, --version
Prints version information
Expand All @@ -324,14 +328,14 @@ OPTIONS:
--cargo-extra-args <cargo-extra-args>...
Extra arguments that will be passed to cargo as `cargo rustc [...] [arg1] [arg2] --`
Use as `--cargo-extra-args="--my-arg"`
-m, --manifest-path <manifest-path>
-m, --manifest-path <manifest-path>
The path to the Cargo.toml [default: Cargo.toml]
--rustc-extra-args <rustc-extra-args>...
Extra arguments that will be passed to rustc as `cargo rustc [...] -- [arg1] [arg2]`
Use as `--rustc-extra-args="--my-arg"`
```

Expand Down
6 changes: 4 additions & 2 deletions src/build_options.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,15 @@ pub struct BuildOptions {
/// - `1`: Use the manylinux1 tag and check for compliance{n}
/// - `1-unchecked`: Use the manylinux1 tag without checking for compliance{n}
/// - `2010`: Use the manylinux2010 tag and check for compliance{n}
/// - `2010-unchecked`: Use the manylinux1 tag without checking for compliance{n}
/// - `2010-unchecked`: Use the manylinux2010 tag without checking for compliance{n}
/// - `2014`: Use the manylinux2010 tag and check for compliance{n}
/// - `2014-unchecked`: Use the manylinux2014 tag without checking for compliance{n}
/// - `off`: Use the native linux tag (off)
///
/// This option is ignored on all non-linux platforms
#[structopt(
long,
possible_values = &["1", "1-unchecked", "2010", "2010-unchecked", "off"],
possible_values = &["1", "1-unchecked", "2010", "2010-unchecked", "2014", "2014-unchecked", "off"],
case_insensitive = true,
default_value = "1"
)]
Expand Down
Loading

0 comments on commit 7d3d6ad

Please sign in to comment.