For reasons that are a bit beyond me, `--host` and `PLATFORM_TRIPLET`
seem to be independent, in particular we've had an empty
`PLATFORM_TRIPLET`. This is unfortunate because `PLATFORM_TRIPLET`
is used to generate the SOABI config variable which in turn is used
to decide whether a .so file is a good match for loading. We'd like
for linux Pythons not to try to import emscripten .so files (it
raises `ImportError: some_file.so: invalid ELF header`). Similarly,
we'd like to avoid attempting to load linux .so files in wasm. These
platform tags are our friends.

Anyways, this PR sets `PLATFORM_TRIPLET` and ensures that .so files
built by pywasmcross are tagged with our SOABI tag.

I moved the .so file renaming from pywasmcross to buildpkg just
before running the post script. That is a better place to put it in
case the package wants to look at the .so file after linking it. It
might be surprised that we moved it.

I also improved the error message if we try to `loadWebAssemblyModule`
something that is actually say a Linux .so file and updated get_dynlibs
to filter out .so files that have an incompatible abi tag.
Set PLATFORM_TRIPLET, include platform in so names, only load compatible so files. For reasons that are a bit beyond me, `--host` and `PLATFORM_TRIPLET`
seem to be independent, in particular we've had an empty
`PLATFORM_TRIPLET`. This is unfortunate because `PLATFORM_TRIPLET`
is used to generate the SOABI config variable which in turn is used
to decide whether a .so file is a good match for loading. We'd like
for linux Pythons not to try to import emscripten .so files (it
raises `ImportError: some_file.so: invalid ELF header`). Similarly,
we'd like to avoid attempting to load linux .so files in wasm. These
platform tags are our friends.

Anyways, this PR sets `PLATFORM_TRIPLET` and ensures that .so files
built by pywasmcross are tagged with our SOABI tag.

I moved the .so file renaming from pywasmcross to buildpkg just
before running the post script. That is a better place to put it in
case the package wants to look at the .so file after linking it. It
might be surprised that we moved it.

I also improved the error message if we try to `loadWebAssemblyModule`
something that is actually say a Linux .so file and updated get_dynlibs
to filter out .so files that have an incompatible abi tag.
From 3c96482aec096998e3497f7ca177309a2cef8c62 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Fri, 18 Mar 2022 16:06:48 -0700
Subject: [PATCH] Fix getbreak dlamch

---
 doc/source/_static/scipy-mathjax                       | 2 +-
 scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src | 2 +-
 scipy/sparse/linalg/isolve/iterative/getbreak.f.src    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src b/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src
index da4bde8ec..5f47afde2 100644
--- a/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src
+++ b/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src
@@ -154,7 +154,7 @@
       INFO = 0
       MAXIT = ITER
       BRKDWN = .FALSE.
-      EPS = <sdsd>LAMCH('EPS')
+      EPS = <sdsd>LAMCH(69)
 *
 *     Alias workspace columns.
 *
diff --git a/scipy/sparse/linalg/isolve/iterative/getbreak.f.src b/scipy/sparse/linalg/isolve/iterative/getbreak.f.src
index 6fc6605ac..5472f8f1a 100644
--- a/scipy/sparse/linalg/isolve/iterative/getbreak.f.src
+++ b/scipy/sparse/linalg/isolve/iterative/getbreak.f.src
@@ -9,7 +9,7 @@
       IMPLICIT NONE
       <rt> EPS, <sdsd=s,d,s,d>LAMCH
 *
-      EPS = <sdsd>LAMCH('EPS')
+      EPS = <sdsd>LAMCH(69)
       <_c>GETBREAK = EPS**2
 *
       RETURN
-- 
2.25.1


From 3c96482aec096998e3497f7ca177309a2cef8c62 Mon Sep 17 00:00:00 2001
From: Hood Chatham <roberthoodchatham@gmail.com>
Date: Fri, 18 Mar 2022 16:06:48 -0700
Subject: [PATCH] Fix getbreak dlamch

---
 doc/source/_static/scipy-mathjax                       | 2 +-
 scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src | 2 +-
 scipy/sparse/linalg/isolve/iterative/getbreak.f.src    | 2 +-
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src b/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src
index da4bde8ec..5f47afde2 100644
--- a/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src
+++ b/scipy/sparse/linalg/isolve/iterative/GMRESREVCOM.f.src
@@ -154,7 +154,7 @@
       INFO = 0
       MAXIT = ITER
       BRKDWN = .FALSE.
-      EPS = <sdsd>LAMCH('EPS')
+      EPS = <sdsd>LAMCH(69)
 *
 *     Alias workspace columns.
 *
diff --git a/scipy/sparse/linalg/isolve/iterative/getbreak.f.src b/scipy/sparse/linalg/isolve/iterative/getbreak.f.src
index 6fc6605ac..5472f8f1a 100644
--- a/scipy/sparse/linalg/isolve/iterative/getbreak.f.src
+++ b/scipy/sparse/linalg/isolve/iterative/getbreak.f.src
@@ -9,7 +9,7 @@
       IMPLICIT NONE
       <rt> EPS, <sdsd=s,d,s,d>LAMCH
 *
-      EPS = <sdsd>LAMCH('EPS')
+      EPS = <sdsd>LAMCH(69)
       <_c>GETBREAK = EPS**2
 *
       RETURN
-- 
2.25.1

