Commit Graph

471 Commits

Author SHA1 Message Date
Joel Dice
07e3294937 use rpath=$ORIGIN instead of LD_LIBRARY_PATH
Hi

If libjvm.so is in the same directory as avian-dynamic, then there's
no need for LD_LIBRARY_PATH to include that directory, we can just set
the rpath in avian-dynamic to $ORIGIN when linking it. Working patch
attached.

Regards
Damjan
2013-02-08 09:34:26 -07:00
Joel Dice
75f5921b3e revert accidental makefile change 2013-01-26 20:07:18 -07:00
Joel Dice
dec2095c63 fix openjdk bootimage cross builds
We need to extract the OpenJDK classes into the build classpath
directory for the target platform before running the
bootimage-generator, or else it won't be able to find the classes.
2013-01-26 18:01:34 -07:00
Joel Dice
f79f320859 fix MSVC build regression 2012-12-05 17:17:29 -07:00
Joel Dice
36aa74316a fix Windows cross-compile build 2012-12-04 17:37:02 -07:00
Carsten Elton Sorensen
571cc6a85e Added new embed utility for Windows 2012-11-13 09:11:49 +01:00
Joel Dice
a3c4b60f43 rename package avian.avian_vm_resource to avian.avianvmresource
This package name must match the URL protocol we use for loading
embedded resources, but OpenJDK's URL class won't tolerate underscores
in a protocol name.  Also, I had not updated the names of the native
methods in avian.avianvmresource.Handler, leading to
UnsatisfiedLinkErrors when they were called.
2012-10-06 15:33:24 -06:00
Joel Dice
16c526b775 fix OS X 10.8 and iOS 6.0 builds
This also adds support for Clang ARM builds, which involved removing
unused functions from arm.cpp to avoid link-time warnings.
2012-10-03 13:36:51 -06:00
Joel Dice
d3b32ecffd Merge branch 'openjdk-version' of https://github.com/xranby/avian 2012-09-05 12:38:42 -06:00
Xerxes Rånby
db0c14d742 Set java.vm.info based on makefile info= and
set java.vm.version based on makefile version=
in order to display relevant OpenJDK -version information.

Signed-off-by: Matthias Klose <doko@ubuntu.com>
Signed-off-by: Xerxes Rånby <xerxes@zafena.se>
2012-09-05 15:30:49 +02:00
Xerxes Rånby
d88a33329a Add a non-versioned SONAME to Avian libjvm.so that
matches the Hotspot Server/Client libjvm.so SONAME,
this allow libjava.so in OpenJDK 7 to find the Avian libjvm.so during ldopen.
2012-09-05 10:29:12 +02:00
Joel Dice
38454ce7d4 fix MSVC build of test JNI library 2012-08-15 17:43:45 -06:00
Joel Dice
b325221579 rename "resource" URL protocol to "avian_vm_resource"
This fixes a problem with JOSM, which attaches its own meaning to the
"resource" protocol.  The new name is less likely to cause such
conflicts.
2012-08-11 19:01:32 -06:00
Joel Dice
021590af05 fix JNI test for openjdk-src build 2012-08-04 18:50:43 -06:00
Joel Dice
2fb2fd9bb0 put test library in same directory as avian executable
This is a workaround for the fact that there's no precise equivalent
to LD_LIBRARY_PATH available on Windows.
2012-08-02 13:00:00 -06:00
Joel Dice
296a1e5bab use so-prefix and so-suffix to generate test library name
This fixes the JNI test for Windows and OS X.
2012-08-02 12:47:48 -06:00
Joel Dice
f03e5e8e55 clean up binary format code
Linux, FreeBSD, and QNX all use ELF, so no need to distinguish between
them when generating object files.  To avoid confusion, I've switch
from using operating system names to using binary format names where
applicable.
2012-08-02 12:39:24 -06:00
Joel Dice
3a1343fb06 add support for FreeBSD on x86_64 2012-08-02 10:49:32 -06:00
Damjan Jovanovic
c1aa0b46b5 add support for FreeBSD 2012-08-02 10:41:41 -06:00
Joel Dice
57e318bbec revert accidentally-committed build-cc/build-cxx change 2012-08-02 10:41:43 -06:00
Joel Dice
67ec092e9a add JNI test to test suite 2012-08-01 16:04:12 +00:00
Joel Dice
4bafdf6286 add QNX ARM support
This is untested so far, since I haven't figured out how to install
the ARM port of QNX on QEMU.
2012-07-17 19:38:39 -06:00
Joel Dice
4237a19b68 add support for QNX on x86_32
All but one test is passing.  The failure is due to the fact that QNX
doesn't (in general) support calling fork(2) from a multithreaded
process.  Thus, we'll need to use spawn instead of fork/exec on QNX,
which I'll attempt in a later commit.

http://www.qnx.com/developers/docs/6.4.1/neutrino/getting_started/s1_procs.html
2012-07-17 18:21:17 -06:00
Joel Dice
8706b6ad4a fall back to x86_64-w64-mingw32 compiler for 32-bit Windows builds if i686-w64-mingw32 compiler not found
A multilib-capable x86_64-w64-mingw32 compiler should work just fine,
but since we don't know if it's mutilib or not, we try the
i686-w64-mingw32 version first.
2012-07-06 11:21:53 -06:00
Joel Dice
d21b09215f use i686-w64-mingw32- prefix for ia32 Windows cross compiles
Using e.g. x86_64-w64-mingw32-gcc -m32 doesn't quite work at link time
when using Debian Wheezy's gcc-mingw-w64 package, due to the 32-bit
system libraries not being in the search path, so we use
i686-w64-mingw32-gcc instead.
2012-07-02 10:51:32 -06:00
Joshua Warner
fe1f069309 abort on startup if Thread field offset constants don't match the real runtime values 2012-06-20 13:16:08 -06:00
Joel Dice
165986841e fix endianess bug in LZMA decoding 2012-06-06 12:58:24 -06:00
Joel Dice
7d8def84e0 fix build on old Xcode versions 2012-06-04 09:52:06 -06:00
Joel Dice
9ea6a28383 fix MSVC build regression 2012-06-04 09:51:11 -06:00
Joel Dice
9520b03333 fix OS X build regressions 2012-06-02 18:56:07 -06:00
Joel Dice
d61501453f add support for LZMA on Windows 2012-06-02 15:43:42 -06:00
Joel Dice
f07a8c7ec4 make LZMA encoder by default 2012-06-02 13:23:52 -06:00
Joel Dice
5d9f7b2bc3 add optional LZMA support for compressing embedded JARs, boot images, and shared objects 2012-06-02 09:06:22 -06:00
Joel Dice
bd7ef24734 pass -std=c++11 to Clang for C++ code 2012-06-01 17:57:42 -06:00
Joel Dice
879df617df add use-clang option for building with LLVM Clang instead of GCC
This also fixes several errors and warnings emitted by Clang.
2012-06-01 17:43:42 -06:00
Mike Keesey
a5c9dd6f24 Fixing some issues with runtime annotations within avian.
We were not properly converting dots to slashes internally for package names
and we did not properly handle Method.getAnnotations and
Method.getAnnotation(Class<T>) on methods without any annotations.

Added some tests to cover these cases.
2012-05-22 14:02:51 -06:00
Joel Dice
f0152f1d33 Merge branch 'jdk7' 2012-05-11 16:41:18 -06:00
Joshua Warner
3dcf886bbe allow passing bootimage / codeimage start and end symbol names to the bootimage-generator
The usage statement for the bootimage-generator now looks like this:
build/linux-x86_64-bootimage/bootimage-generator \
  -cp <classpath> \
  -bootimage <bootimage file> \
  -codeimage <codeimage file> \
  [-entry <class name>[.<method name>[<method spec>]]] \
  [-bootimage-symbols <start symbol name>:<end symbol name>] \
  [-codeimage-symbols <start symbol name>:<end symbol name>]
2012-05-10 14:49:59 -06:00
Joel Dice
19de383aae Merge branch 'master' into jdk7
Conflicts:
	makefile
2012-05-04 11:33:16 -06:00
Joshua Warner
8c0ef382f8 write out bootimage directly from the bootimage-generator, eliminating one of the steps in a custom bootimage build 2012-05-03 12:04:34 -06:00
Joshua Warner
1b5f37c9de correctly define the target platform in the case of a bootimage build 2012-05-03 10:13:56 -06:00
Joshua Warner
d76807d9e0 add back pointer-size assignment in makefile for i386 (accidentally removed) 2012-05-03 10:13:56 -06:00
Joshua Warner
132af5f70e fix windows build 2012-05-03 10:13:56 -06:00
Joshua Warner
b742c58055 directly emit codeimage as a object (binaryToObject is statically linked in), as a stepping stone to including extra symbols in said codeimage 2012-05-03 10:13:55 -06:00
Joshua Warner
2fa7fa0e83 correct bootimage dependency chain 2012-05-03 10:13:55 -06:00
Joel Dice
20a0823a74 Merge remote-tracking branch 'origin/master' into jdk7 2012-05-02 11:44:24 -06:00
Joshua Warner
661f6c28a8 refactor binaryToObject to allow more flexibilty (in particular, allowing arbitrary symbols per object) 2012-04-27 12:08:44 -06:00
Joshua Warner
a9ba4782ef improve build for binaryToObject 2012-04-25 09:13:04 -06:00
Joshua Warner
9c308f751c refactor binaryToObject, to better support (eventually) putting symbols for compiled code in objects 2012-04-24 16:17:52 -06:00
Joel Dice
616c08fee9 Merge remote branch 'oss/master' into jdk7
Conflicts:
	makefile
2012-04-10 07:53:00 -06:00