@@ -13,10 +13,10 @@ HYBRIDBACKEND_WITH_ARROW ?= ON
1313HYBRIDBACKEND_WITH_ARROW_ZEROCOPY ?= ON
1414HYBRIDBACKEND_WITH_ARROW_HDFS ?= ON
1515HYBRIDBACKEND_WITH_ARROW_S3 ?= ON
16- HYBRIDBACKEND_WITH_SPARSEHASH ?= ON
1716HYBRIDBACKEND_WITH_TENSORFLOW ?= ON
1817HYBRIDBACKEND_WITH_TENSORFLOW_ESTIMATOR ?= ON
1918HYBRIDBACKEND_WITH_TENSORFLOW_HALF ?= ON
19+ HYBRIDBACKEND_WITH_TENSORFLOW_DISTRO ?= 1015
2020HYBRIDBACKEND_WITH_BUILDINFO ?= ON
2121HYBRIDBACKEND_USE_CXX11_ABI ?= 0
2222HYBRIDBACKEND_DEBUG ?= OFF
@@ -55,15 +55,15 @@ endif
5555
5656ifeq ($(OS ) ,Darwin)
5757OSX_TARGET ?= $(shell sw_vers -productVersion)
58- PYTHON_HOME ?= /usr/local
58+ PYTHON_INCLUDE ?= /usr/local/include
59+ PYTHON_LIB ?= /usr/local/lib
5960PYTHON_IMPL ?=
6061PYTHON_IMPL_FLAG ?=
6162CFLAGS := $(CFLAGS ) \
62- -isystem $(PYTHON_HOME ) /include /$(PYTHON_IMPL )$(PYTHON_IMPL_FLAG ) \
63+ -isystem $(PYTHON_INCLUDE ) /$(PYTHON_IMPL )$(PYTHON_IMPL_FLAG ) \
6364 -mmacosx-version-min=$(OSX_TARGET )
6465
65- LDFLAGS := $(LDFLAGS ) \
66- -L$(PYTHON_HOME ) /lib -l$(PYTHON_IMPL )
66+ LDFLAGS := $(LDFLAGS ) -L$(PYTHON_LIB ) -l$(PYTHON_IMPL )
6767endif
6868
6969ifeq ($(HYBRIDBACKEND_WITH_BUILDINFO ) ,ON)
@@ -89,13 +89,13 @@ endif
8989
9090ifeq ($(HYBRIDBACKEND_WITH_CUDA ) ,ON)
9191NVCC ?= nvcc
92- CUDA_HOME ?= /usr/local
92+ CUDA_INCLUDE ?= /usr/local/cuda/include
93+ CUDA_LIB ?= /usr/local/cuda/lib64
9394HYBRIDBACKEND_CUDA_GENCODE := $(shell \
9495 echo "$(HYBRIDBACKEND_WITH_CUDA_GENCODE ) " | tr ' ' ',' \
9596 2>/dev/null)
9697CFLAGS := $(CFLAGS ) \
97- -isystem $(CUDA_HOME ) \
98- -isystem $(CUDA_HOME ) /cuda/include \
98+ -isystem $(CUDA_INCLUDE ) \
9999 -DHYBRIDBACKEND_CUDA=1 \
100100 -DHYBRIDBACKEND_CUDA_GENCODE="\"$(HYBRIDBACKEND_CUDA_GENCODE ) \""
101101NVCC_CFLAGS := --std=c++11 \
@@ -106,20 +106,20 @@ NVCC_CFLAGS := --std=c++11 \
106106 $(foreach cc, $(HYBRIDBACKEND_WITH_CUDA_GENCODE ) ,\
107107 -gencode arch=compute_$(cc ) ,code=sm_$(cc ) )
108108LDFLAGS := $(LDFLAGS ) \
109- -L$(CUDA_HOME ) /cuda/lib64 \
109+ -L$(CUDA_LIB ) \
110110 -lcudart
111111ifeq ($(HYBRIDBACKEND_WITH_NVTX ) ,ON)
112112CFLAGS := $(CFLAGS ) -DHYBRIDBACKEND_NVTX=1
113113LDFLAGS := $(LDFLAGS ) -lnvToolsExt
114114endif
115115ifeq ($(HYBRIDBACKEND_WITH_NCCL ) ,ON)
116- NCCL_HOME ?= /usr/local
116+ NCCL_INCLUDE ?= /usr/local/nccl/include
117+ NCCL_LIB ?= /usr/local/nccl/lib
117118CFLAGS := $(CFLAGS ) \
118119 -DHYBRIDBACKEND_NCCL=1 \
119- -isystem $(NCCL_HOME ) /include
120+ -isystem $(NCCL_INCLUDE )
120121LDFLAGS := $(LDFLAGS ) \
121- -L$(NCCL_HOME ) /lib64 \
122- -L$(NCCL_HOME ) /lib \
122+ -L$(NCCL_LIB ) \
123123 -lnccl
124124endif
125125endif
@@ -138,20 +138,22 @@ D_FILES := $(shell \
138138endif
139139
140140THIRDPARTY_DEPS :=
141- SSL_HOME ?= /usr/local
141+ SSL_LIB ?= /usr/lib/x86_64-linux-gnu
142+
142143COMMON_LDFLAGS := $(COMMON_LDFLAGS ) \
143144 -Bsymbolic \
144- -L$(SSL_HOME ) /lib \
145+ -L$(SSL_LIB ) \
145146 -lssl \
146147 -lcrypto \
147148 -lcurl
148149ifeq ($(HYBRIDBACKEND_WITH_ARROW ) ,ON)
149- ARROW_HOME ?= build/arrow/dist
150- ARROW_API_H := $(ARROW_HOME ) /include/arrow/api.h
150+ ARROW_INCLUDE ?= build/arrow/dist/include
151+ ARROW_LIB ?= build/arrow/dist/lib
152+ ARROW_API_H := $(ARROW_INCLUDE ) /arrow/api.h
151153THIRDPARTY_DEPS := $(THIRDPARTY_DEPS ) $(ARROW_API_H )
152154CFLAGS := $(CFLAGS ) \
153155 -DHYBRIDBACKEND_ARROW=1 \
154- -isystem $(ARROW_HOME ) /include
156+ -isystem $(ARROW_INCLUDE )
155157ifeq ($(HYBRIDBACKEND_WITH_ARROW_ZEROCOPY ) ,ON)
156158CFLAGS := $(CFLAGS ) -DHYBRIDBACKEND_ARROW_ZEROCOPY=1
157159endif
@@ -164,7 +166,7 @@ endif
164166ifeq ($(OS ) ,Darwin)
165167COMMON_LDFLAGS := \
166168 $(COMMON_LDFLAGS ) \
167- -L$(ARROW_HOME ) /lib \
169+ -L$(ARROW_LIB ) \
168170 -larrow \
169171 -larrow_dataset \
170172 -larrow_bundled_dependencies \
@@ -173,54 +175,43 @@ else
173175COMMON_LDFLAGS := \
174176 $(COMMON_LDFLAGS ) \
175177 -Wl,--whole-archive \
176- -L$(ARROW_HOME ) /lib \
178+ -L$(ARROW_LIB ) \
177179 -larrow \
178180 -larrow_dataset \
179181 -larrow_bundled_dependencies \
180182 -lparquet \
181183 -Wl,--no-whole-archive
182184endif
183- LZ4_HOME ?=
184- ifneq ($(strip $(LZ4_HOME ) ) ,)
185- COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(LZ4_HOME ) /lib -llz4
185+ RE2_LIB ?=
186+ ifneq ($(strip $(RE2_LIB ) ) ,)
187+ COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(RE2_LIB ) -lre2
186188endif
187- RE2_HOME ?=
188- ifneq ($(strip $(RE2_HOME ) ) ,)
189- COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(RE2_HOME ) /lib -lre2
189+ THRIFT_LIB ?=
190+ ifneq ($(strip $(THRIFT_LIB ) ) ,)
191+ COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(THRIFT_LIB ) -lthrift
190192endif
191- THRIFT_HOME ?=
192- ifneq ($(strip $(THRIFT_HOME ) ) ,)
193- COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(THRIFT_HOME ) /lib -lthrift
193+ UTF8PROC_LIB ?=
194+ ifneq ($(strip $(UTF8PROC_LIB ) ) ,)
195+ COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(UTF8PROC_LIB ) -lutf8proc
194196endif
195- UTF8PROC_HOME ?=
196- ifneq ($(strip $(UTF8PROC_HOME ) ) ,)
197- COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(UTF8PROC_HOME ) /lib -lutf8proc
197+ LZ4_LIB ?=
198+ ifneq ($(strip $(LZ4_LIB ) ) ,)
199+ COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(LZ4_LIB ) -llz4
198200endif
199- SNAPPY_HOME ?=
200- ifneq ($(strip $(SNAPPY_HOME ) ) ,)
201- COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(SNAPPY_HOME ) /lib -lsnappy
201+ SNAPPY_LIB ?=
202+ ifneq ($(strip $(SNAPPY_LIB ) ) ,)
203+ COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(SNAPPY_LIB ) -lsnappy
202204endif
203- ZSTD_HOME ?=
204- ifneq ($(strip $(ZSTD_HOME ) ) ,)
205- COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(ZSTD_HOME ) /lib -lzstd
205+ ZSTD_LIB ?=
206+ ifneq ($(strip $(ZSTD_LIB ) ) ,)
207+ COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(ZSTD_LIB ) -lzstd
206208endif
207- ZLIB_HOME ?=
208- ifneq ($(strip $(ZLIB_HOME ) ) ,)
209- COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(ZLIB_HOME ) /lib -lz
209+ ZLIB_LIB ?=
210+ ifneq ($(strip $(ZLIB_LIB ) ) ,)
211+ COMMON_LDFLAGS := $(COMMON_LDFLAGS ) -L$(ZLIB_LIB ) -lz
210212endif
211213endif
212214
213- ifeq ($(HYBRIDBACKEND_WITH_SPARSEHASH ) ,ON)
214- SPARSEHASH_HOME ?= build/sparsehash/dist
215- SPARSEHASH_DENSE_HASH_MAP := $(SPARSEHASH_HOME ) /include/sparsehash/dense_hash_map
216- THIRDPARTY_DEPS := $(THIRDPARTY_DEPS ) $(SPARSEHASH_DENSE_HASH_MAP )
217- CFLAGS := $(CFLAGS ) \
218- -DHYBRIDBACKEND_SPARSEHASH=1 \
219- -isystem ${SPARSEHASH_HOME}/include
220- LDFLAGS := $(LDFLAGS ) \
221- -lpthread
222- endif
223-
224215COMMON_LIB := $(LIBNAME ) /lib$(LIBNAME ) .so
225216-include $(LIBNAME ) /common/Makefile
226217CORE_DEPS := $(COMMON_LIB )
@@ -233,11 +224,13 @@ CFLAGS := $(CFLAGS) -DHYBRIDBACKEND_TENSORFLOW=1
233224ifeq ($(HYBRIDBACKEND_WITH_TENSORFLOW_HALF ) ,ON)
234225CFLAGS := $(CFLAGS ) -DHYBRIDBACKEND_TENSORFLOW_HALF=1
235226endif
236- TENSORFLOW_HOME ?=
237- ifneq ($(strip $(TENSORFLOW_HOME ) ) ,)
227+ CFLAGS := $(CFLAGS ) -DHYBRIDBACKEND_TENSORFLOW_DISTRO=$(HYBRIDBACKEND_WITH_TENSORFLOW_DISTRO )
228+
229+ TENSORFLOW_INCLUDE ?=
230+ ifneq ($(strip $(TENSORFLOW_INCLUDE ) ) ,)
238231CFLAGS := $(CFLAGS ) \
239232 -DHYBRIDBACKEND_TENSORFLOW_INTERNAL=1 \
240- -isystem $(TENSORFLOW_HOME )
233+ -isystem $(TENSORFLOW_INCLUDE )
241234endif
242235endif
243236
0 commit comments