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

Clarify use of binaries and resources folder #1849

Merged
merged 5 commits into from Feb 5, 2023
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 9 additions & 3 deletions docs/2_5_fmu_distribution.adoc
Expand Up @@ -50,7 +50,8 @@ sources // directory containing the C sources (optio
binaries // directory containing the binaries (optional)
x86_64-windows // binaries for Windows on Intel 64-bit
<modelIdentifier>.dll // shared library of the FMI implementation
<other DLLs> // the DLL can include other DLLs
<other files> // other platform dependend files
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chrbertsch is it clear enough that are allowed in parallel subfolders as well?

// needed at linking or loading time
x86-linux // binaries for Linux on Intel 32-bit
<modelIdentifier>.so // shared library of the FMI implementation
aarch32-linux // binaries for Linux on ARM 32-bit
Expand Down Expand Up @@ -84,9 +85,10 @@ The header files `fmi3PlatformTypes.h`, `fmi3FunctionTypes.h` and `fmi3Functions

===== Directory `binaries` [[binaries-directory]]

A binary FMU must contain the binary files for all supported platforms in this folder.
A binary FMU must contain the binary files (that are needed at linking or loading time) of the FMU for all supported platforms in this folder.
To use the binaries of a specific platform, all items in that platform-specific binary folder must be unpacked at the same location as the binary `<modelIdentifier>.{dll|dylib|so}`.


====== Platform Tuple Definition [[platform-tupe-definition]]

The names of the binary directories are standardized by the "platform tuple".
Expand Down Expand Up @@ -191,10 +193,14 @@ The requirements and the expected processing must be documented in the `document

In the optional directory `resources`, additional data can be provided in FMU specific formats, typically for tables and maps used in the FMU.
More folders can be added under `resources` (tool/model specific).
For the FMU to access these resource files, the resources directory shall be available in extracted form and the absolute path to this directory is provided via argument <<resourcePath>> of <<fmi3Instantiate>>.
For the FMU to access these resource files (during runtime, after instantiation), the resources directory shall be available in extracted form and the absolute path to this directory is provided via argument <<resourcePath>> of <<fmi3Instantiate>>.
The resources directory must be available for the lifetime of the FMU instance.
The FMU instance must not write to or delete the directory or parts of it.

_[The files contained in the resources folder may be platform-dependent files.
In contrast to files in the binaries folder, they can be accessed during runtime by the FMU. For more information, please consult the https://modelica.github.io/fmi-guides/main/fmi-guide/[FMI Implementer's Guide]_


===== Directory `extra` [[extra-directory]]

The ZIP archive may contain additional subdirectories within `extra/` that can be used to store additional data, e.g. for the implementation of <<VersioningLayered,layered standards>>.
Expand Down