diff --git a/com.oracle.truffle.r.native/gnur/Makefile.libs b/com.oracle.truffle.r.native/gnur/Makefile.libs index 5ca95255ef..13de601de6 100644 --- a/com.oracle.truffle.r.native/gnur/Makefile.libs +++ b/com.oracle.truffle.r.native/gnur/Makefile.libs @@ -31,8 +31,18 @@ $(error no platform.mk available) endif endif +# blas and lapack implementations can be overridden using the following environment variables +BLAS_LAPACK_DIR ?= $(GNUR_HOME_BINARY)/lib +BLAS_SOURCE ?= $(BLAS_LAPACK_DIR)/libRblas$(DYLIB_EXT) +LAPACK_SOURCE ?= $(BLAS_LAPACK_DIR)/libRlapack$(DYLIB_EXT) + +$(info BLAS_LAPACK_DIR : $(BLAS_LAPACK_DIR)) +$(info BLAS_SOURCE : $(BLAS_SOURCE)) +$(info LAPACK_SOURCE : $(LAPACK_SOURCE)) + BLAS_TARGET := $(FASTR_LIB_DIR)/libRblas$(DYLIB_EXT) LAPACK_TARGET := $(FASTR_LIB_DIR)/libRlapack$(DYLIB_EXT) + # at a minimum we need to know where libpcre/libz/libgfortran/libquadmath are located, # to keep the Java side simpler, we (may) copy them to $(FASTR_LIB_DIR) unless # they were found in the standard system locations @@ -47,10 +57,10 @@ $(FASTR_LIB_DIR): mkdir -p $(FASTR_LIB_DIR) $(BLAS_TARGET): $(GNUR_HOME_BINARY)/lib/libRblas$(DYLIB_EXT) - cp $(GNUR_HOME_BINARY)/lib/libRblas$(DYLIB_EXT) $(BLAS_TARGET) + cp $(BLAS_SOURCE) $(BLAS_TARGET) $(LAPACK_TARGET): $(GNUR_HOME_BINARY)/lib/libRlapack$(DYLIB_EXT) - cp $(GNUR_HOME_BINARY)/lib/libRlapack$(DYLIB_EXT) $(LAPACK_TARGET) + cp $(LAPACK_SOURCE) $(LAPACK_TARGET) ifeq ($(OS_NAME),Darwin) # libRblas depends on libgfortran, libquadmath # libRlapack depends on libgfortran, libquadmath, libRblas, libR