Skip to content

Commit 3e4ff27

Browse files
committed
Fix -j flag earlier
1 parent ae00aea commit 3e4ff27

2 files changed

Lines changed: 19 additions & 4 deletions

File tree

r/inst/build_arrow_static.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ ${CMAKE_WRAPPER} ${CMAKE} -DARROW_BOOST_USE_SHARED=OFF \
114114
-G "${CMAKE_GENERATOR:-Unix Makefiles}" \
115115
${SOURCE_DIR}
116116

117-
${CMAKE} --build . --target install --parallel $N_JOBS
117+
${CMAKE} --build . --target install -- -j"${N_JOBS}"
118118

119119
if command -v sccache &> /dev/null; then
120120
echo "=== sccache stats after the build ==="

r/tools/nixlibs.R

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -535,11 +535,26 @@ build_libarrow <- function(src_dir, dst_dir) {
535535
makeflags <- sprintf("-j%s", ncores)
536536
Sys.setenv(MAKEFLAGS = makeflags)
537537
} else {
538-
# Extract -j value from existing MAKEFLAGS if present
539-
j_match <- regmatches(makeflags, regexpr("-j\\s*([0-9]+)", makeflags, perl = TRUE))
538+
# Extract -j/--jobs value from existing MAKEFLAGS if present
539+
j_match <- regmatches(makeflags, regexpr("(^|\\s)(-j\\s*|--jobs(=|\\s)+)([0-9]+)(?=\\s|$)", makeflags, perl = TRUE))
540540
if (length(j_match) > 0) {
541-
ncores <- as.integer(sub("-j\\s*", "", j_match, perl = TRUE))
541+
ncores <- as.integer(sub(".*?([0-9]+)$", "\\1", j_match, perl = TRUE))
542542
}
543+
# Keep GNU make's optional -j/--jobs argument in one token for nested gmake
544+
makeflags <- gsub("(^|\\s)-j\\s+([0-9]+)(?=\\s|$)", "\\1-j\\2", makeflags, perl = TRUE)
545+
makeflags <- gsub("(^|\\s)--jobs\\s+([0-9]+)(?=\\s|$)", "\\1--jobs=\\2", makeflags, perl = TRUE)
546+
# Give any remaining bare `-j`/`--jobs` an explicit count
547+
makeflags <- gsub("(^|\\s)-j(?=\\s|$)", sprintf("\\1-j%s", ncores), makeflags, perl = TRUE)
548+
makeflags <- gsub("(^|\\s)--jobs(?=\\s|$)", sprintf("\\1--jobs=%s", ncores), makeflags, perl = TRUE)
549+
Sys.setenv(MAKEFLAGS = makeflags)
550+
}
551+
gnumakeflags <- Sys.getenv("GNUMAKEFLAGS")
552+
if (nzchar(gnumakeflags)) {
553+
gnumakeflags <- gsub("(^|\\s)-j\\s+([0-9]+)(?=\\s|$)", "\\1-j\\2", gnumakeflags, perl = TRUE)
554+
gnumakeflags <- gsub("(^|\\s)--jobs\\s+([0-9]+)(?=\\s|$)", "\\1--jobs=\\2", gnumakeflags, perl = TRUE)
555+
gnumakeflags <- gsub("(^|\\s)-j(?=\\s|$)", sprintf("\\1-j%s", ncores), gnumakeflags, perl = TRUE)
556+
gnumakeflags <- gsub("(^|\\s)--jobs(?=\\s|$)", sprintf("\\1--jobs=%s", ncores), gnumakeflags, perl = TRUE)
557+
Sys.setenv(GNUMAKEFLAGS = gnumakeflags)
543558
}
544559
if (!quietly) {
545560
lg("Building with MAKEFLAGS=%s", makeflags)

0 commit comments

Comments
 (0)