UI behavior depends on loaded MacOS SDK, which apparently depends on build mode of the root executable (Equinox launcher or Java). There are multiple versions of Equinox launcher and many various JVMs each compiled with random MacOS SDKs making it very hard to select a correct version of SWT for a given root executable or vice-versa.
Please introduce or recommend a way to detect an unsupported loaded MacOS SDK runtime, so that my SWT application or test could refuse to run or show a warning.
I've considered running otool against current executable, but it is complicated, I'm unsure which versions are truly compatible and it would be nice if there was an authoritative solution, preferably built-in and ready to use.
Following issues were hard to investigate because of an unexpected version mismatch:
Ideally the feature would be cross-platform - a report of required and loaded runtime components that could be converted to end-user readable form.
To avoid localisation I would suggest to return triplets of "component id", "expected version", "detected version", where component id could be "edge", "mozilla", "MacOSSDK", "webkit", etc... Report should be empty or annotated accordingly (with an additional boolean field?) when all loaded components are compatible.
UI behavior depends on loaded MacOS SDK, which apparently depends on build mode of the root executable (Equinox launcher or Java). There are multiple versions of Equinox launcher and many various JVMs each compiled with random MacOS SDKs making it very hard to select a correct version of SWT for a given root executable or vice-versa.
Please introduce or recommend a way to detect an unsupported loaded MacOS SDK runtime, so that my SWT application or test could refuse to run or show a warning.
I've considered running
otoolagainst current executable, but it is complicated, I'm unsure which versions are truly compatible and it would be nice if there was an authoritative solution, preferably built-in and ready to use.Following issues were hard to investigate because of an unexpected version mismatch:
Ideally the feature would be cross-platform - a report of required and loaded runtime components that could be converted to end-user readable form.
To avoid localisation I would suggest to return triplets of "component id", "expected version", "detected version", where component id could be "edge", "mozilla", "MacOSSDK", "webkit", etc... Report should be empty or annotated accordingly (with an additional boolean field?) when all loaded components are compatible.