Returns the compiler and package build metadata that was baked into the currently
loaded EDI shared object at compile time (via preprocessor macros defined
in edi_build_flags.h, generated by the package's build tooling), not
anything queried live from the running system. This is intended for benchmark
reports and reproducibility audits where the exact compiler, flags, and build
environment used to produce the installed binary matter (e.g. explaining
performance differences between two installations of the same package version, or
confirming a binary was built with a particular optimization/vectorization
configuration).
Value
A named list with the following fields, all length-1 character strings unless noted otherwise:
- capture_method
How the build metadata below was captured by the package's build tooling (
EDI_BUILD_CAPTURE_METHOD).- build_timestamp
Timestamp of compilation (
EDI_BUILD_TIMESTAMP).- build_host
Hostname of the machine that compiled this binary (
EDI_BUILD_HOST).- r_home
R_HOMEof the R installation used to build the package.- r_version
R version string used to build the package.
- r_cxx20
The C++20 compiler command R's build configuration reported.
- r_cxx20std
The C++ standard flag (e.g.
-std=gnu++20) used.- r_cxx20flags
Additional C++20 compiler flags from R's configuration.
- r_shlib_openmp_cxxflags
OpenMP C++ flags R's configuration supplies for shared-library builds (empty if OpenMP support was not available/enabled).
- env_edi_portable, env_edi_disable_vectorization, env_edi_native_speed, env_edi_native_lto
The values (or default/unset indicator) of the corresponding
EDI_*environment variables that were set at build time to control portable-vs-native code generation, vectorization, and link-time optimization; see the package's build documentation for what each controls.- pkg_cppflags, pkg_cxxflags, pkg_libs
The package-level
PKG_CPPFLAGS/PKG_CXXFLAGS/PKG_LIBSused when compiling/linking EDI's C++ sources.- compiler
The compiler identification string (
__VERSION__).- compiler_optimize_macro
Logical;
TRUEiff the compiler defined__OPTIMIZE__(i.e. optimizations were enabled) when this translation unit was compiled.- compiler_fast_math_macro
Logical;
TRUEiff__FAST_MATH__was defined (i.e. non-IEEE-compliant fast-math optimizations were enabled), which can affect floating-point reproducibility/edge-case behavior (NaN/Inf handling, exact rounding) relative to a standard-compliant build.- eigen_dont_vectorize_macro
Logical;
TRUEiffEIGEN_DONT_VECTORIZEwas defined, disabling Eigen's SIMD vectorization for this build (e.g. for portability to CPUs lacking the vector instructions a native build would target).
Details
Every field is a fixed string or boolean baked in when the C++ source was compiled (via preprocessor macro substitution); calling this function multiple times within the same R session always returns identical values, and the values reflect the build environment, not the environment the function happens to be called from. If EDI is reinstalled/recompiled, existing R sessions that already loaded the old shared object continue to report the old build's metadata until they restart and load the new one.
