Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "HowTo use the CDT to navigate Linux kernel source"

(New page: I've developed some steps that I've found to get the CDT to work well with the Linux kernel source. If you exclude some of these steps, it may still work to a large degree, but some things...)
 
(Migrated to GitHub)
 
(39 intermediate revisions by the same user not shown)
Line 1: Line 1:
I've developed some steps that I've found to get the CDT to work well with the Linux kernel source. If you exclude some of these steps, it may still work to a large degree, but some things may not work exactly right... for example it may find the wrong include file for a C file.
+
{{warning|Note: The contents of this page has been migrated. Please see https://github.com/eclipse-cdt/cdt/tree/main/FAQ#whats-the-best-way-to-set-up-the-cdt-to-navigate-linux-kernel-source for current information, or page history for historical versions. }}
 
+
Anyway, as you do these steps, I think you may understand how they assist the indexer to do a good job for the Linux kernel source.
+
 
+
Download and install Eclipse plus the CDT.<br> Configure and build your kernel. This can be done before or after downloading and installing Eclipse.<br> Start up Eclipse.<br> Click '''File'''-&gt;'''New'''-&gt;'''C Project'''<br> Fill in a project name like ''my_kernel''<br> Uncheck the '''Use default location''' box and type in the root directory of your kernel into the '''Location''' box.<br> In the '''Project type:''' pane, click the '''Makefile project''' and select '''Empty Project'''<br> On the right side, select '''Linux GCC'''<br> Click '''Finish'''<br> Eclipse will start indexing the kernel source files, so double click on the little moving "activity" icon in the lower right part of the Eclipse window.<br> Click the square red stop button on the indexer.<br> Right click the top-level project in the '''Project Explorer''' pane on the left, and select '''Properties''' at the bottom.<br> Click the '''Manage Configurations''' at the top right.<br> Select '''Linux GCC''' (if it isn't already) then click '''New...'''<br> Give it a name like ''Linux config'' and a similar description, and click '''OK'''<br> Select your new configuration, and click '''Set Active''' and then '''OK'''<br> Select '''Resource''', and then in the '''Text file encoding''' section, select '''Other''' and '''ISO-8859-1''' in the box, then click '''Apply'''<br> Click on '''Indexer''' and then clear out the '''Files to index up-front''' box.<br> Select '''Use active build configuration''' at the bottom, and click '''Apply'''<br> Click on '''Paths and Symbols'''<br> Select the '''Includes''' tab and then select '''GNU C'''<br> Click '''Add...'''<br> Click '''Workspace...''' then select your project's {{{include}}} directory<br> Do another Add, Workspace and add {{{arch/}}}''architecture''{{{/include}}}, e.g., {{{arch/powerpc/include}}}<br> Click the '''# Symbols''' tab<br> Click '''Add...'''<br> Set the name to {{{__KERNEL__}}}<br> Set the value to {{{1}}} and click '''OK'''<br> Click the '''Source Location''' tab<br> Click the twisty for your project.<br> Select the '''Filter''' item and click '''Edit Filter...'''<br> Click '''Add Multiple...''' and then select all of the {{{arch/*}}} directories in your kernel source that will not be used (i.e. all the ones that are not for the architecture you are using)<br> Click '''OK''' and '''OK''' again to dismiss that dialog.<br> Click '''OK''' on the Properties dialog.<br> Right click on the project again and select '''Index''' then select '''Rebuild'''<br> It will take about 20 minutes or so to complete.<br><br>
+

Latest revision as of 11:05, 9 November 2022

Warning2.png
Note: The contents of this page has been migrated. Please see https://github.com/eclipse-cdt/cdt/tree/main/FAQ#whats-the-best-way-to-set-up-the-cdt-to-navigate-linux-kernel-source for current information, or page history for historical versions.

Back to the top