[fpc-devel] Public access of FPC features and settings

Florian Klämpfl florian at freepascal.org
Tue Mar 9 21:53:46 CET 2021


Am 08.03.21 um 10:46 schrieb Michael Van Canneyt via fpc-devel:
> 
> 
> On Sun, 7 Mar 2021, Florian Klämpfl via fpc-devel wrote:
> 
>> Am 07.03.21 um 12:05 schrieb Alfred via fpc-devel:
>>> Hello,
>>>
>>> As a follow-up on a Lazarus feature request.
>>>
>>> Among other applications, Lazarus uses some hard-coded list that 
>>> represent FPC features. Like supported MCU and boards. It would be 
>>> (much) more convenient to parse the FPC output itself to supply this 
>>> info. And that could be made easy by using XML as FPC output.
>>>
>>> Besides the above, I would welcome more features to be available 
>>> through FPC itself.
>>> FPC uses system files, located in "compiler/systems". With all kinds 
>>> of settings. Like alignment and calling convention and linker to use.
>>> FPC uses search-paths. Some user defined through fpc.cfg, some 
>>> build-in. See all -F... compiler settings.
>>> It would be nice to be able to get info through FPC itself about 
>>> these settings and paths.
>>> As maintainer of fpcupdeluxe, often I need to parse fpc.cfg by hand. 
>>> Or look into a file like fpmkunit.pp to find the valid FPC targets. 
>>> Or parse the Makefile to find all available subarchs when building a 
>>> cross-compiler.
>>>
>>> For a start, I would favor a XML/JSON output of fpc -i. Would be very 
>>> nice to use its output.
>>
>> I added a first experimental implementation in r48897. It does not 
>> cover full -i, so far only to show how it could look like. Any comments?
>>
>> fpc -ix writes to the console
>> fpc -ixfpc_info.xml to fpc_info.xml
> 
> Since we write the resource strings in JSON, and XML is meanwhile all but
> replaced by JSON, I think it would be much better to write JSON ?
> 

The compiler writes the node tree already as XML, so I thought XML might 
be the better choice? Despite the fact that I really dislike json for 
two reasons: it reminds me of JS and C; ad hoc writing is annoying due 
to the comma being a separator and no trailing commas after the last 
value being allowed.


More information about the fpc-devel mailing list