[R] Robust endian detection in CRAN xgboost build (#5232)
* [R] Robust endian detection in CRAN xgboost build * Check for external backtrace() lib * Update Makevars.win
This commit is contained in:
parent
1b3947d929
commit
0c7455276d
7
Makefile
7
Makefile
@ -252,10 +252,15 @@ Rpack: clean_all
|
|||||||
cp -r dmlc-core/include xgboost/src/dmlc-core/include
|
cp -r dmlc-core/include xgboost/src/dmlc-core/include
|
||||||
cp -r dmlc-core/src xgboost/src/dmlc-core/src
|
cp -r dmlc-core/src xgboost/src/dmlc-core/src
|
||||||
cp ./LICENSE xgboost
|
cp ./LICENSE xgboost
|
||||||
cat R-package/src/Makevars.in|sed '2s/.*/PKGROOT=./' | sed '3s/.*/ENABLE_STD_THREAD=0/' > xgboost/src/Makevars.in
|
# Modify PKGROOT in Makevars.in
|
||||||
|
cat R-package/src/Makevars.in|sed '2s/.*/PKGROOT=./' > xgboost/src/Makevars.in
|
||||||
|
# Configure Makevars.win (Windows-specific Makevars, likely using MinGW)
|
||||||
cp xgboost/src/Makevars.in xgboost/src/Makevars.win
|
cp xgboost/src/Makevars.in xgboost/src/Makevars.win
|
||||||
|
cat xgboost/src/Makevars.in| sed '3s/.*/ENABLE_STD_THREAD=0/' > xgboost/src/Makevars.win
|
||||||
sed -i -e 's/@OPENMP_CXXFLAGS@/$$\(SHLIB_OPENMP_CXXFLAGS\)/g' xgboost/src/Makevars.win
|
sed -i -e 's/@OPENMP_CXXFLAGS@/$$\(SHLIB_OPENMP_CXXFLAGS\)/g' xgboost/src/Makevars.win
|
||||||
sed -i -e 's/-pthread/$$\(SHLIB_PTHREAD_FLAGS\)/g' xgboost/src/Makevars.win
|
sed -i -e 's/-pthread/$$\(SHLIB_PTHREAD_FLAGS\)/g' xgboost/src/Makevars.win
|
||||||
|
sed -i -e 's/@ENDIAN_FLAG@/-DDMLC_CMAKE_LITTLE_ENDIAN=1/g' xgboost/src/Makevars.win
|
||||||
|
sed -i -e 's/@BACKTRACE_LIB@//g' xgboost/src/Makevars.win
|
||||||
bash R-package/remove_warning_suppression_pragma.sh
|
bash R-package/remove_warning_suppression_pragma.sh
|
||||||
rm xgboost/remove_warning_suppression_pragma.sh
|
rm xgboost/remove_warning_suppression_pragma.sh
|
||||||
|
|
||||||
|
|||||||
1040
R-package/configure
vendored
1040
R-package/configure
vendored
File diff suppressed because it is too large
Load Diff
@ -4,6 +4,18 @@ AC_PREREQ(2.62)
|
|||||||
|
|
||||||
AC_INIT([xgboost],[0.6-3],[],[xgboost],[])
|
AC_INIT([xgboost],[0.6-3],[],[xgboost],[])
|
||||||
|
|
||||||
|
### Check whether backtrace() is part of libc or the external lib libexecinfo
|
||||||
|
AC_MSG_CHECKING([Backtrace lib])
|
||||||
|
AC_MSG_RESULT([])
|
||||||
|
AC_CHECK_LIB([execinfo], [backtrace], [BACKTRACE_LIB=-lexecinfo], [BACKTRACE_LIB=''])
|
||||||
|
|
||||||
|
### Endian detection
|
||||||
|
AC_MSG_CHECKING([endian])
|
||||||
|
AC_MSG_RESULT([])
|
||||||
|
AC_RUN_IFELSE([AC_LANG_PROGRAM([[#include <stdint.h>]], [[const uint16_t endianness = 256; return !!(*(const uint8_t *)&endianness);]])],
|
||||||
|
[ENDIAN_FLAG="-DDMLC_CMAKE_LITTLE_ENDIAN=1"],
|
||||||
|
[ENDIAN_FLAG="-DDMLC_CMAKE_LITTLE_ENDIAN=0"])
|
||||||
|
|
||||||
OPENMP_CXXFLAGS=""
|
OPENMP_CXXFLAGS=""
|
||||||
|
|
||||||
if test `uname -s` = "Linux"
|
if test `uname -s` = "Linux"
|
||||||
@ -26,6 +38,8 @@ then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
AC_SUBST(OPENMP_CXXFLAGS)
|
AC_SUBST(OPENMP_CXXFLAGS)
|
||||||
|
AC_SUBST(ENDIAN_FLAG)
|
||||||
|
AC_SUBST(BACKTRACE_LIB)
|
||||||
AC_CONFIG_FILES([src/Makevars])
|
AC_CONFIG_FILES([src/Makevars])
|
||||||
AC_OUTPUT
|
AC_OUTPUT
|
||||||
|
|
||||||
|
|||||||
@ -17,8 +17,8 @@ endif
|
|||||||
$(foreach v, $(XGB_RFLAGS), $(warning $(v)))
|
$(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@ -pthread
|
PKG_CXXFLAGS= @OPENMP_CXXFLAGS@ @ENDIAN_FLAG@ -pthread
|
||||||
PKG_LIBS = @OPENMP_CXXFLAGS@ -pthread
|
PKG_LIBS = @OPENMP_CXXFLAGS@ @ENDIAN_FLAG@ @BACKTRACE_LIB@ -pthread
|
||||||
OBJECTS= ./xgboost_R.o ./xgboost_custom.o ./xgboost_assert.o ./init.o\
|
OBJECTS= ./xgboost_R.o ./xgboost_custom.o ./xgboost_assert.o ./init.o\
|
||||||
$(PKGROOT)/amalgamation/xgboost-all0.o $(PKGROOT)/amalgamation/dmlc-minimum0.o\
|
$(PKGROOT)/amalgamation/xgboost-all0.o $(PKGROOT)/amalgamation/dmlc-minimum0.o\
|
||||||
$(PKGROOT)/rabit/src/engine_empty.o $(PKGROOT)/rabit/src/c_api.o
|
$(PKGROOT)/rabit/src/engine_empty.o $(PKGROOT)/rabit/src/c_api.o
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user