Developer forums (C::B DEVELOPMENT STRICTLY!) > Compiler Framework Redesign
XML based compilers
Alpha:
It seems there were some plans at one point to convert the compiler system from hard-coded to xml. The attached patch gives an example of a possible way this could be done. Before I spend time converting the rest of the compilers, I was wondering what comments or suggestions anyone had on method with which I attempted this (and to check how much interest there currently is in xml based compilers).
This patch only moves the compiler options into the xml file (no regexps and no auto-detect), however I think I could create an additional function to load (custom) pure xml compilers (which would be fully functional except for lacking auto-detect).
MortenMacFly:
Indeed - this was in internal task, just we didn't have resources so far. This was/is the internal planing of the dev team:
--- Quote ---Task:
- Make compiler options more flexible
The compiler options are added like:
--- Code: ---m_Options.AddOption(description, unique_compiler_key, category);
--- End code ---
* Make this available through an XML settings file
* Design/implement an UI to easily edit these options
* Probably allow to derive form an other's compiler settings
--- End quote ---
If you did a first step that would be very nice. I'll certainly look into it - as this would be a #1 priority change. Expect feedback... just my time is very limited atm...
MortenMacFly:
Ok - I finally had a look into it. It goes even further then what I had in mind concerning the options (which is good ;)).
Some notes:
* You/we should consider a simple UI in the end where the user can adjust these options as desired so they become really flexible. Just keep in mind if designing interfaces for example.
* I would have preferred to see using TinyXML the persistence layer as we do it with any other XML based options files, but this might not be so important (I recall when we decided to go for TinyXML the XML layer in wxWidgets was not that powerful.)
* We should also consider to inform "darmar" (the Fortran project maintainer)... I'll do this via PM.
* We need to update the "update" scripts accordingly, too
From my side you clearly got the "go", knowing that this is an awful lot of work. But it would be one of the most welcome contributions currently! 8)
Alpha:
Conversion process started. I wrote a small text manipulation plugin (which I will release later) to help me, so it might be a bit less work than first estimated.
--- Quote from: MortenMacFly on June 16, 2012, 09:22:46 am ---
* You/we should consider a simple UI in the end where the user can adjust these options as desired so they become really flexible. Just keep in mind if designing interfaces for example.
--- End quote ---
My current idea is to have a right-click menu with:
--- Code: ---New flag...
Modify flag...
Delete flag
--- End code ---
I have not tried creating it yet (I am working on converting the compilers first).
--- Quote from: MortenMacFly on June 16, 2012, 09:22:46 am ---
* I would have preferred to see using TinyXML the persistence layer as we do it with any other XML based options files, but this might not be so important (I recall when we decided to go for TinyXML the XML layer in wxWidgets was not that powerful.)
--- End quote ---
I had selected wxXml because it had enough features for my purposes, and so that I did not have to worry about converting wxStrings. Is it fine to leave as-is, or should I switch to TinyXML?
MortenMacFly:
--- Quote from: Alpha on June 16, 2012, 06:06:35 pm ---My current idea is to have a right-click menu with:
--- Code: ---New flag...
Modify flag...
Delete flag
--- End code ---
--- End quote ---
That's an easy way for a first step, sure.
--- Quote from: Alpha on June 16, 2012, 06:06:35 pm ---I had selected wxXml because it had enough features for my purposes, and so that I did not have to worry about converting wxStrings. Is it fine to leave as-is, or should I switch to TinyXML?
--- End quote ---
Well as I said - wxXml has changes a lot, so if you have all functions you need, I'm fine with it.
Navigation
[0] Message Index
[#] Next page
Go to full version