diff options
Diffstat (limited to 'src/main/java/net/sf/antcontrib/cpptasks/ibm')
-rw-r--r-- | src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeCCompiler.java | 13 | ||||
-rw-r--r-- | src/main/java/net/sf/antcontrib/cpptasks/ibm/VisualAgeLinker.java | 14 |
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"; } } |