xref: /OK3568_Linux_fs/buildroot/package/thrift/thrift.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# thrift
4#
5################################################################################
6
7THRIFT_VERSION = 0.14.1
8THRIFT_SITE = http://www.us.apache.org/dist/thrift/$(THRIFT_VERSION)
9THRIFT_LICENSE = Apache-2.0
10THRIFT_LICENSE_FILES = LICENSE
11THRIFT_CPE_ID_VENDOR = apache
12
13THRIFT_DEPENDENCIES = host-pkgconf host-thrift boost \
14	libevent openssl zlib
15THRIFT_INSTALL_STAGING = YES
16HOST_THRIFT_DEPENDENCIES = host-bison host-boost \
17	host-flex host-libevent host-openssl host-pkgconf host-zlib
18
19THRIFT_COMMON_CONF_OPTS = -DBUILD_TUTORIALS=OFF \
20	-DBUILD_TESTING=OFF \
21	-DWITH_NODEJS=OFF \
22	-DWITH_PYTHON=OFF \
23	-DWITH_JAVA=OFF \
24	-DWITH_JAVASCRIPT=OFF \
25	-DWITH_QT5=OFF
26
27THRIFT_CONF_OPTS = $(THRIFT_COMMON_CONF_OPTS) -DBUILD_COMPILER=OFF
28HOST_THRIFT_CONF_OPTS = $(THRIFT_COMMON_CONF_OPTS) -DBUILD_COMPILER=ON
29
30# relocation truncated to fit: R_68K_GOT16O
31ifeq ($(BR2_m68k_cf),y)
32THRIFT_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mxgot"
33endif
34
35# thrift doesn't use the regular flags BUILD_{STATIC,SHARED}_LIBS
36ifeq ($(BR2_STATIC_LIBS),y)
37THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=ON -DWITH_BOOST_STATIC=ON -DWITH_SHARED_LIB=OFF
38else ifeq ($(BR2_SHARED_LIBS),y)
39THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=OFF -DWITH_BOOST_STATIC=OFF -DWITH_SHARED_LIB=ON
40else
41# BR2_SHARED_STATIC_LIBS
42THRIFT_CONF_OPTS += -DWITH_STATIC_LIB=ON -DWITH_BOOST_STATIC=OFF -DWITH_SHARED_LIB=ON
43endif
44
45# Language selection for the compiler
46HOST_THRIFT_CONF_OPTS += -DTHRIFT_COMPILER_CSHARP=OFF \
47	-DTHRIFT_COMPILER_JAVA=OFF \
48	-DTHRIFT_COMPILER_ERL=OFF \
49	-DTHRIFT_COMPILER_PY=OFF \
50	-DTHRIFT_COMPILER_PERL=OFF \
51	-DTHRIFT_COMPILER_PHP=OFF \
52	-DTHRIFT_COMPILER_RB=OFF \
53	-DTHRIFT_COMPILER_HS=OFF \
54	-DTHRIFT_COMPILER_GO=OFF \
55	-DTHRIFT_COMPILER_D=OFF \
56	-DTHRIFT_COMPILER_LUA=OFF \
57	-DBUILD_C_GLIB=OFF
58
59# C bindings
60ifeq ($(BR2_PACKAGE_LIBGLIB2),y)
61THRIFT_DEPENDENCIES += libglib2
62THRIFT_CONF_OPTS += -DBUILD_C_GLIB=ON
63else
64THRIFT_CONF_OPTS += -DBUILD_C_GLIB=OFF
65endif
66
67$(eval $(cmake-package))
68$(eval $(host-cmake-package))
69
70# to be used by other packages
71THRIFT = $(HOST_DIR)/bin/thrift
72