################################################################################ # # thrift # ################################################################################ THRIFT_VERSION = 0.9.2 THRIFT_SITE = http://www.us.apache.org/dist/thrift/$(THRIFT_VERSION) THRIFT_DEPENDENCIES = host-autoconf-archive host-pkgconf host-thrift boost \ libevent openssl zlib THRIFT_INSTALL_STAGING = YES HOST_THRIFT_DEPENDENCIES = host-autoconf-archive host-bison host-boost \ host-flex host-libevent host-openssl host-pkgconf host-zlib THRIFT_CONF_OPTS = --with-sysroot=$(STAGING_DIR) \ --with-boost \ --with-boost-libdir=$(STAGING_DIR)/usr/lib \ --disable-tests \ --disable-tutorial HOST_THRIFT_CONF_OPTS = --with-sysroot=$(HOST_DIR) \ --disable-tests \ --disable-tutorial THRIFT_AUTORECONF = YES THRIFT_AUTORECONF_OPTS = -I $(HOST_DIR)/usr/share/autoconf-archive THRIFT_LICENSE = Apache-2.0 THRIFT_LICENSE_FILES = LICENSE # relocation truncated to fit: R_68K_GOT16O ifeq ($(BR2_m68k_cf),y) THRIFT_CONF_ENV += CXXFLAGS="$(TARGET_CXXFLAGS) -mxgot" endif ifeq ($(BR2_STATIC_LIBS),y) # openssl uses zlib, so we need to explicitly link with it when static THRIFT_CONF_ENV += LIBS=-lz endif # Language selection # The generator (host tool) works with all of them regardless # This is just for the libraries / bindings THRIFT_LANG_CONF_OPTS += --without-csharp --without-java --without-erlang \ --without-python --without-perl --without-php --without-php_extension \ --without-ruby --without-haskell --without-go --without-d \ --without-qt4 --without-lua HOST_THRIFT_CONF_OPTS += $(THRIFT_LANG_CONF_OPTS) --without-c_glib THRIFT_CONF_OPTS += $(THRIFT_LANG_CONF_OPTS) # C bindings ifeq ($(BR2_PACKAGE_LIBGLIB2),y) THRIFT_DEPENDENCIES += libglib2 else THRIFT_CONF_OPTS += --without-c_glib endif # De-hardcode THRIFT for cross compiling define THRIFT_TOOL_NO_HARDCODE for f in `find $(@D) -name Makefile.am -type f`; do \ $(SED) "/^THRIFT =/d" $$f; \ done $(SED) "s:top_builddir)/compiler/cpp/thrift:THRIFT):" $(@D)/tutorial/Makefile.am endef THRIFT_POST_PATCH_HOOKS += THRIFT_TOOL_NO_HARDCODE define THRIFT_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) THRIFT=$(HOST_DIR)/usr/bin/thrift -C $(@D) endef # Install runtime only define THRIFT_INSTALL_TARGET_CMDS $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/lib DESTDIR=$(TARGET_DIR) install endef $(eval $(autotools-package)) $(eval $(host-autotools-package)) # to be used by other packages THRIFT = $(HOST_DIR)/usr/bin/thrift