You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The new Meson build system, introduced with release 2.1.0, compiles static libraries (libcutest_single.a, libcutest_double.a) by default.
These libraries are incomplete by design and require linking with other object files that are problem-dependent in practice.
But the compilation of shared libraries is now functional.
I have added an additional file, cutest_delegate.f90, which is compiled only when shared libraries are requested to Meson (option -Ddefault_library=shared).
This approach proves beneficial when using CUTEst through high-level languages like Python or Julia.
With functions such as load_routines_s, load_routines, and load_routines_q, we can dynamically switch the shared library used for a particular problem.
Very good. Of course the makefile build provides more than just the cutest library, it also gives interfaces to many external packages, and provides scripts to run a particular problem with a particular external package.
I completely agree, Nick.
The makefile build system is more comprehensive than Meson and offers additional features (support more interfaces).
Meson just simplifies the compilation of libcutest_single and libcutest_double across all platforms.
I discovered that dlopen and dlsym are not available on Windows when I tested CUTEst in GALAHAD.
Windows uses LoadLibrary and GetProcAddress...
I need to update cutest_delegate.f90.
#ifdef _WIN32
// Windows-specific code using LoadLibrary, GetProcAddress
#else
// Unix-specific code using dlopen, dlsym
#endif
The new Meson build system, introduced with release 2.1.0, compiles static libraries (
libcutest_single.a
,libcutest_double.a
) by default.These libraries are incomplete by design and require linking with other object files that are problem-dependent in practice.
But the compilation of shared libraries is now functional.
I have added an additional file, cutest_delegate.f90, which is compiled only when shared libraries are requested to Meson (option
-Ddefault_library=shared
).This approach proves beneficial when using CUTEst through high-level languages like Python or Julia.
With functions such as
load_routines_s
,load_routines
, andload_routines_q
, we can dynamically switch the shared library used for a particular problem.cc @jfowkes
The text was updated successfully, but these errors were encountered: