From 13c8d2ba7467d0aa996d0f331334d9e563bd0d17 Mon Sep 17 00:00:00 2001 From: phunterlau Date: Sun, 13 Sep 2015 17:34:37 -0700 Subject: [PATCH] add multi-thread static link for MAC --- Makefile | 10 +++++++++- build.sh | 12 ++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index c790f6b72..dfafc61cf 100644 --- a/Makefile +++ b/Makefile @@ -21,9 +21,17 @@ endif ifeq ($(no_omp),1) CFLAGS += -DDISABLE_OPENMP else - CFLAGS += -fopenmp + #CFLAGS += -fopenmp + ifeq ($(omp_mac_static),1) + #CFLAGS += -fopenmp -Bstatic + CFLAGS += -static-libgcc -static-libstdc++ -L. -fopenmp + #LDFLAGS += -Wl,--whole-archive -lpthread -Wl --no-whole-archive + else + CFLAGS += -fopenmp + endif endif + # by default use c++11 ifeq ($(cxx11),1) CFLAGS += -std=c++11 diff --git a/build.sh b/build.sh index 3a899d6d4..3ca795c0b 100755 --- a/build.sh +++ b/build.sh @@ -6,6 +6,18 @@ # See additional instruction in doc/build.md +#for building static OpenMP lib in MAC for easier installation in MAC +#doesn't work with XCode clang/LLVM since Apple doesn't support, +#needs brew install gcc 4.9+ with OpenMP +static_omp=1 +if ((${static_omp}==1)); then + rm libgomp.a + ln -s `g++ -print-file-name=libgomp.a` + make clean + make omp_mac_static=1 + echo "Successfully build multi-thread static link xgboost" + exit 0 +fi if make; then echo "Successfully build multi-thread xgboost"