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

2021-04-02 Thread Michael Van Canneyt via fpc-devel



On Fri, 2 Apr 2021, Florian Klämpfl via fpc-devel wrote:





Am 02.04.2021 um 16:21 schrieb Michael Ring via fpc-devel 
:

Florian, it seems you missed a comment on that topic I wrote a while ago.




You are right. The controller unit is written now like:

 
 
 
 
 


Seems a quote is missing after the name= value ?

Michael.___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-04-02 Thread Florian Klämpfl via fpc-devel


> Am 02.04.2021 um 16:21 schrieb Michael Ring via fpc-devel 
> :
> 
> Florian, it seems you missed a comment on that topic I wrote a while ago.
> 
> 

You are right. The controller unit is written now like:

  
  
  
  
  

___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-04-02 Thread Michael Ring via fpc-devel

Florian, it seems you missed a comment on that topic I wrote a while ago.

There is also the need to have a tuple that matches controllertype to 
controllerunit to get rid of a big peace of duplicated code from 
cpuinfo.pas in lazarus.


Lazarus needs to know which unit to include so that codetools can do 
their magic. In current implementation parts of controllertypes are 
duplicated in lazarus code.



To get rid of this lazarus will not only need to know the available 
controllertypes, it will also need to have the mapping from 
controllertype tu unitname like this:


*
*

in the xml.

Example:

~/fpcupdeluxe-test/fpc/bin/aarch64-darwin/fpc -Tembedded -Parm -ix



  
    
...

   
    
...

   
    
...

   
    
...

   
...

   

    
    
...

   
    
...

   
    
...

   
    

*...*

* **
*...

    
    
...

   
    FPC
  



Am 02.04.21 um 15:07 schrieb Michael Van Canneyt via fpc-devel:



On Fri, 2 Apr 2021, Florian Klämpfl via fpc-devel wrote:




Am 07.03.2021 um 15:12 schrieb Florian Klämpfl via fpc-devel 
:


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?


Meanwhile I completed it.

So if somebody thinks it’s useful, the json output can be added as well.


Will do, thanks!

Michael.

___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-04-02 Thread Michael Van Canneyt via fpc-devel



On Fri, 2 Apr 2021, Florian Klämpfl via fpc-devel wrote:





Am 07.03.2021 um 15:12 schrieb Florian Klämpfl via fpc-devel 
:

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?


Meanwhile I completed it.

So if somebody thinks it’s useful, the json output can be added as well.


Will do, thanks!

Michael.___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-04-02 Thread Florian Klämpfl via fpc-devel


> Am 07.03.2021 um 15:12 schrieb Florian Klämpfl via fpc-devel 
> :
> 
> 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?

Meanwhile I completed it.

So if somebody thinks it’s useful, the json output can be added as well.

___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-03-09 Thread Michael Van Canneyt via fpc-devel



On Tue, 9 Mar 2021, Michael Van Canneyt via fpc-devel wrote:




On Tue, 9 Mar 2021, Florian Klämpfl via fpc-devel wrote:


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?


The node tree is not for public use. The resource string files are, and this 
is too...


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.


Well, then it means pas2js will unfortunately not follow FPC in this; if 
anything it will write JSON, because it already writes everything else in 
JSON.


Just to show this is not an exaggerated statement, 
pas2js can also output the compiler messages itself as JSON for easier

treatment:
{ "message" : "Using unit path: \"/Users/michael/pas2js/packages/rtl\"", "line" : 0, "col" : 0, "number" : 104, 
"filename" : "", "type" : "Info" }
{ "message" : "Output file: \"\"", "line" : 0, "col" : 0, "number" : 106, "filename" : "", 
"type" : "Info" }
{ "message" : "Fatal: parameter a.pp: Pascal file not found: \"/Volumes/Development/michael/a.pp\"", "line" : 0, "col" : 0, 
"number" : 0, "filename" : "", "type" : "Info" }

(I believe the TMS Web core compiler uses this format to convert it to a
delphi-understandable format))

Michael.___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-03-09 Thread Michael Van Canneyt via fpc-devel



On Tue, 9 Mar 2021, Florian Klämpfl via fpc-devel wrote:


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?


The node tree is not for public use. 
The resource string files are, and this is too...


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.


Well, then it means pas2js will unfortunately not follow FPC in this; 
if anything it will write JSON, because it already writes 
everything else in JSON. 
I would have preferred to use the same format, and we're not adding XML to

it.

When you finish it in FPC, I can always add -ij for json.

Michael.___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-03-09 Thread Florian Klämpfl via fpc-devel

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.

___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-03-08 Thread 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 ?

Michael.___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-03-07 Thread Michael Ring via fpc-devel

for this command:

~/fpcupdeluxe-embedded/fpc/bin/aarch64-darwin/fpc -Tembedded -Parm 
-WpDISCOVERYF411VE -ix


it would be good to also get back the controllerunitstr that belongs to 
DISCOVERYF411VE



or, when size does not matter much include the unit already in the more 
generalized call:


~/fpcupdeluxe-embedded/fpc/bin/aarch64-darwin/fpc -Tembedded -Parm -ix









Michael


Am 07.03.21 um 15:12 schrieb Florian Klämpfl via fpc-devel:

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


___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel


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

2021-03-07 Thread Florian Klämpfl via fpc-devel

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


___
fpc-devel maillist  -  [email protected]
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel