Issues.00473 - lordmundi/wikidoctest GitHub Wiki

00473: add crossplatform smarts for transform shared lib extension

« 00472 | Issues | 00474 »

Summary: add crossplatform smarts for transform shared lib extension

Created: 2013–01–18 09:56

Status: Released

Category: Request

From: vetter

Version: 2.2

Released_In: 2.4

Description:

If you use my_transforms.so in a simdata api file, the windows my_transforms.dll will not be found if on windows.

If on windows and a *.so spec is given, search for a *.dll Also allow for a spec with no extension like a doug plugin spec.


Comments

frankie May 01, 2015, at 11:26 PM: Added crossplatform capability workaround specifying a transform in an api file when running on windows. I did this my moving the win32 versions of the transform binaries to .so files instead of .dll. I did this because they still seem to load just fine and it gets around having to put special new logic in simdata to try other file extensions. Also, as part of this commit, the makefiles were updated to produce these as .so files instead of .dll files.

To use, just use the .so extension in your api files.

I agree with Keith though - a better solution would be to make this consistent with the way DOUG config files work and specify the filename without any extension then let the plugin add on the appropriate extension for the platform it is running on.


« 00472 | Issues | 00474 »

Associated Commits

| commit | d4ee1ba7114163fe8806d2bc29f6a50575afc482 link6 | || | Author: | Frank Graffagnino | | Date: | Fri May 1 23:30:47 2015 -0500 | | Message: | [@Issue 00473, 00535, 00536, and 00537 Added crossplatform capability workaround specifying a transform in an api file when running on windows. I did this my moving the win32 versions of the transform binaries to .so files instead of .dll. I did this because they still seem to load just fine and it gets around having to put special new logic in simdata to try other file extensions. Also, as part of this commit, the makefiles were updated to produce these as .so files instead of .dll files. The tranforms have been optimized a bit to get rid of some of the stringstream operations. There are other stdlib operations that are still slowing down transforms, but this helps a bit. A new JEOD3 compatible transform that uses quaternions instead of rotation matrices was added in, but it should be noted that this transform does not convert things into ECEF like other do, so the earth (or other planet) nodes would need to be driven separately if using this transform. Lastly, the run batch files for windows were updated so that the search path (which is also used for libraries) will include the USERDATA/lib_Win32 path, which means that custom transforms can be saved off with the userdata as it should be. @] |

Affected Files:

lib_Darwin/orbital_body_transform.so               | Bin 0 -> 147840 bytes
 lib_Darwin/orbital_transform_jeod3_mod2.so         | Bin 147568 -> 156140 bytes
 lib_Darwin/orbital_transform_mmsev.so              | Bin 0 -> 129392 bytes
 lib_Linux_FC3/orbital_body_transform.so            | Bin 0 -> 405518 bytes
 lib_Linux_FC3/orbital_transform.so                 | Bin 412690 -> 295565 bytes
 lib_Linux_FC3/orbital_transform_jeod3_mod2.so      | Bin 482671 -> 414140 bytes
 lib_Win32/chutes.dll                               | Bin 1487285 -> 0 bytes
 lib_Win32/chutes.so                                | Bin 0 -> 1487285 bytes
 lib_Win32/cube.dll                                 | Bin 1487311 -> 0 bytes
 lib_Win32/cube.so                                  | Bin 0 -> 1487311 bytes
 lib_Win32/orbital_body_transform.so                | Bin 0 -> 3159689 bytes
 lib_Win32/orbital_transform.dll                    | Bin 3244850 -> 0 bytes
 lib_Win32/orbital_transform.so                     | Bin 0 -> 3244850 bytes
 lib_Win32/orbital_transform_jeod3_mod2.dll         | Bin 3271884 -> 0 bytes
 lib_Win32/orbital_transform_jeod3_mod2.so          | Bin 0 -> 3173492 bytes
 lib_Win32/plume.dll                                | Bin 1645769 -> 0 bytes
 lib_Win32/plume.so                                 | Bin 0 -> 1645769 bytes
 run_blank_graphics.bat                             |   2 ±
 run_client.bat                                     |   2 ±
 run_graphics.bat                                   |   2 ±
 run_manager.bat                                    |   2 ±
 run_standalone.bat                                 |   2 ±
 src.dist/defns.mk                                  |   2 ±
 …/plugins/playback/libapi/transforms/makefile    |   8 ++
 …/libapi/transforms/orbital_body_transform.cpp   | 154 +++++++++++++++++++++
 …/libapi/transforms/orbital_transform.cpp        |  24 +±-
 …/transforms/orbital_transform_jeod3_mod2.cpp    |  24 +±-
 27 files changed, 192 insertions(+), 30 deletions(-)