Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Recoskie2008-01-24 10:11:57 -0500
committerChris Recoskie2008-01-24 10:11:57 -0500
commit290c7897927ea7c9a221e2bce474652a538aef46 (patch)
treeab94b468d896ddbba386abe4b3dff14b962b9ab1
parent1d25bf5abce25919c43b8a916b6841e8c4b6f24b (diff)
downloadorg.eclipse.cdt-290c7897927ea7c9a221e2bce474652a538aef46.tar.gz
org.eclipse.cdt-290c7897927ea7c9a221e2bce474652a538aef46.tar.xz
org.eclipse.cdt-290c7897927ea7c9a221e2bce474652a538aef46.zip
Fixing scanner discovery to be per-language
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.properties3
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.xml38
-rw-r--r--xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml28
3 files changed, 51 insertions, 18 deletions
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.properties b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.properties
index d109ae0d3b..fe51574e0b 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.properties
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.properties
@@ -15,4 +15,5 @@ providerName=Eclipse.org
objectFileName=Object File
-profileName=XL C/C++ managed make per project SCD profile \ No newline at end of file
+profileName=XL C managed make per project scanner discovery profile
+profileNameCPP=XL C++ managed make per project scanner discovery profile \ No newline at end of file
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.xml b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.xml
index 90adbd8124..625c844edc 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.xml
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.core/plugin.xml
@@ -29,7 +29,7 @@
<!-- The output for C or C++ projects will be different as the ScannerInfoProvider substitute the ${specs_file} variable below with a dummy "c" file or "cpp" file -->
<run
arguments="-E -v ${plugin_state_location}/${specs_file}"
- command="${XL_compilerRoot}/xlC"
+ command="${XL_compilerRoot}/xlc"
class="org.eclipse.cdt.make.xlc.core.scannerconfig.XlCSpecsRunSIProvider">
</run>
<!-- Specifies the parser for the output generated by the compiler with the above command line -->
@@ -39,5 +39,41 @@
</scannerInfoProvider>
</extension>
+ <!-- -->
+ <!-- Xl C ScannerConfigurationDiscoveryProfile definitions -->
+ <!-- -->
+
+ <!-- We have to extend the core of CDT's make so that we can define a new ScannerConfigurationDiscoveryProfile -->
+ <!-- A ScannerConfigurationDiscoveryProfile is used to discover information about the standard options used by the compiler, e.g. the standard include directories -->
+
+ <!-- Xl C Managed Make Per Project Profile -->
+ <!-- The Profile gathers together information about the standard include directories and standard definitions used by the compiler -->
+ <extension
+ id="XLCManagedMakePerProjectProfileCPP"
+ name="%profileNameCPP"
+ point="org.eclipse.cdt.make.core.ScannerConfigurationDiscoveryProfile">
+
+ <!-- The ScannerInfoCollector manages the information generated by the Profile so that it can be easily accessed afterwards -->
+ <scannerInfoCollector
+ class="org.eclipse.cdt.make.xlc.core.scannerconfig.DefaultXlCScannerInfoCollector"
+ scope="project">
+ </scannerInfoCollector>
+ <!-- The ScannerInfoProvider search for the information needed by the profile and send it to the ScannerInfoCollector -->
+ <scannerInfoProvider providerId="specsFile">
+ <!-- Specifies the compiler command that returns the information about standard include directories and standard definitions -->
+ <!-- The compiler command used will be always a C compiler command -->
+ <!-- The output for C or C++ projects will be different as the ScannerInfoProvider substitute the ${specs_file} variable below with a dummy "c" file or "cpp" file -->
+ <run
+ arguments="-E -v ${plugin_state_location}/${specs_file}"
+ command="${XL_compilerRoot}/xlC"
+ class="org.eclipse.cdt.make.xlc.core.scannerconfig.XlCSpecsRunSIProvider">
+ </run>
+ <!-- Specifies the parser for the output generated by the compiler with the above command line -->
+ <scannerInfoConsoleParser
+ class="org.eclipse.cdt.make.xlc.core.scannerconfig.XlCSpecsConsoleParser">
+ </scannerInfoConsoleParser>
+ </scannerInfoProvider>
+
+ </extension>
</plugin>
diff --git a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml
index 85e0819fc8..c5aeed4d6a 100644
--- a/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml
+++ b/xlc/org.eclipse.cdt.managedbuilder.xlc.ui/plugin.xml
@@ -229,11 +229,12 @@
outputFlag="-o"
superClass="org.eclipse.cdt.managedbuilder.xlc.ui.tool.abstractCompiler">
<inputType
- sourceContentType="org.eclipse.cdt.core.cxxSource"
- sources="c,C,cc,cxx,cpp"
- dependencyContentType="org.eclipse.cdt.core.cxxHeader"
- dependencyExtensions="h,H,hpp"
- id="cdt.managedbuild.tool.xlc.cpp.compiler.input">
+ dependencyContentType="org.eclipse.cdt.core.cxxHeader"
+ dependencyExtensions="h,H,hpp"
+ id="cdt.managedbuild.tool.xlc.cpp.compiler.input"
+ scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.xlc.core.XLCManagedMakePerProjectProfileCPP"
+ sourceContentType="org.eclipse.cdt.core.cxxSource"
+ sources="c,C,cc,cxx,cpp">
</inputType>
<option
category="xlc.c.compiler.category.Input"
@@ -453,7 +454,6 @@
name="%ToolChainName.Dbg"
targetTool="cdt.managedbuild.tool.xlc.c.linker.exe.debug;cdt.managedbuild.tool.xlc.cpp.linker.exe.debug"
configurationEnvironmentSupplier="org.eclipse.cdt.managedbuilder.xlc.aix.AixConfigurationEnvironmentSupplier"
- scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.xlc.core.XLCManagedMakePerProjectProfile"
id="cdt.managedbuild.toolchain.xlc.exe.debug">
<targetPlatform
id="cdt.managedbuild.target.xlc.platform.exe.debug"
@@ -519,7 +519,6 @@
osList="all"
name="%ToolChainName.Rel"
targetTool="cdt.managedbuild.tool.xlc.c.linker.exe.release;cdt.managedbuild.tool.xlc.cpp.linker.exe.release"
- scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.xlc.core.XLCManagedMakePerProjectProfile"
id="cdt.managedbuild.toolchain.xlc.exe.release">
<targetPlatform
id="cdt.managedbuild.target.xlc.platform.exe.release"
@@ -592,7 +591,6 @@
<toolChain
name="%ToolChainName.Dbg"
targetTool="cdt.managedbuild.tool.xlc.c.linker.so.debug;cdt.managedbuild.tool.xlc.cpp.linker.so.debug"
- scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.xlc.core.XLCManagedMakePerProjectProfile"
id="cdt.managedbuild.toolchain.xlc.so.debug">
<targetPlatform
id="cdt.managedbuild.target.xlc.platform.so.debug"
@@ -656,7 +654,6 @@
<toolChain
name="%ToolChainName.Rel"
targetTool="cdt.managedbuild.tool.xlc.c.linker.so.release;cdt.managedbuild.tool.xlc.cpp.linker.so.release"
- scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.xlc.core.XLCManagedMakePerProjectProfile"
id="cdt.managedbuild.toolchain.xlc.so.release">
<targetPlatform
id="cdt.managedbuild.target.xlc.platform.so.release"
@@ -729,7 +726,6 @@
<toolChain
name="%ToolChainName.Dbg"
targetTool="cdt.managedbuild.tool.xlc.archiver.lib.debug"
- scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.xlc.core.XLCManagedMakePerProjectProfile"
id="cdt.managedbuild.toolchain.xlc.lib.debug">
<targetPlatform
id="cdt.managedbuild.target.xlc.platform.lib.debug"
@@ -789,7 +785,6 @@
<toolChain
name="%ToolChainName.Rel"
targetTool="cdt.managedbuild.tool.xlc.archiver.lib.release"
- scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.xlc.core.XLCManagedMakePerProjectProfile"
id="cdt.managedbuild.toolchain.xlc.lib.release">
<targetPlatform
id="cdt.managedbuild.target.xlc.platform.lib.release"
@@ -2853,11 +2848,12 @@
<inputType
- sourceContentType="org.eclipse.cdt.core.cSource"
- sources="c"
- dependencyContentType="org.eclipse.cdt.core.cHeader"
- dependencyExtensions="h"
- id="cdt.managedbuild.tool.xlc.c.compiler.input">
+ dependencyContentType="org.eclipse.cdt.core.cHeader"
+ dependencyExtensions="h"
+ id="cdt.managedbuild.tool.xlc.c.compiler.input"
+ scannerConfigDiscoveryProfileId="org.eclipse.cdt.managedbuilder.xlc.core.XLCManagedMakePerProjectProfile"
+ sourceContentType="org.eclipse.cdt.core.cSource"
+ sources="c">
</inputType>
<outputType
outputs="o"

Back to the top