diff options
author | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-11-05 23:27:33 +0100 |
---|---|---|
committer | Mark Donszelmann <Mark.Donszelmann@gmail.com> | 2009-11-05 23:27:33 +0100 |
commit | 254c4886d58979eebd0e352f4d16e391736f2a33 (patch) | |
tree | 8feca0cc1caa5177dd52a7b9b2dfd63502c941fd /src/net/sf/antcontrib/cpptasks/os400 | |
parent | ef6f25ba42792d2d811fd6826c0dd528ad77b1e9 (diff) | |
download | cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.gz cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.bz2 cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.tar.xz cpptasks-parallel-254c4886d58979eebd0e352f4d16e391736f2a33.zip |
Reorganized source directories in line with cpptasks-1.0b5, for easier tracking
Diffstat (limited to 'src/net/sf/antcontrib/cpptasks/os400')
-rw-r--r-- | src/net/sf/antcontrib/cpptasks/os400/IccCompiler.java | 123 | ||||
-rw-r--r-- | src/net/sf/antcontrib/cpptasks/os400/IccLinker.java | 209 | ||||
-rw-r--r-- | src/net/sf/antcontrib/cpptasks/os400/IccProcessor.java | 71 |
3 files changed, 0 insertions, 403 deletions
diff --git a/src/net/sf/antcontrib/cpptasks/os400/IccCompiler.java b/src/net/sf/antcontrib/cpptasks/os400/IccCompiler.java deleted file mode 100644 index 952d719..0000000 --- a/src/net/sf/antcontrib/cpptasks/os400/IccCompiler.java +++ /dev/null @@ -1,123 +0,0 @@ -/* - * - * Copyright 2002-2004 The Ant-Contrib project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package net.sf.antcontrib.cpptasks.os400; -import java.io.File; -import java.util.Vector; - -import net.sf.antcontrib.cpptasks.CUtil; -import net.sf.antcontrib.cpptasks.compiler.AbstractCompiler; -import net.sf.antcontrib.cpptasks.compiler.CommandLineCCompiler; -import net.sf.antcontrib.cpptasks.compiler.LinkType; -import net.sf.antcontrib.cpptasks.compiler.Linker; -import net.sf.antcontrib.cpptasks.compiler.Processor; -import net.sf.antcontrib.cpptasks.OptimizationEnum; - - -import org.apache.tools.ant.types.Environment; -/** - * Adapter for the IBM (R) OS/390 (tm) C++ Compiler - * - * @author Hiram Chirino (cojonudo14@hotmail.com) - */ -public class IccCompiler extends CommandLineCCompiler { - private static final AbstractCompiler instance = new IccCompiler(false, - null); - public static AbstractCompiler getInstance() { - return instance; - } - private IccCompiler(boolean newEnvironment, Environment env) { - super("icc", null, new String[]{".c", ".cc", ".cpp", ".cxx", ".c++", - ".s"}, new String[]{".h", ".hpp"}, ".o", false, null, - newEnvironment, env); - } - protected void addImpliedArgs(final Vector args, - final boolean debug, - final boolean multithreaded, - final boolean exceptions, - final LinkType linkType, - final Boolean rtti, - final OptimizationEnum optimization) { - // Specifies that only compilations and assemblies be done. - // Link-edit is not done - args.addElement("-c"); - /* - * if (exceptions) { args.addElement("/GX"); } - */ - if (debug) { - args.addElement("-g"); - /* - * args.addElement("-D"); args.addElement("_DEBUG"); if - * (multithreaded) { args.addElement("/D_MT"); if (staticLink) { - * args.addElement("/MTd"); } else { args.addElement("/MDd"); - * args.addElement("/D_DLL"); } } else { args.addElement("/MLd"); } - */ - } else { - /* - * args.addElement("-D"); args.addElement("NEBUG"); if - * (multithreaded) { args.addElement("/D_MT"); if (staticLink) { - * args.addElement("/MT"); } else { args.addElement("/MD"); - * args.addElement("/D_DLL"); } } else { args.addElement("/ML"); } - */ - } - } - protected void addWarningSwitch(Vector args, int level) { - IccProcessor.addWarningSwitch(args, level); - } - public Processor changeEnvironment(boolean newEnvironment, Environment env) { - if (newEnvironment || env != null) { - return new IccCompiler(newEnvironment, env); - } - return this; - } - /* - * @see CommandLineCompiler#getDefineSwitch(StringBuffer, String, String) - */ - protected void getDefineSwitch(StringBuffer buffer, String define, - String value) { - buffer.append("-q"); - buffer.append(define); - if (value != null && value.length() > 0) { - buffer.append('='); - buffer.append(value); - } - } - protected File[] getEnvironmentIncludePath() { - return CUtil.getPathFromEnvironment("INCLUDE", ":"); - } - protected String getIncludeDirSwitch(String includeDir) { - return IccProcessor.getIncludeDirSwitch(includeDir); - } - public Linker getLinker(LinkType type) { - return IccLinker.getInstance().getLinker(type); - } - public int getMaximumCommandLength() { - return Integer.MAX_VALUE; - } - /* Only compile one file at time for now */ - protected int getMaximumInputFilesPerCommand() { - return 1; - //return Integer.MAX_VALUE; - } - /* - * @see CommandLineCompiler#getUndefineSwitch(StringBuffer, String) - */ - protected void getUndefineSwitch(StringBuffer buffer, String define) { - /* - * buffer.addElement("-q"); buf.append(define); - */ - } -} diff --git a/src/net/sf/antcontrib/cpptasks/os400/IccLinker.java b/src/net/sf/antcontrib/cpptasks/os400/IccLinker.java deleted file mode 100644 index ea10bcc..0000000 --- a/src/net/sf/antcontrib/cpptasks/os400/IccLinker.java +++ /dev/null @@ -1,209 +0,0 @@ -/* - * - * Copyright 2002-2004 The Ant-Contrib project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package net.sf.antcontrib.cpptasks.os400; -import java.io.File; -import java.io.FileOutputStream; -import java.io.IOException; -import java.util.Vector; -import net.sf.antcontrib.cpptasks.CCTask; -import net.sf.antcontrib.cpptasks.CUtil; -import net.sf.antcontrib.cpptasks.compiler.CommandLineLinker; -import net.sf.antcontrib.cpptasks.compiler.CommandLineLinkerConfiguration; -import net.sf.antcontrib.cpptasks.compiler.LinkType; -import net.sf.antcontrib.cpptasks.compiler.Linker; -import net.sf.antcontrib.cpptasks.types.LibrarySet; -import net.sf.antcontrib.cpptasks.types.LibraryTypeEnum; -import net.sf.antcontrib.cpptasks.VersionInfo; -import org.apache.tools.ant.BuildException; -/** - * Adapter for the IBM (R) OS/390 (tm) Linker - * - * @author Hiram Chirino (cojonudo14@hotmail.com) - */ -public final class IccLinker extends CommandLineLinker { - private static final IccLinker datasetLinker = new IccLinker(); - private static final IccLinker dllLinker = new IccLinker("", ".dll"); - private static final IccLinker instance = new IccLinker("", ""); - public static IccLinker getDataSetInstance() { - return datasetLinker; - } - public static IccLinker getInstance() { - return instance; - } - private boolean isADatasetLinker; - File outputFile; - private String outputPrefix; - CCTask task; - private IccLinker() { - super("icc", "/bogus", new String[]{".o", ".a", ".lib", ".xds"}, - new String[]{".dll", ".x"}, ".xds", false, null); - this.outputPrefix = ""; - this.isADatasetLinker = true; - } - private IccLinker(String outputPrefix, String outputSuffix) { - super("icc", "/bogus", new String[]{".o", ".a", ".lib", ".x"}, - new String[]{".dll"}, outputSuffix, false, null); - this.outputPrefix = outputPrefix; - this.isADatasetLinker = false; - } - protected void addBase(long base, Vector args) { - } - protected void addFixed(Boolean fixed, Vector args) { - } - protected void addImpliedArgs(boolean debug, LinkType linkType, Vector args) { - if (linkType.isSharedLibrary()) { - args.addElement("-W"); - args.addElement("l,DLL"); - } - } - protected void addIncremental(boolean incremental, Vector args) { - } - /* - * @see CommandLineLinker#addLibrarySets(LibrarySet[], Vector, Vector, - * Vector) - */ - protected String[] addLibrarySets(CCTask task, LibrarySet[] libsets, - Vector preargs, Vector midargs, Vector endargs) { - // If yo want to link against a library sitting in a dataset and - // not in the HFS, you can just use the //'dataset' notation - // to specify it. e.g: - // <libset dir="." libs="//'MQM.V5R2M0.SCSQLOAD'"/> - // - // We have to have special handling here because the file is not - // on the normal filesystem so the task will not noramly include it - // as part of the link command. - if (libsets != null) { - for (int i = 0; i < libsets.length; i++) { - String libs[] = libsets[i].getLibs(); - for (int j = 0; j < libs.length; j++) { - if (libs[j].startsWith("//")) { - endargs.addElement("-l"); - endargs.addElement(libs[j]); - } else if (libsets[i].getDataset() != null) { - String ds = libsets[i].getDataset(); - endargs.addElement("//'" + ds + "(" + libs[j] + ")'"); - } - } - } - } - return super.addLibrarySets(task, libsets, preargs, midargs, endargs); - } - protected void addMap(boolean map, Vector args) { - } - protected void addStack(int stack, Vector args) { - } - /* (non-Javadoc) - * @see net.sf.antcontrib.cpptasks.compiler.CommandLineLinker#addEntry(int, java.util.Vector) - */ - protected void addEntry(String entry, Vector args) { - } - - public String getCommandFileSwitch(String commandFile) { - return "@" + commandFile; - } - public File[] getLibraryPath() { - return CUtil.getPathFromEnvironment("LIB", ";"); - } - public String[] getLibraryPatterns(String[] libnames, LibraryTypeEnum libType) { - StringBuffer buf = new StringBuffer(); - String[] patterns = new String[libnames.length * 3]; - int offset = addLibraryPatterns(libnames, buf, "lib", ".a", patterns, 0); - offset = addLibraryPatterns(libnames, buf, "", ".x", patterns, offset); - offset = addLibraryPatterns(libnames, buf, "", ".o", patterns, offset); - return patterns; - } - - private static int addLibraryPatterns(String[] libnames, StringBuffer buf, - String prefix, String extension, String[] patterns, int offset) { - for (int i = 0; i < libnames.length; i++) { - buf.setLength(0); - buf.append(prefix); - buf.append(libnames[i]); - buf.append(extension); - patterns[offset + i] = buf.toString(); - } - return offset + libnames.length; - } - - - public Linker getLinker(LinkType linkType) { - if (this == datasetLinker) - return datasetLinker; - if (linkType.isSharedLibrary()) - return dllLinker; - return instance; - } - public int getMaximumCommandLength() { - return Integer.MAX_VALUE; - } - protected String[] getOutputFileSwitch(CCTask task, String outputFile) { - if (isADatasetLinker && task.getDataset() != null) { - String ds = task.getDataset(); - outputFile = "//'" + ds + "(" + outputFile + ")'"; - } - return getOutputFileSwitch(outputFile); - } - public String[] getOutputFileSwitch(String outputFile) { - return new String[]{"-o", outputFile}; - } - public boolean isCaseSensitive() { - return IccProcessor.isCaseSensitive(); - } - /* - * @see CommandLineLinker#link(Task, File, String[], - * CommandLineLinkerConfiguration) - */ - public void link(CCTask task, File outputFile, String[] sourceFiles, - CommandLineLinkerConfiguration config) throws BuildException { - this.task = task; - this.outputFile = outputFile; - if (isADatasetLinker) { - int p = outputFile.getName().indexOf("."); - if (p >= 0) { - String newname = outputFile.getName().substring(0, p); - outputFile = new File(outputFile.getParent(), newname); - } - } - super.link(task, outputFile, sourceFiles, config); - } - /* - * @see CommandLineLinker#runCommand(Task, File, String[]) - */ - protected int runCommand(CCTask task, File workingDir, String[] cmdline) - throws BuildException { - int rc = super.runCommand(task, workingDir, cmdline); - // create the .xds file if everything was ok. - if (rc == 0) { - try { - outputFile.delete(); - new FileOutputStream(outputFile).close(); - } catch (IOException e) { - throw new BuildException(e.getMessage()); - } - } - return rc; - } - public String[] getOutputFileNames(String baseName, VersionInfo versionInfo) { - String[] baseNames = super.getOutputFileNames(baseName, versionInfo); - if (outputPrefix.length() > 0) { - for(int i = 0; i < baseNames.length; i++) { - baseNames[i] = outputPrefix + baseNames[i]; - } - } - return baseNames; - } -} diff --git a/src/net/sf/antcontrib/cpptasks/os400/IccProcessor.java b/src/net/sf/antcontrib/cpptasks/os400/IccProcessor.java deleted file mode 100644 index f15aa8b..0000000 --- a/src/net/sf/antcontrib/cpptasks/os400/IccProcessor.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * - * Copyright 2002-2004 The Ant-Contrib project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package net.sf.antcontrib.cpptasks.os400; -import java.util.Vector; -/** - * A add-in class for IBM (r) OS/390 compilers and linkers - * - * @author Hiram Chirino (cojonudo14@hotmail.com) - */ -public class IccProcessor { - public static void addWarningSwitch(Vector args, int level) { - switch (level) { - /* - * case 0: args.addElement("/W0"); break; - * - * case 1: args.addElement("/W1"); break; - * - * case 2: break; - * - * case 3: args.addElement("/W3"); break; - * - * case 4: args.addElement("/W4"); break; - */ - } - } - public static String getCommandFileSwitch(String cmdFile) { - StringBuffer buf = new StringBuffer("@"); - if (cmdFile.indexOf(' ') >= 0) { - buf.append('\"'); - buf.append(cmdFile); - buf.append('\"'); - } else { - buf.append(cmdFile); - } - return buf.toString(); - } - public static String getIncludeDirSwitch(String includeDir) { - return "-I" + includeDir; - } - public static String[] getOutputFileSwitch(String outPath) { - StringBuffer buf = new StringBuffer("-o "); - if (outPath.indexOf(' ') >= 0) { - buf.append('\"'); - buf.append(outPath); - buf.append('\"'); - } else { - buf.append(outPath); - } - String[] retval = new String[]{buf.toString()}; - return retval; - } - public static boolean isCaseSensitive() { - return true; - } - private IccProcessor() { - } -} |