--- a/make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java Tue Feb 27 00:07:16 2018 +0100
+++ b/make/jdk/src/classes/build/tools/x11wrappergen/WrapperGenerator.java Wed Feb 28 20:50:11 2018 +0100
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -1109,7 +1109,6 @@
}
public void writeJavaWrapperClass(String outputDir) {
-// (new File(outputDir, package_path)).mkdirs();
try {
for (Enumeration e = symbolTable.elements() ; e.hasMoreElements() ;) {
BaseType tp = (BaseType) e.nextElement();
@@ -1126,7 +1125,6 @@
}
}
-
public void writeNativeSizer(String file)
{
int type;
@@ -1136,7 +1134,6 @@
StructType stp;
Enumeration eo;
-
try {
FileOutputStream fs = new FileOutputStream(file);
@@ -1158,7 +1155,6 @@
pw.println(" unsigned long status;\n");
pw.println("} PropMwmHints;\n");
-
pw.println("\n\nint main(){");
j=0;
for ( eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
@@ -1182,7 +1178,6 @@
pw.println("printf(\"Atom\t%d\\n\",(int)sizeof(Atom));");
pw.println("printf(\"Window\t%d\\n\",(int)sizeof(Window));");
-
for (eo = symbolTable.elements() ; eo.hasMoreElements() ;) {
@@ -1234,7 +1229,8 @@
symbolTable.put("Atom", new AtomicType(AtomicType.TYPE_ATOM, "", "Atom"));
symbolTable.put("ulong", new AtomicType(AtomicType.TYPE_ULONG, "", "ulong"));
}
- public WrapperGenerator(String outputDir, String xlibFilename) {
+
+ public WrapperGenerator(String xlibFilename) {
initTypes();
try {
BufferedReader in = new BufferedReader(new FileReader(xlibFilename));
@@ -1303,30 +1299,23 @@
catch (Exception e) {
e.printStackTrace();
}
+ }
- }
- private void makeSizer(String outputDir) {
- if (wide) {
- sizerFileName = "sizer.64.c";
- } else {
- sizerFileName = "sizer.32.c";
- }
- File fp = new File(outputDir, sizerFileName);
+ private void makeSizer(String sizerFileName) {
+ File fp = new File(sizerFileName);
writeNativeSizer(fp.getAbsolutePath());
}
- private boolean readSizeInfo(String sizeInfo) {
+
+ private boolean readSizeInfo(String file32, String file64) {
try {
- File f = new File(sizeInfo+".32");
boolean res = true;
- FileInputStream fis = null;
- if (f.exists()) {
- fis = new FileInputStream(f);
+ if (!file32.equals("IGNORE")) {
+ FileInputStream fis = new FileInputStream(file32);
res = readSizeInfo(fis, false);
fis.close();
}
- f = new File(sizeInfo+".64");
- if (f.exists()) {
- fis = new FileInputStream(f);
+ if (!file64.equals("IGNORE")) {
+ FileInputStream fis = new FileInputStream(file64);
res &= readSizeInfo(fis, true);
fis.close();
}
@@ -1337,8 +1326,8 @@
}
}
- private void startGeneration(String outputDir, String sizeInfo) {
- if (readSizeInfo(sizeInfo))
+ private void startGeneration(String outputDir, String file32, String file64) {
+ if (readSizeInfo(file32, file64))
{
writeJavaWrapperClass(outputDir);
}
@@ -1350,19 +1339,20 @@
public static void main(String[] args) {
if (args.length < 4) {
- System.out.println("Usage:\nWrapperGenerator <output_dir> <xlibtypes.txt> <action> [<platform> | <sizes info file>]");
- System.out.println("Where <action>: gen, sizer");
- System.out.println(" <platform>: 32, 64");
+ System.out.println("Usage:\nWrapperGenerator gen_java <output_dir> <xlibtypes.txt> <sizes-32.txt|IGNORE> <sizes-64.txt|IGNORE>");
+ System.out.println(" or");
+ System.out.println("WrapperGenerator gen_c_source <output_file> <xlibtypes.txt> <platform>");
+ System.out.println("Where <platform>: 32, 64");
+
System.exit(1);
}
- WrapperGenerator xparser = new WrapperGenerator(args[0], args[1]);
- if (args[2].equals("sizer")) {
+ WrapperGenerator xparser = new WrapperGenerator(args[2]);
+ if (args[0].equals("gen_c_source")) {
xparser.wide = args[3].equals("64");
- xparser.makeSizer(args[0]);
- } else if (args[2].equals("gen")) {
- xparser.startGeneration(args[0], args[3]);
+ xparser.makeSizer(args[1]);
+ } else if (args[0].equals("gen_java")) {
+ xparser.startGeneration(args[1], args[3], args[4]);
}
}
-
}