diff --git a/src/Makevars b/src/Makevars index c9a6dd8cb..5e6b4b1bd 100644 --- a/src/Makevars +++ b/src/Makevars @@ -17,17 +17,3 @@ include Makevars.duckdb CXX_STD = CXX17 PKG_CPPFLAGS = -Iinclude -I../inst/include -DDUCKDB_DISABLE_PRINT -DDUCKDB_R_BUILD -DBROTLI_ENCODER_CLEANUP_ON_OOM -Iduckdb/src/include -Iduckdb/third_party/concurrentqueue -Iduckdb/third_party/fast_float -Iduckdb/third_party/fastpforlib -Iduckdb/third_party/fmt/include -Iduckdb/third_party/fsst -Iduckdb/third_party/httplib -Iduckdb/third_party/hyperloglog -Iduckdb/third_party/jaro_winkler -Iduckdb/third_party/jaro_winkler/details -Iduckdb/third_party/libpg_query -Iduckdb/third_party/libpg_query/include -Iduckdb/third_party/lz4 -Iduckdb/third_party/brotli/include -Iduckdb/third_party/brotli/common -Iduckdb/third_party/brotli/dec -Iduckdb/third_party/brotli/enc -Iduckdb/third_party/mbedtls -Iduckdb/third_party/mbedtls/include -Iduckdb/third_party/mbedtls/library -Iduckdb/third_party/miniz -Iduckdb/third_party/pcg -Iduckdb/third_party/re2 -Iduckdb/third_party/skiplist -Iduckdb/third_party/tdigest -Iduckdb/third_party/utf8proc -Iduckdb/third_party/utf8proc/include -Iduckdb/third_party/yyjson/include -Iduckdb/extension/parquet/include -Iduckdb/third_party/parquet -Iduckdb/third_party/thrift -Iduckdb/third_party/lz4 -Iduckdb/third_party/brotli/include -Iduckdb/third_party/brotli/common -Iduckdb/third_party/brotli/dec -Iduckdb/third_party/brotli/enc -Iduckdb/third_party/snappy -Iduckdb/third_party/zstd/include -Iduckdb/third_party/mbedtls -Iduckdb/third_party/mbedtls/include -I../inst/include -Iduckdb -DDUCKDB_EXTENSION_PARQUET_LINKED -DDUCKDB_BUILD_LIBRARY OBJECTS=rfuns.o database.o connection.o statement.o register.o relational.o scan.o transform.o utils.o reltoaltrep.o types.o cpp11.o $(SOURCES) - -all: $(SHLIB) strip - -strip: $(SHLIB) - set -x; \ - if which strip && which uname && test "`uname`" = "Linux" && test "$$_R_SHLIB_STRIP_" = "true" && test -n "$$R_STRIP_SHARED_LIB" ; \ - then \ - echo stripping $(SHLIB) ; \ - echo $$R_STRIP_SHARED_LIB $(SHLIB) ; \ - $$R_STRIP_SHARED_LIB $(SHLIB) ; \ - fi ; \ - ls -l $(SHLIB) - -.PHONY: all clean strip diff --git a/src/Makevars.in b/src/Makevars.in index d48b0929d..aedc76359 100644 --- a/src/Makevars.in +++ b/src/Makevars.in @@ -18,17 +18,3 @@ CXX_STD = CXX17 PKG_CPPFLAGS = -Iinclude -I../inst/include -DDUCKDB_DISABLE_PRINT -DDUCKDB_R_BUILD -DBROTLI_ENCODER_CLEANUP_ON_OOM {{ INCLUDES }} OBJECTS=rfuns.o database.o connection.o statement.o register.o relational.o scan.o transform.o utils.o reltoaltrep.o types.o cpp11.o $(SOURCES) PKG_LIBS={{ LINK_FLAGS }} - -all: $(SHLIB) strip - -strip: $(SHLIB) - set -x; \ - if which strip && which uname && test "`uname`" = "Linux" && test "$$_R_SHLIB_STRIP_" = "true" && test -n "$$R_STRIP_SHARED_LIB" ; \ - then \ - echo stripping $(SHLIB) ; \ - echo $$R_STRIP_SHARED_LIB $(SHLIB) ; \ - $$R_STRIP_SHARED_LIB $(SHLIB) ; \ - fi ; \ - ls -l $(SHLIB) - -.PHONY: all clean strip diff --git a/src/Makevars.win b/src/Makevars.win index 9301c801f..a03bde361 100644 --- a/src/Makevars.win +++ b/src/Makevars.win @@ -18,17 +18,3 @@ CXX_STD = CXX17 PKG_CPPFLAGS = -Iinclude -I../inst/include -DDUCKDB_DISABLE_PRINT -DDUCKDB_R_BUILD -DBROTLI_ENCODER_CLEANUP_ON_OOM -Iduckdb/src/include -Iduckdb/third_party/concurrentqueue -Iduckdb/third_party/fast_float -Iduckdb/third_party/fastpforlib -Iduckdb/third_party/fmt/include -Iduckdb/third_party/fsst -Iduckdb/third_party/httplib -Iduckdb/third_party/hyperloglog -Iduckdb/third_party/jaro_winkler -Iduckdb/third_party/jaro_winkler/details -Iduckdb/third_party/libpg_query -Iduckdb/third_party/libpg_query/include -Iduckdb/third_party/lz4 -Iduckdb/third_party/brotli/include -Iduckdb/third_party/brotli/common -Iduckdb/third_party/brotli/dec -Iduckdb/third_party/brotli/enc -Iduckdb/third_party/mbedtls -Iduckdb/third_party/mbedtls/include -Iduckdb/third_party/mbedtls/library -Iduckdb/third_party/miniz -Iduckdb/third_party/pcg -Iduckdb/third_party/re2 -Iduckdb/third_party/skiplist -Iduckdb/third_party/tdigest -Iduckdb/third_party/utf8proc -Iduckdb/third_party/utf8proc/include -Iduckdb/third_party/yyjson/include -Iduckdb/extension/parquet/include -Iduckdb/third_party/parquet -Iduckdb/third_party/thrift -Iduckdb/third_party/lz4 -Iduckdb/third_party/brotli/include -Iduckdb/third_party/brotli/common -Iduckdb/third_party/brotli/dec -Iduckdb/third_party/brotli/enc -Iduckdb/third_party/snappy -Iduckdb/third_party/zstd/include -Iduckdb/third_party/mbedtls -Iduckdb/third_party/mbedtls/include -I../inst/include -Iduckdb -DDUCKDB_EXTENSION_PARQUET_LINKED -DDUCKDB_BUILD_LIBRARY -DDUCKDB_PLATFORM_RTOOLS=1 OBJECTS=rfuns.o database.o connection.o statement.o register.o relational.o scan.o transform.o utils.o reltoaltrep.o types.o cpp11.o $(SOURCES) PKG_LIBS=-lws2_32 -L. -lrstrtmgr - -all: $(SHLIB) strip - -strip: $(SHLIB) - set -x; \ - if which strip && which uname && test "`uname`" = "Linux" && test "$$_R_SHLIB_STRIP_" = "true" && test -n "$$R_STRIP_SHARED_LIB" ; \ - then \ - echo stripping $(SHLIB) ; \ - echo $$R_STRIP_SHARED_LIB $(SHLIB) ; \ - $$R_STRIP_SHARED_LIB $(SHLIB) ; \ - fi ; \ - ls -l $(SHLIB) - -.PHONY: all clean strip diff --git a/src/install.libs.R b/src/install.libs.R index a70c61c64..84cfc4e82 100644 --- a/src/install.libs.R +++ b/src/install.libs.R @@ -2,6 +2,15 @@ files <- Sys.glob(paste0("*", SHLIB_EXT)) dest <- file.path(R_PACKAGE_DIR, paste0('libs', R_ARCH)) dir.create(dest, recursive = TRUE, showWarnings = FALSE) file.copy(files, dest, overwrite = TRUE) + +if (Sys.which("strip") != "" && Sys.info()["sysname"] == "Linux" && isTRUE(as.logical(Sys.getenv("_R_SHLIB_STRIP_"))) && Sys.getenv("R_STRIP_SHARED_LIB") != "") { + dest_files <- file.path(dest, files) + for (file in dest_files) { + message("Stripping: ", file) + system2(Sys.getenv("R_STRIP_SHARED_LIB"), args = file) + } +} + if (file.exists("symbols.rds")) { file.copy("symbols.rds", dest, overwrite = TRUE) }