[R] fix for the 32 bit windows issue (#2994)
* [R] disable thred_local for 32bit windows * [R] require C++11 and GNU make in DESCRIPTION * [R] enable 32+64 build and check in appveyor
This commit is contained in:
parent
4aa346c10b
commit
526801cdb3
@ -38,3 +38,4 @@ Imports:
|
|||||||
magrittr (>= 1.5),
|
magrittr (>= 1.5),
|
||||||
stringi (>= 0.5.2)
|
stringi (>= 0.5.2)
|
||||||
RoxygenNote: 6.0.1
|
RoxygenNote: 6.0.1
|
||||||
|
SystemRequirements: GNU make, C++11
|
||||||
|
|||||||
@ -10,6 +10,12 @@ XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
|||||||
-DDMLC_LOG_CUSTOMIZE=1 -DXGBOOST_CUSTOMIZE_LOGGER=1\
|
-DDMLC_LOG_CUSTOMIZE=1 -DXGBOOST_CUSTOMIZE_LOGGER=1\
|
||||||
-DRABIT_CUSTOMIZE_MSG_ -DRABIT_STRICT_CXX98_
|
-DRABIT_CUSTOMIZE_MSG_ -DRABIT_STRICT_CXX98_
|
||||||
|
|
||||||
|
# disable the use of thread_local for 32 bit windows:
|
||||||
|
ifeq ($(R_OSTYPE)$(WIN),windows)
|
||||||
|
XGB_RFLAGS += -DDMLC_CXX11_THREAD_LOCAL=0
|
||||||
|
endif
|
||||||
|
$(foreach v, $(XGB_RFLAGS), $(warning $(v)))
|
||||||
|
|
||||||
PKG_CPPFLAGS= -I$(PKGROOT)/include -I$(PKGROOT)/dmlc-core/include -I$(PKGROOT)/rabit/include -I$(PKGROOT) $(XGB_RFLAGS)
|
PKG_CPPFLAGS= -I$(PKGROOT)/include -I$(PKGROOT)/dmlc-core/include -I$(PKGROOT)/rabit/include -I$(PKGROOT) $(XGB_RFLAGS)
|
||||||
PKG_CXXFLAGS= @OPENMP_CXXFLAGS@ $(SHLIB_PTHREAD_FLAGS)
|
PKG_CXXFLAGS= @OPENMP_CXXFLAGS@ $(SHLIB_PTHREAD_FLAGS)
|
||||||
PKG_LIBS = @OPENMP_CXXFLAGS@ $(SHLIB_PTHREAD_FLAGS)
|
PKG_LIBS = @OPENMP_CXXFLAGS@ $(SHLIB_PTHREAD_FLAGS)
|
||||||
|
|||||||
@ -4,7 +4,7 @@ ENABLE_STD_THREAD=0
|
|||||||
# _*_ mode: Makefile; _*_
|
# _*_ mode: Makefile; _*_
|
||||||
|
|
||||||
# This file is only used for windows compilation from github
|
# This file is only used for windows compilation from github
|
||||||
# It will be replaced by Makevars in CRAN version
|
# It will be replaced with Makevars.in for the CRAN version
|
||||||
.PHONY: all xgblib
|
.PHONY: all xgblib
|
||||||
all: $(SHLIB)
|
all: $(SHLIB)
|
||||||
$(SHLIB): xgblib
|
$(SHLIB): xgblib
|
||||||
@ -22,6 +22,12 @@ XGB_RFLAGS = -DXGBOOST_STRICT_R_MODE=1 -DDMLC_LOG_BEFORE_THROW=0\
|
|||||||
-DDMLC_LOG_CUSTOMIZE=1 -DXGBOOST_CUSTOMIZE_LOGGER=1\
|
-DDMLC_LOG_CUSTOMIZE=1 -DXGBOOST_CUSTOMIZE_LOGGER=1\
|
||||||
-DRABIT_CUSTOMIZE_MSG_ -DRABIT_STRICT_CXX98_
|
-DRABIT_CUSTOMIZE_MSG_ -DRABIT_STRICT_CXX98_
|
||||||
|
|
||||||
|
# disable the use of thread_local for 32 bit windows:
|
||||||
|
ifeq ($(R_OSTYPE)$(WIN),windows)
|
||||||
|
XGB_RFLAGS += -DDMLC_CXX11_THREAD_LOCAL=0
|
||||||
|
endif
|
||||||
|
$(foreach v, $(XGB_RFLAGS), $(warning $(v)))
|
||||||
|
|
||||||
PKG_CPPFLAGS= -I$(PKGROOT)/include -I$(PKGROOT)/dmlc-core/include -I$(PKGROOT)/rabit/include -I$(PKGROOT) $(XGB_RFLAGS)
|
PKG_CPPFLAGS= -I$(PKGROOT)/include -I$(PKGROOT)/dmlc-core/include -I$(PKGROOT)/rabit/include -I$(PKGROOT) $(XGB_RFLAGS)
|
||||||
PKG_CXXFLAGS= $(SHLIB_OPENMP_CFLAGS) $(SHLIB_PTHREAD_FLAGS)
|
PKG_CXXFLAGS= $(SHLIB_OPENMP_CFLAGS) $(SHLIB_PTHREAD_FLAGS)
|
||||||
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS) $(SHLIB_PTHREAD_FLAGS)
|
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS) $(SHLIB_PTHREAD_FLAGS)
|
||||||
|
|||||||
@ -81,7 +81,7 @@ build_script:
|
|||||||
- if /i "%target%" == "rmingw" (
|
- if /i "%target%" == "rmingw" (
|
||||||
make Rbuild &&
|
make Rbuild &&
|
||||||
ls -l &&
|
ls -l &&
|
||||||
R.exe CMD INSTALL --no-multiarch xgboost*.tar.gz
|
R.exe CMD INSTALL xgboost*.tar.gz
|
||||||
)
|
)
|
||||||
# R package: cmake + VC2015
|
# R package: cmake + VC2015
|
||||||
- if /i "%target%" == "rmsvc" (
|
- if /i "%target%" == "rmsvc" (
|
||||||
@ -98,10 +98,9 @@ test_script:
|
|||||||
# mingw R package: run the R check (which includes unit tests), and also keep the built binary package
|
# mingw R package: run the R check (which includes unit tests), and also keep the built binary package
|
||||||
- if /i "%target%" == "rmingw" (
|
- if /i "%target%" == "rmingw" (
|
||||||
set _R_CHECK_CRAN_INCOMING_=FALSE&&
|
set _R_CHECK_CRAN_INCOMING_=FALSE&&
|
||||||
R.exe CMD check xgboost*.tar.gz --no-manual --no-build-vignettes --as-cran --install-args=--build --no-multiarch
|
R.exe CMD check xgboost*.tar.gz --no-manual --no-build-vignettes --as-cran --install-args=--build
|
||||||
)
|
)
|
||||||
# MSVC R package: run only the unit tests
|
# MSVC R package: run only the unit tests
|
||||||
# TODO: create a binary msvc-built package to keep as an artifact
|
|
||||||
- if /i "%target%" == "rmsvc" (
|
- if /i "%target%" == "rmsvc" (
|
||||||
cd build_rmsvc%ver%\R-package &&
|
cd build_rmsvc%ver%\R-package &&
|
||||||
R.exe -q -e "library(testthat); setwd('tests'); source('testthat.R')"
|
R.exe -q -e "library(testthat); setwd('tests'); source('testthat.R')"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user