mirror of
https://github.com/corda/corda.git
synced 2025-06-11 20:01:46 +00:00
fix MSVC build regressions
This commit is contained in:
@ -37,10 +37,12 @@
|
|||||||
# define OPEN_MASK O_BINARY
|
# define OPEN_MASK O_BINARY
|
||||||
|
|
||||||
# ifdef _MSC_VER
|
# ifdef _MSC_VER
|
||||||
# define S_ISREG(x) ((x) | _S_IFREG)
|
# define S_ISREG(x) ((x) & _S_IFREG)
|
||||||
# define S_ISDIR(x) ((x) | _S_IFDIR)
|
# define S_ISDIR(x) ((x) & _S_IFDIR)
|
||||||
# define S_IRUSR _S_IREAD
|
# define S_IRUSR _S_IREAD
|
||||||
# define S_IWUSR _S_IWRITE
|
# define S_IWUSR _S_IWRITE
|
||||||
|
# define W_OK 2
|
||||||
|
# define R_OK 4
|
||||||
# else
|
# else
|
||||||
# define OPEN _wopen
|
# define OPEN _wopen
|
||||||
# define CREAT _wcreat
|
# define CREAT _wcreat
|
||||||
|
3
makefile
3
makefile
@ -353,7 +353,8 @@ ifdef msvc
|
|||||||
ld = "$(msvc)/BIN/link.exe"
|
ld = "$(msvc)/BIN/link.exe"
|
||||||
mt = "mt.exe"
|
mt = "mt.exe"
|
||||||
cflags = -nologo -DAVIAN_VERSION=\"$(version)\" -D_JNI_IMPLEMENTATION_ \
|
cflags = -nologo -DAVIAN_VERSION=\"$(version)\" -D_JNI_IMPLEMENTATION_ \
|
||||||
-DUSE_ATOMIC_OPERATIONS \
|
-DUSE_ATOMIC_OPERATIONS -DAVIAN_JAVA_HOME=\"$(javahome)\" \
|
||||||
|
-DAVIAN_EMBED_PREFIX=\"$(embed-prefix)\" \
|
||||||
-Fd$(build)/$(name).pdb -I"$(zlib)/include" -I$(src) -I"$(build)" \
|
-Fd$(build)/$(name).pdb -I"$(zlib)/include" -I$(src) -I"$(build)" \
|
||||||
-I"$(windows-java-home)/include" -I"$(windows-java-home)/include/win32"
|
-I"$(windows-java-home)/include" -I"$(windows-java-home)/include/win32"
|
||||||
shared = -dll
|
shared = -dll
|
||||||
|
@ -187,7 +187,7 @@ C++ portions of the VM, while the assembly code and helper tools are
|
|||||||
built using GCC.
|
built using GCC.
|
||||||
|
|
||||||
The MSVC build has been tested with Visual Studio Express Edition
|
The MSVC build has been tested with Visual Studio Express Edition
|
||||||
versions 8 and 9. Other versions may also work.
|
versions 8, 9, and 10. Other versions may also work.
|
||||||
|
|
||||||
To build with MSVC, install Cygwin as described above and set the
|
To build with MSVC, install Cygwin as described above and set the
|
||||||
following environment variables:
|
following environment variables:
|
||||||
|
@ -458,7 +458,7 @@ class JarIndex {
|
|||||||
RUNTIME_ARRAY_BODY(n)[length] = '/';
|
RUNTIME_ARRAY_BODY(n)[length] = '/';
|
||||||
RUNTIME_ARRAY_BODY(n)[length + 1] = 0;
|
RUNTIME_ARRAY_BODY(n)[length + 1] = 0;
|
||||||
|
|
||||||
node = findNode(n);
|
node = findNode(RUNTIME_ARRAY_BODY(n));
|
||||||
if (node) {
|
if (node) {
|
||||||
return System::TypeDirectory;
|
return System::TypeDirectory;
|
||||||
} else {
|
} else {
|
||||||
|
@ -62,7 +62,13 @@ extern "C" void __cxa_pure_virtual(void) { abort(); }
|
|||||||
// we link against a System implmentation, which requires this at link
|
// we link against a System implmentation, which requires this at link
|
||||||
// time, but it should not be used at runtime:
|
// time, but it should not be used at runtime:
|
||||||
extern "C" uint64_t
|
extern "C" uint64_t
|
||||||
vmNativeCall(void*, void*, unsigned, unsigned) { abort(); }
|
vmNativeCall(void*, void*, unsigned, unsigned)
|
||||||
|
{
|
||||||
|
abort();
|
||||||
|
// abort is not declared __declspec(noreturn) on MSVC, so we have to
|
||||||
|
// pretend it might return to make the compiler happy:
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
#endif // BOOT_LIBRARY
|
#endif // BOOT_LIBRARY
|
||||||
|
|
||||||
|
@ -206,12 +206,12 @@ resolveNativeMethod(Thread* t, object method, const char* prefix,
|
|||||||
object
|
object
|
||||||
resolveNativeMethod(Thread* t, object method)
|
resolveNativeMethod(Thread* t, object method)
|
||||||
{
|
{
|
||||||
void* p = ::resolveNativeMethod(t, method, "Avian_", 6, 3);
|
void* p = resolveNativeMethod(t, method, "Avian_", 6, 3);
|
||||||
if (p) {
|
if (p) {
|
||||||
return makeNative(t, p, true);
|
return makeNative(t, p, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
p = ::resolveNativeMethod(t, method, "Java_", 5, -1);
|
p = resolveNativeMethod(t, method, "Java_", 5, -1);
|
||||||
if (p) {
|
if (p) {
|
||||||
return makeNative(t, p, false);
|
return makeNative(t, p, false);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user