diff options
Diffstat (limited to 'src/main/java/net/sf/antcontrib/cpptasks/compiler')
7 files changed, 38 insertions, 40 deletions
diff --git a/src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractCompiler.java b/src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractCompiler.java index e61bd64..2d1401f 100644 --- a/src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractCompiler.java +++ b/src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractCompiler.java @@ -129,7 +129,6 @@ public abstract class AbstractCompiler extends AbstractProcessor * used to distinguish DependencyInfo's from different include * path settings * - * @author Curt Arnold */ public final DependencyInfo parseIncludes(CCTask task, File source, File[] includePath, File[] sysIncludePath, File[] envIncludePath, diff --git a/src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractLinker.java b/src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractLinker.java index 9de9491..5d9cefa 100644 --- a/src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractLinker.java +++ b/src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractLinker.java @@ -95,7 +95,7 @@ public abstract class AbstractLinker extends AbstractProcessor * @param versionInfo version information * @param linkType link type * @param isDebug true if debug build - * @param executableName name of generated executable + * @param outputFile name of generated executable * @param objDir directory for generated files * @param matcher bidded fileset */ diff --git a/src/main/java/net/sf/antcontrib/cpptasks/compiler/CaptureStreamHandler.java b/src/main/java/net/sf/antcontrib/cpptasks/compiler/CaptureStreamHandler.java index f58ed8e..24a0193 100644 --- a/src/main/java/net/sf/antcontrib/cpptasks/compiler/CaptureStreamHandler.java +++ b/src/main/java/net/sf/antcontrib/cpptasks/compiler/CaptureStreamHandler.java @@ -26,7 +26,6 @@ import java.util.Vector; import org.apache.tools.ant.taskdefs.Execute; import org.apache.tools.ant.taskdefs.ExecuteStreamHandler; - /** * Implements ExecuteStreamHandler to capture the output of a Execute to an * array of strings diff --git a/src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineCompiler.java b/src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineCompiler.java index a8b7691..46ec59a 100644 --- a/src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineCompiler.java +++ b/src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineCompiler.java @@ -73,9 +73,7 @@ public abstract class CommandLineCompiler extends AbstractCompiler { * include switches to that vector (for use in building a configuration * identifier that is consistent between machines). * - * @param baseDirPaths - * A vector containing the parts of the working directory, - * produced by CUtil.DecomposeFile. + * @param baseDirPath Base directory path. * @param includeDirs * Array of include directory paths * @param args @@ -131,7 +129,6 @@ public abstract class CommandLineCompiler extends AbstractCompiler { /** * Compiles a source file. * - * @author Curt Arnold */ public void compile(CCTask task, File outputDir, String[] sourceFiles, String[] args, String[] endArgs, boolean relentless, @@ -285,6 +282,32 @@ public abstract class CommandLineCompiler extends AbstractCompiler { // add all appropriate defines and undefines // buildDefineArguments(defaultProviders, args); + int warnings = specificDef.getWarnings(defaultProviders, 0); + addWarningSwitch(args, warnings); + Enumeration argEnum = cmdArgs.elements(); + int endCount = 0; + while (argEnum.hasMoreElements()) { + CommandLineArgument arg = (CommandLineArgument) argEnum + .nextElement(); + switch (arg.getLocation()) { + case 1 : + args.addElement(arg.getValue()); + break; + case 2 : + endCount++; + break; + } + } + String[] endArgs = new String[endCount]; + argEnum = cmdArgs.elements(); + int index = 0; + while (argEnum.hasMoreElements()) { + CommandLineArgument arg = (CommandLineArgument) argEnum + .nextElement(); + if (arg.getLocation() == 2) { + endArgs[index++] = arg.getValue(); + } + } // // Want to have distinct set of arguments with relative // path names for includes that are used to build @@ -327,37 +350,14 @@ public abstract class CommandLineCompiler extends AbstractCompiler { addIncludes(baseDirPath, sysIncPath, args, null, null); StringBuffer buf = new StringBuffer(getIdentifier()); for (int i = 0; i < relativeArgs.size(); i++) { + buf.append(' '); buf.append(relativeArgs.elementAt(i)); + } + for (int i = 0; i < endArgs.length; i++) { buf.append(' '); + buf.append(endArgs[i]); } - buf.setLength(buf.length() - 1); String configId = buf.toString(); - int warnings = specificDef.getWarnings(defaultProviders, 0); - addWarningSwitch(args, warnings); - Enumeration argEnum = cmdArgs.elements(); - int endCount = 0; - while (argEnum.hasMoreElements()) { - CommandLineArgument arg = (CommandLineArgument) argEnum - .nextElement(); - switch (arg.getLocation()) { - case 1 : - args.addElement(arg.getValue()); - break; - case 2 : - endCount++; - break; - } - } - String[] endArgs = new String[endCount]; - argEnum = cmdArgs.elements(); - int index = 0; - while (argEnum.hasMoreElements()) { - CommandLineArgument arg = (CommandLineArgument) argEnum - .nextElement(); - if (arg.getLocation() == 2) { - endArgs[index++] = arg.getValue(); - } - } String[] argArray = new String[args.size()]; args.copyInto(argArray); boolean rebuild = specificDef.getRebuild(baseDefs, 0); diff --git a/src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker.java b/src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker.java index aeed2bb..93c3e1e 100644 --- a/src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker.java +++ b/src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker.java @@ -286,9 +286,10 @@ public abstract class CommandLineLinker extends AbstractLinker * Prepares argument list for exec command. Will return null * if command line would exceed allowable command line buffer. * + * @param task compilation task. * @param outputFile linker output file * @param sourceFiles linker input files (.obj, .o, .res) - * @param args linker arguments + * @param config linker configuration * @return arguments for runTask */ protected String[] prepareArguments( @@ -324,7 +325,7 @@ public abstract class CommandLineLinker extends AbstractLinker } for (int i = 0; i < endargs.length; i++) { allArgs[index++] = decorateLinkerOption(buf, endargs[i]); - } + } return allArgs; } @@ -338,7 +339,7 @@ public abstract class CommandLineLinker extends AbstractLinker new File(sourceFile)); // FREEHEP, return the shortest // return quoteFilename(buf, sourceFile.length() > relativePath.length() ? relativePath : sourceFile); -// FREEHEP trying with always absolute paths... +// FREEHEP trying with always absolute paths, as Windows relPaths have a tighter restriction on length than absPaths... return quoteFilename(buf, sourceFile); } diff --git a/src/main/java/net/sf/antcontrib/cpptasks/compiler/LinkType.java b/src/main/java/net/sf/antcontrib/cpptasks/compiler/LinkType.java index 7df5d98..67d7e6b 100644 --- a/src/main/java/net/sf/antcontrib/cpptasks/compiler/LinkType.java +++ b/src/main/java/net/sf/antcontrib/cpptasks/compiler/LinkType.java @@ -113,8 +113,7 @@ public class LinkType { /** * Sets the output type (execuable, shared, etc). * - * @param outputType, - * may not be null + * @param outputType may not be null */ public void setOutputType(OutputTypeEnum outputType) { if (outputType == null) { diff --git a/src/main/java/net/sf/antcontrib/cpptasks/compiler/Linker.java b/src/main/java/net/sf/antcontrib/cpptasks/compiler/Linker.java index 672a0e3..0638a70 100644 --- a/src/main/java/net/sf/antcontrib/cpptasks/compiler/Linker.java +++ b/src/main/java/net/sf/antcontrib/cpptasks/compiler/Linker.java @@ -67,7 +67,7 @@ public interface Linker extends Processor { * @param versionInfo version information * @param linkType link type * @param isDebug true if debug build - * @param executableName name of generated executable + * @param outputFile name of generated executable * @param objDir directory for generated files * @param matcher bidded fileset */ |