summaryrefslogtreecommitdiff
path: root/src/net/sf/antcontrib/cpptasks/trolltech/MetaObjectCompiler.java
diff options
context:
space:
mode:
authorMark Donszelmann <Mark.Donszelmann@gmail.com>2009-11-05 23:27:33 +0100
committerMark Donszelmann <Mark.Donszelmann@gmail.com>2009-11-05 23:27:33 +0100
commit254c4886d58979eebd0e352f4d16e391736f2a33 (patch)
tree8feca0cc1caa5177dd52a7b9b2dfd63502c941fd /src/net/sf/antcontrib/cpptasks/trolltech/MetaObjectCompiler.java
parentef6f25ba42792d2d811fd6826c0dd528ad77b1e9 (diff)
downloadcpptasks-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/trolltech/MetaObjectCompiler.java')
-rw-r--r--src/net/sf/antcontrib/cpptasks/trolltech/MetaObjectCompiler.java280
1 files changed, 0 insertions, 280 deletions
diff --git a/src/net/sf/antcontrib/cpptasks/trolltech/MetaObjectCompiler.java b/src/net/sf/antcontrib/cpptasks/trolltech/MetaObjectCompiler.java
deleted file mode 100644
index 25651da..0000000
--- a/src/net/sf/antcontrib/cpptasks/trolltech/MetaObjectCompiler.java
+++ /dev/null
@@ -1,280 +0,0 @@
-/*
- *
- * Copyright 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.trolltech;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.IOException;
-import java.io.FileReader;
-import java.io.Reader;
-import java.util.Vector;
-
-import net.sf.antcontrib.cpptasks.OptimizationEnum;
-import net.sf.antcontrib.cpptasks.compiler.CommandLineCompiler;
-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.parser.CParser;
-import net.sf.antcontrib.cpptasks.parser.Parser;
-import net.sf.antcontrib.cpptasks.gcc.LdLinker;
-import net.sf.antcontrib.cpptasks.VersionInfo;
-
-import org.apache.tools.ant.types.Environment;
-
-/**
- * Adapter for the Trolltech Qt MOC Compiler.
- *
- * @author Curt Arnold
- */
-public final class MetaObjectCompiler
- extends CommandLineCompiler {
- /**
- * Singleton instance.
- */
- private static final MetaObjectCompiler INSTANCE = new MetaObjectCompiler(
- false, null);
-
- /**
- * Gets singleton instance of compiler.
- * @return MetaObjectCompiler singleton instance
- */
- public static MetaObjectCompiler getInstance() {
- return INSTANCE;
- }
-
- /**
- * Constructor.
- * @param newEnvironment boolean establish an new environment.
- * @param env Environment environment.
- */
- private MetaObjectCompiler(final boolean newEnvironment,
- final Environment env) {
- super("moc", "-version", new String[] {".h", ".cpp"}
- , new String[0], ".moc", false, null, newEnvironment, env);
- }
-
- /**
- * Add arguments for debug, etc.
- * @param args Vector command argument list
- * @param debug boolean build for debug if true
- * @param multithreaded boolean build for multithreading if true
- * @param exceptions boolean enable exceptions if true
- * @param linkType LinkType output and runtime type
- * @param rtti Boolean enable run-time type identification if true
- * @param optimization OptimizationEnum optimization
- */
- protected void addImpliedArgs(final Vector args,
- final boolean debug,
- final boolean multithreaded,
- final boolean exceptions,
- final LinkType linkType,
- final Boolean rtti,
- final OptimizationEnum optimization) {
- }
-
- /**
- * Add arguments for specified warning level.
- * @param args Vector command line arguments
- * @param level int warning level value
- */
- protected void addWarningSwitch(final Vector args, final int level) {
- }
-
- /**
- * Change enviroment (deprecated).
- * @param newEnvironment boolean use new environment.
- * @param env Environment environment
- * @return Processor modified processor
- */
- public Processor changeEnvironment(final boolean newEnvironment,
- final Environment env) {
- return this;
- }
-
- /**
- * Gets a parser to scan source file for dependencies.
- * @param source source file
- * @return parser
- */
- protected Parser createParser(final File source) {
- return new CParser();
- }
-
- /**
- * Gets number of command line arguments per input file.
- * @return int number of command line arguments per input file.
- */
- protected int getArgumentCountPerInputFile() {
- return 3;
- }
-
- /**
- * Returns the bid of the processor for the file.
- *
- * @param inputFile
- * filename of input file
- * @return bid for the file, 0 indicates no interest, 1 indicates that the
- * processor recognizes the file but doesn't process it (header
- * files, for example), 100 indicates strong interest
- */
- public int bid(final String inputFile) {
- //
- // get base bid
- int baseBid = super.bid(inputFile);
- //
- // if the base bid was non-zero (.h or .cpp extension)
- //
- if (baseBid > 0) {
- //
- // scan the file for Q_OBJECT
- // skip file if not present
- //
- try {
- Reader reader = new BufferedReader(new FileReader(inputFile));
- boolean hasQObject = MetaObjectParser.hasQObject(reader);
- reader.close();
- if (hasQObject) {
- return baseBid;
- }
- } catch (IOException ex) {
- return 0;
- }
- }
- return 0;
- }
-
- /**
- * Gets output file names.
- * @param inputFile String input file name
- * @param versionInfo version info, not used by this compiler.
- * @return String[] output file names
- */
- public String[] getOutputFileNames(final String inputFile,
- final VersionInfo versionInfo) {
- if (inputFile.endsWith(".cpp")) {
- return super.getOutputFileNames(inputFile, versionInfo);
- }
- //
- // if a recognized input file
- //
- String baseName = getBaseOutputName(inputFile);
- return new String[] {
- "moc_" + baseName + ".cpp"};
- }
-
- /**
- * Gets input file arguments.
- * @param outputDir File output directory
- * @param filename String input file name.
- * @param index int argument index,
- * 0 to getNumberOfArgumentsPerInputFile() -1
- * @return String input file argument
- */
- protected String getInputFileArgument(final File outputDir,
- final String filename,
- final int index) {
- switch (index) {
- case 0:
- return "-o";
- case 1:
- String outputFileName = getOutputFileNames(filename, null)[0];
- return new File(outputDir, outputFileName)
- .toString();
-
- case 2:
- return filename;
-
- default:
- return null;
- }
- }
-
- /**
- * Gets maximum length of command line.
- * @return int maximum length of command line
- */
- public int getMaximumCommandLength() {
- return 1024;
- }
-
- /**
- * Gets maximum number of input files processed per command.
- * @return int maximum number of input files processed per command.
- */
- protected int getMaximumInputFilesPerCommand() {
- return 1;
- }
-
- /**
- * Gets include directory switch.
- * @param includeDir String include directory
- * @return String command switch to add specified directory to search path
- */
- protected String getIncludeDirSwitch(final String includeDir) {
- return "";
- }
-
- /**
- * Gets switch to define preprocessor macro.
- * @param buffer StringBuffer command line argument
- * @param define String macro name
- * @param value String macro value, may be null.
- */
- protected void getDefineSwitch(final StringBuffer buffer,
- final String define,
- final String value) {
- }
-
- /**
- * Gets switch to undefine preprocessor macro.
- * @param buffer StringBuffer command line argument
- * @param define String macro name
- */
- protected void getUndefineSwitch(final StringBuffer buffer,
- final String define) {
- }
-
- /**
- * Gets standard include paths.
- * @return File[] standard include paths
- */
- protected File[] getEnvironmentIncludePath() {
- return new File[0];
- }
-
- /**
- * Gets linker associated with this type.
- * @param type LinkType linker, returns ld.
- * @return Linker
- */
- public Linker getLinker(final LinkType type) {
- return LdLinker.getInstance();
- }
-
- /**
- * Get total command line length due to the input file.
- * @param outputDir File output directory
- * @param inputFile String input file
- * @return int characters added to command line for the input file.
- */
- protected int getTotalArgumentLengthForInputFile(final File outputDir,
- final String inputFile) {
- String arg1 = getInputFileArgument(outputDir, inputFile, 0);
- String arg2 = getInputFileArgument(outputDir, inputFile, 1);
- return arg1.length() + arg2.length() + 3;
- }
-}