diff options
author | Doug Schaefer | 2007-10-26 18:44:41 +0000 |
---|---|---|
committer | Doug Schaefer | 2007-10-26 18:44:41 +0000 |
commit | 3d87af69f14b1678e6b82d2678159fbb0ced9bd4 (patch) | |
tree | 72dcb52fb45a5396411da274e043c96de17c4a8e /windows | |
parent | 1fe31a6d69626a93fb7a37a46e7886d605cf18e0 (diff) | |
download | org.eclipse.cdt-3d87af69f14b1678e6b82d2678159fbb0ced9bd4.tar.gz org.eclipse.cdt-3d87af69f14b1678e6b82d2678159fbb0ced9bd4.tar.xz org.eclipse.cdt-3d87af69f14b1678e6b82d2678159fbb0ced9bd4.zip |
Set up msw builds.
Diffstat (limited to 'windows')
11 files changed, 990 insertions, 0 deletions
diff --git a/windows/org.eclipse.cdt.msw.build/.classpath b/windows/org.eclipse.cdt.msw.build/.classpath new file mode 100644 index 00000000000..751c8f2e504 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/.classpath @@ -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> diff --git a/windows/org.eclipse.cdt.msw.build/.project b/windows/org.eclipse.cdt.msw.build/.project new file mode 100644 index 00000000000..e97910dcff7 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/.project @@ -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> diff --git a/windows/org.eclipse.cdt.msw.build/.settings/org.eclipse.jdt.core.prefs b/windows/org.eclipse.cdt.msw.build/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000000..0f0eb3002b3 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/.settings/org.eclipse.jdt.core.prefs @@ -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 diff --git a/windows/org.eclipse.cdt.msw.build/META-INF/MANIFEST.MF b/windows/org.eclipse.cdt.msw.build/META-INF/MANIFEST.MF new file mode 100644 index 00000000000..492bcb702be --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/META-INF/MANIFEST.MF @@ -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 diff --git a/windows/org.eclipse.cdt.msw.build/build.properties b/windows/org.eclipse.cdt.msw.build/build.properties new file mode 100644 index 00000000000..30b2fc40bd8 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/build.properties @@ -0,0 +1,6 @@ +source.. = src/ +output.. = bin/ +bin.includes = META-INF/,\ + .,\ + plugin.properties,\ + plugin.xml diff --git a/windows/org.eclipse.cdt.msw.build/plugin.properties b/windows/org.eclipse.cdt.msw.build/plugin.properties new file mode 100644 index 00000000000..05150db9042 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/plugin.properties @@ -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
\ No newline at end of file diff --git a/windows/org.eclipse.cdt.msw.build/plugin.xml b/windows/org.eclipse.cdt.msw.build/plugin.xml new file mode 100644 index 00000000000..3c63de507e4 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/plugin.xml @@ -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> diff --git a/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/Activator.java b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/Activator.java new file mode 100644 index 00000000000..c9e6ca453fb --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/Activator.java @@ -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; + } + +} diff --git a/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinDiscoveredPathInfo.java b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinDiscoveredPathInfo.java new file mode 100644 index 00000000000..f873465c221 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinDiscoveredPathInfo.java @@ -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; + } + +} diff --git a/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java new file mode 100644 index 00000000000..25ed330d7a6 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinEnvironmentVariableSupplier.java @@ -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)); + } + +} diff --git a/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinScannerInfoCollector.java b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinScannerInfoCollector.java new file mode 100644 index 00000000000..e955c512026 --- /dev/null +++ b/windows/org.eclipse.cdt.msw.build/src/org/eclipse/cdt/msw/build/WinScannerInfoCollector.java @@ -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 { + } + +} |