summaryrefslogtreecommitdiff
path: root/src/main/java/net/sf/antcontrib/cpptasks/compiler
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/sf/antcontrib/cpptasks/compiler')
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractCompiler.java1
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/compiler/AbstractLinker.java2
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/compiler/CaptureStreamHandler.java1
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineCompiler.java62
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/compiler/CommandLineLinker.java7
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/compiler/LinkType.java3
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/compiler/Linker.java2
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
*/