Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Link Python module to Cantera shared library #1429

Merged
merged 28 commits into from Feb 3, 2023

Commits on Feb 1, 2023

  1. Configuration menu
    Copy the full SHA
    d3d5d62 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    a31d1f3 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2023

  1. Move some function definitions out of header files

    This reduces the set of functions that need to be exported from the
    shared library, which includes methods called from inlined functions
    defined in header files.
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    4e6ad9d View commit details
    Browse the repository at this point in the history
  2. Fix compilation failures with PCH and Eigen

    Compilation of polyfit.cpp was failing with GCC on some systems with the
    error: "second argument to '__builtin_prefetch' must be a constant"
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    9341f34 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    523be4e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    caed5c0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    35d4cf2 View commit details
    Browse the repository at this point in the history
  6. [SCons] Compile using C++17 standard

    This is a prerequisite to using Boost.DLL with the std::filesystem library.
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    fb5948f View commit details
    Browse the repository at this point in the history
  7. Introduce cantera_python shim and load only when needed

    This eliminates the need to directly link the Cantera shared library
    or Cantera applications to libpython.
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    783129b View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    09db742 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    8748dc0 View commit details
    Browse the repository at this point in the history
  10. Bump vendored fmt library to version 9.1.0

    This version properly exports all necessary DLL symbols, eliminating the
    need to embed it separately in the Cython module.
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    13da7c4 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    bcd1a90 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    196d2a0 View commit details
    Browse the repository at this point in the history
  13. [SCons] Enforce minimum MACOS_DEPLOYMENT_TARGET

    10.15 or newer is required for C++17 support
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    ffcd3e4 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    71c85e3 View commit details
    Browse the repository at this point in the history
  15. [SCons] Link to shared standard libraries with MinGW

    This requires copying the relevant MinGW runtime libraries into the
    Python module.
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    b61e957 View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    a6ae255 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    fd80340 View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    1d7d4e0 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    9194a61 View commit details
    Browse the repository at this point in the history
  20. [CI] Show timing info for brew install commands

    Trying this to understand why this step can sometimes take
    upwards of 8 minutes.
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    7688562 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    3c5881e View commit details
    Browse the repository at this point in the history
  22. Add function to distinguish shared vs static linking at runtime

    This is important because extensions can only be loaded correctly when
    Cantera is linked as a shared library.
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    5f4eb5a View commit details
    Browse the repository at this point in the history
  23. Check for match between shared lib and Python module

    When the Python module is linked to the Cantera shared library,
    it is possible that a user has multiple incompatible versions of
    the library installed. This checks that the Cantera version and
    Git commit are the same when importing the Python module, to avoid
    crashes or erroneous behavior due to ABI mismatches.
    speth committed Feb 2, 2023
    Configuration menu
    Copy the full SHA
    d6f1a79 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    f0d6c9f View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    3ec02f2 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    3dd702d View commit details
    Browse the repository at this point in the history