ReadyTalk / avian

[INACTIVE] Avian is a lightweight virtual machine and class library designed to provide a useful subset of Java's features, suitable for building self-contained applications.
https://readytalk.github.io/avian/
Other
1.22k stars 173 forks source link

Some small tunes for avian-pack #435

Closed bigfatbrowncat closed 9 years ago

bigfatbrowncat commented 9 years ago

I'm going to release avian-pack (a stable version with Avian 1.2.0 included). So I want to synchronize my build script with your.

Changes:

  1. I had to remove -Werror everywhere. Unfortunately, some of checks in the code generate warnings on OS X (for example, clang doesn't like check "this == 0"), that leaded to a build failure.
  2. I changed javac options that it could compile all the files well (I had some problems without that). This doesn't change the result, just a build tool tuning.
  3. I added special options to link statically against pthread on Windows cause avian.exe shouldn't have any external dependencies. As I understand, MinGW uses non-GPL pthread implementation. Actually, improved version of this one: http://locklessinc.com/downloads/winpthreads.h, so no legal issues could apply. If I'm not right, please, explain, why.

P.S. As soon as I support the "official" Avian + Android classpath version, would you like to put a download link for my binaries (which I'll make right after you accept this pull request) on your site?

Thank you anyway.

joshuawarner32 commented 9 years ago

A few things:

joshuawarner32 commented 9 years ago

One more thing: it looks like you're unconditionally linking pthreads on windows. IIRC, that should only be necessary for the android classpath (not avian or openjdk classpaths). Can you make that option specific to building avian+android+windows?

Lastly, once we figure out the rest of the issues, could you force-push a new version of these changes, squashed into a single commit (or small handful, as appropriate)?

bigfatbrowncat commented 9 years ago

Agreed about pthread.

About squashing - that would not be easy cause I did some merges in my repo...

joshuawarner32 commented 9 years ago

@bigfatbrowncat - worst case, squashing can be made really easy with diff/apply, like this:

git checkout upstream/master
git pull
git checkout -b avian-pack-a
git merge avian-pack
git checkout upstream/master
git checkout -b avian-pack-b
git diff avian-pack-a..upstream/master | git apply
git push -f origin avian-pack-b:avian-pack # Or however else you want to mange your branches.
joshuawarner32 commented 9 years ago

Looks good to me. Can you squash the commits?

bigfatbrowncat commented 9 years ago

Closing this request and opening a new one.