When creating an installer for a plugin app-plugin for a main application app, if app-plugin depends on libraries that were not linked in app's main executable, it will need those libraries' .cmxs at load time.
We currently have a mechanism in oui to install those libraries alongside the plugin but the user has to include them in the bundle on their own and declare them in the oui.json file.
We would like to automate this process on oui's side, similarly to how we can embed .so/.dll files to ease the workflow. This information is available from the app-plugin's META file and the list of libraries linked in app.
We'd need a better idea on how users want to build these bundles and what the installer building environment is to better design this feature as this will influence how we get the list of libraries to embed and where we get them from.
One thing to consider here is that, same as with plugins, those libaries and the main application must have been built in a consistent environment and with the right set of flags to be compatible.
When creating an installer for a plugin
app-pluginfor a main applicationapp, ifapp-plugindepends on libraries that were not linked inapp's main executable, it will need those libraries'.cmxsat load time.We currently have a mechanism in
ouito install those libraries alongside the plugin but the user has to include them in the bundle on their own and declare them in theoui.jsonfile.We would like to automate this process on
oui's side, similarly to how we can embed.so/.dllfiles to ease the workflow. This information is available from theapp-plugin'sMETAfile and the list of libraries linked inapp.We'd need a better idea on how users want to build these bundles and what the installer building environment is to better design this feature as this will influence how we get the list of libraries to embed and where we get them from.
One thing to consider here is that, same as with plugins, those libaries and the main application must have been built in a consistent environment and with the right set of flags to be compatible.