Commit Graph

32 Commits

Author SHA1 Message Date
Joel Dice
7df56328d9 update README.md to indicate ARM64 support 2014-12-31 10:22:35 -07:00
Joshua Warner
2e828b405c fix darwin embedding instructions in README.md 2014-10-20 13:30:07 -06:00
Joel Dice
5119c81d7d update README.md to reflect conscrypt fork 2014-09-18 11:53:53 -06:00
Joel Dice
7f4c0b3118 fix SSL stack and Android JAR resource loading 2014-08-22 07:20:19 -06:00
Joel Dice
b96cc3c575 update to more recent version of Android class library
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.
2014-08-21 13:42:49 -06:00
Joel Dice
ff78b05c59 fix crash in Posix_getaddrinfo for ProGuarded Android build
Posix_getaddrinfo needs to access fields in libcore.io.StructAddrinfo
via JNI, so we tell ProGuard to preserve them.

This commit also includes a minor indentation tweek in README.md and
removes -fno-rtti from lzma-build-cflags to avoid a warning from GCC.
2014-08-07 10:16:04 -06:00
Joshua Warner
857c155980 Merge pull request #313 from dicej/lzma-bootimage
fix LZMA/bootimage build
2014-07-28 09:49:08 -06:00
Joel Dice
a1e9315fa2 fix LZMA/bootimage build
This includes some tweaks to README.md and makefile to ensure the
directions in the former for building a bootimage actually work.
2014-07-28 09:19:39 -06:00
Joshua Warner
9981569440 update README with new build requirements (gcc 4.6, MSVC 11) 2014-07-24 10:09:29 -06:00
Joel Dice
2a43e68c16 fix all the bugs
So there I was, planning to just fix one little bug: Thread.holdsLock
and Thread.yield were missing for the Android class library.  Easy
enough, right?  So, I added a test, got it passing, and figured I'd go
ahead and run ci.sh with all three class libraries.  Big mistake.

Here's the stuff I found:

 * minor inconsistency in README.md about OpenSSL version

 * untested, broken Class.getEnclosingMethod (reported by Josh)

 * JNI test failed for tails=true Android build

 * Runtime.nativeExit missing for Android build

 * obsolete assertion in CallEvent broke tails=true Android build

 * obsolete superclass field offset padding broke bootimage=true Android build

 * runtime annotation parsing broke bootimage=true Android build
   (because we couldn't modify Addendum.annotationTable for classes in
   the heap image)

 * ci.sh tried building with both android=... and openjdk=..., which
   the makefile rightfully balked at

Sorry this is all in a single commit; I didn't expect so many
unrelated issues, and I'm too lazy to break them apart.
2014-07-12 16:57:24 -06:00
Joel Dice
5d3c612d0e fix JNIEnv::FindClass calls from JNI_OnLoad for all supported class libraries
This also fixes the some Android build rot and updates the version of
OpenSSL used.
2014-07-01 10:53:26 -06:00
Joshua Warner
23f4e4cc71 update README.md with darwin->{macosx,ios} rename 2014-06-23 08:19:55 -06:00
Joshua Warner
41adb74eb1 remove powerpc support 2014-04-29 13:26:40 -06:00
Joel Dice
076cdc7cc8 update "Quick Start" examples in README.md
It's safer to assume developers are using x86_64 rather than x86_32
these days, and JAVA_HOME should be defined as
$(/usr/libexec/java_home) on OS X.
2014-04-16 08:36:21 -06:00
Joel Dice
2689ec79a3 add "-lIphlpapi" to embedding example link command
This is needed to allow the link to succeed when doing an openjdk-src
build on Windows.
2014-02-24 08:37:42 -07:00
Joel Dice
66bd7e0814 use "lzma." prefix for LZMA-compressed embedded jars
Previously, we used "lzma:", which worked fine on Windows (where the
path separator is ";") but not on Unix-style OSes (where the path
separator is ":").  In the latter case, the VM would parse
"[lzma:bootJar]" as a path containing two elements, "[lzma" and
"bootJar]", which is not what was intended.  So now we use "lzma." as
the prefix, which works on all OSes.
2014-01-18 19:41:43 -07:00
Joel Dice
2b1177039e use armv7 memory barriers by default
armv7 and later provide weaker cache coherency models than armv6 and
earlier, so we cannot just implement memory barriers as no-ops.  This
patch uses the DMB instruction (or the equivalent OS-provided barrier
function) to implement barriers.  This should fix concurrency issues
on newer chips such as the Apple A6 and A7.

If you still need to support ARMv6 devices, you should pass
"armv6=true" to make when building Avian.  Ideally, the VM would
detect what kind of CPU it was executing on at runtime and direct the
JIT compiler accordingly, but I don't know how to do that on ARM.
Patches are welcome, though!
2014-01-10 17:32:54 -07:00
Joel Dice
c0c2b75be1 change expat URL in README.md
Apparently we have readytalk.github.io set up to 301 redirect all URLs
to oss.readytalk.com, which confuses curl.  Rather than figure out how
to make curl do the right thing, I've just changed the URL to point to
oss.readytalk.com.
2013-07-31 15:17:24 -07:00
Joel Dice
82577d742f fix Android classpath build
Hopefully it will stay fixed this time, since we now specify commit
hashes for each dependency which are known to work.
2013-07-05 14:36:16 -06:00
Joel Dice
c5d2cb007c tweaks to prepare for 0.7 release 2013-07-02 14:39:20 -06:00
Edison
e07a1e2f57 FIX : To run embeded application, it complains for missing libgcc_s_dw2-1.dll and libstdc++-6.dll.(#60) 2013-06-15 19:04:29 +08:00
Joel Dice
64002319c5 use Android directory layout when accessing class library code
Per https://github.com/ReadyTalk/avian/issues/53, Avian should build
against a standard AOSP checkout, which means we should look for
subprojects in the directories the repo utility would place them.
2013-04-22 17:10:23 -06:00
Joel Dice
625c04e786 a few tweaks to fix the OS X Android class library build
With corresponding changes to libcore, all the tests are passing
except Datagrams, which fails with a NPE in
NetworkInterface.getNetworkInterfacesList due to OS X not having
/sys/class/net.  Porting that class to OS X looks like a non-trivial
task.
2013-02-28 10:15:10 -07:00
Joel Dice
b409bba318 link makefile.in to Makefile.in for Android fdlibm build 2013-02-28 08:17:16 -07:00
Joel Dice
d4a42c7a26 add Android class library instructions to README.md 2013-02-27 10:03:17 -07:00
Joel Dice
2c12c9b020 add note about OpenJDK build infrastructure available on GitHub 2013-02-25 10:38:37 -07:00
Joel Dice
4568ece4af add note about using an absolute path for the openjdk option 2013-02-14 08:36:45 -07:00
Damjan Jovanovic
3812d012a3 update documentation to indicate that LD_LIBRARY_PATH is not (always) needed 2013-02-12 11:05:34 -07:00
Joel Dice
ce9d7c35bb mention FreeBSD support in README.md
Courtesy of Damjan Jovanovic.
2013-02-06 07:54:04 -07:00
Terek Campbell
d53920a188 Edit README.md to work with ReadyTalk's Travis CI 2013-01-07 10:57:50 -07:00
terekcampbell
3010aa13a5 Updated README for Travis CI 2013-01-07 09:38:02 -07:00
Terek Campbell
cca7ade32e Changed the readme file to a Markdown file 2013-01-04 16:42:11 -07:00