parent
e0d2f393f4
commit
ab26451e59
@ -0,0 +1,116 @@
|
||||
diff -urp '--exclude=*~' gettext-0.21.orig/gettext-tools/gnulib-lib/javacomp.c gettext-0.21/gettext-tools/gnulib-lib/javacomp.c
|
||||
--- gettext-0.21.orig/gettext-tools/gnulib-lib/javacomp.c 2022-03-09 12:22:05.000000000 +0900
|
||||
+++ gettext-0.21/gettext-tools/gnulib-lib/javacomp.c 2022-03-20 18:23:53.636052943 +0900
|
||||
@@ -116,9 +116,8 @@ default_target_version (void)
|
||||
&& (java_version_cache[1] >= '2'
|
||||
&& java_version_cache[1] <= '7')
|
||||
&& java_version_cache[2] == '\0')
|
||||
- /* Assume that these (not yet released) Java versions will behave
|
||||
- like the preceding ones. */
|
||||
- java_version_cache = "11";
|
||||
+ /* It's one of the valid target version values. */
|
||||
+ ;
|
||||
else
|
||||
java_version_cache = "1.1";
|
||||
}
|
||||
@@ -128,7 +127,7 @@ default_target_version (void)
|
||||
/* ======================= Source version dependent ======================= */
|
||||
|
||||
/* Convert a source version to an index. */
|
||||
-#define SOURCE_VERSION_BOUND 8 /* exclusive upper bound */
|
||||
+#define SOURCE_VERSION_BOUND 14 /* exclusive upper bound */
|
||||
static unsigned int
|
||||
source_version_index (const char *source_version)
|
||||
{
|
||||
@@ -144,7 +143,7 @@ source_version_index (const char *source
|
||||
else if (source_version[0] == '9' && source_version[1] == '\0')
|
||||
return 5;
|
||||
else if (source_version[0] == '1'
|
||||
- && (source_version[1] >= '0' && source_version[1] <= '1')
|
||||
+ && (source_version[1] >= '0' && source_version[1] <= '7')
|
||||
&& source_version[2] == '\0')
|
||||
return source_version[1] - '0' + 6;
|
||||
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
|
||||
@@ -171,6 +170,10 @@ get_goodcode_snippet (const char *source
|
||||
return "class conftest { public void m() { var i = new Integer(0); } }\n";
|
||||
if (strcmp (source_version, "11") == 0)
|
||||
return "class conftest { Readable r = (var b) -> 0; }\n";
|
||||
+ if (source_version[0] == '1'
|
||||
+ && (source_version[1] >= '2' && source_version[1] <= '7')
|
||||
+ && source_version[2] == '\0')
|
||||
+ return "class conftest { Readable r = (var b) -> 0; }\n";
|
||||
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
|
||||
return NULL;
|
||||
}
|
||||
@@ -197,6 +200,10 @@ get_failcode_snippet (const char *source
|
||||
return "class conftestfail { Readable r = (var b) -> 0; }\n";
|
||||
if (strcmp (source_version, "11") == 0)
|
||||
return NULL;
|
||||
+ if (source_version[0] == '1'
|
||||
+ && (source_version[1] >= '2' && source_version[1] <= '7')
|
||||
+ && source_version[2] == '\0')
|
||||
+ return NULL;
|
||||
error (EXIT_FAILURE, 0, _("invalid source_version argument to compile_java_class"));
|
||||
return NULL;
|
||||
}
|
||||
@@ -204,7 +211,7 @@ get_failcode_snippet (const char *source
|
||||
/* ======================= Target version dependent ======================= */
|
||||
|
||||
/* Convert a target version to an index. */
|
||||
-#define TARGET_VERSION_BOUND 11 /* exclusive upper bound */
|
||||
+#define TARGET_VERSION_BOUND 17 /* exclusive upper bound */
|
||||
static unsigned int
|
||||
target_version_index (const char *target_version)
|
||||
{
|
||||
@@ -215,7 +222,7 @@ target_version_index (const char *target
|
||||
else if (target_version[0] == '9' && target_version[1] == '\0')
|
||||
return 8;
|
||||
else if (target_version[0] == '1'
|
||||
- && (target_version[1] >= '0' && target_version[1] <= '1')
|
||||
+ && (target_version[1] >= '0' && target_version[1] <= '7')
|
||||
&& target_version[2] == '\0')
|
||||
return target_version[1] - '0' + 9;
|
||||
error (EXIT_FAILURE, 0, _("invalid target_version argument to compile_java_class"));
|
||||
@@ -245,10 +252,10 @@ corresponding_classfile_version (const c
|
||||
return 52;
|
||||
if (strcmp (target_version, "9") == 0)
|
||||
return 53;
|
||||
- if (strcmp (target_version, "10") == 0)
|
||||
- return 54;
|
||||
- if (strcmp (target_version, "11") == 0)
|
||||
- return 55;
|
||||
+ if (target_version[0] == '1'
|
||||
+ && (target_version[1] >= '0' && target_version[1] <= '7')
|
||||
+ && target_version[2] == '\0')
|
||||
+ return target_version[1] + 54;
|
||||
error (EXIT_FAILURE, 0, _("invalid target_version argument to compile_java_class"));
|
||||
return 0;
|
||||
}
|
||||
@@ -2439,7 +2446,7 @@ compile_java_class (const char * const *
|
||||
}
|
||||
}
|
||||
|
||||
- error (0, 0, _("Java compiler not found, try installing gcj or set $JAVAC"));
|
||||
+ /* error (0, 0, _("Java compiler not found, try installing gcj or set $JAVAC")); */
|
||||
err = true;
|
||||
|
||||
done2:
|
||||
diff -urp '--exclude=*~' gettext-0.21.orig/gettext-tools/src/write-java.c gettext-0.21/gettext-tools/src/write-java.c
|
||||
--- gettext-0.21.orig/gettext-tools/src/write-java.c 2022-03-09 12:17:21.000000000 +0900
|
||||
+++ gettext-0.21/gettext-tools/src/write-java.c 2022-03-20 18:26:06.941734979 +0900
|
||||
@@ -1209,8 +1209,14 @@ msgdomain_write_java (message_list_ty *m
|
||||
Java compilers create the class files in the source file's directory -
|
||||
which is in a temporary directory in our case. */
|
||||
java_sources[0] = java_file_name;
|
||||
- if (compile_java_class (java_sources, 1, NULL, 0, "1.5", "1.6", directory,
|
||||
+ if (1
|
||||
+ && (compile_java_class (java_sources, 1, NULL, 0, "17", "17", directory,
|
||||
+ true, false, true, verbose > 0)) /* assume JDK 17 */
|
||||
+ && (compile_java_class (java_sources, 1, NULL, 0, "11", "11", directory,
|
||||
+ true, false, true, verbose > 0)) /* assume JDK 11 */
|
||||
+ && (compile_java_class (java_sources, 1, NULL, 0, "1.5", "1.6", directory,
|
||||
true, false, true, verbose > 0))
|
||||
+ )
|
||||
{
|
||||
if (!verbose)
|
||||
error (0, 0,
|
Loading…
Reference in new issue