Skip to content

Commit adcc013

Browse files
authored
Windows: update zeromq libs + arm64 support (mschubert#312)
1 parent 9f3d6d2 commit adcc013

File tree

5 files changed

+23
-13
lines changed

5 files changed

+23
-13
lines changed

.github/workflows/check-standard.yaml

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ jobs:
2121
matrix:
2222
config:
2323
- {os: windows-latest, r: 'release'}
24+
- {os: windows-latest, r: '4.2'}
2425
- {os: macOS-latest, r: 'release'}
2526
- {os: ubuntu-latest, r: 'devel', http-user-agent: 'release'}
2627
- {os: ubuntu-latest, r: 'release'}

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,4 @@ src/*.so
1414
clustermq.Rcheck
1515
src/Makevars
1616
.github/*.html
17+
windows

src/Makevars.ucrt

-2
This file was deleted.

src/Makevars.win

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
GCC_VERSION = ${subst gcc,,${COMPILED_BY}}
2-
RWINLIB = ../windows/zeromq-4.3.4
3-
1+
RWINLIB = ../windows/zeromq
2+
OLDLIBDIR = lib$(subst gcc,,$(COMPILED_BY))$(R_ARCH)
43
PKG_CPPFLAGS = -DZMQ_STATIC -DZMQ_BUILD_DRAFT_API=1 \
54
-Icppzmq -I${RWINLIB}/include
65

76
PKG_LIBS = \
8-
-L${RWINLIB}/lib${GCC_VERSION}${R_ARCH} \
9-
-L${RWINLIB}/lib${R_ARCH}${CRT} \
7+
-L$(RWINLIB)/$(OLDLIBDIR) \
8+
-L$(RWINLIB)/lib$(R_ARCH) \
9+
-L$(RWINLIB)/lib \
1010
-lzmq -lsodium -liphlpapi -lws2_32
1111

1212
all: clean winlibs

tools/winlibs.R

+16-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,18 @@
1-
# Build against precompiled zeromq libs.
2-
if(!file.exists("../windows/zeromq-4.3.4/include/zmq.h")){
3-
if(getRversion() < "3.3.0") setInternet2()
4-
download.file("https://github.com/rwinlib/zeromq/archive/v4.3.4.zip", "lib.zip", quiet = TRUE)
1+
if(!file.exists("../windows/zeromq/include")){
2+
unlink("../windows", recursive = TRUE)
3+
url <- if(grepl("aarch", R.version$platform)){
4+
"https://github.com/r-windows/bundles/releases/download/zeromq-4.3.4/zeromq-4.3.4-clang-aarch64.tar.xz"
5+
} else if(grepl("clang", Sys.getenv('R_COMPILED_BY'))){
6+
"https://github.com/r-windows/bundles/releases/download/zeromq-4.3.4/zeromq-4.3.4-clang-x86_64.tar.xz"
7+
} else if(getRversion() >= "4.3") {
8+
"https://github.com/r-windows/bundles/releases/download/zeromq-4.3.4/zeromq-4.3.4-ucrt-x86_64.tar.xz"
9+
} else {
10+
"https://github.com/rwinlib/zeromq/archive/4.3.4.tar.gz"
11+
}
12+
download.file(url, basename(url), quiet = TRUE)
513
dir.create("../windows", showWarnings = FALSE)
6-
unzip("lib.zip", exdir = "../windows")
7-
unlink("lib.zip")
14+
untar(basename(url), exdir = "../windows", tar = 'internal')
15+
unlink(basename(url))
16+
setwd("../windows")
17+
file.rename(list.files(), 'zeromq')
818
}

0 commit comments

Comments
 (0)