From 42672ce1662da97ae22007be15e8db60e159f29b Mon Sep 17 00:00:00 2001 From: Jeroen Ooms Date: Sat, 8 Feb 2025 14:01:51 +0100 Subject: [PATCH] Use libmariadbclient from Rtools if found --- .github/workflows/R-CMD-check.yaml | 3 ++- RMySQL.Rproj | 1 + src/Makevars.win | 29 +++++++++++++++++++---------- 3 files changed, 22 insertions(+), 11 deletions(-) diff --git a/.github/workflows/R-CMD-check.yaml b/.github/workflows/R-CMD-check.yaml index 724dd87..f4a0283 100644 --- a/.github/workflows/R-CMD-check.yaml +++ b/.github/workflows/R-CMD-check.yaml @@ -22,7 +22,8 @@ jobs: - {os: macos-14, r: 'release'} - {os: windows-latest, r: '4.1'} - {os: windows-latest, r: '4.2'} - - {os: windows-latest, r: 'release'} + - {os: windows-latest, r: '4.3'} + - {os: windows-latest, r: '4.4'} - {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'} - {os: ubuntu-latest, r: 'release'} - {os: ubuntu-latest, r: 'oldrel-1'} diff --git a/RMySQL.Rproj b/RMySQL.Rproj index 21a4da0..8797306 100644 --- a/RMySQL.Rproj +++ b/RMySQL.Rproj @@ -1,4 +1,5 @@ Version: 1.0 +ProjectId: df551388-4dd3-412f-ac41-f4c0a0c8a880 RestoreWorkspace: Default SaveWorkspace: Default diff --git a/src/Makevars.win b/src/Makevars.win index ae9354d..989fd95 100644 --- a/src/Makevars.win +++ b/src/Makevars.win @@ -1,19 +1,28 @@ -RWINLIB = ../windows/libmariadbclient +PKG_CONFIG_NAME = libmariadbclient +PKG_CONFIG ?= $(BINPREF)pkg-config +PKG_LIBS := $(shell $(PKG_CONFIG) --libs $(PKG_CONFIG_NAME)) +# Remove hack when dropping support for R-4.1 ifeq ($(R_COMPILED_BY),gcc 8.3.0) -TLS_LIBS = -lssl -lcrypto +RTOOLS40_LIBS = -lssl -lcrypto endif +ifneq ($(PKG_LIBS),) +$(info using $(PKG_CONFIG_NAME) from Rtools) +PKG_CPPFLAGS := $(shell $(PKG_CONFIG) --cflags $(PKG_CONFIG_NAME)) $(EXTRA_CFLAGS) +else +RWINLIB = ../windows/libmariadbclient PKG_CPPFLAGS = -I$(RWINLIB)/include/mariadb -PKG_LIBS = \ - -L$(RWINLIB)/lib$(R_ARCH) \ - -L$(RWINLIB)/lib \ - -lmariadbclient $(TLS_LIBS) -lz -lbcrypt -lsecur32 -lshlwapi -lcrypt32 -lgdi32 -lws2_32 -pthread +PKG_LIBS = -L$(RWINLIB)/lib$(R_ARCH) -L$(RWINLIB)/lib \ + -lmariadbclient $(RTOOLS40_LIBS) -lz -lbcrypt -lsecur32 -lshlwapi -lcrypt32 -lgdi32 -lws2_32 -pthread +endif -all: clean winlibs +all: $(SHLIB) + +$(OBJECTS): $(RWINLIB) + +$(RWINLIB): + "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" "../tools/winlibs.R" clean: rm -f $(SHLIB) $(OBJECTS) - -winlibs: - "${R_HOME}/bin${R_ARCH_BIN}/Rscript.exe" "../tools/winlibs.R" $(VERSION)