@@ -9,6 +9,7 @@ NONAPI = `$(R_HOME)/bin$(R_ARCH_BIN)/Rscript --vanilla -e "cat(tools:::nonAPI, s
99RUSTC = rustc
1010R_VERSION_MAJOR_MINOR_ONLY = $(word 1,$(subst ., ,$(R_VERSION))).$(word 2,$(subst ., ,$(R_VERSION)))
1111UNAME = $(shell uname -s)
12+ PLATFORM = $(UNAME)
1213
1314ifeq ($(R_OSTYPE),windows)
1415 RUSTC_DEFAULT_FLAGS = -Cembed-bitcode=no -Cdebuginfo=2
@@ -18,6 +19,8 @@ ifeq ($(R_OSTYPE),windows)
1819 LIBGCC_EH_RECIPE = `mkdir -p libgcc_mock && touch libgcc_mock/libgcc_eh.a`
1920 LIBGCC_EH_FLAG = -Llibgcc_mock
2021 R_LIBRARY_PATH = -L"$(R_HOME)/bin$(R_ARCH)"
22+
23+ PLATFORM = "windows"
2124else
2225 RUSTC_DEFAULT_FLAGS = -Cembed-bitcode=no -Cdebuginfo=2 -Csplit-debuginfo=unpacked
2326 TARGET =
@@ -81,7 +84,7 @@ BINDGEN_CLANG_ARGS = -Denum_SEXPTYPE -DR_NO_REMAP -DSTRICT_R_HEADERS -DR_INTERFA
8184
8285ALL_R_BINDINGS = $(patsubst $(R_INCLUDE_DIR)/%.h,$(BINDINGS_DIR)/%.rs,$(ALL_R_HEADERS))
8386
84- ALL_CACHED_BINDINGS = $(patsubst $(BINDINGS_DIR)/%.rs,$(CACHE_BINDINGS_LOCATION)/%-$(UNAME )-$(R_VERSION_MAJOR_MINOR_ONLY).rs,$(ALL_R_BINDINGS))
87+ ALL_CACHED_BINDINGS = $(patsubst $(BINDINGS_DIR)/%.rs,$(CACHE_BINDINGS_LOCATION)/%-$(PLATFORM )-$(R_VERSION_MAJOR_MINOR_ONLY).rs,$(ALL_R_BINDINGS))
8588
8689# TODO: unless `rust_analyzer_dummy` is added here, it won't do anything
8790all: DEBUG LIBGCC_EH_RECIPE_SETUP ALL_R_BINDINGS $(ALL_CACHED_BINDINGS) $(OBJECTS) $(SHLIB)
@@ -118,7 +121,7 @@ $(BINDINGS_DIR)/%.rs: $(R_INCLUDE_DIR)/%.h
118121 @mkdir -p $(dir $@)
119122 bindgen "$<" -o "$@" $(BINDGEN_ARGS) $(BINDGEN_EXTRA) --allowlist-file "$<" -- -I$(R_INCLUDE_DIR) $(BINDGEN_CLANG_ARGS)
120123
121- $(CACHE_BINDINGS_LOCATION)/%-$(UNAME )-$(R_VERSION_MAJOR_MINOR_ONLY).rs: $(BINDINGS_DIR)/%.rs
124+ $(CACHE_BINDINGS_LOCATION)/%-$(PLATFORM )-$(R_VERSION_MAJOR_MINOR_ONLY).rs: $(BINDINGS_DIR)/%.rs
122125 $(ECHO) "Updating cache for $< -> $@"
123126 @mkdir -p $(dir $@)
124127 @cp -f $< $@
0 commit comments