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

Support multiple architectures #6

Open
wants to merge 27 commits into
base: master
Choose a base branch
from
Open

Conversation

gotson
Copy link

@gotson gotson commented Jul 31, 2020

This PR would address #5

I added some Travis tests for multiple versions of MacOS, as well as Linux on ARM64. Other architectures like Linux 32bits or ARM 32bits are not available. This could be worked out with docker maybe.

Changed the JNI loader to use the same one as in https://github.com/xerial/sqlite-jdbc. It supports more CPU architectures than the current loader, and also handles versioning of the temp file, and cleanup on JVM exit.

Reworked the CMake project to remove the dependency on JNI, which would require to have Java on the build machines, while all that is really needed are the JNI headers.

The cross-compilation of libwebp can be done using https://github.com/dockcross/dockcross for most of the architectures, except for Mac which uses https://github.com/multiarch/crossbuild. I added a bash script to compile all the architectures, which will copy everything in the resources folder after building.

@ediweissmann
Copy link
Contributor

Thank you! I'll try to have a look at this as soon as possible.

@gotson
Copy link
Author

gotson commented Jul 31, 2020

There might be a few things to leave out, I had to change the maven setup to make it work on my machine. I don't have a toolchain installed so I commented that out.

You can try to build the images on your machine by using the compile-all.sh. Hopefully it works on your machine too!

@gotson
Copy link
Author

gotson commented Aug 24, 2020

Hi @ediweissmann, did you had time to look at this PR by any chance ?

My application has some performance issues with the current plain java webp reader, which would be solved by using your library, but it requires support for more architectures than currently supported.

Let me know if you need some help understanding what i did, or how i did it, or if you require some changes on the way it's integrated.

@pbi-qfs pbi-qfs mentioned this pull request Sep 2, 2020
@chelming
Copy link

@ediweissmann @pepijnve any updates on getting this merged?

@lambdaupb
Copy link

@gotson

My application has some performance issues with the current plain java webp reader

Is that plain java library open source? I have a edge case use-case and would prefer a plain java lib.

Thanks in advance!

@gotson
Copy link
Author

gotson commented Jan 5, 2021

@gotson

My application has some performance issues with the current plain java webp reader

Is that plain java library open source? I have a edge case use-case and would prefer a plain java lib.

Thanks in advance!

A bit off-topic, but yes, i'm using this: https://sourceforge.net/projects/javavp8decoder/files/imageIO%20Plugin/

@Ali-RS
Copy link

Ali-RS commented Jun 1, 2021

Hi @gotson

If you have the jar and prebuilt natives for this PR, would you mind uploading them here?

Regards

@gotson
Copy link
Author

gotson commented Jun 1, 2021

Hi @gotson

If you have the jar and prebuilt natives for this PR, would you mind uploading them here?

Regards

They are available in Maven Central: https://search.maven.org/artifact/com.github.gotson/webp-imageio/0.2.1/jar

@Ali-RS
Copy link

Ali-RS commented Jun 2, 2021

Thanks :)

@Ali-RS
Copy link

Ali-RS commented Dec 10, 2021

Hi @gotson, any chance for adding Mac ARM64 architecture?

@gotson
Copy link
Author

gotson commented Dec 10, 2021

Hi @gotson, any chance for adding Mac ARM64 architecture?

Unlikely. There's no support using Docker to cross compile for that, so the only way to do so is by using a physical Mac, which I don't own.

@Ali-RS
Copy link

Ali-RS commented Dec 10, 2021

I see, thank you.

@Apprisco
Copy link

Apprisco commented Jan 8, 2022

hi @gotson, thank you so much for your PR and the maven central repository, I was pulling my hair out trying to compile this library for arm64.

@tuta23
Copy link

tuta23 commented Feb 8, 2022

Does this PR solve the ARM64 issue?

@gotson
Copy link
Author

gotson commented Feb 9, 2022

Does this PR solve the ARM64 issue?

For linux only

@viakunin
Copy link

I've opened the PR with the missing MacOS AArch64 binary here - gotson#1

joostoudeman pushed a commit to joostoudeman/webp-imageio that referenced this pull request Jun 16, 2023
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.

8 participants