"src/vscode:/vscode.git/clone" did not exist on "b37065dbd5510079aac341a34895f4854c782fcb"
Commit b7e5f071 authored by Guolin Ke's avatar Guolin Ke Committed by GitHub
Browse files

Support build self-contained R package. (#340)

* add scripts for build self-contain R-package in windows.

* add unix build.

* Update README.md
parent 56b98445
......@@ -19,6 +19,8 @@ You can also install directly from R using the repository with `devtools`:
devtools::install_github("Microsoft/LightGBM", subdir = "R-package")
```
If want to build the self-contained R package, you can run ```unix_build_package.sh```(for UNIX) or ```win_build_package.cmd ```(for Windows). Then use ```R CMD INSTALL lightgbm_0.1.tar.gz``` to install.
You can check quickly if your LightGBM R package is working by running the following:
......
# package root
PKGROOT=.
ENABLE_STD_THREAD=1
CXX_STD = CXX11
LGBM_RFLAGS = -DUSE_SOCKET
PKG_CPPFLAGS= -I$(PKGROOT)/include $(LGBM_RFLAGS) -Wno-deprecated-declarations
PKG_CXXFLAGS= $(SHLIB_OPENMP_CFLAGS) $(SHLIB_PTHREAD_FLAGS) -std=c++11
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS) $(SHLIB_PTHREAD_FLAGS)
OBJECTS = ./lightgbm-fullcode.o ./lightgbm_R.o
# package root
PKGROOT=.
ENABLE_STD_THREAD=1
CXX_STD = CXX11
LGBM_RFLAGS = -DUSE_SOCKET
PKG_CPPFLAGS= -I$(PKGROOT)/include $(LGBM_RFLAGS)
PKG_CXXFLAGS= $(SHLIB_OPENMP_CFLAGS) $(SHLIB_PTHREAD_FLAGS) -std=c++11
PKG_LIBS = $(SHLIB_OPENMP_CFLAGS) $(SHLIB_PTHREAD_FLAGS) -lws2_32 -liphlpapi
OBJECTS = ./lightgbm-fullcode.o ./lightgbm_R.o
// application
#include "./src/application/application.cpp"
// boosting
#include "./src/boosting/boosting.cpp"
#include "./src/boosting/gbdt.cpp"
// io
#include "./src/io/bin.cpp"
#include "./src/io/config.cpp"
#include "./src/io/dataset.cpp"
#include "./src/io/dataset_loader.cpp"
#include "./src/io/metadata.cpp"
#include "./src/io/parser.cpp"
#include "./src/io/tree.cpp"
// metric
#include "./src/metric/dcg_calculator.cpp"
#include "./src/metric/metric.cpp"
// network
#include "./src/network/linker_topo.cpp"
#include "./src/network/linkers_socket.cpp"
#include "./src/network/network.cpp"
// objective
#include "./src/objective/objective_function.cpp"
// treelearner
#include "./src/treelearner/data_parallel_tree_learner.cpp"
#include "./src/treelearner/feature_parallel_tree_learner.cpp"
#include "./src/treelearner/serial_tree_learner.cpp"
#include "./src/treelearner/tree_learner.cpp"
#include "./src/treelearner/voting_parallel_tree_learner.cpp"
// c_api
#include "./src/c_api.cpp"
cp ../include ./src/include -rf
cp ../src ./src/src -rf
rm ./src/Makevars
cp ./src/Makevars_fullcode ./src/Makevars -f
R CMD build --no-build-vignettes .
\ No newline at end of file
xcopy ..\include src\include /e /i /y
xcopy ..\src src\src /e /i /y
del .\src\Makevars.win
copy .\src\Makevars_fullcode.win .\src\Makevars.win /y
R CMD build --no-build-vignettes .
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment