summaryrefslogtreecommitdiffstats
path: root/libjava/gnu/java/rmi/rmic/CompilerProcess.java
diff options
context:
space:
mode:
authoraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-05 09:53:08 +0000
committeraph <aph@138bc75d-0d04-0410-961f-82ee72b054a4>2006-04-05 09:53:08 +0000
commit15aceac4884a641c8dc6f32f2fcc0ddca0b6ebbc (patch)
tree1fb2f0f405b16b7bd558d6735496d8532b5b84d1 /libjava/gnu/java/rmi/rmic/CompilerProcess.java
parent25bf4cabd21a584abe8a88230cb67fe57db6bae4 (diff)
downloadppe42-gcc-15aceac4884a641c8dc6f32f2fcc0ddca0b6ebbc.tar.gz
ppe42-gcc-15aceac4884a641c8dc6f32f2fcc0ddca0b6ebbc.zip
2006-04-05 Archit Shah <ashah@redhat.com>
PR java/25414 * gnu/java/rmi/rmic/CompilerProcess.java (computeTypicalArguments): Add classpath argument. * gnu/java/rmi/rmic/Compile_gcj.java (computeArguments): Adjust caller. * gnu/java/rmi/rmic/Compile_jikes.java (computeArguments): Likewise. * gnu/java/rmi/rmic/Compile_kjc.java (computeArguments): Likewise. * gnu/java/rmi/rmic/Compiler.java (getClasspath, setClasspath): New. * gnu/java/rmi/rmic/RMIC.java: Set classpath for compiler, call mkdirs for destination directory, correct handling of superclasses and interfaces of the remote class, correct handling of exceptions declared by remote methods. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@112699 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/gnu/java/rmi/rmic/CompilerProcess.java')
-rw-r--r--libjava/gnu/java/rmi/rmic/CompilerProcess.java31
1 files changed, 27 insertions, 4 deletions
diff --git a/libjava/gnu/java/rmi/rmic/CompilerProcess.java b/libjava/gnu/java/rmi/rmic/CompilerProcess.java
index 09f8d9c07b4..d7b29987663 100644
--- a/libjava/gnu/java/rmi/rmic/CompilerProcess.java
+++ b/libjava/gnu/java/rmi/rmic/CompilerProcess.java
@@ -59,11 +59,27 @@ public abstract class CompilerProcess extends Compiler
public static String[] computeTypicalArguments(String[] compilerArgs,
String destination, String filename)
{
+ return computeTypicalArguments(compilerArgs, null, destination, filename);
+ }
+ /**
+ * This is used to compute the command line for the process.
+ * Most compilers typically arrange their arguments as in
+ * &lt;compiler name and arguments&gt; &lt;optional destination&gt; &lt;filename&gt;.
+ * This method builds an argument array out that. It should be used
+ * to define computeArguments for those compilers that follow the
+ * argument convention described above.
+ */
+ public static String[] computeTypicalArguments(String[] compilerArgs,
+ String classpath,
+ String destination,
+ String filename)
+ {
/* length of compiler specific arguments */
- final int len = compilerArgs.length;
+ int len = compilerArgs.length;
/* length of returned array of arguments */
- final int arglen = len + (destination == null ? 0 : 2) + 1;
+ final int arglen = len + (classpath == null ? 0 : 2) +
+ (destination == null ? 0 : 2) + 1;
/* Allocate String array for computed arguments. */
String [] args = new String[arglen];
@@ -71,11 +87,18 @@ public abstract class CompilerProcess extends Compiler
/* Fill in compiler arguments. */
System.arraycopy(compilerArgs, 0, args, 0, len);
+ /* Fill in classpath argument if necessary. */
+ if (classpath != null)
+ {
+ args[len++] = "-classpath";
+ args[len++] = classpath;
+ }
+
/* Fill in destination argument if necessary. */
if (destination != null)
{
- args[len] = "-d";
- args[len + 1] = destination;
+ args[len++] = "-d";
+ args[len++] = destination;
}
/* Fill in filename */
OpenPOWER on IntegriCloud