blob: c28f4146b4874fe5faf6dbd872a692d39816d4bb [file] [log] [blame]
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
THRIFT_VERSION = 0.9.1
THRIFT_DISTNAME = thrift-$(THRIFT_VERSION)
THRIFT_URL = https://archive.apache.org/dist/thrift/$(THRIFT_VERSION)/$(THRIFT_DISTNAME).tar.gz
THRIFT_SHA256 = ac175080c8cac567b0331e394f23ac306472c071628396db2850cb00c41b0017
# This patch is documented here: https://issues.apache.org/jira/browse/THRIFT-2386
THRIFT_PATCH_URL = https://issues.apache.org/jira/secure/attachment/12632477/yylex.patch
THRIFT_PATCH_SHA256 = 70f20b4e5b2e004b8a0d075b80a52750bce5be02ed83efdc60adbc45ec386a6c
THRIFT = ./$(THRIFT_DISTNAME)/compiler/cpp/thrift
THRIFT_CONFIGURE_FLAGS = \
--disable-dependency-tracking \
--disable-shared \
--without-c_glib \
--without-cpp \
--without-csharp \
--without-d \
--without-erlang \
--without-go \
--without-java \
--without-haskell \
--without-perl \
--without-php \
--without-php_extension \
--without-pic \
--without-python \
--without-qt4 \
--without-ruby \
--without-tests
all: $(THRIFT)
define calculate_sha256
openssl dgst -sha256 | cut -d' ' -f2
endef
$(THRIFT):
sha256=$$(curl -s --show-error $(THRIFT_URL) | tee $(THRIFT_DISTNAME).tar.gz | $(calculate_sha256)) && \
[ "$${sha256}" = "$(THRIFT_SHA256)" ] && \
tar zxvf $(THRIFT_DISTNAME).tar.gz && \
cd $(THRIFT_DISTNAME) && \
sha256=$$(curl -s --show-error $(THRIFT_PATCH_URL) | tee thrift.patch | $(calculate_sha256)) && \
[ "$${sha256}" = "$(THRIFT_PATCH_SHA256)" ] && \
patch -p1 < thrift.patch && \
./configure $(THRIFT_CONFIGURE_FLAGS) && \
make -j4
clean:
rm -fr $(THRIFT_DISTNAME)*