Closed dicej closed 10 years ago
@dicej, please, explain, are you going to merge the upstream version of libcore to our repository soon? Or you want us to help you with that? What's the plan? Actually I want this to happen very much cause my project is based on Avian with Android classpath at most...
And the other thing - there are some additional repositories (openssl, libnativehelper nd so on...) are they to be updated too?
We (me and @JustAMan) have done a lot of work making libcore compatible with Windows and Avian and we are very interested in the evolution of it ;)
@bigfatbrowncat, yes, I was planning to contact you and @JustAMan about this. Thanks for reminding me :)
The libcore merge is available in the upstream-merge branch of android-libcore64: https://github.com/dicej/android-libcore64/tree/upstream-merge, and I've updated Avian's README.md with new commit hashes for the dependencies (e.g. libnativehelper, system/core). Note that the conscrypt library (which used to be part of libcore) has been moved to its own repository; README.md has instructions for cloning it and selecting a compatible commit.
There were several conflicts in the merge; I tried to make sure the Windows patches were preserved, but haven't tested on Windows yet. Please give it a try when you have a chance.
Meanwhile, I'm seeing a bug in my test app when using SSL -- I'll be debugging that today. All the Avian tests pass, though (on Linux).
Great. We'll take a look at this A.S.A.P.
By the way, are you interested in https://github.com/bigfatbrowncat/avian-pack? All Android repos are connected as submodules with initially correct versions. For example, https://github.com/bigfatbrowncat/avian-pack.android.libcore is the libcore itself.
I made this package to simplify the building process. And now I'll update it. Maybe you would like to fork it after the update?
Yeah, avian-pack looks cool -- I'll try it out.
I'm closing this for now. Looks like Mac needs some work (and Windows I'm sure, though I haven't tried that yet), which I don't have time to work on right now. I'll reopen post-1.1.
We managed to build everything on OS X and Windows. On OS X it should work (actually almost no problems issued), on Windows there are some new POSIX functions that are not implemented yet and should be analyzed.
\ Please don't merge this until after v1.1 is tagged **
Lots has changed since we forked Android's libcore, so merging the latest upstream code has required extensive changes to the Avian/Android port.
One big change is that we now use Avian's versions of java.lang.Object, java.lang.Class, java.lang.ClassLoader, some java.lang.reflect.* classes, etc. instead of the Android versions. The main reason is that the Android versions have become very Dex/Dalvik-specific, and since Avian is based on Java class files, not dex archives, that code doesn't make sense here. This has the side benefit that we can share more native code with classpath-avian.cpp and reduce the amount of Java/C++ code duplication.