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

Multiple BuildConfigurations for one platform #1676

Closed
Maplesoft-fmigroup opened this issue Feb 15, 2022 · 4 comments · Fixed by #1678
Closed

Multiple BuildConfigurations for one platform #1676

Maplesoft-fmigroup opened this issue Feb 15, 2022 · 4 comments · Fixed by #1678
Assignees
Milestone

Comments

@Maplesoft-fmigroup
Copy link
Contributor

Section 2.4.10 of the spec states that:
For each 'platform' there can only be one matching <BuildConfiguration>
This is problematic if a SourceCode FMU exporter wants to provide separate configurations for different compilers that require different compiler flags.

@chrbertsch
Copy link
Collaborator

The 'platform' refers to the platform tuple definition in https://fmi-standard.org/docs/3.0-dev/#structure-of-zip.
There for statically linked librares it is possible to to extend '-' with an ABI-String.
Does it make sense to allow a similar extension for different compilers for the build-configuration?
Is is possible to standarize such an extension string (using the ABI string?) ?
Or could the exporter just choose an any explaining string? (e.g. VisualC, gcc, clang++? Or would it be necessary to include version information for the compiler?)

@PTaeuberDS
Copy link
Contributor

This is somehow related to #1305.
When using "any explaining string" for compiler it might be hard for the importer to identify if the compiler matches one of the available compilers.

@MBlesken MBlesken self-assigned this Feb 16, 2022
@andreas-junghanns
Copy link
Contributor

Web Design Meeting:
"Platform" string could contain the compiler string.
TorstenS: We could allow multiple build configurations.
Kaska: We would have to extend the standardized list of compiler names.
Pierre: This is not winnable: not even "gcc" is clearly defined.
Andreas: If the importer needs to know: the user needs to decide which to pick.
Andreas: Exporters should be able to supply as many configurations per platform as possible...
Kaska: On Windows, we want to provide at least for tcc, msvc, On Linux and Mac: Gcc and tcc.

Matthias: Now we have one build configuration per platform. Can´t we do that with the source file sets?
TorstenS: The idea was that you need all source file sets for one FMU.
Pierre+TorstenB: This needs to be clarified.
Matthias: This needs clarification for sure.

Christian: Should we standardize the build description names?
TorstenS: You should pick descriptive names, but there cannot be really a standard because there are too many different versions.

TorstenS: I will make a PR.

@andreas-junghanns
Copy link
Contributor

  • Relax requirement on uniqueness of the platform (multiple entries allowed)
  • Add clarification for what to compile to make a complete FMU: All SourceFileSets must be compiled within one BuildConfiguration
  • Non-normative: Explain what is enabled by this mechanism

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

Successfully merging a pull request may close this issue.

6 participants