1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-04-29 19:45:01 +02:00

Set up msw builds.

This commit is contained in:
Doug Schaefer 2007-10-26 18:44:41 +00:00
parent 1fe31a6d69
commit 3d87af69f1
11 changed files with 990 additions and 0 deletions

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.eclipse.cdt.msw.build</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,12 @@
#Mon Jul 23 15:38:07 EDT 2007
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5

View file

@ -0,0 +1,13 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: MSVC Build Integration Plug-in
Bundle-SymbolicName: org.eclipse.cdt.msw.build;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: org.eclipse.cdt.msw.build.Activator
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.resources,
org.eclipse.cdt.core,
org.eclipse.cdt.managedbuilder.core
Eclipse-LazyStart: true
Bundle-RequiredExecutionEnvironment: J2SE-1.5

View file

@ -0,0 +1,6 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.properties,\
plugin.xml

View file

@ -0,0 +1,9 @@
toolchain.name=Microsoft Visual C++
compiler.name=C/C++ Compiler (cl)
rc.name=Resource Compiler (rc)
linker.name=Linker (link)
lib.name=Library Manager (lib)
config.debug=Debug
config.release=Release

View file

@ -0,0 +1,647 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.eclipse.cdt.managedbuilder.core.buildDefinitions">
<managedBuildRevision fileVersion="4.0.0"/>
<toolChain
archList="all"
configurationEnvironmentSupplier="org.eclipse.cdt.msw.build.WinEnvironmentVariableSupplier"
id="org.eclipse.cdt.msvc.toolchain.base"
name="%toolchain.name"
osList="win32"
targetTool="org.eclipse.cdt.msvc.link;org.eclipse.cdt.msvc.lib">
<targetPlatform
archList="all"
binaryParser="org.eclipse.cdt.core.PE"
id="org.eclipse.cdt.msvc.targetPlatform"
osList="win32">
</targetPlatform>
<builder
id="org.eclipse.cdt.msvc.builder"
isVariableCaseSensitive="false"
superClass="org.eclipse.cdt.build.core.internal.builder">
</builder>
<tool
command="cl /c"
errorParsers="org.eclipse.cdt.core.VCErrorParser"
id="org.eclipse.cdt.msvc.cl"
name="%compiler.name"
natureFilter="both"
outputFlag="/Fo">
<supportedProperties>
<property
id="org.eclipse.cdt.build.core.buildType">
<value
id="org.eclipse.cdt.build.core.buildType.debug">
</value>
<value
id="org.eclipse.cdt.build.core.buildType.release">
</value>
</property>
</supportedProperties>
<optionCategory
id="org.eclipse.cdt.msvc.cl.optionCategory.optimization"
name="Optimization"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.optimization"
id="org.eclipse.cdt.msvc.cl.option.optimization"
name="Optimization"
resourceFilter="all"
valueType="enumerated">
<enumeratedOptionValue
id="org.eclipse.cdt.msvc.cl.option.optimization.default"
isDefault="false"
name="Default"/>
<enumeratedOptionValue
command="/O1"
id="org.eclipse.cdt.msvc.cl.option.optimization.1"
isDefault="false"
name="Minimize Size (/O1)"/>
<enumeratedOptionValue
command="/O2"
id="org.eclipse.cdt.msvc.cl.option.optimization.2"
isDefault="true"
name="Maximize Speed (/O2)"/>
<enablement
attribute="value"
extensionAdjustment="false"
type="CONTAINER_ATTRIBUTE"
value="org.eclipse.cdt.msvc.cl.option.optimization.2">
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildType"
value="org.eclipse.cdt.build.core.buildType.release">
</checkBuildProperty>
</enablement>
<enablement
attribute="value"
extensionAdjustment="false"
type="CONTAINER_ATTRIBUTE"
value="org.eclipse.cdt.msvc.cl.option.optimization.default">
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildType"
value="org.eclipse.cdt.build.core.buildType.debug">
</checkBuildProperty>
</enablement>
</option>
<optionCategory
id="org.eclipse.cdt.msvc.cl.optionCategory.codegen"
name="Code Generation"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.codegen"
id="org.eclipse.cdt.msvc.cl.option.arch"
name="Minimum CPU Architecture"
resourceFilter="all"
valueType="enumerated">
<enumeratedOptionValue
id="org.eclipse.cdt.msvc.cl.option.arch.default"
isDefault="true"
name="Default"/>
<enumeratedOptionValue
command="/arch:SSE"
id="org.eclipse.cdt.msvc.cl.option.arch.sse"
isDefault="false"
name="SSE (/arch:SSE)"/>
<enumeratedOptionValue
id="org.eclipse.cdt.msvc.cl.option.arch.sse2"
isDefault="false"
name="SSE2 (/arch:SSE2)"/>
</option>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.codegen"
command="/clr"
defaultValue="false"
id="org.eclipse.cdt.msvc.cl.option.clr"
name="Common Language Runtime (/clr)"
resourceFilter="all"
valueType="boolean"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.codegen"
command="/EHs"
defaultValue="true"
id="org.eclipse.cdt.msvc.cl.option.exceptions"
name="Enable C++ Exception Handling (/EHs)"
resourceFilter="all"
valueType="boolean"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.codegen"
commandFalse="/GR-"
defaultValue="true"
id="org.eclipse.cdt.msvc.cl.option.rtti"
name="Enable Run-Time Type Information (/GR)"
resourceFilter="all"
valueType="boolean"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.codegen"
id="org.eclipse.cdt.msvc.cl.option.runtime"
name="Run-Time Library"
resourceFilter="all"
valueType="enumerated">
<enumeratedOptionValue
command="/MT"
id="org.eclipse.cdt.msvc.cl.option.runtime.mt"
isDefault="false"
name="Multi-Threaded Static (/MT)"/>
<enumeratedOptionValue
command="/MTd"
id="org.eclipse.cdt.msvc.cl.option.runtime.mtd"
isDefault="false"
name="Multi-Threaded Static Debug (/MTd)"/>
<enumeratedOptionValue
command="/MD"
id="org.eclipse.cdt.msvc.cl.option.runtime.md"
isDefault="true"
name="Multi-Threaded DLL (/MD)"/>
<enumeratedOptionValue
command="/MDd"
id="org.eclipse.cdt.msvc.cl.option.runtime.mdd"
isDefault="false"
name="Multi-Threaded DLL Debug (/MDd)"/>
</option>
<optionCategory
id="org.eclipse.cdt.msvc.cl.optionCategory.debug"
name="Debugging"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.debug"
id="org.eclipse.cdt.msvc.cl.option.debugFormat"
name="Debug Information Format"
resourceFilter="all"
valueType="enumerated">
<enumeratedOptionValue
id="org.eclipse.cdt.msvc.cl.option.debugFormat.none"
isDefault="true"
name="None"/>
<enumeratedOptionValue
command="/Z7"
id="org.eclipse.cdt.msvc.cl.option.debugFormat.c7"
isDefault="false"
name="C7 Compatible (/Z7)"/>
<enumeratedOptionValue
command="/Zi"
id="org.eclipse.cdt.msvc.cl.option.debugFormat.complete"
isDefault="false"
name="Complete (/Zi)"/>
<enablement
attribute="value"
extensionAdjustment="false"
type="CONTAINER_ATTRIBUTE"
value="org.eclipse.cdt.msvc.cl.option.debugFormat.none">
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildType"
value="org.eclipse.cdt.build.core.buildType.release">
</checkBuildProperty>
</enablement>
<enablement
attribute="value"
extensionAdjustment="false"
type="CONTAINER_ATTRIBUTE"
value="org.eclipse.cdt.msvc.cl.option.debugFormat.complete">
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildType"
value="org.eclipse.cdt.build.core.buildType.debug">
</checkBuildProperty>
</enablement>
</option>
<optionCategory
id="org.eclipse.cdt.msvc.cl.optionCategory.preprocessor"
name="Preprocessor"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.preprocessor"
command="/D"
id="org.eclipse.cdt.msvc.cl.option.macros"
name="Defines (/D)"
resourceFilter="all"
valueType="definedSymbols"/>
<option
browseType="directory"
category="org.eclipse.cdt.msvc.cl.optionCategory.preprocessor"
command="/I"
id="org.eclipse.cdt.msvc.cl.option.includes"
name="Include Path (/I)"
resourceFilter="all"
valueType="includePath"/>
<optionCategory
id="org.eclipse.cdt.msvc.cl.optionCategory.language"
name="Language"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.language"
command="/openmp"
defaultValue="false"
id="org.eclipse.cdt.msvc.cl.option.openmp"
name="Enable OpenMP (/openmp)"
resourceFilter="all"
valueType="boolean"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.language"
commandFalse="/Za"
defaultValue="true"
id="org.eclipse.cdt.msvc.cl.option.langExtensions"
name="Enable Language Extensions (/Ze,/Za)"
resourceFilter="all"
valueType="boolean"/>
<optionCategory
id="org.eclipse.cdt.msvc.cl.optionCategory.miscellaneous"
name="Miscellaneous"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.miscellaneous"
command="/nologo"
defaultValue="true"
id="org.eclipse.cdt.msvc.cl.option.nologo"
name="Suppress Banner (/nologo)"
resourceFilter="all"
valueType="boolean"/>
<option
category="org.eclipse.cdt.msvc.cl.optionCategory.miscellaneous"
id="org.eclipse.cdt.msvc.cl.option.others"
name="Other Options"
resourceFilter="all"
valueType="stringList"/>
<inputType
dependencyContentType="org.eclipse.cdt.core.cxxHeader"
id="org.eclipse.cdt.msvc.cl.inputType"
scannerConfigDiscoveryProfileId="org.eclipse.cdt.msvc.build.clScannerInfo"
sourceContentType="org.eclipse.cdt.core.cxxSource">
</inputType>
<outputType
id="org.eclipse.cdt.msvc.cl.outputType"
outputs="obj">
</outputType>
</tool>
<tool
command="rc"
errorParsers="org.eclipse.cdt.core.VCErrorParser"
id="org.eclipse.cdt.msvc.rc"
name="%rc.name"
natureFilter="both"
outputFlag="/Fo"
>
<optionCategory
id="org.eclipse.cdt.msvc.rc.optionCategory.preprocessor"
name="Preprocessor"/>
<option
browseType="directory"
category="org.eclipse.cdt.msvc.rc.optionCategory.preprocessor"
command="/I"
id="org.eclipse.cdt.msvc.rc.option.includes"
name="Include Path (/I)"
resourceFilter="all"
valueType="includePath"/>
<option
category="org.eclipse.cdt.msvc.rc.optionCategory.preprocessor"
command="/D"
id="org.eclipse.cdt.msvc.rc.option.defines"
name="Defines (/D)"
resourceFilter="all"
valueType="definedSymbols"/>
<optionCategory
id="org.eclipse.cdt.msvc.rc.optionCategory.misc"
name="Miscellaneous"/>
<option
category="org.eclipse.cdt.msvc.rc.optionCategory.misc"
id="org.eclipse.cdt.msvc.rc.option.others"
name="Other Options"
resourceFilter="all"
valueType="stringList"/>
<inputType
id="org.eclipse.cdt.msvc.rc.inputType"
sources="rc">
</inputType>
<outputType
id="org.eclipse.cdt.msvc.rc.outputType"
outputs="res">
</outputType>
</tool>
<tool
command="link"
errorParsers="org.eclipse.cdt.core.VCErrorParser"
id="org.eclipse.cdt.msvc.link"
name="%linker.name"
natureFilter="both"
outputFlag="/OUT:"
>
<supportedProperties>
<property
id="org.eclipse.cdt.build.core.buildArtefactType">
<value
id="org.eclipse.cdt.build.core.buildArtefactType.exe"></value>
<value
id="org.eclipse.cdt.build.core.buildArtefactType.sharedLib">
</value>
</property>
</supportedProperties>
<option
command="/DLL"
defaultValue="false"
id="org.eclipse.cdt.msvc.link.option.dll"
name="Build a DLL"
resourceFilter="all"
valueType="boolean">
<enablement
attribute="defaultValue"
extensionAdjustment="false"
type="CONTAINER_ATTRIBUTE"
value="true">
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildArtefactType"
value="org.eclipse.cdt.build.core.buildArtefactType.sharedLib">
</checkBuildProperty>
</enablement>
</option>
<optionCategory
id="org.eclipse.cdt.msvc.link.optionCategory.general"
name="General"/>
<option
category="org.eclipse.cdt.msvc.link.optionCategory.general"
command="/debug"
defaultValue="false"
id="org.eclipse.cdt.msvc.link.option.debug"
name="Generate Debug Info (/debug)"
resourceFilter="all"
valueType="boolean"/>
<option
category="org.eclipse.cdt.msvc.link.optionCategory.general"
command="/nologo"
defaultValue="true"
id="org.eclipse.cdt.msvc.link.option.nologo"
name="Suppress Banner (/nologo)"
resourceFilter="all"
valueType="boolean"/>
<option
category="org.eclipse.cdt.msvc.link.optionCategory.general"
id="org.eclipse.cdt.msvc.link.option.others"
name="Other Options"
resourceFilter="all"
valueType="stringList"/>
<optionCategory
id="org.eclipse.cdt.msvc.link.optionCategory.libraries"
name="Libraries"/>
<option
browseType="directory"
category="org.eclipse.cdt.msvc.link.optionCategory.libraries"
command="/libpath:"
id="org.eclipse.cdt.msvc.link.option.libpath"
name="Additional Libpath (/libpath)"
resourceFilter="all"
valueType="stringList"/>
<option
browseType="file"
category="org.eclipse.cdt.msvc.link.optionCategory.libraries"
id="org.eclipse.cdt.msvc.link.option.libraries"
name="Libraries"
resourceFilter="all"
valueType="libs"/>
<inputType
id="org.eclipse.cdt.msvc.link.inputType"
multipleOfType="true"
sources="res,obj">
</inputType>
<outputType
id="org.eclipse.cdt.msvc.link.outputType"
outputs="exe">
</outputType>
<outputType
id="org.eclipse.cdt.msvc.link.outputType.dll"
outputs="dll">
</outputType>
</tool>
<tool
command="lib"
id="org.eclipse.cdt.msvc.lib"
name="%lib.name"
natureFilter="both"
outputFlag="/OUT:"
>
<supportedProperties>
<property
id="org.eclipse.cdt.build.core.buildArtefactType">
<value
id="org.eclipse.cdt.build.core.buildArtefactType.staticLib">
</value>
</property>
</supportedProperties>
<optionCategory
id="org.eclipse.cdt.msvc.lib.optionCategory.general"
name="General"/>
<option
category="org.eclipse.cdt.msvc.lib.optionCategory.general"
command="/nologo"
defaultValue="true"
id="org.eclipse.cdt.msvc.lib.option.nologo"
name="Suppress Banner (/nologo)"
resourceFilter="all"
valueType="boolean"/>
<inputType
id="org.eclipse.cdt.msvc.lib.inputType"
sources="obj,res">
</inputType>
<outputType
id="org.eclipse.cdt.msvc.lib.outputType"
outputs="lib">
</outputType>
</tool>
</toolChain>
<configuration
artifactExtension="exe"
id="org.eclipse.cdt.msvc.configuration">
<enablement
attribute="artifactExtension"
extensionAdjustment="false"
type="CONTAINER_ATTRIBUTE"
value="dll">
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildArtefactType"
value="org.eclipse.cdt.build.core.buildArtefactType.sharedLib"></checkBuildProperty>
</enablement>
<enablement
attribute="artifactExtension"
extensionAdjustment="false"
type="CONTAINER_ATTRIBUTE"
value="lib">
<checkBuildProperty
property="org.eclipse.cdt.build.core.buildArtefactType"
value="org.eclipse.cdt.build.core.buildArtefactType.staticLib"></checkBuildProperty>
</enablement>
</configuration>
<projectType
buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe"
id="org.eclipse.cdt.msvc.projectType.exe"
projectEnvironmentSupplier="org.eclipse.cdt.msw.build.WinEnvironmentVariableSupplier">
<configuration
buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug"
id="org.eclipse.cdt.msvc.exe.debug"
name="%config.debug"
parent="org.eclipse.cdt.msvc.configuration">
<toolChain
id="org.eclipse.cdt.msvc.toolchain.exe.debug"
superClass="org.eclipse.cdt.msvc.toolchain.base">
<targetPlatform
id="org.eclipse.cdt.msvc.targetPlatform.exe.debug"
superClass="org.eclipse.cdt.msvc.targetPlatform">
</targetPlatform>
<tool
id="org.eclipse.cdt.msvc.cl.exe.debug"
superClass="org.eclipse.cdt.msvc.cl">
</tool>
<tool
id="org.eclipse.cdt.msvc.rc.exe.debug"
superClass="org.eclipse.cdt.msvc.rc">
</tool>
<tool
id="org.eclipse.cdt.msvc.link.exe.debug"
superClass="org.eclipse.cdt.msvc.link">
</tool>
</toolChain>
</configuration>
<configuration
buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release"
id="org.eclipse.cdt.msvc.exe.release"
name="%config.release"
parent="org.eclipse.cdt.msvc.configuration">
<toolChain
id="org.eclipse.cdt.msvc.toolchain.exe.release"
superClass="org.eclipse.cdt.msvc.toolchain.base">
<targetPlatform
id="org.eclipse.cdt.msvc.targetPlatform.exe.release"
superClass="org.eclipse.cdt.msvc.targetPlatform">
</targetPlatform>
<tool
id="org.eclipse.cdt.msvc.cl.exe.release"
superClass="org.eclipse.cdt.msvc.cl">
</tool>
<tool
id="org.eclipse.cdt.msvc.rc.exe.release"
superClass="org.eclipse.cdt.msvc.rc">
</tool>
<tool
id="org.eclipse.cdt.msvc.link.exe.release"
superClass="org.eclipse.cdt.msvc.link">
</tool>
</toolChain>
</configuration>
</projectType>
<projectType
buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.sharedLib"
id="org.eclipse.cdt.msvc.projectType.dll"
projectEnvironmentSupplier="org.eclipse.cdt.msw.build.WinEnvironmentVariableSupplier">
<configuration
buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug"
id="org.eclipse.cdt.msvc.dll.debug"
name="%config.debug"
parent="org.eclipse.cdt.msvc.configuration">
<toolChain
id="org.eclipse.cdt.msvc.toolchain.dll.debug"
superClass="org.eclipse.cdt.msvc.toolchain.base">
<targetPlatform
id="org.eclipse.cdt.msvc.targetPlatform.dll.debug"
superClass="org.eclipse.cdt.msvc.targetPlatform">
</targetPlatform>
<tool
id="org.eclipse.cdt.msvc.cl.dll.debug"
superClass="org.eclipse.cdt.msvc.cl">
</tool>
<tool
id="org.eclipse.cdt.msvc.rc.dll.debug"
superClass="org.eclipse.cdt.msvc.rc">
</tool>
<tool
id="org.eclipse.cdt.msvc.link.dll.debug"
superClass="org.eclipse.cdt.msvc.link">
</tool>
</toolChain>
</configuration>
<configuration
buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release"
id="org.eclipse.cdt.msvc.dll.release"
name="%config.release"
parent="org.eclipse.cdt.msvc.configuration">
<toolChain
id="org.eclipse.cdt.msvc.toolchain.dll.release"
superClass="org.eclipse.cdt.msvc.toolchain.base">
<targetPlatform
id="org.eclipse.cdt.msvc.targetPlatform.dll.release"
superClass="org.eclipse.cdt.msvc.targetPlatform">
</targetPlatform>
<tool
id="org.eclipse.cdt.msvc.cl.dll.release"
superClass="org.eclipse.cdt.msvc.cl">
</tool>
<tool
id="org.eclipse.cdt.msvc.rc.dll.release"
superClass="org.eclipse.cdt.msvc.rc">
</tool>
<tool
id="org.eclipse.cdt.msvc.link.dll.release"
superClass="org.eclipse.cdt.msvc.link">
</tool>
</toolChain>
</configuration>
</projectType>
<projectType
buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.staticLib"
id="org.eclipse.cdt.msvc.projectType.lib"
projectEnvironmentSupplier="org.eclipse.cdt.msw.build.WinEnvironmentVariableSupplier">
<configuration
buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug"
id="org.eclipse.cdt.msvc.lib.debug"
name="%config.debug"
parent="org.eclipse.cdt.msvc.configuration">
<toolChain
id="org.eclipse.cdt.msvc.toolchain.lib.debug"
superClass="org.eclipse.cdt.msvc.toolchain.base">
<targetPlatform
id="org.eclipse.cdt.msvc.targetPlatform.lib.debug"
superClass="org.eclipse.cdt.msvc.targetPlatform">
</targetPlatform>
<tool
id="org.eclipse.cdt.msvc.cl.lib.debug"
superClass="org.eclipse.cdt.msvc.cl">
</tool>
<tool
id="org.eclipse.cdt.msvc.rc.lib.debug"
superClass="org.eclipse.cdt.msvc.rc">
</tool>
<tool
id="org.eclipse.cdt.msvc.lib.lib.debug"
superClass="org.eclipse.cdt.msvc.lib">
</tool>
</toolChain>
</configuration>
<configuration
buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release"
id="org.eclipse.cdt.msvc.lib.release"
name="%config.release"
parent="org.eclipse.cdt.msvc.configuration">
<toolChain
id="org.eclipse.cdt.msvc.toolchain.lib.release"
superClass="org.eclipse.cdt.msvc.toolchain.base">
<targetPlatform
id="org.eclipse.cdt.msvc.targetPlatform.lib.release"
superClass="org.eclipse.cdt.msvc.targetPlatform">
</targetPlatform>
<tool
id="org.eclipse.cdt.msvc.cl.lib.release"
superClass="org.eclipse.cdt.msvc.cl">
</tool>
<tool
id="org.eclipse.cdt.msvc.rc.lib.release"
superClass="org.eclipse.cdt.msvc.rc">
</tool>
<tool
id="org.eclipse.cdt.msvc.lib.lib.release"
superClass="org.eclipse.cdt.msvc.lib">
</tool>
</toolChain>
</configuration>
</projectType>
</extension>
<extension
id="clScannerInfo"
name="Windows SDK Scanner Info Provider"
point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
<scannerInfoCollector
class="org.eclipse.cdt.msw.build.WinScannerInfoCollector"
scope="project">
</scannerInfoCollector>
</extension>
</plugin>

View file

@ -0,0 +1,50 @@
package org.eclipse.cdt.msw.build;
import org.eclipse.core.runtime.Plugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
public class Activator extends Plugin {
// The plug-in ID
public static final String PLUGIN_ID = "net.sf.wascana.msvc.build";
// The shared instance
private static Activator plugin;
/**
* The constructor
*/
public Activator() {
}
/*
* (non-Javadoc)
* @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
/*
* (non-Javadoc)
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
}

View file

@ -0,0 +1,59 @@
package org.eclipse.cdt.msw.build;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo;
import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredScannerInfoSerializable;
import org.eclipse.cdt.utils.WindowsRegistry;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IPath;
import org.eclipse.core.runtime.Path;
/**
* @author Doug Schaefer
*
*/
public class WinDiscoveredPathInfo implements IDiscoveredPathInfo {
private final IPath[] paths;
private final Map<String, String> symbols = new HashMap<String, String>();
public WinDiscoveredPathInfo() {
WindowsRegistry reg = WindowsRegistry.getRegistry();
// Include paths
String sdkDir = reg.getLocalMachineValue("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.0", "InstallationFolder");
if (sdkDir == null)
sdkDir = reg.getLocalMachineValue("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.1", "InstallationFolder");
paths = new IPath[] {
new Path(sdkDir.concat("\\VC\\Include")),
new Path(sdkDir.concat("\\VC\\Include\\Sys")),
new Path(sdkDir.concat("\\Include")),
new Path(sdkDir.concat("\\Include\\gl"))
};
symbols.put("_M_IX86", "600");
symbols.put("_WIN32", "1");
symbols.put("_MSC_VER", "1400");
}
public IPath[] getIncludePaths() {
return paths;
}
public IProject getProject() {
return null;
}
public IDiscoveredScannerInfoSerializable getSerializable() {
return null;
}
public Map<String, String> getSymbols() {
return symbols;
}
}

View file

@ -0,0 +1,118 @@
package org.eclipse.cdt.msw.build;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.cdt.managedbuilder.core.IConfiguration;
import org.eclipse.cdt.managedbuilder.core.IManagedProject;
import org.eclipse.cdt.managedbuilder.envvar.IBuildEnvironmentVariable;
import org.eclipse.cdt.managedbuilder.envvar.IConfigurationEnvironmentVariableSupplier;
import org.eclipse.cdt.managedbuilder.envvar.IEnvironmentVariableProvider;
import org.eclipse.cdt.managedbuilder.envvar.IProjectEnvironmentVariableSupplier;
import org.eclipse.cdt.utils.WindowsRegistry;
/**
* @author DSchaefer
*
*/
public class WinEnvironmentVariableSupplier
implements IConfigurationEnvironmentVariableSupplier, IProjectEnvironmentVariableSupplier {
private Map<String, IBuildEnvironmentVariable> envvars;
private static class WindowsBuildEnvironmentVariable implements IBuildEnvironmentVariable {
private final String name;
private final String value;
private final int operation;
public WindowsBuildEnvironmentVariable(String name, String value, int operation) {
this.name = name;
this.value = value;
this.operation = operation;
}
public String getDelimiter() {
return ";";
}
public String getName() {
return name;
}
public String getValue() {
return value;
}
public int getOperation() {
return operation;
}
}
public IBuildEnvironmentVariable getVariable(String variableName,
IManagedProject project, IEnvironmentVariableProvider provider) {
if (envvars == null)
initvars();
return envvars.get(variableName);
}
public IBuildEnvironmentVariable getVariable(String variableName,
IConfiguration configuration, IEnvironmentVariableProvider provider) {
if (envvars == null)
initvars();
return envvars.get(variableName);
}
public IBuildEnvironmentVariable[] getVariables(IManagedProject project,
IEnvironmentVariableProvider provider) {
if (envvars == null)
initvars();
return envvars.values().toArray(new IBuildEnvironmentVariable[envvars.size()]);
}
public IBuildEnvironmentVariable[] getVariables(
IConfiguration configuration, IEnvironmentVariableProvider provider) {
if (envvars == null)
initvars();
return envvars.values().toArray(new IBuildEnvironmentVariable[envvars.size()]);
}
private void addvar(IBuildEnvironmentVariable var) {
envvars.put(var.getName(), var);
}
private void initvars() {
envvars = new HashMap<String, IBuildEnvironmentVariable>();
StringBuffer buff;
WindowsRegistry reg = WindowsRegistry.getRegistry();
// The SDK Location
String sdkDir = reg.getLocalMachineValue("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.0", "InstallationFolder");
if (sdkDir == null)
sdkDir = reg.getLocalMachineValue("SOFTWARE\\Microsoft\\Microsoft SDKs\\Windows\\v6.1", "InstallationFolder");
// INCLUDE
buff = new StringBuffer();
buff.append(sdkDir).append("VC\\Include;");
buff.append(sdkDir).append("VC\\Include\\Sys;");
buff.append(sdkDir).append("Include;");
buff.append(sdkDir).append("Include\\gl;");
addvar(new WindowsBuildEnvironmentVariable("INCLUDE", buff.toString(), IBuildEnvironmentVariable.ENVVAR_PREPEND));
// LIB
buff = new StringBuffer();
buff.append(sdkDir).append("VC\\Lib;");
buff.append(sdkDir).append("Lib;");
addvar(new WindowsBuildEnvironmentVariable("LIB", buff.toString(), IBuildEnvironmentVariable.ENVVAR_PREPEND));
// PATH
buff = new StringBuffer();
buff.append(sdkDir).append("VC\\Bin;");
buff.append(sdkDir).append("Bin;");
addvar(new WindowsBuildEnvironmentVariable("PATH", buff.toString(), IBuildEnvironmentVariable.ENVVAR_PREPEND));
}
}

View file

@ -0,0 +1,41 @@
package org.eclipse.cdt.msw.build;
import java.util.List;
import java.util.Map;
import org.eclipse.cdt.make.core.scannerconfig.IScannerInfoCollector3;
import org.eclipse.cdt.make.core.scannerconfig.InfoContext;
import org.eclipse.cdt.make.core.scannerconfig.ScannerInfoTypes;
import org.eclipse.cdt.make.core.scannerconfig.IDiscoveredPathManager.IDiscoveredPathInfo;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
/**
* @author Doug Schaefer
*
*/
public class WinScannerInfoCollector implements IScannerInfoCollector3 {
public void contributeToScannerConfig(Object resource, Map scannerInfo) {
}
public List getCollectedScannerInfo(Object resource, ScannerInfoTypes type) {
return null;
}
public IDiscoveredPathInfo createPathInfoObject() {
return new WinDiscoveredPathInfo();
}
public void setInfoContext(InfoContext context) {
}
public void setProject(IProject project) {
}
public void updateScannerConfiguration(IProgressMonitor monitor) throws CoreException {
}
}