Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: android builds #58

Merged
merged 6 commits into from
Jan 17, 2024
Merged

fix: android builds #58

merged 6 commits into from
Jan 17, 2024

Conversation

triniwiz
Copy link
Contributor

@triniwiz triniwiz commented Jan 7, 2024

No description provided.

@anonrig anonrig requested a review from d3lm January 7, 2024 01:20
Cargo.toml Outdated Show resolved Hide resolved
build.rs Outdated Show resolved Hide resolved
build.rs Outdated Show resolved Hide resolved
@anonrig
Copy link
Member

anonrig commented Jan 7, 2024

Can you run clippy as well?

Copy link
Contributor

@steveklabnik steveklabnik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a few comments on some minor things :)

build.rs Outdated
}
}

fn host_tag() -> String {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you only use this to interpolate into another String later; I would make this return &'static str and remove the to_string, saves you an allocation that you aren't using anyway.

} else if cfg!(target_os = "macos") {
"darwin-x86_64"
} else {
panic!("host os is not supported")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know much about android so it's hard for me to know if this is right or wrong, but I do know that sometimes I am frustrated by proactive checks like this, when I'm on a system that's close enough to one of these where things will still work, but don't specifically because of the check. that's only something you can really know though, and maybe you just wouldn't want to support those cases anyway.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Honestly not much can be done here as they only support macOS, Linux and Windows

build.rs Outdated
// There's a source.properties file in the ndk directory, which contains
let mut source_properties =
File::open(ndk_dir.join("source.properties")).expect("Couldn't open source.properties");
let mut buf = "".to_string();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a small style thing but I like String::new() here. does the exact same thing I just think it looks way cleaner.


let compiler = build.get_compiler();
// Note: it's possible to use Clang++ explicitly on Windows as well, so this check
// should be specifically for "is target compiler MSVC" and not "is target OS Windows".
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice

/// Get NDK major version from source.properties
fn ndk_major_version(ndk_dir: &Path) -> u32 {
// Capture version from the line with Pkg.Revision
let re = Regex::new(r"Pkg.Revision = (\d+)\.(\d+)\.(\d+)").unwrap();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is just simple enough that I wonder if you need to bring in a full regex implementation here, that being said, it is easier, but if you did the parsing yourself, i bet compile times would be faster. hard to say, to be honest, but I thought I'd mention it.

@anonrig anonrig merged commit 3d49fa0 into ada-url:main Jan 17, 2024
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants