Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cdt-dev] Minimal C/C++ compiler in toolchain to serve scanner config

Just for fun, and education, I’m going to try and see if I can get the
Arduino CDT (as opposed to Jan’s Arduino Eclipse) to build without
depending on the managed build system at all. That will help me understand
whether this crazy path to CDT 9.0’s build system can actually work.

Doug.

On 2015-07-28, 11:33 AM, "cdt-dev-bounces@xxxxxxxxxxx on behalf of
Martin.Runge@xxxxxxxxxxxxxxxxx" <cdt-dev-bounces@xxxxxxxxxxx on behalf of
Martin.Runge@xxxxxxxxxxxxxxxxx> wrote:

>Hi Jantje,
>
>There seem to be two arduino plugins, yours and the one in
>org.eclipse.cdt.arduino.* The latter one has managed build set to false.
>
>I had a close look on how you solved all these challages. You even
>managed 
>to get Scanner Discovery recognize your toolchain, though it does define
>its own compiler not derived from gcc. Is it because you use
>sourceContentType org.eclipse.cdt.core.cxxSource? I'll see, if I can
>avieve that, too. Not needing to derive from gcc would be a step forward
>for me.
>
>best regards
>Martin
>
>
>
>
>Von:    Jan Baeyens <jan@xxxxxxxxxx>
>An:     "CDT General developers list." <cdt-dev@xxxxxxxxxxx>
>Datum:  2015-07-27 18:41
>Betreff:        Re: [cdt-dev] Minimal C/C++ compiler in toolchain to
>serve 
>scanner config
>Gesendet von:   cdt-dev-bounces@xxxxxxxxxxx
>
>
>
>Martin
>In the arduino eclipse plugin
>https://github.com/jantje/arduino-eclipse-plugin I do not turn "supports
>manged build" off.
>I also hide most of the settings though not all of them.
>Because of how arduino works I also do not have a clue what gcc command I
>will need to use. It may be avr but also arm.
>I solved this by using an environment variable as command as you can see
>in the attached image
>
>
>I also created my own project creation wizard and bumped into the project
>creation problem. I solved it by adding the .cproject file after creating
>the project. The .cproject file is created with the method
>setCProjectDescription in the ShouldHaveBeenInCDT.java class you can find
>here
>https://github.com/jantje/arduino-eclipse-plugin/blob/master/it.baeyens.ar
>duino.core/src/it/baeyens/arduino/tools/ShouldHaveBeenInCDT.java
>
>Best regards
>Jantje
>
>On 07/27/2015 05:36 PM, Martin.Runge@xxxxxxxxxxxxxxxxx wrote:
>Hi Marc-Andre, Hi Doug,
>
>I had a day-long look at how arduino and autotools manage to hide the
>detailed gcc settings. They both turn "supports managed build" for their
>toolchain definitions off. cdt.managedbuild.tool.gnu.cpp.compiler.base is
>derived from cdt.managedbuild.tool.gnu.cpp.compiler and therefore
>inherits 
>
>all the options (I expected the other way around).
>
>Autotools have defined two tools "configure" and "autogen" via plugin.xml
>that show up in a seperate Autotools property page instead of "C/C++
>Build->Settings->Tool Settings" (which is hidden). I didn't yet
>understand 
>
>how, but it looks nice. I already have a CMake property page in place and
>would like it to display the tools defined in plugin.xml.
>
>Unfortunately, I have an other drawback when setting cmake plugin's
>toolchain managed build property to false -> My project templates
>disappear from the new project wizard together with their category.
>
>The sames happens when I try to avoid deriving from gcc.
>
>I agree, that it would be better to not derive from gcc, as it is just
>one 
>
>compiler amoung others that might be used by a cmake build.... here is my
>major problem right now. I need to put somthing reasonable into the
>plugin 
>
>to e.g. get a category in the new project wizard and to reuse scanner
>config, but actually I need to change these settings programmatically
>after the cmake run when I know the real compiler command.
>
>So what I could try is to define a new language ID: genric-c/generic-c++
>which will not attract the available language settings providers, but the
>cmake language settings provider instead. Then I would need to somehow
>duplicate functionality from the available built-in scanner and compile
>output parser... That is not nice for sure, but would it be a preliminary
>solution until the build model supports setting the toolchain
>programmatically after the Makefile was generated by cmake, qmake or
>whatever?
>
>best regards
>Martin
>
>
>
>
>Von:    Doug Schaefer <dschaefer@xxxxxxx>
>An:     CDT General developers list. <cdt-dev@xxxxxxxxxxx>
>Datum:  2015-07-27 16:55
>Betreff:        Re: [cdt-dev] Minimal C/C++ compiler in toolchain to
>serve 
>
>scanner config
>Gesendet von:   cdt-dev-bounces@xxxxxxxxxxx
>
>
>
>I¹m deriving from the gnu.*.compiler.base for the tools in the Arduino AVR
>toolchain and things are pretty hidden. Though, I¹m not sure whether I
>actually needed to since I specify things like the language settings
>provider on my toolchain which doesn¹t derive from gcc. Again, those
>definitions are in the plugin.xml of org.eclipse.cdt.arduino.core.
>
>This also points out my biggest concern with the current model, that
>toolchains have builders. These concepts need to be independent so that we
>can use the same toolchain definitions for multiple builders and adding a
>new builder you don¹t need to deal with this.
>
>Doug.
>
>On 2015-07-27, 10:43 AM, "cdt-dev-bounces@xxxxxxxxxxx on behalf of
>Marc-André Laperle" <cdt-dev-bounces@xxxxxxxxxxx on behalf of
>marc-andre.laperle@xxxxxxxxxxxx> wrote:
>
>
>Hi Martin,
>
>I think it's probably better not to derive from gnu.[c,cpp].compiler
>toolchains as it will be harder to hide a lot of stuff and it will only
>somewhat make sense for situations where CMake does use GCC. I haven't
>tried yet but there has to be a way to reuse the GCC Built-in Settings,
>perhaps duplicating some things in plugin.xml would be necessary. I'll
>give that a try. I'm also thinking that CMake could have its own Built-in
>settings provider that would defer to the right compiler-specific
>built-in settings provider (GCC, Clang, MSVC) depending on the CMake
>toolchain.
>
>Regards,
>Marc-Andre
>
>________________________________________
>From: cdt-dev-bounces@xxxxxxxxxxx [cdt-dev-bounces@xxxxxxxxxxx] on behalf
>of Martin Runge [martin.runge@xxxxxx]
>Sent: Friday, 24 July 2015 11:58 AM
>To: CDT DEV (cdt-dev@xxxxxxxxxxx)
>Subject: [cdt-dev] Minimal C/C++ compiler in toolchain to serve scanner
>config
>
>Hi all,
>
>For my CMake plugin, I need an idea how to solve to following problem:
>
>In plugin.xml, I defined a toolchain with builder, a tool called cmake
>and a
>build configuration.  The actual compiler and its options  is handled by
>cmake, so CDT does not need too many details about compiler itself.
>
>Unfortunately I cannot use the GCC Built-in Settings scanner as long as I
>do
>not add a C/C++ Compiler to the toolchain, that is derived from
>cdt.managedbuilder.tool.gnu.[c,cpp].compiler. But when I do, I get lot of
>compiler settings offered in "Project properties->C/C++ Build->Settings",
>like
>Dialect, Preprocessor, Includes, Optimization ... These settings are very
>confusing for the user, because they have no effect as the compiler
>settings
>are handled by CMake.
>
>How can I hide the C/C++ Build->Settings options of the base GNU compiler
>in
>my toolchain?
>Or is there a way to provide my compiler in plugin.xml as tool in the
>toolchain, that has no options, but will play together with the GNU C/C++
>Built-In Settings detector?
>
>Any ideas welcome...
>
>Thank you in advance
>Martin
>
>
>
>
>_______________________________________________
>cdt-dev mailing list
>cdt-dev@xxxxxxxxxxx
>To change your delivery options, retrieve your password, or unsubscribe
>
>>from this list, visit
>
>https://dev.eclipse.org/mailman/listinfo/cdt-dev
>_______________________________________________
>cdt-dev mailing list
>cdt-dev@xxxxxxxxxxx
>To change your delivery options, retrieve your password, or unsubscribe
>
>>from this list, visit
>
>https://dev.eclipse.org/mailman/listinfo/cdt-dev
>
>
>_______________________________________________
>cdt-dev mailing list
>cdt-dev@xxxxxxxxxxx
>To change your delivery options, retrieve your password, or unsubscribe
>from this list, visit
>https://dev.eclipse.org/mailman/listinfo/cdt-dev
>
>
>_______________________________________________
>cdt-dev mailing list
>cdt-dev@xxxxxxxxxxx
>To change your delivery options, retrieve your password, or unsubscribe
>from this list, visit
>https://dev.eclipse.org/mailman/listinfo/cdt-dev
>
>
>_______________________________________________
>cdt-dev mailing list
>cdt-dev@xxxxxxxxxxx
>To change your delivery options, retrieve your password, or unsubscribe
>from this list, visit
>https://dev.eclipse.org/mailman/listinfo/cdt-dev
>
>_______________________________________________
>cdt-dev mailing list
>cdt-dev@xxxxxxxxxxx
>To change your delivery options, retrieve your password, or unsubscribe
>from this list, visit
>https://dev.eclipse.org/mailman/listinfo/cdt-dev



Back to the top