mirror of
https://github.com/corda/corda.git
synced 2025-01-05 20:54:13 +00:00
Merge pull request #191 from bigfatbrowncat/avian-droid
Android classpath support in Windows
This commit is contained in:
commit
70b5ea6838
2
.gitignore
vendored
2
.gitignore
vendored
@ -10,3 +10,5 @@ bin
|
||||
*.pdb
|
||||
*.swp
|
||||
/*.sublime-*
|
||||
workspace/
|
||||
src/.cproject
|
||||
|
23
makefile
23
makefile
@ -179,6 +179,7 @@ ifneq ($(android),)
|
||||
-DOS_SHARED_LIB_FORMAT_STR="\"$(so-prefix)%s$(so-suffix)\"" \
|
||||
-DJNI_JARJAR_PREFIX= \
|
||||
-D__DARWIN_UNIX03=1 \
|
||||
-D__PROVIDE_FIXMES \
|
||||
-g3 \
|
||||
-Werror
|
||||
|
||||
@ -189,28 +190,22 @@ ifneq ($(android),)
|
||||
$(libnativehelper-native)/toStringArray.cpp
|
||||
|
||||
crypto-native := $(android)/libcore/crypto/src/main/native
|
||||
crypto-cpps := $(crypto-native)/org_conscrypt_NativeCrypto.cpp
|
||||
|
||||
ifeq ($(platform),windows)
|
||||
crypto-cpps := $(crypto-native)/org_conscrypt_NativeCrypto.cpp
|
||||
android-cflags += -D__STDC_CONSTANT_MACROS
|
||||
ifneq ($(arch),i386)
|
||||
android-cflags += -fPIC
|
||||
endif
|
||||
blacklist = $(luni-native)/java_io_Console.cpp \
|
||||
$(luni-native)/java_lang_ProcessManager.cpp \
|
||||
$(luni-native)/libcore_io_OsConstants.cpp \
|
||||
$(luni-native)/libcore_io_Posix.cpp \
|
||||
$(luni-native)/libcore_io_AsynchronousCloseMonitor.cpp \
|
||||
$(luni-native)/libcore_net_RawSocket.cpp \
|
||||
$(luni-native)/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp \
|
||||
$(luni-native)/AsynchronousSocketCloseMonitor.cpp \
|
||||
$(luni-native)/NetworkUtilities.cpp
|
||||
|
||||
luni-cpps := $(filter-out $(blacklist),$(luni-cpps))
|
||||
icu-libs := $(android)/external/icu4c/lib/sicuin.a \
|
||||
$(android)/external/icu4c/lib/sicuuc.a \
|
||||
$(android)/external/icu4c/lib/sicudt.a
|
||||
platform-lflags := -lgdi32
|
||||
else
|
||||
crypto-cpps := $(crypto-native)/org_conscrypt_NativeCrypto.cpp
|
||||
android-cflags += -fPIC -DHAVE_SYS_UIO_H
|
||||
icu-libs := $(android)/external/icu4c/lib/libicui18n.a \
|
||||
$(android)/external/icu4c/lib/libicuuc.a \
|
||||
@ -781,10 +776,10 @@ ifeq ($(platform),windows)
|
||||
endif
|
||||
cxx = x86_64-w64-mingw32-g++ $(mflag)
|
||||
cc = x86_64-w64-mingw32-gcc $(mflag)
|
||||
dlltool = x86_64-w64-mingw32-dlltool
|
||||
ar = x86_64-w64-mingw32-ar
|
||||
ranlib = x86_64-w64-mingw32-ranlib
|
||||
strip = x86_64-w64-mingw32-strip
|
||||
dlltool = dlltool
|
||||
ar = ar
|
||||
ranlib = ranlib
|
||||
strip = strip
|
||||
inc = "$(win64)/include"
|
||||
lib = "$(win64)/lib"
|
||||
else
|
||||
@ -1599,6 +1594,8 @@ $(build)/android.dep: $(luni-javas) $(libdvm-javas) $(crypto-javas) \
|
||||
$(xml-java)/* $(build)/android-src/
|
||||
sed -i -e 's/return ordinal - o.ordinal;/return ordinal - o.ordinal();/' \
|
||||
$(build)/android-src/java/lang/Enum.java
|
||||
# sed makes this file read-only which in turn breaks re-builds; so marking it as writable
|
||||
chmod +w $(build)/android-src/java/lang/Enum.java
|
||||
find $(build)/android-src -name '*.java' > $(build)/android.txt
|
||||
$(javac) -Xmaxerrs 1000 -d $(build)/android -sourcepath $(luni-java) \
|
||||
@$(build)/android.txt
|
||||
|
@ -23,6 +23,10 @@ extern "C" int JNI_OnLoad(JavaVM*, void*);
|
||||
#include "avian/classpath-common.h"
|
||||
#include "avian/process.h"
|
||||
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
const char* getErrnoDescription(int err); // This function is defined in mingw-extensions.cpp
|
||||
#endif
|
||||
|
||||
using namespace vm;
|
||||
|
||||
extern "C" AVIAN_EXPORT int64_t JNICALL
|
||||
@ -875,7 +879,7 @@ extern "C" const char*
|
||||
jniStrError(int error, char* buffer, size_t length)
|
||||
{
|
||||
#ifdef PLATFORM_WINDOWS
|
||||
const char* s = strerror(error);
|
||||
const char* s = getErrnoDescription(error);
|
||||
if (strlen(s) < length) {
|
||||
strncpy(buffer, s, length);
|
||||
return buffer;
|
||||
@ -2332,9 +2336,6 @@ Avian_java_util_concurrent_atomic_AtomicLong_VMSupportsCS8
|
||||
|
||||
void register_java_io_Console(_JNIEnv*) { }
|
||||
void register_java_lang_ProcessManager(_JNIEnv*) { }
|
||||
void register_libcore_io_OsConstants(_JNIEnv*) { }
|
||||
void register_libcore_io_AsynchronousCloseMonitor(_JNIEnv*) { }
|
||||
void register_libcore_io_Posix(_JNIEnv*) { }
|
||||
void register_libcore_net_RawSocket(_JNIEnv*) { }
|
||||
void register_org_apache_harmony_xnet_provider_jsse_NativeCrypto(_JNIEnv*) { }
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user