PKG_NAME := ruy
PKG_VER  := d37128311b445e758136b8602d1bbd2a755e115d

PKG_SOURCES := https://github.com/google/$(PKG_NAME)/archive/$(PKG_VER).zip
PKG_MD5 := abf7a91eb90d195f016ebe0be885bb6e

GOOGLETEST_SRC_DIR := $(EXTERNAL_BUILD_DIR)/third_party/googletest/install/src
CPUINFO_SRC_DIR    := $(EXTERNAL_BUILD_DIR)/third_party/lib/pytorch/cpuinfo/install/src

#CMAKE_HAVE_THREADS_LIBRARY

RUY_CMAKE_FLAGS = \
		-DCMAKE_INSTALL_PREFIX=$(PKG_INSTALL_DIR) \
		-DBUILD_SHARED_LIBS=OFF \
		-DBUILD_TESTS=OFF \
		-DCMAKE_C_COMPILER_FORCED=on \
		-DCMAKE_CXX_COMPILER_FORCED=on \
		-DCMAKE_C_COMPILER_WORKS=true \
		-DCMAKE_TRY_COMPILE_TARGET_TYPE=STATIC_LIBRARY \
		-DCMAKE_HAVE_THREADS_LIBRARY=1 \
		-DCMAKE_SYSTEM_PROCESSOR:STRING=$(AUTOCONF_TARGET_TRIPLET) \
		-DCMAKE_C_COMPILER:PATH=$(EMBOX_GCC) \
		-DCMAKE_CXX_COMPILER:PATH=$(EMBOX_GXX) \
		-DCMAKE_AR:STRING=$(EMBOX_CROSS_COMPILE)ar \
		-DCMAKE_SYSTEM_NAME:STRING=Generic \
		-DCMAKE_BUILD_TYPE:STRING=None \
		-DCMAKE_VERBOSE_MAKEFILE:BOOL=on \
		-DCPUINFO_BUILD_BENCHMARKS=off \
		-DCPUINFO_BUILD_UNIT_TESTS=off \
		-DCPUINFO_BUILD_MOCK_TESTS=off \
		-DRUY_MINIMAL_BUILD=on \

		# -DCMAKE_CXX_FLAGS:STRING="$(CXX_FLAGS)"

RUY_BUILD_DIR := $(MOD_BUILD_DIR)/build

$(CONFIGURE) :
	cp -r $(GOOGLETEST_SRC_DIR)/* $(PKG_SOURCE_DIR)/third_party/googletest/ ;
	cp -r $(CPUINFO_SRC_DIR)/* $(PKG_SOURCE_DIR)/third_party/cpuinfo/ ;
	$(MKDIR) $(RUY_BUILD_DIR);
	export EMBOX_GCC_LINK=full; \
	cd $(RUY_BUILD_DIR) && ( \
		cmake $(RUY_CMAKE_FLAGS) $(PKG_SOURCE_DIR); \
	)
	touch $@

$(BUILD) :
	cd $(RUY_BUILD_DIR) && ( \
		$(MAKE) MAKEFLAGS='$(EMBOX_IMPORTED_MAKEFLAGS)'; \
	)
	touch $@

$(INSTALL) :
	$(MKDIR) $(PKG_INSTALL_DIR)/include/ruy ;
	$(MKDIR) $(PKG_INSTALL_DIR)/include/ruy/profiler ;
	cp -r $(PKG_SOURCE_DIR)/ruy/*.h $(PKG_INSTALL_DIR)/include/ruy/ ;
	cp -r $(PKG_SOURCE_DIR)/ruy/profiler/*.h $(PKG_INSTALL_DIR)/include/ruy/profiler ;
	cd $(RUY_BUILD_DIR) && ( \
		$(MAKE) install; \
	)
	touch $@
