################################################################################
#
# protobuf
#
################################################################################

PROTOBUF_VERSION = $(call qstrip,$(BR2_PACKAGE_PROTOBUF_VERSION_VALUE))
PROTOBUF_MAJOR_VERSION = $(firstword $(subst ., ,$(PROTOBUF_VERSION)))
PROTOBUF_SITE = https://github.com/google/protobuf/releases/download/v$(PROTOBUF_VERSION)

ifeq ($(PROTOBUF_MAJOR_VERSION),2)
PROTOBUF_SOURCE = protobuf-$(PROTOBUF_VERSION).tar.gz
else
PROTOBUF_SOURCE = protobuf-cpp-$(PROTOBUF_VERSION).tar.gz
endif
PROTOBUF_LICENSE = BSD-3c
PROTOBUF_LICENSE_FILES = COPYING.txt

# N.B. Need to use host protoc during cross compilation.
PROTOBUF_DEPENDENCIES = host-protobuf
HOST_PROTOBUF_DEPENDENCIES = host-automake
PROTOBUF_CONF_OPT = --with-protoc=$(HOST_DIR)/usr/bin/protoc --enable-static --with-pic
ifeq ($(ARCH), arc)
PROTOBUF_CONF_OPT += LDFLAGS=-latomic
endif


PROTOBUF_INSTALL_STAGING = YES

ifeq ($(BR2_PACKAGE_ZLIB),y)
PROTOBUF_DEPENDENCIES += zlib
endif

define PROTOBUF_REMOVE_PROTOC
	rm -f $(TARGET_DIR)/usr/bin/protoc
endef
PROTOBUF_POST_INSTALL_TARGET_HOOKS += PROTOBUF_REMOVE_PROTOC

define PROTOBUF_REMOVE_EXTRA_STUFF
	rm -f $(TARGET_DIR)/usr/lib/libprotobuf.a
	rm -f $(TARGET_DIR)/usr/lib/libprotoc.a
	rm -f $(TARGET_DIR)/usr/lib/libprotobuf.so*
	rm -f $(TARGET_DIR)/usr/lib/libprotoc.so*
endef
ifeq ($(BR2_PACKAGE_PROTOBUF_ONLY_LITE),y)
PROTOBUF_POST_INSTALL_TARGET_HOOKS += PROTOBUF_REMOVE_EXTRA_STUFF
endif

ifeq ($(PROTOBUF_MAJOR_VERSION),2)
PROTOBUF_PRE_CONFIGURE_HOOKS += PROTOBUF_EXTRACT_GTEST
HOST_PROTOBUF_PRE_CONFIGURE_HOOKS += PROTOBUF_EXTRACT_GTEST
endif

PROTOBUF_PRE_CONFIGURE_HOOKS += PROTOBUF_AUTOGEN
HOST_PROTOBUF_PRE_CONFIGURE_HOOKS += PROTOBUF_AUTOGEN

define PROTOBUF_EXTRACT_GTEST
	mkdir -p $(@D)/gtest && \
	tar xf $(BR2_DL_DIR)/gtest-1.5.0.tar.gz -C $(@D)/gtest --strip-components=1
endef

define PROTOBUF_AUTOGEN
	cd $(@D) && \
	$(TARGET_MAKE_ENV) ./autogen.sh
endef

$(eval $(call AUTOTARGETS))
$(eval $(call AUTOTARGETS,host))
