From ed36ba540a9bb5c9660faeeca1468a00c9dfbac5 Mon Sep 17 00:00:00 2001 From: Kris Kwiatkowski Date: Tue, 2 Oct 2018 10:44:47 +0100 Subject: [PATCH] sidh: updates for Makefile --- _dev/Makefile | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/_dev/Makefile b/_dev/Makefile index be78bea..8766080 100644 --- a/_dev/Makefile +++ b/_dev/Makefile @@ -8,6 +8,7 @@ BUILD_DIR ?= $(PRJ_DIR)/_dev/GOROOT # Compiler GO ?= go DOCKER ?= docker +GIT ?= git # Build environment OS ?= $(shell $(GO) env GOHOSTOS) @@ -18,6 +19,7 @@ GOROOT_ENV := $(shell $(GO) env GOROOT) GOROOT_LOCAL = $(BUILD_DIR)/$(OS_ARCH) # Flag indicates wheter invoke "go install -race std". Supported only on amd64 with CGO enabled INSTALL_RACE:= $(words $(filter $(ARCH)_$(shell go env CGO_ENABLED), amd64_1)) +TMP_DIR := $(shell mktemp -d) # Test targets used for compatibility testing TARGET_TEST_COMPAT=boring picotls tstclnt @@ -26,6 +28,11 @@ TARGET_TEST_COMPAT=boring picotls tstclnt BORINGSSL_REVISION=d451453067cd665a5c38830fbbaac9e599234a5e BOGO_DOCKER_TRIS_LOCATION=/go/src/github.com/cloudflare/tls-tris +# SIDH repository (TODO: change path) +SIDH_REPO ?= https://github.com/cloudflare/sidh.git +# NOBS repo (SIKE depends on SHA3) +NOBS_REPO ?= https://github.com/henrydcase/nobscrypto.git + ############### # # Build targets @@ -48,11 +55,22 @@ $(BUILD_DIR)/$(OS_ARCH)/.ok_$(VER_OS_ARCH): clean # Apply additional patches for p in $(wildcard $(DEV_DIR)/patches/*); do patch -d "$(GOROOT_LOCAL)" -p1 < "$$p"; done +# Vendor NOBS library + $(GIT) clone $(NOBS_REPO) $(TMP_DIR)/nobs + cd $(TMP_DIR)/nobs; make vendor-sidh-for-tls + cp -rf $(TMP_DIR)/nobs/tls_vendor/* $(GOROOT_LOCAL)/src/vendor/ + +# Vendor SIDH library + $(GIT) clone $(SIDH_REPO) $(TMP_DIR)/sidh + cd $(TMP_DIR)/sidh; make vendor + cp -rf $(TMP_DIR)/sidh/build/vendor/* $(GOROOT_LOCAL)/src/vendor/ + # Create go package GOARCH=$(ARCH) GOROOT="$(GOROOT_LOCAL)" $(GO) install -v std ifeq ($(INSTALL_RACE),1) GOARCH=$(ARCH) GOROOT="$(GOROOT_LOCAL)" $(GO) install -race -v std endif + rm -rf $(TMP_DIR) @touch "$@" build-test-%: $(BUILD_DIR)/$(OS_ARCH)/.ok_$(VER_OS_ARCH)