[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