python-aaronia 0.7.1__tar.gz → 0.7.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/CHANGELOG.md +34 -11
  2. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/Cargo.lock +2 -2
  3. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/Cargo.toml +1 -1
  4. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/PKG-INFO +1 -1
  5. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/packaging/homebrew/soapy-aaronia.rb +1 -1
  6. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/python-aaronia/Cargo.toml +1 -1
  7. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/CMakeLists.txt +29 -15
  8. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/.cargo/config.toml +0 -0
  9. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/.gitattributes +0 -0
  10. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/.gitignore +0 -0
  11. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/CONTRIBUTING.md +0 -0
  12. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/DESIGN.md +0 -0
  13. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/LICENSE +0 -0
  14. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/PLUGINS.md +0 -0
  15. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/README.md +0 -0
  16. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/benches/decompress_block.rs +0 -0
  17. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/benches/deinterleave_dual_iq.rs +0 -0
  18. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/benches/parse_int16_packet.rs +0 -0
  19. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/benches/rtsa_open_and_read.rs +0 -0
  20. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/deny.toml +0 -0
  21. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/docs/APPS.md +0 -0
  22. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/docs/FILESPEC.md +0 -0
  23. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/docs/HTTPSPEC.md +0 -0
  24. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/docs/QUICKSTART.md +0 -0
  25. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/docs/SDKSPEC.md +0 -0
  26. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/docs/USAGE.md +0 -0
  27. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/docs/VERIFICATION.md +0 -0
  28. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/channel_hopping.rs +0 -0
  29. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/device_control.rs +0 -0
  30. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/dump_metadata.rs +0 -0
  31. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/http_iq_quickstart.rs +0 -0
  32. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/native_sdk_basic.rs +0 -0
  33. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/native_sdk_transmit.rs +0 -0
  34. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/noaa_scanner.rs +0 -0
  35. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/python_arrow_example.py +0 -0
  36. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/read_rtsa_file.rs +0 -0
  37. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/examples/soapy_python_example.py +0 -0
  38. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/include/aaronia.h +0 -0
  39. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/packaging/homebrew/README.md +0 -0
  40. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/pyproject.toml +0 -0
  41. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/python-aaronia/README.md +0 -0
  42. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/python-aaronia/aaronia.pyi +0 -0
  43. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/python-aaronia/src/lib.rs +0 -0
  44. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/python-aaronia/test_basic.py +0 -0
  45. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/scripts/ci-local.sh +0 -0
  46. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/AaroniaSoapyDevice.cpp +0 -0
  47. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/AaroniaSoapyDevice.hpp +0 -0
  48. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/README.md +0 -0
  49. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/Registration.cpp +0 -0
  50. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeCache.txt +0 -0
  51. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/4.4.2/CMakeCXXCompiler.cmake +0 -0
  52. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/4.4.2/CMakeDetermineCompilerABI_CXX.bin +0 -0
  53. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/4.4.2/CMakeSystem.cmake +0 -0
  54. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/4.4.2/CompilerIdCXX/CMakeCXXCompilerId.cpp +0 -0
  55. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/4.4.2/CompilerIdCXX/a.out +0 -0
  56. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/4.4.2/CompilerIdCXX/apple-sdk.cpp +0 -0
  57. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/CMakeConfigureLog.yaml +0 -0
  58. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/CMakeDirectoryInformation.cmake +0 -0
  59. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/CMakeRuleHashes.txt +0 -0
  60. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/InstallScripts.json +0 -0
  61. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/Makefile.cmake +0 -0
  62. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/Makefile2 +0 -0
  63. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/TargetDirectories.txt +0 -0
  64. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/DependInfo.cmake +0 -0
  65. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/build.make +0 -0
  66. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/cmake_clean.cmake +0 -0
  67. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/compiler_depend.make +0 -0
  68. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/compiler_depend.ts +0 -0
  69. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/depend.make +0 -0
  70. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/flags.make +0 -0
  71. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/link.txt +0 -0
  72. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/aaroniaSupport.dir/progress.make +0 -0
  73. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/cmake.check_cache +0 -0
  74. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/progress.marks +0 -0
  75. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/sdr_aaronia_rs_static.dir/DependInfo.cmake +0 -0
  76. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/sdr_aaronia_rs_static.dir/build.make +0 -0
  77. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/sdr_aaronia_rs_static.dir/cmake_clean.cmake +0 -0
  78. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/sdr_aaronia_rs_static.dir/compiler_depend.make +0 -0
  79. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/sdr_aaronia_rs_static.dir/compiler_depend.ts +0 -0
  80. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/CMakeFiles/sdr_aaronia_rs_static.dir/progress.make +0 -0
  81. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/Makefile +0 -0
  82. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/build-test/cmake_install.cmake +0 -0
  83. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/packaging/install.ps1 +0 -0
  84. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/packaging/install.sh +0 -0
  85. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/soapy-aaronia/print.cmake +0 -0
  86. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/c_api.rs +0 -0
  87. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/decompression.rs +0 -0
  88. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/detection.rs +0 -0
  89. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/error.rs +0 -0
  90. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/file_source.rs +0 -0
  91. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/http_endpoints.rs +0 -0
  92. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/http_sink.rs +0 -0
  93. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/http_source.rs +0 -0
  94. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/http_streaming.rs +0 -0
  95. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/lib.rs +0 -0
  96. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/native_sdk.rs +0 -0
  97. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/sdk_sink.rs +0 -0
  98. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/sdk_source.rs +0 -0
  99. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/sdr_source_impl.rs +0 -0
  100. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/seify_impl.rs +0 -0
  101. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/unified_sink.rs +0 -0
  102. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/unified_source.rs +0 -0
  103. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/src/utils.rs +0 -0
  104. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/test.cmake +0 -0
  105. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/c_api_test.rs +0 -0
  106. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/http_mock_test.rs +0 -0
  107. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/http_resilience_test.rs +0 -0
  108. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/http_sink_test.rs +0 -0
  109. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/integration_test.rs +0 -0
  110. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/live_smoke.rs +0 -0
  111. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/native_sdk_load.rs +0 -0
  112. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/properties.proptest-regressions +0 -0
  113. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/properties.rs +0 -0
  114. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/rtsa_negative_test.rs +0 -0
  115. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/sdr_source_impl_test.rs +0 -0
  116. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/spec_coverage.rs +0 -0
  117. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/test_cw_mag.rs +0 -0
  118. {python_aaronia-0.7.1 → python_aaronia-0.7.3}/tests/test_cw_meta.rs +0 -0
@@ -4,26 +4,49 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
- ## [v0.7.1] - 2026-08-12
7
+ ## [v0.7.3] - 2026-08-12
8
+
9
+ ### Fixed
10
+ - The Windows leg of the new module load check could not run: vcpkg's
11
+ SoapySDR port ships no `SoapySDRUtil`, so the check failed rather
12
+ than verifying anything, and 0.7.2 published no release archives.
13
+ Where the tool is absent the packaged DLL is now loaded directly,
14
+ which still catches a module whose dependencies do not resolve away
15
+ from the build machine.
16
+
17
+ ## [v0.7.2] - 2026-08-12
8
18
 
9
19
  ### Fixed
10
20
  - **The published macOS SoapySDR module would not load, on any Mac.**
11
21
  `dlopen` failed with "symbol not found in flat namespace" for a Rust
12
- vtable entry. CMake links module targets on macOS with
13
- `-undefined dynamic_lookup`, and the Apple linker emitted a
14
- flat-namespace bind for a symbol it had already localised into the
15
- same image. The module now resolves its symbols at link time, so this
16
- is a build failure rather than something a user meets on first run.
17
- Every 0.5.x, 0.6.x and 0.7.0 macOS archive is affected; the Linux and
18
- Windows modules are not.
19
- - **The packaged module's load check ran on Linux only**, which is why
20
- the above shipped. It now runs on all three platforms at release
21
- time, and CI builds and checks the plugin on macOS as well as Linux.
22
+ vtable entry that the linker had itself defined and localised in the
23
+ same image. SoapySDR's installed CMake export lists `-flat_namespace`
24
+ in the imported target's interface, so it reached the end of every
25
+ module's link line and forced flat-namespace binding; the module
26
+ links directly against libSoapySDR and does not need it. Removing it
27
+ takes the module from 5670 flat-namespace binds to none, so the
28
+ failure cannot recur rather than depending on a linker version — some
29
+ hit the defect and some did not, which is why local builds worked.
30
+ Every 0.5.x, 0.6.x, 0.7.0 and 0.7.1 macOS archive is affected; the
31
+ Linux and Windows modules are not.
32
+ - **The packaged module's load check ran on Linux only**, which is how
33
+ the above shipped for as long as it did. It now runs on all three
34
+ platforms at release time, and CI builds and checks the plugin on
35
+ macOS as well as Linux. Both check the reported text: `--check` exits
36
+ 0 even when the driver failed to load.
22
37
 
23
38
  ### Documentation
24
39
  - The Linux module needs glibc 2.38 or later, so it does not load on
25
40
  Ubuntu 22.04 or Debian 12. Said so in the plugin README.
26
41
 
42
+ ## [v0.7.1] - 2026-08-12
43
+
44
+ An incomplete fix for the macOS module, superseded by 0.7.2. Like
45
+ 0.7.2, it reached crates.io and PyPI but published no release archives,
46
+ because the new load check refused to ship a macOS module that would
47
+ not open. Its crate and wheels are sound and identical in content to
48
+ 0.7.3.
49
+
27
50
  ## [v0.7.0] - 2026-08-12
28
51
 
29
52
  ### Added
@@ -3027,7 +3027,7 @@ dependencies = [
3027
3027
 
3028
3028
  [[package]]
3029
3029
  name = "python-aaronia"
3030
- version = "0.7.1"
3030
+ version = "0.7.3"
3031
3031
  dependencies = [
3032
3032
  "arrow",
3033
3033
  "num-complex",
@@ -3556,7 +3556,7 @@ checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"
3556
3556
 
3557
3557
  [[package]]
3558
3558
  name = "sdr-aaronia-rs"
3559
- version = "0.7.1"
3559
+ version = "0.7.3"
3560
3560
  dependencies = [
3561
3561
  "anyhow",
3562
3562
  "bitflags 2.13.1",
@@ -2,7 +2,7 @@
2
2
  name = "sdr-aaronia-rs"
3
3
  description = "Unified Rust interface for Aaronia Spectran Spectrum Analyzers / SDRs, featuring Python bindings, a SoapySDR plugin, HTTP streaming, and native SDK support."
4
4
  license = "GPL-3.0-or-later"
5
- version = "0.7.1"
5
+ version = "0.7.3"
6
6
  edition = "2024"
7
7
  repository = "https://github.com/isaacbentley/sdr-aaronia-rs"
8
8
  readme = "README.md"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: python-aaronia
3
- Version: 0.7.1
3
+ Version: 0.7.3
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)
@@ -12,7 +12,7 @@
12
12
  class SoapyAaronia < Formula
13
13
  desc "SoapySDR plugin for Aaronia SPECTRAN V6 spectrum analyzers"
14
14
  homepage "https://github.com/isaacbentley/sdr-aaronia-rs"
15
- version "0.7.1"
15
+ version "0.7.3"
16
16
  license "GPL-3.0-or-later"
17
17
 
18
18
  # Prebuilt modules: the plugin statically links its Rust core, so there
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "python-aaronia"
3
- version = "0.7.1"
3
+ version = "0.7.3"
4
4
  edition = "2024"
5
5
  description = "Python bindings for sdr-aaronia-rs (Aaronia SPECTRAN V6 SDR source)"
6
6
  license = "GPL-3.0-or-later"
@@ -15,22 +15,31 @@ set(CMAKE_CXX_STANDARD_REQUIRED ON)
15
15
 
16
16
  find_package(SoapySDR "0.7" REQUIRED)
17
17
 
18
- # CMake links MODULE targets on macOS with `-undefined dynamic_lookup`,
19
- # which tells the linker to leave unresolved symbols for load time. The
20
- # Apple linker then emitted a flat-namespace bind for a Rust vtable
21
- # entry it had already localised into the same image, and dyld could
22
- # not find it so every published macOS module failed to load with
23
- # "symbol not found in flat namespace", while the same source built
24
- # with a newer Xcode was fine. Resolving at link time makes that a
25
- # build failure instead of something a user discovers.
18
+ # SoapySDR's installed CMake export lists `-flat_namespace` in the
19
+ # imported target's INTERFACE_LINK_LIBRARIES, so it lands at the end of
20
+ # every module's link line and forces flat-namespace symbol binding.
21
+ # That is how a module could end up with a dangling bind: the linker
22
+ # defined a Rust vtable symbol, localised it into this image, and still
23
+ # emitted a flat-namespace bind for it, which dyld could not resolve —
24
+ # so `dlopen` failed with "symbol not found in flat namespace" and the
25
+ # published macOS module never loaded. The module links directly
26
+ # against libSoapySDR, so two-level binding resolves those symbols
27
+ # without it.
26
28
  #
27
- # SoapySDR's own module macro does the same for GNU toolchains
28
- # (`-Wl,--no-undefined`) and for the stated reason; it just never
29
- # covered Apple.
30
- # CMake has spelled this flag both ways across versions
31
- # (`-undefined dynamic_lookup` and `-Wl,-undefined,dynamic_lookup`), and
32
- # recent versions omit it entirely, so match both and tolerate neither
33
- # being present.
29
+ # Also drop `-undefined dynamic_lookup`, which CMake has spelled both
30
+ # ways across versions and recent versions omit entirely: a module that
31
+ # fails to load is worse than one that fails to link, which is the
32
+ # reason SoapySDR's own macro passes `-Wl,--no-undefined` for GNU
33
+ # toolchains.
34
+ if (APPLE AND TARGET SoapySDR)
35
+ get_target_property(_soapy_iface SoapySDR INTERFACE_LINK_LIBRARIES)
36
+ if (_soapy_iface)
37
+ list(REMOVE_ITEM _soapy_iface "-flat_namespace")
38
+ set_target_properties(SoapySDR PROPERTIES
39
+ INTERFACE_LINK_LIBRARIES "${_soapy_iface}")
40
+ endif()
41
+ endif()
42
+
34
43
  if (APPLE)
35
44
  string(REGEX REPLACE "(-Wl,)?-undefined[ ,]dynamic_lookup" ""
36
45
  CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS
@@ -84,6 +93,11 @@ if (APPLE)
84
93
  # Belt and braces with the flag removal above: whichever `-undefined`
85
94
  # the generator emits, this one comes last and wins.
86
95
  target_link_options(aaroniaSupport PRIVATE "LINKER:-undefined,error")
96
+
97
+ # `-flat_namespace` is stripped above, so the linker cannot emit a
98
+ # flat-namespace bind for a symbol it defined here. The module load
99
+ # check in CI is what proves that, on the toolchain that shipped the
100
+ # broken module.
87
101
  endif()
88
102
 
89
103
  # System libraries required by the statically-linked Rust runtime
File without changes
File without changes
File without changes
File without changes