R/R-3.0.1-arm-compile-fix.patch

33 lines
1.7 KiB
Diff

diff -up R-3.0.1/src/library/tools/R/install.R.armfix R-3.0.1/src/library/tools/R/install.R
--- R-3.0.1/src/library/tools/R/install.R.armfix 2013-08-12 13:57:17.956790673 -0400
+++ R-3.0.1/src/library/tools/R/install.R 2013-08-12 13:59:51.230800752 -0400
@@ -108,7 +108,11 @@
SHLIB_EXT <- if (WINDOWS) ".dll" else {
## can we do better?
mconf <- file.path(R.home(), paste0("etc", rarch), "Makeconf")
- sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE))
+ if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has broken regexps in libc
+ sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE), perl = TRUE)
+ } else {
+ sub(".*= ", "", grep("^SHLIB_EXT", readLines(mconf), value = TRUE))
+ }
}
options(warn = 1)
@@ -1627,8 +1631,13 @@
mconf <- readLines(file.path(R.home(),
paste0("etc", Sys.getenv("R_ARCH")),
"Makeconf"))
- SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE))
- SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE))
+ if (substr( Sys.info()["machine"], 1, 3) == "arm") { # arm has broken regexps in libc
+ SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE), perl = TRUE)
+ SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE), perl = TRUE)
+ } else {
+ SHLIB_EXT <- sub(".*= ", "", grep("^SHLIB_EXT", mconf, value = TRUE))
+ SHLIB_LIBADD <- sub(".*= ", "", grep("^SHLIB_LIBADD", mconf, value = TRUE))
+ }
MAKE <- Sys.getenv("MAKE")
rarch <- Sys.getenv("R_ARCH")
} else {