Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compiler and platform tuple #1305

Closed
MBlesken opened this issue Feb 17, 2021 · 8 comments · Fixed by #1316
Closed

Compiler and platform tuple #1305

MBlesken opened this issue Feb 17, 2021 · 8 comments · Fixed by #1316
Assignees
Milestone

Comments

@MBlesken
Copy link
Contributor

MBlesken commented Feb 17, 2021

The current specification has lacks and inaccurate references to compiler and platforms:

A few examples

  • The possible values of the attribute compiler of SourceFileSet is not precisely defined. Only examples are given. (An importer has to identify the compilers it supports.)
  • The Application Binary Interfaces (ABI) listed for the platformTuple intended to define the directory for binaries is likely incomplete and lacks of concrete descriptions (E.g. "gnu": If sources are compiled for linux elf format is created. If you compile for windows the pe format is created. But pe is not listed. So should gnu be used here?)
  • The ABI Versions only lists MSVC

The question is: Is it intended to describe these details in the specification or can we provide a concrete reference an FMU developer has to regard?

@MBlesken MBlesken added this to the v3.0 milestone Feb 17, 2021
@chrbertsch
Copy link
Collaborator

Must these definitions be in the FMI3.0 standard, or could we reference e.g. to a website, where we could update it independent of the release cycle of the FMI standard?

@andreas-junghanns
Copy link
Contributor

@t-sommer : Please add examples for the most common cases for source, static binary and dynamic binary.

@MBlesken
Copy link
Contributor Author

The current specification has lacks and inaccurate references to compiler and platforms:

A few examples

  • The possible values of the attribute compiler of SourceFileSet [NOW: -> BuildConfiguration, PR Build configuration compiler #1465] is not precisely defined. Only examples are given. (An importer has to identify the compilers it supports.)
  • The Application Binary Interfaces (ABI) listed for the platformTuple intended to define the directory for binaries is likely incomplete and lacks of concrete descriptions (E.g. "gnu": If sources are compiled for linux elf format is created. If you compile for windows the pe format is created. But pe is not listed. So should gnu be used here?)
  • The ABI Versions only lists MSVC

The question is: Is it intended to describe these details in the specification or can we provide a concrete reference an FMU developer has to regard?

@t-sommer @andreas-junghanns @chrbertsch These parts of the specification have not been addressed by PR #1316. (My PR #1465 isn't addressing it either.) Could you please comment on the issues I marked? I'm not an expert and also would need support here, but from what I got when discussing with colleges is that these parts of the standard are not helpful with the intended workflow.

@andreas-junghanns
Copy link
Contributor

@t-sommer @andreas-junghanns @chrbertsch These parts of the specification have not been addressed by PR #1316. (My PR #1465 isn't addressing it either.) Could you please comment on the issues I marked? I'm not an expert and also would need support here, but from what I got when discussing with colleges is that these parts of the standard are not helpful with the intended workflow.

@MBlesken : Could you work on a proposal with your colleagues?

@chrbertsch chrbertsch assigned MBlesken and unassigned t-sommer Jul 7, 2021
@andreas-junghanns
Copy link
Contributor

Both related PRs where closed. @MBlesken can we close this issue as well?

@MBlesken
Copy link
Contributor Author

To my understanding the current state of the standard contains an unsuccessful attempt to enable an FMU generator to provide all the information that an importer would need to decide whether it can or cannot support a static library contained in the FMU. From the discussions with my colleagues I concluded that in general this information can in general not be provided or would be extremely complex and thus not practical. (For now we thus decided not to support static libs.) As a consequence the FMI desing group should first of all decide what the goal should be i.e. which workflow should be enabled. Afterwards we should either cut back the current attempt, clean it up or and extend it. - @andreas-junghanns @chrbertsch @t-sommer what is your opinion on how we should proceed?

@andreas-junghanns
Copy link
Contributor

In a sense I am reminded to the 2.0 source-code file description: It helped a bit, but was not complete.
And I agree with @chrbertsch : If we could simply reference another standard, we could solve this neatly.
Any ideas where to look?

Less ideal is a list of common and mostly used examples and possible a heuristic how to build the description names for those not listed. @t-sommer added those in 2.5.1.4.2. Platform Tuple Examples. @MBlesken, did you see that recent addition? Is this not enough for a) most commonly used or b) as heuristic description on how to build these names?

I propose to find a slot today to discuss this.

@andreas-junghanns
Copy link
Contributor

@MBlesken : we close this because #1501 was merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants