+++ /dev/null
-/*\r
- * \r
- * Copyright 2001-2004 The Ant-Contrib project\r
- *\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://www.apache.org/licenses/LICENSE-2.0\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-package net.sf.antcontrib.cpptasks.compiler;\r
-import net.sf.antcontrib.cpptasks.OutputTypeEnum;\r
-import net.sf.antcontrib.cpptasks.SubsystemEnum;\r
-/**\r
- * This class represents the target platform for the compile and link step. The\r
- * name is an anachronism and should be changed.\r
- * \r
- * @author Curt Arnold\r
- */\r
-public class LinkType {\r
- private OutputTypeEnum outputType = new OutputTypeEnum();\r
- private boolean staticRuntime = false;\r
- private SubsystemEnum subsystem = new SubsystemEnum();\r
- /**\r
- * Constructor\r
- * \r
- * By default, an gui executable with a dynamically linked runtime\r
- * \r
- */\r
- public LinkType() {\r
- }\r
- /**\r
- * Gets whether the link should produce an executable\r
- * \r
- * @return boolean\r
- */\r
- public boolean isExecutable() {\r
- String value = outputType.getValue();\r
- return value.equals("executable");\r
- }\r
- /**\r
- * Gets whether the link should produce a plugin module.\r
- * \r
- * @return boolean\r
- */\r
- public boolean isPluginModule() {\r
- String value = outputType.getValue();\r
- return value.equals("plugin");\r
- }\r
- /**\r
- * Gets whether the link should produce a shared library.\r
- * \r
- * @return boolean\r
- */\r
- public boolean isSharedLibrary() {\r
- String value = outputType.getValue();\r
- return value.equals("shared") || value.equals("plugin");\r
- }\r
- /**\r
- * Gets whether the link should produce a static library.\r
- * \r
- * @return boolean\r
- */\r
- public boolean isStaticLibrary() {\r
- String value = outputType.getValue();\r
- return value.equals("static");\r
- }\r
- /**\r
- * Gets whether the module should use a statically linked runtime library.\r
- * \r
- * @return boolean\r
- */\r
- public boolean isStaticRuntime() {\r
- return staticRuntime;\r
- }\r
- /**\r
- * Gets whether the link should produce a module for a console subsystem.\r
- * \r
- * @return boolean\r
- */\r
- public boolean isSubsystemConsole() {\r
- String value = subsystem.getValue();\r
- return value.equals("console");\r
- }\r
- /**\r
- * Gets whether the link should produce a module for a graphical user\r
- * interface subsystem.\r
- * \r
- * @return boolean\r
- */\r
- public boolean isSubsystemGUI() {\r
- String value = subsystem.getValue();\r
- return value.equals("gui");\r
- }\r
- /**\r
- * Sets the output type (execuable, shared, etc).\r
- * \r
- * @param outputType,\r
- * may not be null\r
- */\r
- public void setOutputType(OutputTypeEnum outputType) {\r
- if (outputType == null) {\r
- throw new IllegalArgumentException("outputType");\r
- }\r
- this.outputType = outputType;\r
- }\r
- /**\r
- * Requests use of a static runtime library.\r
- * \r
- * @param staticRuntime\r
- * if true, use static runtime library if possible.\r
- */\r
- public void setStaticRuntime(boolean staticRuntime) {\r
- this.staticRuntime = staticRuntime;\r
- }\r
- /**\r
- * Sets the subsystem (gui, console, etc).\r
- * \r
- * @param subsystem\r
- * subsystem, may not be null\r
- */\r
- public void setSubsystem(SubsystemEnum subsystem) {\r
- if (subsystem == null) {\r
- throw new IllegalArgumentException("subsystem");\r
- }\r
- this.subsystem = subsystem;\r
- }\r
-}\r