X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=java_strings.py;h=f5df004d80d3dd709c54366165a712ceb461337e;hb=3a496e16c89d9193d4da3ad4fb93ffbe32a9fdb2;hp=e788604e77aa2022c7468984e215cc1a02a9c817;hpb=569f3d93bd3ad75518f628a2185b08143a6169f2;p=ldk-java diff --git a/java_strings.py b/java_strings.py index e788604e..f5df004d 100644 --- a/java_strings.py +++ b/java_strings.py @@ -5,6 +5,7 @@ import sys class Target(Enum): JAVA = 1, ANDROID = 2 + MACOS = 3 class Consts: def __init__(self, DEBUG: bool, target: Target, **kwargs): @@ -193,7 +194,7 @@ void __attribute__((constructor)) spawn_stderr_redirection() { else: self.c_file_pfx = self.c_file_pfx + "#define DEBUG_PRINT(...) fprintf(stderr, __VA_ARGS__)\n" - if not DEBUG or sys.platform == "darwin": + if not DEBUG or self.target == Target.MACOS: self.c_file_pfx = self.c_file_pfx + """#define MALLOC(a, _) malloc(a) #define FREE(p) if ((uint64_t)(p) > 4096) { free(p); } #define CHECK_ACCESS(p) @@ -218,7 +219,7 @@ void __attribute__((constructor)) debug_log_version() { } """ - if sys.platform != "darwin": + if self.target != Target.MACOS: self.c_file_pfx += """ // Running a leak check across all the allocations and frees of the JDK is a mess, // so instead we implement our own naive leak checker here, relying on the -wrap @@ -600,7 +601,7 @@ import javax.annotation.Nullable; res = res + "\t" + ty + "_clz = (*env)->FindClass(env, \"" + ty.replace("arr_of_", "[") + "\");\n" res = res + "\tCHECK(" + ty + "_clz != NULL);\n" res = res + "\t" + ty + "_clz = (*env)->NewGlobalRef(env, " + ty + "_clz);\n" - res = res + "\tString_clz = (*env)->FindClass(env, \"Ljava/lang/String;\");\n" + res = res + "\tString_clz = (*env)->FindClass(env, \"java/lang/String\");\n" res = res + "\tCHECK(String_clz != NULL);\n" res = res + "\tString_clz = (*env)->NewGlobalRef(env, String_clz);\n" @@ -1340,6 +1341,8 @@ import javax.annotation.Nullable; extra_java_struct_out += "\t\tif (!(o instanceof " + struct_meth + ")) return false;\n" extra_java_struct_out += "\t\treturn this.eq((" + struct_meth + ")o);\n" extra_java_struct_out += "\t}\n" + if meth_n == "wait": + meth_n = "wait_indefinite" out_java_struct += ("\tpublic " + return_type_info.java_hu_ty + " " + meth_n + "(") for idx, arg in enumerate(argument_types): if idx != 0: