ENH more makefile updates (#2133)
This commit proposes a simpler single compiler specification for OSX and *nix. It also let's people override the setting on both systems, not just *nix.
This commit is contained in:
parent
cc012dac68
commit
a4bae1bdcd
28
Makefile
28
Makefile
@ -31,20 +31,24 @@ include $(DMLC_CORE)/make/dmlc.mk
|
|||||||
# include the plugins
|
# include the plugins
|
||||||
include $(XGB_PLUGINS)
|
include $(XGB_PLUGINS)
|
||||||
|
|
||||||
# use customized config file
|
# set compiler defaults for OSX versus *nix
|
||||||
ifndef CC
|
# let people override either
|
||||||
export CC = $(if $(shell which gcc-6),gcc-6,gcc)
|
|
||||||
endif
|
|
||||||
ifndef CXX
|
|
||||||
export CXX = $(if $(shell which g++-6),g++-6,g++)
|
|
||||||
endif
|
|
||||||
|
|
||||||
# on Mac OS X, force brew gcc-6, since the Xcode c++ fails anyway
|
|
||||||
# it is useful for pip install compiling-on-the-fly
|
|
||||||
OS := $(shell uname)
|
OS := $(shell uname)
|
||||||
ifeq ($(OS), Darwin)
|
ifeq ($(OS), Darwin)
|
||||||
export CC = $(if $(shell which gcc-6),gcc-6,$(if $(shell which gcc-mp-6), gcc-mp-6, $(if $(shell which gcc), gcc, clang)))
|
ifndef CC
|
||||||
export CXX = $(if $(shell which g++-6),g++-6,$(if $(shell which g++-mp-6),g++-mp-6, $(if $(shell which g++), g++, clang++)))
|
export CC = $(if $(shell which clang), clang, gcc)
|
||||||
|
endif
|
||||||
|
ifndef CXX
|
||||||
|
export CXX = $(if $(shell which clang++), clang++, g++)
|
||||||
|
endif
|
||||||
|
else
|
||||||
|
# linux defaults
|
||||||
|
ifndef CC
|
||||||
|
export CC = gcc
|
||||||
|
endif
|
||||||
|
ifndef CXX
|
||||||
|
export CXX = g++
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
export LDFLAGS= -pthread -lm $(ADD_LDFLAGS) $(DMLC_LDFLAGS) $(PLUGIN_LDFLAGS)
|
export LDFLAGS= -pthread -lm $(ADD_LDFLAGS) $(DMLC_LDFLAGS) $(PLUGIN_LDFLAGS)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user