summaryrefslogtreecommitdiff
path: root/src/main/java/net/sf/antcontrib/cpptasks/ibm
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/sf/antcontrib/cpptasks/ibm')
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeCCompiler.java13
-rw-r--r--src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeLinker.java14
2 files changed, 21 insertions, 6 deletions
diff --git a/src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeCCompiler.java b/src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeCCompiler.java
index 56b7674..781b6de 100644
--- a/src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeCCompiler.java
+++ b/src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeCCompiler.java
@@ -30,8 +30,13 @@ import org.apache.tools.ant.types.Environment;
* @author Curt Arnold
*/
public final class VisualAgeCCompiler extends GccCompatibleCCompiler {
+ private final static String[] headerExtensions = new String[]{".h", ".hpp",
+ ".inl"};
+ private final static String[] sourceExtensions = new String[]{".c", ".cc",
+ ".cxx", ".cpp", ".i", ".s"};
+
private static final VisualAgeCCompiler instance = new VisualAgeCCompiler(
- "xlC", false, null);
+ "xlC", sourceExtensions, headerExtensions, false, null);
/**
* Gets singleton instance of this class
*/
@@ -44,9 +49,11 @@ public final class VisualAgeCCompiler extends GccCompatibleCCompiler {
* Private constructor. Use getInstance() to get singleton instance of this
* class.
*/
- private VisualAgeCCompiler(String command, boolean newEnvironment,
+ private VisualAgeCCompiler(String command, String[] sourceExtensions,
+ String[] headerExtensions, boolean newEnvironment,
Environment env) {
- super(command, "-help", false, null, newEnvironment, env);
+ super(command, "-help", sourceExtensions, headerExtensions, false,
+ null, newEnvironment, env);
}
public void addImpliedArgs(final Vector args,
final boolean debug,
diff --git a/src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeLinker.java b/src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeLinker.java
index 8e614b3..59ad6a3 100644
--- a/src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeLinker.java
+++ b/src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeLinker.java
@@ -31,7 +31,7 @@ public final class VisualAgeLinker extends AbstractLdLinker {
private static final String[] objFiles = new String[]{".o", ".a", ".lib",
".dll", ".so", ".sl"};
private static final VisualAgeLinker dllLinker = new VisualAgeLinker(
- "makeC++SharedLib", objFiles, discardFiles, "lib", ".so");
+ "xlC", objFiles, discardFiles, "lib", ".a");
private static final VisualAgeLinker instance = new VisualAgeLinker("xlC",
objFiles, discardFiles, "", "");
public static VisualAgeLinker getInstance() {
@@ -50,7 +50,7 @@ public final class VisualAgeLinker extends AbstractLdLinker {
//args.addElement("-g");
}
if (linkType.isSharedLibrary()) {
- //args.addElement("-G");
+ args.addElement("-qmkshrobj");
}
}
public Linker getLinker(LinkType type) {
@@ -69,7 +69,15 @@ public final class VisualAgeLinker extends AbstractLdLinker {
* would lock up. Using a stock response.
*/
public String getIdentifier() {
- return "VisualAge linker - unidentified version";
+ return "VisualAge linker - unidentified version";
+ }
+
+ protected String getDynamicLibFlag() {
+ return "-bdynamic";
+ }
+
+ protected String getStaticLibFlag() {
+ return "-bstatic";
}
}