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

- Reworked IFileSystem utility so that now it is noimplement/noextend. Clients should now extend from concrete class FileSystemUtility instead to better insulate them from future API changes. - Reworked the resulting concurrency fixes - indexing and scanner discovery now synchronize on the project root as a scheduling rule. Original HEAD behaviour was to synch on the project's .settings folder for indexing, but that deadlocked with scanner discovery. - Fixed remote indexing. Changes on HEAD that deprecated CodeReader broke the ability for remote translation units to provide the path to load the file content from. Added API to ITranslationUnit for this purpose.
79 lines
4 KiB
XML
79 lines
4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<?eclipse version="3.2"?>
|
|
<plugin>
|
|
|
|
<!-- -->
|
|
<!-- 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="XLCManagedMakePerProjectProfile"
|
|
name="%profileName"
|
|
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.PerFileXLCScannerInfoCollector"
|
|
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>
|
|
<!-- -->
|
|
<!-- 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.PerFileXLCScannerInfoCollector"
|
|
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>
|