Re-enabled linux tests physics (#5701)

* Re-enabled linux tests physics

* Fix for python load errors on Linux (#5627)

* Explicitly load libpython on Linux

Downstream loads of python modules that weren't linked to libpython would
fail to load because libraries were loaded using the RTLD_LOCAL flag.  This
adds a function that will explicitly load libpython on Linux using the
RTLD_GLOBAL flag.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Fix misspelled function name

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Addressing PR feedback

- Updates naming and location of things.
- Adds load code to a Gem template.
- Updates error checking.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>

* Address further feedback

Removes the api function in favor of just having modules inherit off a
PythonLoader class, that way we get RAAI behavior and lifetime management
for free.

Signed-off-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
Signed-off-by: aljanru <aljanru@amazon.co.uk>

Co-authored-by: amzn-phist <52085794+amzn-phist@users.noreply.github.com>
This commit is contained in:
AMZN-AlexOteiza
2021-11-17 14:30:41 +00:00
committed by GitHub
parent f245c0a7c2
commit e07cb1f2ed
12 changed files with 95 additions and 2 deletions
@@ -10,6 +10,7 @@
#include <${Name}ModuleInterface.h>
#include <${Name}EditorSystemComponent.h>
#include <AzToolsFramework/API/PythonLoader.h>
void Init${SanitizedCppName}Resources()
{
@@ -21,6 +22,7 @@ namespace ${SanitizedCppName}
{
class ${SanitizedCppName}EditorModule
: public ${SanitizedCppName}ModuleInterface
, public AzToolsFramework::EmbeddedPython::PythonLoader
{
public:
AZ_RTTI(${SanitizedCppName}EditorModule, "${ModuleClassId}", ${SanitizedCppName}ModuleInterface);