Compile w/static linkages for parquet

Fixes #4. A stock Ubuntu 14.04 can now install sqlite3:amd64 and
libboost-all-dev, then use this module to read the test parquet file.
This commit is contained in:
Colin Dellow 2018-03-20 19:06:39 -04:00
parent 8bf890ab66
commit 5480de7fb6
1 changed files with 13 additions and 3 deletions

View File

@ -1,14 +1,24 @@
PARQUET_CPP=~/src/parquet-cpp
CC = g++
# odd, no -lz -ldl -lpthread needed?
CFLAGS = -I ../sqlite -O3 -std=c++11 -Wall -fPIC -g
PARQUET_LIB = $(PARQUET_CPP)/build/release/libparquet.a
THRIFT_LIB = $(PARQUET_CPP)/thrift_ep/src/thrift_ep-install/lib/libthrift.a
ARROW_LIB = /usr/local/lib/libarrow.so
LZ4_LIB = /tmp/parquet-deps/lz4/lib/liblz4.a
ARROW_LIB = $(PARQUET_CPP)/arrow_ep-prefix/src/arrow_ep-build/release/libarrow.a
SNAPPY_LIB = /tmp/parquet-deps/snappy/build/libsnappy.a
ZSTD_LIB = /tmp/parquet-deps/zstd/lib/libzstd.a
BOOST_LIB = /usr/lib/x86_64-linux-gnu/libboost_regex.so
BOOST_SYSTEM_LIB = /usr/lib/x86_64-linux-gnu/libboost_system.so
BOOST_FILESYSTEM_LIB = /usr/lib/x86_64-linux-gnu/libboost_filesystem.so
BROTLI_COMMON_LIB = /tmp/parquet-deps/brotli/out/libbrotlicommon-static.a
BROTLI_ENC_LIB = /tmp/parquet-deps/brotli/out/libbrotlienc-static.a
BROTLI_DEC_LIB = /tmp/parquet-deps/brotli/out/libbrotlidec-static.a
LDFLAGS = -O3 $(PARQUET_LIB) $(THRIFT_LIB) $(ARROW_LIB) $(BOOST_LIB)
LDFLAGS = -O3 \
-Wl,--whole-archive $(PARQUET_LIB) $(LZ4_LIB) $(ZSTD_LIB) $(THRIFT_LIB) $(SNAPPY_LIB) $(ARROW_LIB) \
$(BROTLI_ENC_LIB) $(BROTLI_COMMON_LIB) $(BROTLI_DEC_LIB) \
-Wl,--no-whole-archive -lz -lcrypto -lssl $(BOOST_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_FILESYSTEM_LIB)
OBJ = parquet.o parquet_filter.o parquet_table.o parquet_cursor.o
libparquet.so: $(OBJ)