From 9c63d775fa0f1741c520498a89be0d5d4b4395aa Mon Sep 17 00:00:00 2001 From: wildart Date: Tue, 24 May 2016 00:42:41 -0400 Subject: [PATCH 01/31] added libhttp_parser build script --- deps/http_parser.mk | 29 +++++++++++++++++++++++++++++ deps/http_parser.version | 2 ++ 2 files changed, 31 insertions(+) create mode 100644 deps/http_parser.mk create mode 100644 deps/http_parser.version diff --git a/deps/http_parser.mk b/deps/http_parser.mk new file mode 100644 index 0000000000000..471aca192e6a4 --- /dev/null +++ b/deps/http_parser.mk @@ -0,0 +1,29 @@ +## http_parser + +HTTPPARSER_GIT_URL := git://github.com/nodejs/http-parser.git +HTTPPARSER_TAR_URL = https://api.github.com/repos/nodejs/http-parser/tarball/$1 +$(eval $(call git-external,http_parser,HTTPPARSER,Makefile,libhttpparser.$(SHLIB_EXT),$(BUILDDIR))) + +HTTPPARSER_OBJ_TARGET := $(build_shlibdir)/libhttp_parser.$(SHLIB_EXT) +HTTPPARSER_OBJ_SOURCE := $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/libhttp_parser.$(SHLIB_EXT) + +$(HTTPPARSER_OBJ_SOURCE): $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile + $(MAKE) -C $(dir $<) library $(MAKE_COMMON) + touch -c $@ +$(HTTPPARSER_OBJ_TARGET): $(HTTPPARSER_OBJ_SOURCE) + $(call make-install,$(HTTPPARSER_SRC_DIR), library PREFIX=$(build_staging)/$(HTTPPARSER_SRC_DIR)$(build_prefix)) + touch -c $(HTTPPARSER_OBJ_TARGET) + +clean-http_parser: + -rm -rf $(BUILDDIR)/$(HTTPPARSER_SRC_DIR) + -rm -f $(HTTPPARSER_OBJ_TARGET) +distclean-http_parser: + -rm -rf $(SRCDIR)/srccache/http_parser-$(HTTPPARSER_SHA1).tar.gz \ + $(SRCDIR)/srccache/http_parser-$(HTTPPARSER_SHA1) \ + $(BUILDDIR)/http_parser-$(HTTPPARSER_SHA1) + +get-http_parser: $(HTTPPARSER_SRC_FILE) +configure-http_parser: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile +compile-http_parser: $(HTTPPARSER_OBJ_SOURCE) +check-http_parser: compile-http_parser +install-http_parser: $(HTTPPARSER_OBJ_TARGET) diff --git a/deps/http_parser.version b/deps/http_parser.version new file mode 100644 index 0000000000000..517e8e6652d3d --- /dev/null +++ b/deps/http_parser.version @@ -0,0 +1,2 @@ +HTTPPARSER_BRANCH=master +HTTPPARSER_SHA1=9b0d5b33ebdaacff1dadd06bad4e198b11ff880e From 5d0de3edb9917f0a68d1c323c845620f2fe769b7 Mon Sep 17 00:00:00 2001 From: wildart Date: Tue, 24 May 2016 00:43:14 -0400 Subject: [PATCH 02/31] added libmbedtls build script --- deps/mbedtls.mk | 50 ++++++++++++++++++++++++++++++++++++++++++++ deps/mbedtls.version | 2 ++ 2 files changed, 52 insertions(+) create mode 100644 deps/mbedtls.mk create mode 100644 deps/mbedtls.version diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk new file mode 100644 index 0000000000000..9ad06a50bd8f3 --- /dev/null +++ b/deps/mbedtls.mk @@ -0,0 +1,50 @@ +## mbedtls + +MBEDTLS_GIT_URL := git://github.com/ARMmbed/mbedtls.git +MBEDTLS_TAR_URL = https://api.github.com/repos/ARMmbed/mbedtls/tarball/$1 +$(eval $(call git-external,mbedtls,MBEDTLS,CMakeLists.txt,build/libmbedtls.$(SHLIB_EXT),$(SRCDIR)/srccache)) + +MBEDTLS_OBJ_SOURCE := $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedtls.$(SHLIB_EXT) $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedx509.$(SHLIB_EXT) $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedcrypto.$(SHLIB_EXT) +MBEDTLS_OBJ_TARGET := $(build_shlibdir)/libmbedtls.$(SHLIB_EXT) $(build_shlibdir)/libmbedx509.$(SHLIB_EXT) $(build_shlibdir)/libmbedcrypto.$(SHLIB_EXT) + +#-DCMAKE_PREFIX_PATH=$(build_prefix) +MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DENABLE_PROGRAMS=OFF -DENABLE_ZLIB_SUPPORT=ON -DENABLE_TESTING=OFF +ifeq ($(OS),WINNT) +MBEDTLS_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo +else +MBEDTLS_OPTS += -DCMAKE_BUILD_TYPE=Release +endif + +$(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR)/CMakeLists.txt + mkdir -p $(dir $@) + cd $(dir $@) && \ + $(CMAKE) $(dir $<) $(MBEDTLS_OPTS) + touch -c $@ + +$(MBEDTLS_OBJ_SOURCE): $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile + $(MAKE) -C $(dir $<) + touch -c $@ + +$(BUILDDIR)/$(MBEDTLS_SRC_DIR)/checked: $(MBEDTLS_OBJ_SOURCE) +ifeq ($(OS),$(BUILD_OS)) + $(MAKE) -C $(dir $@) test +endif + echo 1 > $@ + +$(MBEDTLS_OBJ_TARGET): $(MBEDTLS_OBJ_SOURCE) | $(build_shlibdir) + $(call make-install,$(MBEDTLS_SRC_DIR),) + touch -c $(MBEDTLS_OBJ_TARGET) + +clean-mbedtls: + -rm -rf $(BUILDDIR)/$(MBEDTLS_SRC_DIR) + -rm -f $(MBEDTLS_OBJ_TARGET) +distclean-mbedtls: + -rm -rf $(SRCDIR)/srccache/mbedtls-$(MBEDTLS_SHA1).tar.gz \ + $(SRCDIR)/srccache/mbedtls-$(MBEDTLS_SHA1) \ + $(BUILDDIR)/mbedtls-$(MBEDTLS_SHA1) + +get-mbedtls: $(MBEDTLS_SRC_FILE) +configure-mbedtls: $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile +compile-mbedtls: $(MBEDTLS_OBJ_SOURCE) +check-mbedtls: $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/checked +install-mbedtls: $(MBEDTLS_OBJ_TARGET) \ No newline at end of file diff --git a/deps/mbedtls.version b/deps/mbedtls.version new file mode 100644 index 0000000000000..1711c52d58b17 --- /dev/null +++ b/deps/mbedtls.version @@ -0,0 +1,2 @@ +MBEDTLS_BRANCH=master +MBEDTLS_SHA1=bfafadb45daf8d2114e3109e2f9021fc72ee36bb \ No newline at end of file From a3b10eaa6eacb3c2bf9f8cd1c6af2e70fb75d119 Mon Sep 17 00:00:00 2001 From: wildart Date: Tue, 24 May 2016 01:03:41 -0400 Subject: [PATCH 03/31] added patch for libssh2 backend --- deps/mbedtls.mk | 5 +---- deps/mbedtls.patch | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 deps/mbedtls.patch diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk index 9ad06a50bd8f3..6371073075e2f 100644 --- a/deps/mbedtls.mk +++ b/deps/mbedtls.mk @@ -16,6 +16,7 @@ MBEDTLS_OPTS += -DCMAKE_BUILD_TYPE=Release endif $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR)/CMakeLists.txt + -cd $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR) && patch -p0 -f < $(SRCDIR)/mbedtls.patch mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(MBEDTLS_OPTS) @@ -38,10 +39,6 @@ $(MBEDTLS_OBJ_TARGET): $(MBEDTLS_OBJ_SOURCE) | $(build_shlibdir) clean-mbedtls: -rm -rf $(BUILDDIR)/$(MBEDTLS_SRC_DIR) -rm -f $(MBEDTLS_OBJ_TARGET) -distclean-mbedtls: - -rm -rf $(SRCDIR)/srccache/mbedtls-$(MBEDTLS_SHA1).tar.gz \ - $(SRCDIR)/srccache/mbedtls-$(MBEDTLS_SHA1) \ - $(BUILDDIR)/mbedtls-$(MBEDTLS_SHA1) get-mbedtls: $(MBEDTLS_SRC_FILE) configure-mbedtls: $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile diff --git a/deps/mbedtls.patch b/deps/mbedtls.patch new file mode 100644 index 0000000000000..1f774ec61ac33 --- /dev/null +++ b/deps/mbedtls.patch @@ -0,0 +1,27 @@ +diff --git include/mbedtls/config.h include/mbedtls/config.h +index 0efee04..787cd8c 100644 +--- include/mbedtls/config.h ++++ include/mbedtls/config.h +@@ -2434,19 +2434,19 @@ + + /* MPI / BIGNUM options */ + //#define MBEDTLS_MPI_WINDOW_SIZE 6 /**< Maximum windows size used. */ +-//#define MBEDTLS_MPI_MAX_SIZE 1024 /**< Maximum number of bytes for usable MPIs. */ ++#define MBEDTLS_MPI_MAX_SIZE 2048 /**< Maximum number of bytes for usable MPIs. */ + + /* CTR_DRBG options */ + //#define MBEDTLS_CTR_DRBG_ENTROPY_LEN 48 /**< Amount of entropy used per seed by default (48 with SHA-512, 32 with SHA-256) */ + //#define MBEDTLS_CTR_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ + //#define MBEDTLS_CTR_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ +-//#define MBEDTLS_CTR_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ ++#define MBEDTLS_CTR_DRBG_MAX_REQUEST 2048 /**< Maximum number of requested bytes per call */ + //#define MBEDTLS_CTR_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ + + /* HMAC_DRBG options */ + //#define MBEDTLS_HMAC_DRBG_RESEED_INTERVAL 10000 /**< Interval before reseed is performed by default */ + //#define MBEDTLS_HMAC_DRBG_MAX_INPUT 256 /**< Maximum number of additional input bytes */ +-//#define MBEDTLS_HMAC_DRBG_MAX_REQUEST 1024 /**< Maximum number of requested bytes per call */ ++#define MBEDTLS_HMAC_DRBG_MAX_REQUEST 2048 /**< Maximum number of requested bytes per call */ + //#define MBEDTLS_HMAC_DRBG_MAX_SEED_INPUT 384 /**< Maximum size of (re)seed buffer */ + + /* ECP options */ From 5512fedf8f887106c172fd3fd1bf19eda6e1433c Mon Sep 17 00:00:00 2001 From: wildart Date: Tue, 24 May 2016 01:04:03 -0400 Subject: [PATCH 04/31] removed distclean option --- deps/http_parser.mk | 4 ---- 1 file changed, 4 deletions(-) diff --git a/deps/http_parser.mk b/deps/http_parser.mk index 471aca192e6a4..966316d52d50e 100644 --- a/deps/http_parser.mk +++ b/deps/http_parser.mk @@ -17,10 +17,6 @@ $(HTTPPARSER_OBJ_TARGET): $(HTTPPARSER_OBJ_SOURCE) clean-http_parser: -rm -rf $(BUILDDIR)/$(HTTPPARSER_SRC_DIR) -rm -f $(HTTPPARSER_OBJ_TARGET) -distclean-http_parser: - -rm -rf $(SRCDIR)/srccache/http_parser-$(HTTPPARSER_SHA1).tar.gz \ - $(SRCDIR)/srccache/http_parser-$(HTTPPARSER_SHA1) \ - $(BUILDDIR)/http_parser-$(HTTPPARSER_SHA1) get-http_parser: $(HTTPPARSER_SRC_FILE) configure-http_parser: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile From c23c7311b86a1f802a347b93f4e52fba8a6d4806 Mon Sep 17 00:00:00 2001 From: wildart Date: Tue, 24 May 2016 02:33:19 -0400 Subject: [PATCH 05/31] added libssh2 build script --- deps/libssh2.mk | 45 ++++++++++++++++++++++++++++++++++++++++++++ deps/libssh2.version | 2 ++ 2 files changed, 47 insertions(+) create mode 100644 deps/libssh2.mk create mode 100644 deps/libssh2.version diff --git a/deps/libssh2.mk b/deps/libssh2.mk new file mode 100644 index 0000000000000..c3dd41bcb997a --- /dev/null +++ b/deps/libssh2.mk @@ -0,0 +1,45 @@ +## libssh2 + +LIBSSH2_GIT_URL := git://github.com/wildart/libssh2.git +LIBSSH2_TAR_URL = https://api.github.com/repos/wildart/libssh2/tarball/$1 +$(eval $(call git-external,libssh2,LIBSSH2,CMakeLists.txt,build/libssh2.$(SHLIB_EXT),$(SRCDIR)/srccache)) + +LIBSSH2_OBJ_SOURCE := $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/src/libssh2.$(SHLIB_EXT) +LIBSSH2_OBJ_TARGET := $(build_shlibdir)/libssh2.$(SHLIB_EXT) + +LIBSSH2_OPTS := $(CMAKE_COMMON) -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON -DBUILD_EXAMPLES=OFF -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_BUILD_TYPE=Release +ifeq ($(BUILD_OS),WINNT) +LIBSSH2_OPTS += -DCRYPTO_BACKEND=WinCNG +else +LIBSSH2_OPTS += -DCRYPTO_BACKEND=mbedTLS +endif + +$(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBSSH2_SRC_DIR)/CMakeLists.txt + mkdir -p $(dir $@) + cd $(dir $@) && \ + $(CMAKE) $(dir $<) $(LIBSSH2_OPTS) + touch -c $@ + +$(LIBSSH2_OBJ_SOURCE): $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile + $(MAKE) -C $(dir $<) + touch -c $@ + +$(BUILDDIR)/$(LIBSSH2_SRC_DIR)/checked: $(LIBSSH2_OBJ_SOURCE) +ifeq ($(OS),$(BUILD_OS)) + $(MAKE) -C $(dir $@) test +endif + echo 1 > $@ + +$(LIBSSH2_OBJ_TARGET): $(LIBSSH2_OBJ_SOURCE) | $(build_shlibdir) + $(call make-install,$(LIBSSH2_SRC_DIR),) + touch -c $(LIBSSH2_OBJ_TARGET) + +clean-libssh2: + -rm -rf $(BUILDDIR)/$(LIBSSH2_SRC_DIR) + -rm -f $(LIBSSH2_OBJ_TARGET) + +get-libssh2: $(LIBSSH2_SRC_FILE) +configure-libssh2: $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile +compile-libssh2: $(LIBSSH2_OBJ_SOURCE) +check-libssh2: $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/checked +install-libssh2: $(LIBSSH2_OBJ_TARGET) \ No newline at end of file diff --git a/deps/libssh2.version b/deps/libssh2.version new file mode 100644 index 0000000000000..dcdf4f563a0eb --- /dev/null +++ b/deps/libssh2.version @@ -0,0 +1,2 @@ +LIBSSH2_BRANCH=mbedtls +LIBSSH2_SHA1=a486c43e4a699d319a5afdb139545843769bcc0d From 55f13807d712dbd7a7813071adf97b0e237bd466 Mon Sep 17 00:00:00 2001 From: wildart Date: Tue, 24 May 2016 02:33:48 -0400 Subject: [PATCH 06/31] enable ssh in libgit2 --- deps/libgit2.mk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/libgit2.mk b/deps/libgit2.mk index 6160739a36279..0f222e553aa0d 100644 --- a/deps/libgit2.mk +++ b/deps/libgit2.mk @@ -7,9 +7,9 @@ $(eval $(call git-external,libgit2,LIBGIT2,CMakeLists.txt,build/libgit2.$(SHLIB_ LIBGIT2_OBJ_SOURCE := $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/libgit2.$(SHLIB_EXT) LIBGIT2_OBJ_TARGET := $(build_shlibdir)/libgit2.$(SHLIB_EXT) -LIBGIT2_OPTS := $(CMAKE_COMMON) -DTHREADSAFE=ON +LIBGIT2_OPTS := $(CMAKE_COMMON) -DTHREADSAFE=ON -DCMAKE_PREFIX_PATH=$(build_prefix) ifeq ($(OS),WINNT) -LIBGIT2_OPTS += -DWIN32=ON -DMINGW=ON -DUSE_SSH=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo +LIBGIT2_OPTS += -DWIN32=ON -DMINGW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo ifneq ($(ARCH),x86_64) LIBGIT2_OPTS += -DCMAKE_C_FLAGS="-mincoming-stack-boundary=2" endif From 55bd9339f32f7edaaec3977768fb2f8a6ea04211 Mon Sep 17 00:00:00 2001 From: wildart Date: Wed, 25 May 2016 03:47:11 -0400 Subject: [PATCH 07/31] added RPATH parameters to cmake builds, switched libssh2 and libgit2 to mbedtls dependent branch --- Make.inc | 5 ++++- Makefile | 9 +++++++++ deps/Makefile | 17 ++++++++++++++++- deps/libgit2.mk | 33 ++++----------------------------- deps/libgit2.version | 4 ++-- deps/libssh2.mk | 4 ++-- deps/mbedtls.mk | 10 ++-------- 7 files changed, 39 insertions(+), 43 deletions(-) diff --git a/Make.inc b/Make.inc index ed81c6e1a04e6..599af7227ebb0 100644 --- a/Make.inc +++ b/Make.inc @@ -36,6 +36,9 @@ USE_SYSTEM_ARPACK:=0 USE_SYSTEM_SUITESPARSE:=0 USE_SYSTEM_LIBUV:=0 USE_SYSTEM_UTF8PROC:=0 +USE_SYSTEM_HTTPPARSER:=0 +USE_SYSTEM_MBEDTLS:=0 +USE_SYSTEM_LIBSSH2:=0 USE_SYSTEM_LIBGIT2:=0 USE_SYSTEM_PATCHELF:=0 @@ -234,7 +237,7 @@ CMAKE ?= cmake CMAKE_GENERATOR ?= make # Point pkg-config to only look at our libraries -export PKG_CONFIG_LIBDIR = $(JULIAHOME)/usr/lib/pkgconfig +export PKG_CONFIG_PATH = $(JULIAHOME)/usr/lib/pkgconfig # Figure out OS and architecture BUILD_OS := $(shell uname) diff --git a/Makefile b/Makefile index f9a02c6f3680d..98b6451259fab 100644 --- a/Makefile +++ b/Makefile @@ -271,6 +271,15 @@ endif ifeq ($(USE_SYSTEM_MPFR),0) JL_PRIVATE_LIBS += mpfr endif +ifeq ($(USE_SYSTEM_HTTPPARSER),0) +JL_PRIVATE_LIBS += http_parser +endif +ifeq ($(USE_SYSTEM_MBEDTLS),0) +JL_PRIVATE_LIBS += mbedtls mbedcrypto mbedx509 +endif +ifeq ($(USE_SYSTEM_LIBSSH2),0) +JL_PRIVATE_LIBS += ssh2 +endif ifeq ($(USE_SYSTEM_LIBGIT2),0) JL_PRIVATE_LIBS += git2 endif diff --git a/deps/Makefile b/deps/Makefile index 0810b01d6d923..bd5d89c647344 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -164,6 +164,18 @@ ifeq ($(USE_SYSTEM_GMP), 0) STAGE1_DEPS += gmp endif +ifeq ($(USE_SYSTEM_HTTPPARSER), 0) +STAGE1_DEPS += http_parser +endif + +ifeq ($(USE_SYSTEM_MBEDTLS), 0) +STAGE1_DEPS += mbedtls +endif + +ifeq ($(USE_SYSTEM_LIBSSH2), 0) +STAGE1_DEPS += libssh2 +endif + ifeq ($(USE_SYSTEM_LIBGIT2), 0) STAGE1_DEPS += libgit2 endif @@ -215,7 +227,7 @@ install: $(addprefix install-, $(DEP_LIBS)) cleanall: $(addprefix clean-, $(DEP_LIBS)) distcleanall: $(addprefix distclean-, $(DEP_LIBS)) rm -rf $(build_prefix) -getall: get-llvm get-libuv get-pcre get-openlibm get-openspecfun get-dsfmt get-Rmath-julia get-openblas get-lapack get-fftw get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-virtualenv get-objconv get-libgit2 +getall: get-llvm get-libuv get-pcre get-openlibm get-openspecfun get-dsfmt get-Rmath-julia get-openblas get-lapack get-fftw get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-virtualenv get-objconv get-http_parser get-mbedtls get-libssh2 get-libgit2 ## PATHS ## # sort is used to remove potential duplicates @@ -264,6 +276,9 @@ include $(SRCDIR)/gmp.mk include $(SRCDIR)/mpfr.mk include $(SRCDIR)/patchelf.mk include $(SRCDIR)/git.mk +include $(SRCDIR)/http_parser.mk +include $(SRCDIR)/mbedtls.mk +include $(SRCDIR)/libssh2.mk include $(SRCDIR)/libgit2.mk include $(SRCDIR)/virtualenv.mk diff --git a/deps/libgit2.mk b/deps/libgit2.mk index 0f222e553aa0d..6ec072a785934 100644 --- a/deps/libgit2.mk +++ b/deps/libgit2.mk @@ -1,30 +1,15 @@ ## libgit2 -LIBGIT2_GIT_URL := git://github.com/libgit2/libgit2.git -LIBGIT2_TAR_URL = https://api.github.com/repos/libgit2/libgit2/tarball/$1 +LIBGIT2_GIT_URL := git://github.com/wildart/libgit2.git +LIBGIT2_TAR_URL = https://api.github.com/repos/wildart/libgit2/tarball/$1 $(eval $(call git-external,libgit2,LIBGIT2,CMakeLists.txt,build/libgit2.$(SHLIB_EXT),$(SRCDIR)/srccache)) LIBGIT2_OBJ_SOURCE := $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/libgit2.$(SHLIB_EXT) LIBGIT2_OBJ_TARGET := $(build_shlibdir)/libgit2.$(SHLIB_EXT) -LIBGIT2_OPTS := $(CMAKE_COMMON) -DTHREADSAFE=ON -DCMAKE_PREFIX_PATH=$(build_prefix) -ifeq ($(OS),WINNT) -LIBGIT2_OPTS += -DWIN32=ON -DMINGW=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo -ifneq ($(ARCH),x86_64) -LIBGIT2_OPTS += -DCMAKE_C_FLAGS="-mincoming-stack-boundary=2" -endif -ifeq ($(BUILD_OS),WINNT) -LIBGIT2_OPTS += -G"MSYS Makefiles" -else -LIBGIT2_OPTS += -DBUILD_CLAR=OFF -DDLLTOOL=`which $(CROSS_COMPILE)dlltool` -LIBGIT2_OPTS += -DCMAKE_FIND_ROOT_PATH=/usr/$(XC_HOST) -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY -endif -else -LIBGIT2_OPTS += -DCMAKE_BUILD_TYPE=Release -endif +LIBGIT2_OPTS := $(CMAKE_COMMON) -DUSE_OPENSSL=OFF -DTHREADSAFE=ON -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=Release $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/CMakeLists.txt - -cd $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR) && patch -p1 -f < $(SRCDIR)/patches/libgit2-require-openssl.patch mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(LIBGIT2_OPTS) @@ -38,17 +23,7 @@ ifeq ($(OS),$(BUILD_OS)) endif echo 1 > $@ $(LIBGIT2_OBJ_TARGET): $(LIBGIT2_OBJ_SOURCE) | $(build_shlibdir) - cp $< $@ - @#$$(call make-install,$(LIBGIT2_SRC_DIR),) # currently don't need the full install -ifeq ($(OS),Linux) - @# If we're on linux, copy over libssl and libcrypto for libgit2 - -LIBGIT_LIBS=$$(ldd "$@" | tail -n +2 | awk '{print $$(NF-1)}'); \ - for LIB in libssl libcrypto; do \ - LIB_PATH=$$(echo "$$LIBGIT_LIBS" | grep "$$LIB"); \ - echo "LIB_PATH for $$LIB: $$LIB_PATH"; \ - [ ! -z "$$LIB_PATH" ] && cp -v "$$LIB_PATH" $(build_shlibdir); \ - done -endif + $(call make-install,$(LIBGIT2_SRC_DIR),) touch -c $@ clean-libgit2: diff --git a/deps/libgit2.version b/deps/libgit2.version index 66898b3d70c4b..a0e31e14bb05d 100644 --- a/deps/libgit2.version +++ b/deps/libgit2.version @@ -1,2 +1,2 @@ -LIBGIT2_BRANCH=v0.24.0 -LIBGIT2_SHA1=785d8c48ea8725691da3c50e7dae8751523d4c30 +LIBGIT2_BRANCH=mbedtls +LIBGIT2_SHA1=d0bf6a7d063a695e5be262fcc13ff12092ddef1d diff --git a/deps/libssh2.mk b/deps/libssh2.mk index c3dd41bcb997a..8d9e894bf2f1d 100644 --- a/deps/libssh2.mk +++ b/deps/libssh2.mk @@ -7,7 +7,7 @@ $(eval $(call git-external,libssh2,LIBSSH2,CMakeLists.txt,build/libssh2.$(SHLIB_ LIBSSH2_OBJ_SOURCE := $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/src/libssh2.$(SHLIB_EXT) LIBSSH2_OBJ_TARGET := $(build_shlibdir)/libssh2.$(SHLIB_EXT) -LIBSSH2_OPTS := $(CMAKE_COMMON) -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON -DBUILD_EXAMPLES=OFF -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_BUILD_TYPE=Release +LIBSSH2_OPTS := $(CMAKE_COMMON) -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON -DBUILD_EXAMPLES=OFF -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=Release ifeq ($(BUILD_OS),WINNT) LIBSSH2_OPTS += -DCRYPTO_BACKEND=WinCNG else @@ -21,7 +21,7 @@ $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBSSH2_SRC_DIR)/C touch -c $@ $(LIBSSH2_OBJ_SOURCE): $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile - $(MAKE) -C $(dir $<) + $(MAKE) -C $(dir $<) libssh2 touch -c $@ $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/checked: $(LIBSSH2_OBJ_SOURCE) diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk index 6371073075e2f..81fa7c2a4c94a 100644 --- a/deps/mbedtls.mk +++ b/deps/mbedtls.mk @@ -7,13 +7,7 @@ $(eval $(call git-external,mbedtls,MBEDTLS,CMakeLists.txt,build/libmbedtls.$(SHL MBEDTLS_OBJ_SOURCE := $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedtls.$(SHLIB_EXT) $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedx509.$(SHLIB_EXT) $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedcrypto.$(SHLIB_EXT) MBEDTLS_OBJ_TARGET := $(build_shlibdir)/libmbedtls.$(SHLIB_EXT) $(build_shlibdir)/libmbedx509.$(SHLIB_EXT) $(build_shlibdir)/libmbedcrypto.$(SHLIB_EXT) -#-DCMAKE_PREFIX_PATH=$(build_prefix) -MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DENABLE_PROGRAMS=OFF -DENABLE_ZLIB_SUPPORT=ON -DENABLE_TESTING=OFF -ifeq ($(OS),WINNT) -MBEDTLS_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo -else -MBEDTLS_OPTS += -DCMAKE_BUILD_TYPE=Release -endif +MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DENABLE_PROGRAMS=OFF -DENABLE_ZLIB_SUPPORT=ON -DENABLE_TESTING=OFF -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=Release $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR)/CMakeLists.txt -cd $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR) && patch -p0 -f < $(SRCDIR)/mbedtls.patch @@ -44,4 +38,4 @@ get-mbedtls: $(MBEDTLS_SRC_FILE) configure-mbedtls: $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile compile-mbedtls: $(MBEDTLS_OBJ_SOURCE) check-mbedtls: $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/checked -install-mbedtls: $(MBEDTLS_OBJ_TARGET) \ No newline at end of file +install-mbedtls: $(MBEDTLS_OBJ_TARGET) From 08262d857c066afddc40fefcd50dc3bb89ec27c7 Mon Sep 17 00:00:00 2001 From: wildart Date: Wed, 25 May 2016 03:55:03 -0400 Subject: [PATCH 08/31] fixed incorrect libgit2 sha1 --- deps/libgit2.version | 2 +- deps/libssh2.mk | 2 +- deps/mbedtls.version | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/deps/libgit2.version b/deps/libgit2.version index a0e31e14bb05d..b3ec60d7e2371 100644 --- a/deps/libgit2.version +++ b/deps/libgit2.version @@ -1,2 +1,2 @@ LIBGIT2_BRANCH=mbedtls -LIBGIT2_SHA1=d0bf6a7d063a695e5be262fcc13ff12092ddef1d +LIBGIT2_SHA1=e721c04c04ada5b4799c1e646ee4ed05dead815b diff --git a/deps/libssh2.mk b/deps/libssh2.mk index 8d9e894bf2f1d..788fed5d0d386 100644 --- a/deps/libssh2.mk +++ b/deps/libssh2.mk @@ -42,4 +42,4 @@ get-libssh2: $(LIBSSH2_SRC_FILE) configure-libssh2: $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile compile-libssh2: $(LIBSSH2_OBJ_SOURCE) check-libssh2: $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/checked -install-libssh2: $(LIBSSH2_OBJ_TARGET) \ No newline at end of file +install-libssh2: $(LIBSSH2_OBJ_TARGET) diff --git a/deps/mbedtls.version b/deps/mbedtls.version index 1711c52d58b17..9c7559db27a3d 100644 --- a/deps/mbedtls.version +++ b/deps/mbedtls.version @@ -1,2 +1,2 @@ MBEDTLS_BRANCH=master -MBEDTLS_SHA1=bfafadb45daf8d2114e3109e2f9021fc72ee36bb \ No newline at end of file +MBEDTLS_SHA1=bfafadb45daf8d2114e3109e2f9021fc72ee36bb From aa5bed7ba9fb2f5aa72588ac0c64526a72078bf6 Mon Sep 17 00:00:00 2001 From: wildart Date: Thu, 26 May 2016 19:56:23 -0400 Subject: [PATCH 09/31] update: build script to generate debug info, branch info --- deps/http_parser.version | 2 +- deps/libgit2.mk | 2 +- deps/libssh2.mk | 2 +- deps/mbedtls.mk | 2 +- deps/mbedtls.version | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/deps/http_parser.version b/deps/http_parser.version index 517e8e6652d3d..a5cabaa290077 100644 --- a/deps/http_parser.version +++ b/deps/http_parser.version @@ -1,2 +1,2 @@ -HTTPPARSER_BRANCH=master +HTTPPARSER_BRANCH=v2.7.0 HTTPPARSER_SHA1=9b0d5b33ebdaacff1dadd06bad4e198b11ff880e diff --git a/deps/libgit2.mk b/deps/libgit2.mk index 6ec072a785934..4176ebde3df28 100644 --- a/deps/libgit2.mk +++ b/deps/libgit2.mk @@ -7,7 +7,7 @@ $(eval $(call git-external,libgit2,LIBGIT2,CMakeLists.txt,build/libgit2.$(SHLIB_ LIBGIT2_OBJ_SOURCE := $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/libgit2.$(SHLIB_EXT) LIBGIT2_OBJ_TARGET := $(build_shlibdir)/libgit2.$(SHLIB_EXT) -LIBGIT2_OPTS := $(CMAKE_COMMON) -DUSE_OPENSSL=OFF -DTHREADSAFE=ON -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=Release +LIBGIT2_OPTS := $(CMAKE_COMMON) -DUSE_OPENSSL=OFF -DTHREADSAFE=ON -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=RelWithDebInfo $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/CMakeLists.txt mkdir -p $(dir $@) diff --git a/deps/libssh2.mk b/deps/libssh2.mk index 788fed5d0d386..3d92fdcedf653 100644 --- a/deps/libssh2.mk +++ b/deps/libssh2.mk @@ -7,7 +7,7 @@ $(eval $(call git-external,libssh2,LIBSSH2,CMakeLists.txt,build/libssh2.$(SHLIB_ LIBSSH2_OBJ_SOURCE := $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/src/libssh2.$(SHLIB_EXT) LIBSSH2_OBJ_TARGET := $(build_shlibdir)/libssh2.$(SHLIB_EXT) -LIBSSH2_OPTS := $(CMAKE_COMMON) -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON -DBUILD_EXAMPLES=OFF -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=Release +LIBSSH2_OPTS := $(CMAKE_COMMON) -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON -DBUILD_EXAMPLES=OFF -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=RelWithDebInfo ifeq ($(BUILD_OS),WINNT) LIBSSH2_OPTS += -DCRYPTO_BACKEND=WinCNG else diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk index 81fa7c2a4c94a..75ceedc8c791a 100644 --- a/deps/mbedtls.mk +++ b/deps/mbedtls.mk @@ -7,7 +7,7 @@ $(eval $(call git-external,mbedtls,MBEDTLS,CMakeLists.txt,build/libmbedtls.$(SHL MBEDTLS_OBJ_SOURCE := $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedtls.$(SHLIB_EXT) $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedx509.$(SHLIB_EXT) $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedcrypto.$(SHLIB_EXT) MBEDTLS_OBJ_TARGET := $(build_shlibdir)/libmbedtls.$(SHLIB_EXT) $(build_shlibdir)/libmbedx509.$(SHLIB_EXT) $(build_shlibdir)/libmbedcrypto.$(SHLIB_EXT) -MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DENABLE_PROGRAMS=OFF -DENABLE_ZLIB_SUPPORT=ON -DENABLE_TESTING=OFF -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=Release +MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DENABLE_PROGRAMS=OFF -DENABLE_ZLIB_SUPPORT=ON -DENABLE_TESTING=OFF -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=RelWithDebInfo $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR)/CMakeLists.txt -cd $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR) && patch -p0 -f < $(SRCDIR)/mbedtls.patch diff --git a/deps/mbedtls.version b/deps/mbedtls.version index 9c7559db27a3d..65ed266ae32e4 100644 --- a/deps/mbedtls.version +++ b/deps/mbedtls.version @@ -1,2 +1,2 @@ -MBEDTLS_BRANCH=master +MBEDTLS_BRANCH=mbedtls-2.2.1 MBEDTLS_SHA1=bfafadb45daf8d2114e3109e2f9021fc72ee36bb From 265db4a5ea4b0134384972c0b044257e138e7c57 Mon Sep 17 00:00:00 2001 From: wildart Date: Fri, 27 May 2016 02:18:10 -0400 Subject: [PATCH 10/31] updated libgit2 reference --- .../libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/md5 | 1 + .../sha512 | 1 + .../libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/md5 | 1 - .../sha512 | 1 - deps/libgit2.version | 2 +- 5 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 deps/checksums/libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/md5 create mode 100644 deps/checksums/libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/sha512 delete mode 100644 deps/checksums/libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/md5 delete mode 100644 deps/checksums/libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/sha512 diff --git a/deps/checksums/libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/md5 b/deps/checksums/libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/md5 new file mode 100644 index 0000000000000..9c1af9d27a625 --- /dev/null +++ b/deps/checksums/libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/md5 @@ -0,0 +1 @@ +41c33b254306fe14593012339f7766ff diff --git a/deps/checksums/libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/sha512 b/deps/checksums/libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/sha512 new file mode 100644 index 0000000000000..500bca088bdf6 --- /dev/null +++ b/deps/checksums/libgit2-3cd11d0e61fb387138bb16f48b05f06c28558402.tar.gz/sha512 @@ -0,0 +1 @@ +a087d0fa55f8d5f39dac03b27854ed038748e65a733fe01e3981d2c03daa9098cf3791aa42877879fb2e64d9143a28c660d56beec069755339b2fa9027a50605 diff --git a/deps/checksums/libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/md5 b/deps/checksums/libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/md5 deleted file mode 100644 index 59a7366c9f144..0000000000000 --- a/deps/checksums/libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/md5 +++ /dev/null @@ -1 +0,0 @@ -fd5c285856ae59d3aea3e316fb31885b diff --git a/deps/checksums/libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/sha512 b/deps/checksums/libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/sha512 deleted file mode 100644 index d274b61af61b1..0000000000000 --- a/deps/checksums/libgit2-785d8c48ea8725691da3c50e7dae8751523d4c30.tar.gz/sha512 +++ /dev/null @@ -1 +0,0 @@ -a5d7b03c337e770194ed83497fa1c895cdd02ab518e0b1c87b42115f9d26b31de0bf3a54cbe80a6ed58fcb5d5440c71325714b5cb607892f67d0c6269c302211 diff --git a/deps/libgit2.version b/deps/libgit2.version index b3ec60d7e2371..9ce5890ec31e7 100644 --- a/deps/libgit2.version +++ b/deps/libgit2.version @@ -1,2 +1,2 @@ LIBGIT2_BRANCH=mbedtls -LIBGIT2_SHA1=e721c04c04ada5b4799c1e646ee4ed05dead815b +LIBGIT2_SHA1=3cd11d0e61fb387138bb16f48b05f06c28558402 From 5003e035c0719b30eccbb122a1a6d86e65b77e74 Mon Sep 17 00:00:00 2001 From: Art Date: Thu, 30 Jun 2016 11:08:06 -0400 Subject: [PATCH 11/31] windows config fixed --- Makefile | 7 ---- deps/Makefile | 7 +--- .../md5 | 1 + .../sha512 | 1 + .../md5 | 1 + .../sha512 | 1 + deps/http_parser.mk | 25 ------------- deps/http_parser.version | 2 -- deps/libgit2.mk | 21 ++++++++++- deps/libssh2.mk | 17 +++++++-- deps/mbedtls.mk | 35 +++++++++++++++---- deps/patches/libgit2-ssh.patch | 13 +++++++ deps/{ => patches}/mbedtls.patch | 0 13 files changed, 81 insertions(+), 50 deletions(-) create mode 100644 deps/checksums/libssh2-a486c43e4a699d319a5afdb139545843769bcc0d.tar.gz/md5 create mode 100644 deps/checksums/libssh2-a486c43e4a699d319a5afdb139545843769bcc0d.tar.gz/sha512 create mode 100644 deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/md5 create mode 100644 deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/sha512 delete mode 100644 deps/http_parser.mk delete mode 100644 deps/http_parser.version create mode 100644 deps/patches/libgit2-ssh.patch rename deps/{ => patches}/mbedtls.patch (100%) diff --git a/Makefile b/Makefile index 98b6451259fab..4aa13d7b36f4a 100644 --- a/Makefile +++ b/Makefile @@ -362,13 +362,6 @@ endif done \ done - # Copy in libssl and libcrypto if they exist -ifeq ($(OS),Linux) - -$(INSTALL_M) $(build_libdir)/libssl*.so* $(DESTDIR)$(private_libdir) - -$(INSTALL_M) $(build_libdir)/libcrypto*.so* $(DESTDIR)$(private_libdir) -endif -endif - ifeq ($(USE_SYSTEM_LIBUV),0) ifeq ($(OS),WINNT) $(INSTALL_F) $(build_includedir)/tree.h $(DESTDIR)$(includedir)/julia diff --git a/deps/Makefile b/deps/Makefile index bd5d89c647344..fbd42bc99cb39 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -164,10 +164,6 @@ ifeq ($(USE_SYSTEM_GMP), 0) STAGE1_DEPS += gmp endif -ifeq ($(USE_SYSTEM_HTTPPARSER), 0) -STAGE1_DEPS += http_parser -endif - ifeq ($(USE_SYSTEM_MBEDTLS), 0) STAGE1_DEPS += mbedtls endif @@ -227,7 +223,7 @@ install: $(addprefix install-, $(DEP_LIBS)) cleanall: $(addprefix clean-, $(DEP_LIBS)) distcleanall: $(addprefix distclean-, $(DEP_LIBS)) rm -rf $(build_prefix) -getall: get-llvm get-libuv get-pcre get-openlibm get-openspecfun get-dsfmt get-Rmath-julia get-openblas get-lapack get-fftw get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-virtualenv get-objconv get-http_parser get-mbedtls get-libssh2 get-libgit2 +getall: get-llvm get-libuv get-pcre get-openlibm get-openspecfun get-dsfmt get-Rmath-julia get-openblas get-lapack get-fftw get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-virtualenv get-objconv get-mbedtls get-libssh2 get-libgit2 ## PATHS ## # sort is used to remove potential duplicates @@ -276,7 +272,6 @@ include $(SRCDIR)/gmp.mk include $(SRCDIR)/mpfr.mk include $(SRCDIR)/patchelf.mk include $(SRCDIR)/git.mk -include $(SRCDIR)/http_parser.mk include $(SRCDIR)/mbedtls.mk include $(SRCDIR)/libssh2.mk include $(SRCDIR)/libgit2.mk diff --git a/deps/checksums/libssh2-a486c43e4a699d319a5afdb139545843769bcc0d.tar.gz/md5 b/deps/checksums/libssh2-a486c43e4a699d319a5afdb139545843769bcc0d.tar.gz/md5 new file mode 100644 index 0000000000000..cf69a675640e7 --- /dev/null +++ b/deps/checksums/libssh2-a486c43e4a699d319a5afdb139545843769bcc0d.tar.gz/md5 @@ -0,0 +1 @@ +791327566b5d17fac1c4740b7ef52777 diff --git a/deps/checksums/libssh2-a486c43e4a699d319a5afdb139545843769bcc0d.tar.gz/sha512 b/deps/checksums/libssh2-a486c43e4a699d319a5afdb139545843769bcc0d.tar.gz/sha512 new file mode 100644 index 0000000000000..04ca540a5cd7b --- /dev/null +++ b/deps/checksums/libssh2-a486c43e4a699d319a5afdb139545843769bcc0d.tar.gz/sha512 @@ -0,0 +1 @@ +871bf2469f6011d22f1f683353a98ce484396b4ed3df3f3d7e28ef0ac8060c3861a74c31860f189491a4e46dc402b082f8794cc578317258017dc902456f81ae diff --git a/deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/md5 b/deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/md5 new file mode 100644 index 0000000000000..5b8fbecd5b1d7 --- /dev/null +++ b/deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/md5 @@ -0,0 +1 @@ +b6909d94600fc5f644e9bca52e96fb27 diff --git a/deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/sha512 b/deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/sha512 new file mode 100644 index 0000000000000..79f2f47dbb2d8 --- /dev/null +++ b/deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/sha512 @@ -0,0 +1 @@ +03c32b46369d35e61acfeac83f417d09307d2f1e4358f9ea6af275d9a9a2319ca7a244733b5950a48d59f6305e4adcad6a66e589b42ee7417d1d4362c2595a4f diff --git a/deps/http_parser.mk b/deps/http_parser.mk deleted file mode 100644 index 966316d52d50e..0000000000000 --- a/deps/http_parser.mk +++ /dev/null @@ -1,25 +0,0 @@ -## http_parser - -HTTPPARSER_GIT_URL := git://github.com/nodejs/http-parser.git -HTTPPARSER_TAR_URL = https://api.github.com/repos/nodejs/http-parser/tarball/$1 -$(eval $(call git-external,http_parser,HTTPPARSER,Makefile,libhttpparser.$(SHLIB_EXT),$(BUILDDIR))) - -HTTPPARSER_OBJ_TARGET := $(build_shlibdir)/libhttp_parser.$(SHLIB_EXT) -HTTPPARSER_OBJ_SOURCE := $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/libhttp_parser.$(SHLIB_EXT) - -$(HTTPPARSER_OBJ_SOURCE): $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile - $(MAKE) -C $(dir $<) library $(MAKE_COMMON) - touch -c $@ -$(HTTPPARSER_OBJ_TARGET): $(HTTPPARSER_OBJ_SOURCE) - $(call make-install,$(HTTPPARSER_SRC_DIR), library PREFIX=$(build_staging)/$(HTTPPARSER_SRC_DIR)$(build_prefix)) - touch -c $(HTTPPARSER_OBJ_TARGET) - -clean-http_parser: - -rm -rf $(BUILDDIR)/$(HTTPPARSER_SRC_DIR) - -rm -f $(HTTPPARSER_OBJ_TARGET) - -get-http_parser: $(HTTPPARSER_SRC_FILE) -configure-http_parser: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile -compile-http_parser: $(HTTPPARSER_OBJ_SOURCE) -check-http_parser: compile-http_parser -install-http_parser: $(HTTPPARSER_OBJ_TARGET) diff --git a/deps/http_parser.version b/deps/http_parser.version deleted file mode 100644 index a5cabaa290077..0000000000000 --- a/deps/http_parser.version +++ /dev/null @@ -1,2 +0,0 @@ -HTTPPARSER_BRANCH=v2.7.0 -HTTPPARSER_SHA1=9b0d5b33ebdaacff1dadd06bad4e198b11ff880e diff --git a/deps/libgit2.mk b/deps/libgit2.mk index 4176ebde3df28..143061e39e0cf 100644 --- a/deps/libgit2.mk +++ b/deps/libgit2.mk @@ -7,9 +7,24 @@ $(eval $(call git-external,libgit2,LIBGIT2,CMakeLists.txt,build/libgit2.$(SHLIB_ LIBGIT2_OBJ_SOURCE := $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/libgit2.$(SHLIB_EXT) LIBGIT2_OBJ_TARGET := $(build_shlibdir)/libgit2.$(SHLIB_EXT) -LIBGIT2_OPTS := $(CMAKE_COMMON) -DUSE_OPENSSL=OFF -DTHREADSAFE=ON -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=RelWithDebInfo +LIBGIT2_OPTS := $(CMAKE_COMMON) -DCMAKE_BUILD_TYPE=Release -DTHREADSAFE=ON -DCMAKE_PREFIX_PATH=$(build_prefix) +ifeq ($(OS),WINNT) +LIBGIT2_OPTS += -DWIN32=ON -DMINGW=ON +ifneq ($(ARCH),x86_64) +LIBGIT2_OPTS += -DCMAKE_C_FLAGS="-mincoming-stack-boundary=2" +endif +ifeq ($(BUILD_OS),WINNT) +LIBGIT2_OPTS += -G"MSYS Makefiles" +else +LIBGIT2_OPTS += -DBUILD_CLAR=OFF -DDLLTOOL=`which $(CROSS_COMPILE)dlltool` +LIBGIT2_OPTS += -DCMAKE_FIND_ROOT_PATH=/usr/$(XC_HOST) -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY +endif +else +LIBGIT2_OPTS += -DUSE_OPENSSL=OFF -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE +endif $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/CMakeLists.txt + -cd $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR) && patch -p0 -f < $(SRCDIR)/patches/libgit2-ssh.patch mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(LIBGIT2_OPTS) @@ -23,7 +38,11 @@ ifeq ($(OS),$(BUILD_OS)) endif echo 1 > $@ $(LIBGIT2_OBJ_TARGET): $(LIBGIT2_OBJ_SOURCE) | $(build_shlibdir) +ifeq ($(OS),WINNT) + cp $< $@ +else $(call make-install,$(LIBGIT2_SRC_DIR),) +endif touch -c $@ clean-libgit2: diff --git a/deps/libssh2.mk b/deps/libssh2.mk index 3d92fdcedf653..38cc7e6069879 100644 --- a/deps/libssh2.mk +++ b/deps/libssh2.mk @@ -7,11 +7,18 @@ $(eval $(call git-external,libssh2,LIBSSH2,CMakeLists.txt,build/libssh2.$(SHLIB_ LIBSSH2_OBJ_SOURCE := $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/src/libssh2.$(SHLIB_EXT) LIBSSH2_OBJ_TARGET := $(build_shlibdir)/libssh2.$(SHLIB_EXT) -LIBSSH2_OPTS := $(CMAKE_COMMON) -DBUILD_SHARED_LIBS=ON -DENABLE_ZLIB_COMPRESSION=ON -DBUILD_EXAMPLES=OFF -DCMAKE_PREFIX_PATH=$(build_prefix) -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=RelWithDebInfo +LIBSSH2_OPTS := $(CMAKE_COMMON) -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF \ + -DCMAKE_PREFIX_PATH=$(build_prefix) \ + -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE \ + -DCMAKE_BUILD_TYPE=Release + +ifeq ($(OS),WINNT) +LIBSSH2_OPTS += -DCRYPTO_BACKEND=WinCNG -DENABLE_ZLIB_COMPRESSION=OFF ifeq ($(BUILD_OS),WINNT) -LIBSSH2_OPTS += -DCRYPTO_BACKEND=WinCNG +LIBSSH2_OPTS += -G"MSYS Makefiles" +endif else -LIBSSH2_OPTS += -DCRYPTO_BACKEND=mbedTLS +LIBSSH2_OPTS += -DCRYPTO_BACKEND=mbedTLS -DENABLE_ZLIB_COMPRESSION=ON endif $(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBSSH2_SRC_DIR)/CMakeLists.txt @@ -31,7 +38,11 @@ endif echo 1 > $@ $(LIBSSH2_OBJ_TARGET): $(LIBSSH2_OBJ_SOURCE) | $(build_shlibdir) +ifeq ($(OS),WINNT) + $(MAKE) -C $(BUILDDIR)/$(LIBSSH2_SRC_DIR) install +else $(call make-install,$(LIBSSH2_SRC_DIR),) +endif touch -c $(LIBSSH2_OBJ_TARGET) clean-libssh2: diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk index 75ceedc8c791a..6702b56b004b9 100644 --- a/deps/mbedtls.mk +++ b/deps/mbedtls.mk @@ -1,16 +1,35 @@ ## mbedtls MBEDTLS_GIT_URL := git://github.com/ARMmbed/mbedtls.git -MBEDTLS_TAR_URL = https://api.github.com/repos/ARMmbed/mbedtls/tarball/$1 +ifeq ($(USE_GPL_LIBS), 1) +MBEDTLS_TAR_URL = https://tls.mbed.org/download/mbedtls-2.2.1-gpl.tgz +else +MBEDTLS_TAR_URL = https://tls.mbed.org/download/mbedtls-2.2.1-apache.tgz +endif $(eval $(call git-external,mbedtls,MBEDTLS,CMakeLists.txt,build/libmbedtls.$(SHLIB_EXT),$(SRCDIR)/srccache)) -MBEDTLS_OBJ_SOURCE := $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedtls.$(SHLIB_EXT) $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedx509.$(SHLIB_EXT) $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedcrypto.$(SHLIB_EXT) -MBEDTLS_OBJ_TARGET := $(build_shlibdir)/libmbedtls.$(SHLIB_EXT) $(build_shlibdir)/libmbedx509.$(SHLIB_EXT) $(build_shlibdir)/libmbedcrypto.$(SHLIB_EXT) +MBEDTLS_OBJ_SOURCE := $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedtls.$(SHLIB_EXT) \ + $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedx509.$(SHLIB_EXT) \ + $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedcrypto.$(SHLIB_EXT) +MBEDTLS_OBJ_TARGET := $(build_shlibdir)/libmbedtls.$(SHLIB_EXT) \ + $(build_shlibdir)/libmbedx509.$(SHLIB_EXT) \ + $(build_shlibdir)/libmbedcrypto.$(SHLIB_EXT) -MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON -DENABLE_PROGRAMS=OFF -DENABLE_ZLIB_SUPPORT=ON -DENABLE_TESTING=OFF -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -DCMAKE_BUILD_TYPE=RelWithDebInfo +MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON \ + -DENABLE_PROGRAMS=OFF -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE + +ifeq ($(OS),WINNT) +MBEDTLS_OPTS += -DENABLE_ZLIB_SUPPORT=OFF -DENABLE_TESTING=OFF +ifeq ($(BUILD_OS),WINNT) +MBEDTLS_OPTS += -G"MSYS Makefiles" +endif +else +MBEDTLS_OPTS += -DENABLE_ZLIB_SUPPORT=ON +endif $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR)/CMakeLists.txt - -cd $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR) && patch -p0 -f < $(SRCDIR)/mbedtls.patch + -cd $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR) && patch -p0 -f < $(SRCDIR)/patches/mbedtls.patch mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(MBEDTLS_OPTS) @@ -22,12 +41,16 @@ $(MBEDTLS_OBJ_SOURCE): $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/checked: $(MBEDTLS_OBJ_SOURCE) ifeq ($(OS),$(BUILD_OS)) - $(MAKE) -C $(dir $@) test + -$(MAKE) -C $(dir $@) test endif echo 1 > $@ $(MBEDTLS_OBJ_TARGET): $(MBEDTLS_OBJ_SOURCE) | $(build_shlibdir) +ifeq ($(OS), WINNT) + cp $^ $(build_shlibdir) +else $(call make-install,$(MBEDTLS_SRC_DIR),) +endif touch -c $(MBEDTLS_OBJ_TARGET) clean-mbedtls: diff --git a/deps/patches/libgit2-ssh.patch b/deps/patches/libgit2-ssh.patch new file mode 100644 index 0000000000000..3d618a0ccf3e9 --- /dev/null +++ b/deps/patches/libgit2-ssh.patch @@ -0,0 +1,13 @@ +--- CMakeLists.txt 2016-06-30 10:45:53.430459900 -0400 ++++ CMakeLists.txt 2016-06-30 09:22:29.271094000 -0400 +@@ -354,7 +354,9 @@ + + # Optional external dependency: libssh2 + IF (USE_SSH) +- PKG_CHECK_MODULES(LIBSSH2 libssh2) ++ FIND_PACKAGE(LIBSSH2) ++ GET_PROPERTY(LIBSSH2_INCLUDE_DIRS TARGET Libssh2::libssh2 PROPERTY INTERFACE_INCLUDE_DIRECTORIES) ++ GET_PROPERTY(LIBSSH2_LIBRARIES TARGET Libssh2::libssh2 PROPERTY IMPORTED_LOCATION_RELEASE) + ENDIF() + IF (LIBSSH2_FOUND) + ADD_DEFINITIONS(-DGIT_SSH) diff --git a/deps/mbedtls.patch b/deps/patches/mbedtls.patch similarity index 100% rename from deps/mbedtls.patch rename to deps/patches/mbedtls.patch From 1341d48b61fd298c3ac1f507a0dbae1ed0d40c65 Mon Sep 17 00:00:00 2001 From: Keno Fischer Date: Fri, 1 Jul 2016 14:29:13 -0400 Subject: [PATCH 12/31] Put back accidentally deleted `endif` --- Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile b/Makefile index 4aa13d7b36f4a..bbff77330533e 100644 --- a/Makefile +++ b/Makefile @@ -361,6 +361,7 @@ endif fi \ done \ done +endif ifeq ($(USE_SYSTEM_LIBUV),0) ifeq ($(OS),WINNT) From 620373ed5895c5d03958399ae26e8f69ed666e5e Mon Sep 17 00:00:00 2001 From: wildart Date: Fri, 1 Jul 2016 20:42:08 -0400 Subject: [PATCH 13/31] apply libgit2 patch for windows only --- deps/libgit2.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/deps/libgit2.mk b/deps/libgit2.mk index 143061e39e0cf..9a3aa435d8143 100644 --- a/deps/libgit2.mk +++ b/deps/libgit2.mk @@ -24,7 +24,9 @@ LIBGIT2_OPTS += -DUSE_OPENSSL=OFF -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_ endif $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/CMakeLists.txt +ifeq ($(OS),WINNT) -cd $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR) && patch -p0 -f < $(SRCDIR)/patches/libgit2-ssh.patch +endif mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(LIBGIT2_OPTS) From 4ae58938489832c7ef0e70e89e9b5fcf7f8602ca Mon Sep 17 00:00:00 2001 From: wildart Date: Fri, 1 Jul 2016 22:55:40 -0400 Subject: [PATCH 14/31] mbedtls build configuration without git-external --- deps/Versions.make | 1 + deps/checksums/mbedtls-2.2.1-apache.tgz/md5 | 1 + .../checksums/mbedtls-2.2.1-apache.tgz/sha512 | 1 + .../md5 | 0 .../sha512 | 0 deps/mbedtls.mk | 52 ++++++++++++------- deps/mbedtls.version | 2 - 7 files changed, 36 insertions(+), 21 deletions(-) create mode 100644 deps/checksums/mbedtls-2.2.1-apache.tgz/md5 create mode 100644 deps/checksums/mbedtls-2.2.1-apache.tgz/sha512 rename deps/checksums/{mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz => mbedtls-2.2.1-gpl.tgz}/md5 (100%) rename deps/checksums/{mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz => mbedtls-2.2.1-gpl.tgz}/sha512 (100%) delete mode 100644 deps/mbedtls.version diff --git a/deps/Versions.make b/deps/Versions.make index 7f29e1662d0a2..ddc025104e669 100644 --- a/deps/Versions.make +++ b/deps/Versions.make @@ -14,3 +14,4 @@ PATCHELF_VER = 0.9 GIT_VER = 1.8.5.6 VIRTUALENV_VER = 15.0.0 RMATH_JULIA_VER = 0.1 +MBEDTLS_VER = 2.2.1 diff --git a/deps/checksums/mbedtls-2.2.1-apache.tgz/md5 b/deps/checksums/mbedtls-2.2.1-apache.tgz/md5 new file mode 100644 index 0000000000000..6a06d0ebc2b38 --- /dev/null +++ b/deps/checksums/mbedtls-2.2.1-apache.tgz/md5 @@ -0,0 +1 @@ +77751c0e370ed2ab01934e4c5e1d380f diff --git a/deps/checksums/mbedtls-2.2.1-apache.tgz/sha512 b/deps/checksums/mbedtls-2.2.1-apache.tgz/sha512 new file mode 100644 index 0000000000000..f8b91b02ac065 --- /dev/null +++ b/deps/checksums/mbedtls-2.2.1-apache.tgz/sha512 @@ -0,0 +1 @@ +6a74abc4ea225eb6bcf20894bb1a6faa82dbaff11129c41849151e2654570609efeee70d0644ce63c4d2c11e6142b2db262b88f3a22fdceff0a215a64a5d6eb0 diff --git a/deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/md5 b/deps/checksums/mbedtls-2.2.1-gpl.tgz/md5 similarity index 100% rename from deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/md5 rename to deps/checksums/mbedtls-2.2.1-gpl.tgz/md5 diff --git a/deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/sha512 b/deps/checksums/mbedtls-2.2.1-gpl.tgz/sha512 similarity index 100% rename from deps/checksums/mbedtls-bfafadb45daf8d2114e3109e2f9021fc72ee36bb.tar.gz/sha512 rename to deps/checksums/mbedtls-2.2.1-gpl.tgz/sha512 diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk index 6702b56b004b9..cb512ae09cd73 100644 --- a/deps/mbedtls.mk +++ b/deps/mbedtls.mk @@ -1,26 +1,25 @@ ## mbedtls -MBEDTLS_GIT_URL := git://github.com/ARMmbed/mbedtls.git ifeq ($(USE_GPL_LIBS), 1) -MBEDTLS_TAR_URL = https://tls.mbed.org/download/mbedtls-2.2.1-gpl.tgz + MBEDTLS_SRC = mbedtls-$(MBEDTLS_VER)-gpl else -MBEDTLS_TAR_URL = https://tls.mbed.org/download/mbedtls-2.2.1-apache.tgz + MBEDTLS_SRC = mbedtls-$(MBEDTLS_VER)-apache endif -$(eval $(call git-external,mbedtls,MBEDTLS,CMakeLists.txt,build/libmbedtls.$(SHLIB_EXT),$(SRCDIR)/srccache)) +MBEDTLS_URL = https://tls.mbed.org/download/$(MBEDTLS_SRC).tgz -MBEDTLS_OBJ_SOURCE := $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedtls.$(SHLIB_EXT) \ - $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedx509.$(SHLIB_EXT) \ - $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/library/libmbedcrypto.$(SHLIB_EXT) +MBEDTLS_OBJ_SOURCE := $(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/library/libmbedtls.$(SHLIB_EXT) \ + $(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/library/libmbedx509.$(SHLIB_EXT) \ + $(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/library/libmbedcrypto.$(SHLIB_EXT) MBEDTLS_OBJ_TARGET := $(build_shlibdir)/libmbedtls.$(SHLIB_EXT) \ $(build_shlibdir)/libmbedx509.$(SHLIB_EXT) \ $(build_shlibdir)/libmbedcrypto.$(SHLIB_EXT) MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON \ - -DENABLE_PROGRAMS=OFF -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=ON -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE ifeq ($(OS),WINNT) -MBEDTLS_OPTS += -DENABLE_ZLIB_SUPPORT=OFF -DENABLE_TESTING=OFF +MBEDTLS_OPTS += -DENABLE_ZLIB_SUPPORT=OFF ifeq ($(BUILD_OS),WINNT) MBEDTLS_OPTS += -G"MSYS Makefiles" endif @@ -28,20 +27,29 @@ else MBEDTLS_OPTS += -DENABLE_ZLIB_SUPPORT=ON endif -$(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR)/CMakeLists.txt - -cd $(SRCDIR)/srccache/$(MBEDTLS_SRC_DIR) && patch -p0 -f < $(SRCDIR)/patches/mbedtls.patch +$(SRCDIR)/srccache/$(MBEDTLS_SRC).tgz: | $(SRCDIR)/srccache + $(JLDOWNLOAD) $@ $(MBEDTLS_URL) + +$(SRCDIR)/srccache/$(MBEDTLS_SRC)/CMakeLists.txt: $(SRCDIR)/srccache/$(MBEDTLS_SRC).tgz + $(JLCHECKSUM) $< + mkdir -p $(dir $@) && \ + $(TAR) -C $(dir $@) --strip-components 1 -xf $< + touch -c $@ + +$(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/Makefile: $(SRCDIR)/srccache/$(MBEDTLS_SRC)/CMakeLists.txt + -cd $(SRCDIR)/srccache/$(SRCDIR)/srccache/mbedtls-$(MBEDTLS_VER) && patch -p0 -f < $(SRCDIR)/patches/mbedtls.patch mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(MBEDTLS_OPTS) touch -c $@ -$(MBEDTLS_OBJ_SOURCE): $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile +$(MBEDTLS_OBJ_SOURCE): $(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/Makefile $(MAKE) -C $(dir $<) touch -c $@ -$(BUILDDIR)/$(MBEDTLS_SRC_DIR)/checked: $(MBEDTLS_OBJ_SOURCE) +$(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/checked: $(MBEDTLS_OBJ_SOURCE) ifeq ($(OS),$(BUILD_OS)) - -$(MAKE) -C $(dir $@) test + $(MAKE) -C $(dir $@) test endif echo 1 > $@ @@ -49,16 +57,22 @@ $(MBEDTLS_OBJ_TARGET): $(MBEDTLS_OBJ_SOURCE) | $(build_shlibdir) ifeq ($(OS), WINNT) cp $^ $(build_shlibdir) else - $(call make-install,$(MBEDTLS_SRC_DIR),) + $(call make-install,mbedtls-$(MBEDTLS_VER),) endif touch -c $(MBEDTLS_OBJ_TARGET) clean-mbedtls: - -rm -rf $(BUILDDIR)/$(MBEDTLS_SRC_DIR) + -rm -rf $(BUILDDIR)/mbedtls-$(MBEDTLS_VER) -rm -f $(MBEDTLS_OBJ_TARGET) -get-mbedtls: $(MBEDTLS_SRC_FILE) -configure-mbedtls: $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/Makefile +distclean-mbedtls: + -rm -rf $(SRCDIR)/srccache/$(MBEDTLS_SRC).tgz + -rm -rf $(SRCDIR)/srccache/$(MBEDTLS_SRC) + -rm -rf $(BUILDDIR)/mbedtls-$(MBEDTLS_VER) + + +get-mbedtls: $(SRCDIR)/srccache/$(MBEDTLS_SRC).tgz +configure-mbedtls: $(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/Makefile compile-mbedtls: $(MBEDTLS_OBJ_SOURCE) -check-mbedtls: $(BUILDDIR)/$(MBEDTLS_SRC_DIR)/checked +check-mbedtls: $(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/checked install-mbedtls: $(MBEDTLS_OBJ_TARGET) diff --git a/deps/mbedtls.version b/deps/mbedtls.version deleted file mode 100644 index 65ed266ae32e4..0000000000000 --- a/deps/mbedtls.version +++ /dev/null @@ -1,2 +0,0 @@ -MBEDTLS_BRANCH=mbedtls-2.2.1 -MBEDTLS_SHA1=bfafadb45daf8d2114e3109e2f9021fc72ee36bb From 3f2075908a0889b3f2d89b39b92adb5da70d5437 Mon Sep 17 00:00:00 2001 From: wildart Date: Sun, 3 Jul 2016 12:15:06 -0400 Subject: [PATCH 15/31] fix libgit2-ssh patch --- Make.inc | 2 +- deps/patches/libgit2-ssh.patch | 26 ++++++++++++++++++-------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Make.inc b/Make.inc index 599af7227ebb0..e4090794cc983 100644 --- a/Make.inc +++ b/Make.inc @@ -237,7 +237,7 @@ CMAKE ?= cmake CMAKE_GENERATOR ?= make # Point pkg-config to only look at our libraries -export PKG_CONFIG_PATH = $(JULIAHOME)/usr/lib/pkgconfig +export PKG_CONFIG_LIBDIR = $(JULIAHOME)/usr/lib/pkgconfig # Figure out OS and architecture BUILD_OS := $(shell uname) diff --git a/deps/patches/libgit2-ssh.patch b/deps/patches/libgit2-ssh.patch index 3d618a0ccf3e9..4c7081e37e2bb 100644 --- a/deps/patches/libgit2-ssh.patch +++ b/deps/patches/libgit2-ssh.patch @@ -1,13 +1,23 @@ ---- CMakeLists.txt 2016-06-30 10:45:53.430459900 -0400 -+++ CMakeLists.txt 2016-06-30 09:22:29.271094000 -0400 -@@ -354,7 +354,9 @@ - +--- CMakeLists.txt 2016-05-26 23:13:48.000000000 -0400 ++++ CMakeLists.txt 2016-07-02 23:20:55.842735529 -0400 +@@ -354,14 +354,16 @@ + # Optional external dependency: libssh2 IF (USE_SSH) - PKG_CHECK_MODULES(LIBSSH2 libssh2) -+ FIND_PACKAGE(LIBSSH2) -+ GET_PROPERTY(LIBSSH2_INCLUDE_DIRS TARGET Libssh2::libssh2 PROPERTY INTERFACE_INCLUDE_DIRECTORIES) -+ GET_PROPERTY(LIBSSH2_LIBRARIES TARGET Libssh2::libssh2 PROPERTY IMPORTED_LOCATION_RELEASE) ++ FIND_PACKAGE(Libssh2) ++ GET_TARGET_PROPERTY(LIBSSH2_INCLUDE_DIRS Libssh2::libssh2 INTERFACE_INCLUDE_DIRECTORIES) ++ GET_TARGET_PROPERTY(LIBSSH2_LOCATION Libssh2::libssh2 IMPORTED_LOCATION_RELEASE) ++ GET_FILENAME_COMPONENT(LIBSSH2_LIBRARY_DIRS ${LIBSSH2_LOCATION} DIRECTORY) ++ SET(LIBSSH2_LIBRARIES "-lssh2") ENDIF() - IF (LIBSSH2_FOUND) +-IF (LIBSSH2_FOUND) ++IF (Libssh2_FOUND) ADD_DEFINITIONS(-DGIT_SSH) + INCLUDE_DIRECTORIES(${LIBSSH2_INCLUDE_DIRS}) + LINK_DIRECTORIES(${LIBSSH2_LIBRARY_DIRS}) +- LIST(APPEND LIBGIT2_PC_LIBS ${LIBSSH2_LDFLAGS}) +- #SET(LIBGIT2_PC_LIBS "${LIBGIT2_PC_LIBS} ${LIBSSH2_LDFLAGS}") + SET(SSH_LIBRARIES ${LIBSSH2_LIBRARIES}) + + CHECK_LIBRARY_EXISTS("${LIBSSH2_LIBRARIES}" libssh2_userauth_publickey_frommemory "${LIBSSH2_LIBRARY_DIRS}" HAVE_LIBSSH2_MEMORY_CREDENTIALS) From 71e7be1b543f3c3cbfa0a3ce2fc8cae2131a84db Mon Sep 17 00:00:00 2001 From: wildart Date: Sun, 3 Jul 2016 15:19:46 -0400 Subject: [PATCH 16/31] add updated cmake ppa to travis config --- .travis.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 91a4a35d643fd..813d8e1969cab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,7 +9,9 @@ matrix: apt: sources: - ubuntu-toolchain-r-test + - kalakris-cmake packages: + - cmake:i386 - bar - time - binutils @@ -18,7 +20,6 @@ matrix: - gcc-5-multilib - g++-5-multilib - make:i386 - - libssl-dev:i386 - gfortran-5 - gfortran-5-multilib - os: linux @@ -28,7 +29,9 @@ matrix: apt: sources: - ubuntu-toolchain-r-test + - kalakris-cmake packages: + - cmake - bar - time - g++-5 From 508bbf1fa3b30034166b9f6a0713db78080a854d Mon Sep 17 00:00:00 2001 From: wildart Date: Sun, 3 Jul 2016 16:57:21 -0400 Subject: [PATCH 17/31] fixed incorrect mbedtls patch location added libgit2 feature test --- deps/mbedtls.mk | 2 +- test/libgit2.jl | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk index cb512ae09cd73..c0330acf1e1e6 100644 --- a/deps/mbedtls.mk +++ b/deps/mbedtls.mk @@ -37,7 +37,7 @@ $(SRCDIR)/srccache/$(MBEDTLS_SRC)/CMakeLists.txt: $(SRCDIR)/srccache/$(MBEDTLS_S touch -c $@ $(BUILDDIR)/mbedtls-$(MBEDTLS_VER)/Makefile: $(SRCDIR)/srccache/$(MBEDTLS_SRC)/CMakeLists.txt - -cd $(SRCDIR)/srccache/$(SRCDIR)/srccache/mbedtls-$(MBEDTLS_VER) && patch -p0 -f < $(SRCDIR)/patches/mbedtls.patch + -cd $(SRCDIR)/srccache/$(MBEDTLS_SRC) && patch -p0 -f < $(SRCDIR)/patches/mbedtls.patch mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(MBEDTLS_OPTS) diff --git a/test/libgit2.jl b/test/libgit2.jl index 7e62fb61248d4..35032040ea099 100644 --- a/test/libgit2.jl +++ b/test/libgit2.jl @@ -2,7 +2,7 @@ #@testset "libgit2" begin -const LIBGIT2_VER = v"0.23.0" +const LIBGIT2_VER = v"0.24.0" ######### # TESTS # @@ -13,6 +13,12 @@ const LIBGIT2_VER = v"0.23.0" @test v.major == LIBGIT2_VER.major && v.minor >= LIBGIT2_VER.minor #end +#@testset "Check library features" begin + f = LibGit2.features() + @test findfirst(f, LibGit2.Consts.FEATURE_SSH) > 0 + @test findfirst(f, LibGit2.Consts.FEATURE_HTTPS) > 0 +#end + #@testset "OID" begin z = LibGit2.Oid() @test LibGit2.iszero(z) From 858666fc47f7d69eb0f6b58e3b6f0bf2e851e572 Mon Sep 17 00:00:00 2001 From: wildart Date: Sun, 3 Jul 2016 23:47:06 -0400 Subject: [PATCH 18/31] restore http_parser --- .../md5 | 1 + .../sha512 | 1 + deps/http_parser.mk | 32 +++++++++++++++++++ deps/http_parser.version | 2 ++ 4 files changed, 36 insertions(+) create mode 100644 deps/checksums/http_parser-9b0d5b33ebdaacff1dadd06bad4e198b11ff880e.tar.gz/md5 create mode 100644 deps/checksums/http_parser-9b0d5b33ebdaacff1dadd06bad4e198b11ff880e.tar.gz/sha512 create mode 100644 deps/http_parser.mk create mode 100644 deps/http_parser.version diff --git a/deps/checksums/http_parser-9b0d5b33ebdaacff1dadd06bad4e198b11ff880e.tar.gz/md5 b/deps/checksums/http_parser-9b0d5b33ebdaacff1dadd06bad4e198b11ff880e.tar.gz/md5 new file mode 100644 index 0000000000000..0b0e10c610b98 --- /dev/null +++ b/deps/checksums/http_parser-9b0d5b33ebdaacff1dadd06bad4e198b11ff880e.tar.gz/md5 @@ -0,0 +1 @@ +c40573e207176704ee28bde3497e1578 diff --git a/deps/checksums/http_parser-9b0d5b33ebdaacff1dadd06bad4e198b11ff880e.tar.gz/sha512 b/deps/checksums/http_parser-9b0d5b33ebdaacff1dadd06bad4e198b11ff880e.tar.gz/sha512 new file mode 100644 index 0000000000000..c1a70f0fafa73 --- /dev/null +++ b/deps/checksums/http_parser-9b0d5b33ebdaacff1dadd06bad4e198b11ff880e.tar.gz/sha512 @@ -0,0 +1 @@ +b10ec4dcc24d5bf75c265a5de484b9b0eff80698dee17f99e1e3841b0444c539e3adf2bb346bb5642dc4be4dfe03dd35e882e38c74bc85ee4a558f7c5d0a5de3 diff --git a/deps/http_parser.mk b/deps/http_parser.mk new file mode 100644 index 0000000000000..f2a857c6ba88a --- /dev/null +++ b/deps/http_parser.mk @@ -0,0 +1,32 @@ +## http_parser + +HTTPPARSER_GIT_URL := git://github.com/nodejs/http-parser.git +HTTPPARSER_TAR_URL = https://api.github.com/repos/nodejs/http-parser/tarball/$1 +$(eval $(call git-external,http_parser,HTTPPARSER,Makefile,libhttpparser.$(SHLIB_EXT),$(BUILDDIR))) + +HTTPPARSER_OBJ_TARGET := $(build_shlibdir)/libhttp_parser.$(SHLIB_EXT) +HTTPPARSER_OBJ_SOURCE := $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/libhttp_parser.$(SHLIB_EXT) + +$(HTTPPARSER_OBJ_SOURCE): $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile + $(MAKE) -C $(dir $<) library $(MAKE_COMMON) + touch -c $@ + +$(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/checked: $(HTTPPARSER_OBJ_TARGET) +ifeq ($(OS),$(BUILD_OS)) + -$(MAKE) -C $(dir $@) test +endif + echo 1 > $@ + +$(HTTPPARSER_OBJ_TARGET): $(HTTPPARSER_OBJ_SOURCE) + $(call make-install,$(HTTPPARSER_SRC_DIR), library PREFIX=$(build_staging)/$(HTTPPARSER_SRC_DIR)$(build_prefix)) + touch -c $(HTTPPARSER_OBJ_TARGET) + +clean-http_parser: + -rm -rf $(BUILDDIR)/$(HTTPPARSER_SRC_DIR) + -rm -f $(HTTPPARSER_OBJ_TARGET) + +get-http_parser: $(HTTPPARSER_SRC_FILE) +configure-http_parser: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile +compile-http_parser: $(HTTPPARSER_OBJ_SOURCE) +check-http_parser: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/checked +install-http_parser: $(HTTPPARSER_OBJ_TARGET) diff --git a/deps/http_parser.version b/deps/http_parser.version new file mode 100644 index 0000000000000..a5cabaa290077 --- /dev/null +++ b/deps/http_parser.version @@ -0,0 +1,2 @@ +HTTPPARSER_BRANCH=v2.7.0 +HTTPPARSER_SHA1=9b0d5b33ebdaacff1dadd06bad4e198b11ff880e From ab4f6743a31217fb33a8383e087b40f90199e994 Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 00:21:08 -0400 Subject: [PATCH 19/31] added mbedtls TLS stream support for libgit2 --- .../md5 | 1 + .../sha512 | 1 + deps/mbedtlsstream.mk | 41 +++++++++++++++++++ deps/mbedtlsstream.version | 2 + 4 files changed, 45 insertions(+) create mode 100644 deps/checksums/mbedtlsstream-fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da.tar.gz/md5 create mode 100644 deps/checksums/mbedtlsstream-fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da.tar.gz/sha512 create mode 100644 deps/mbedtlsstream.mk create mode 100644 deps/mbedtlsstream.version diff --git a/deps/checksums/mbedtlsstream-fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da.tar.gz/md5 b/deps/checksums/mbedtlsstream-fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da.tar.gz/md5 new file mode 100644 index 0000000000000..4dfabb722828f --- /dev/null +++ b/deps/checksums/mbedtlsstream-fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da.tar.gz/md5 @@ -0,0 +1 @@ +3ac1cf2e4f98a6b52a9747cee252ce60 diff --git a/deps/checksums/mbedtlsstream-fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da.tar.gz/sha512 b/deps/checksums/mbedtlsstream-fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da.tar.gz/sha512 new file mode 100644 index 0000000000000..01f6374396eab --- /dev/null +++ b/deps/checksums/mbedtlsstream-fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da.tar.gz/sha512 @@ -0,0 +1 @@ +ed2f8ee54eb75dc0c41680579894e7c29f204b16616ba797fac2acbef977de2bb65af07fd9c2337c63cecfc3df3d28c352253d6eaeb78da5b1dc48f6b834a50c diff --git a/deps/mbedtlsstream.mk b/deps/mbedtlsstream.mk new file mode 100644 index 0000000000000..170c770bb7161 --- /dev/null +++ b/deps/mbedtlsstream.mk @@ -0,0 +1,41 @@ +## mbedtlsstream + +MBEDTLSSTREAM_GIT_URL := git://github.com/wildart/mbedtlsstream.git +MBEDTLSSTREAM_TAR_URL = https://api.github.com/repos/wildart/mbedtlsstream/tarball/$1 +$(eval $(call git-external,mbedtlsstream,MBEDTLSSTREAM,CMakeLists.txt,build/libmbedtlsstream.$(SHLIB_EXT),$(SRCDIR)/srccache)) + +MBEDTLSSTREAM_OBJ_TARGET := $(build_shlibdir)/libmbedtlsstream.$(SHLIB_EXT) +MBEDTLSSTREAM_OBJ_SOURCE := $(BUILDDIR)/$(MBEDTLSSTREAM_SRC_DIR)/libmbedtlsstream.$(SHLIB_EXT) + +MBEDTLSSTREAM_OPTS := $(CMAKE_COMMON) -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_PREFIX_PATH=$(build_prefix) \ + -DCMAKE_INSTALL_RPATH=$(build_prefix) \ + -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE + +$(BUILDDIR)/$(MBEDTLSSTREAM_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLSSTREAM_SRC_DIR)/CMakeLists.txt + mkdir -p $(dir $@) + cd $(dir $@) && \ + $(CMAKE) $(dir $<) $(MBEDTLSSTREAM_OPTS) + touch -c $@ + +$(MBEDTLSSTREAM_OBJ_SOURCE): $(BUILDDIR)/$(MBEDTLSSTREAM_SRC_DIR)/Makefile + $(MAKE) -C $(dir $<) + touch -c $@ + +$(MBEDTLSSTREAM_OBJ_TARGET): $(MBEDTLSSTREAM_OBJ_SOURCE) | $(build_shlibdir) +ifeq ($(BUILD_OS),WINNT) + cp $< $@ +else + $(call make-install,$(MBEDTLSSTREAM_SRC_DIR),) +endif + touch -c $@ + +clean-mbedtlsstream: + -rm -rf $(BUILDDIR)/$(MBEDTLSSTREAM_SRC_DIR) + -rm -f $(MBEDTLSSTREAM_OBJ_TARGET) + +get-mbedtlsstream: get-mbedtlsstream +configure-mbedtlsstream: $(BUILDDIR)/$(MBEDTLSSTREAM_SRC_DIR)/Makefile +compile-mbedtlsstream: $(MBEDTLSSTREAM_OBJ_SOURCE) +check-mbedtlsstream: check-mbedtlsstream +install-mbedtlsstream: $(MBEDTLSSTREAM_OBJ_TARGET) diff --git a/deps/mbedtlsstream.version b/deps/mbedtlsstream.version new file mode 100644 index 0000000000000..28510d7552fdd --- /dev/null +++ b/deps/mbedtlsstream.version @@ -0,0 +1,2 @@ +MBEDTLSSTREAM_BRANCH=master +MBEDTLSSTREAM_SHA1=fa2fdf4eaa4a5fd36e787678d685e9cc16f1e6da From 3ea97efb6411fd646cfb13dfdceb587a235011ea Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 00:32:25 -0400 Subject: [PATCH 20/31] use original libgit2 0.24.1 version with tls stream patch --- .../md5 | 1 + .../sha512 | 1 + deps/libgit2.mk | 13 +++-- deps/libgit2.version | 4 +- deps/patches/libgit2-custom-tls.patch | 53 +++++++++++++++++++ 5 files changed, 66 insertions(+), 6 deletions(-) create mode 100644 deps/checksums/libgit2-211e117a0590583a720c53172406f34186c543bd.tar.gz/md5 create mode 100644 deps/checksums/libgit2-211e117a0590583a720c53172406f34186c543bd.tar.gz/sha512 create mode 100644 deps/patches/libgit2-custom-tls.patch diff --git a/deps/checksums/libgit2-211e117a0590583a720c53172406f34186c543bd.tar.gz/md5 b/deps/checksums/libgit2-211e117a0590583a720c53172406f34186c543bd.tar.gz/md5 new file mode 100644 index 0000000000000..99237ab85b12d --- /dev/null +++ b/deps/checksums/libgit2-211e117a0590583a720c53172406f34186c543bd.tar.gz/md5 @@ -0,0 +1 @@ +eb46efa15014aaec7e574dfdc5921a36 diff --git a/deps/checksums/libgit2-211e117a0590583a720c53172406f34186c543bd.tar.gz/sha512 b/deps/checksums/libgit2-211e117a0590583a720c53172406f34186c543bd.tar.gz/sha512 new file mode 100644 index 0000000000000..6a1a3f0542e15 --- /dev/null +++ b/deps/checksums/libgit2-211e117a0590583a720c53172406f34186c543bd.tar.gz/sha512 @@ -0,0 +1 @@ +20aa4ca35e78873961ad45734db8af36fe600d523a8ef8c77dba66944c7e33efbe239c49f3258e81cf6a7f7b6afa3b867ad62fc1fb507377ad8e9fa2bb629472 diff --git a/deps/libgit2.mk b/deps/libgit2.mk index 9a3aa435d8143..7a0aecd2dc7bd 100644 --- a/deps/libgit2.mk +++ b/deps/libgit2.mk @@ -1,7 +1,7 @@ ## libgit2 -LIBGIT2_GIT_URL := git://github.com/wildart/libgit2.git -LIBGIT2_TAR_URL = https://api.github.com/repos/wildart/libgit2/tarball/$1 +LIBGIT2_GIT_URL := git://github.com/libgit2/libgit2.git +LIBGIT2_TAR_URL = https://api.github.com/repos/libgit2/libgit2/tarball/$1 $(eval $(call git-external,libgit2,LIBGIT2,CMakeLists.txt,build/libgit2.$(SHLIB_EXT),$(SRCDIR)/srccache)) LIBGIT2_OBJ_SOURCE := $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/libgit2.$(SHLIB_EXT) @@ -20,27 +20,32 @@ LIBGIT2_OPTS += -DBUILD_CLAR=OFF -DDLLTOOL=`which $(CROSS_COMPILE)dlltool` LIBGIT2_OPTS += -DCMAKE_FIND_ROOT_PATH=/usr/$(XC_HOST) -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY endif else -LIBGIT2_OPTS += -DUSE_OPENSSL=OFF -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE +LIBGIT2_OPTS += -DUSE_OPENSSL=OFF -DUSE_CUSTOM_TLS=ON -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE endif $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/CMakeLists.txt ifeq ($(OS),WINNT) -cd $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR) && patch -p0 -f < $(SRCDIR)/patches/libgit2-ssh.patch +else + -cd $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR) && patch -p1 -f < $(SRCDIR)/patches/libgit2-custom-tls.patch endif mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(LIBGIT2_OPTS) touch -c $@ + $(LIBGIT2_OBJ_SOURCE): $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/Makefile $(MAKE) -C $(dir $<) touch -c $@ + $(BUILDDIR)/$(LIBGIT2_SRC_DIR)/checked: $(LIBGIT2_OBJ_SOURCE) ifeq ($(OS),$(BUILD_OS)) $(MAKE) -C $(dir $@) test endif echo 1 > $@ + $(LIBGIT2_OBJ_TARGET): $(LIBGIT2_OBJ_SOURCE) | $(build_shlibdir) -ifeq ($(OS),WINNT) +ifeq ($(BUILD_OS),WINNT) cp $< $@ else $(call make-install,$(LIBGIT2_SRC_DIR),) diff --git a/deps/libgit2.version b/deps/libgit2.version index 9ce5890ec31e7..8b72ed4066012 100644 --- a/deps/libgit2.version +++ b/deps/libgit2.version @@ -1,2 +1,2 @@ -LIBGIT2_BRANCH=mbedtls -LIBGIT2_SHA1=3cd11d0e61fb387138bb16f48b05f06c28558402 +LIBGIT2_BRANCH=v0.24.1 +LIBGIT2_SHA1=211e117a0590583a720c53172406f34186c543bd diff --git a/deps/patches/libgit2-custom-tls.patch b/deps/patches/libgit2-custom-tls.patch new file mode 100644 index 0000000000000..43abcbfacd113 --- /dev/null +++ b/deps/patches/libgit2-custom-tls.patch @@ -0,0 +1,53 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 93a9e47..75fe5ef 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -542,6 +542,9 @@ IF (OPENSSL_FOUND) + SET(SSL_LIBRARIES ${OPENSSL_LIBRARIES}) + ENDIF() + ++IF (USE_CUSTOM_TLS) ++ ADD_DEFINITIONS(-DGIT_CUSTOM_TLS) ++ENDIF() + + + IF (THREADSAFE) +diff --git a/src/settings.c b/src/settings.c +index 00a3ef0..61e0199 100644 +--- a/src/settings.c ++++ b/src/settings.c +@@ -29,7 +29,7 @@ int git_libgit2_features(void) + #ifdef GIT_THREADS + | GIT_FEATURE_THREADS + #endif +-#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) ++#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) || defined(GIT_CUSTOM_TLS) + | GIT_FEATURE_HTTPS + #endif + #if defined(GIT_SSH) +diff --git a/src/transport.c b/src/transport.c +index 327052f..c4f3254 100644 +--- a/src/transport.c ++++ b/src/transport.c +@@ -29,7 +29,7 @@ static transport_definition local_transport_definition = { "file://", git_transp + static transport_definition transports[] = { + { "git://", git_transport_smart, &git_subtransport_definition }, + { "http://", git_transport_smart, &http_subtransport_definition }, +-#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) ++#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) || defined(GIT_CUSTOM_TLS) + { "https://", git_transport_smart, &http_subtransport_definition }, + #endif + { "file://", git_transport_local, NULL }, +diff --git a/src/transports/http.c b/src/transports/http.c +index 4fbbfbb..9ef05c6 100644 +--- a/src/transports/http.c ++++ b/src/transports/http.c +@@ -620,7 +620,7 @@ static int http_connect(http_subtransport *t) + + error = git_stream_connect(t->io); + +-#if defined(GIT_OPENSSL) || defined(GIT_SECURE_TRANSPORT) || defined(GIT_CURL) ++#if defined(GIT_OPENSSL) || defined(GIT_SECURE_TRANSPORT) || defined(GIT_CURL) || defined(GIT_CUSTOM_TLS) + if ((!error || error == GIT_ECERTIFICATE) && t->owner->certificate_check_cb != NULL && + git_stream_is_encrypted(t->io)) { + git_cert *cert; From 51a7c2e6d39362486cca598a596699350dc88a4d Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 00:35:31 -0400 Subject: [PATCH 21/31] update deps makefile --- deps/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/deps/Makefile b/deps/Makefile index fbd42bc99cb39..9d00808e95e31 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -164,6 +164,10 @@ ifeq ($(USE_SYSTEM_GMP), 0) STAGE1_DEPS += gmp endif +ifeq ($(USE_SYSTEM_HTTP_PARSER), 0) +STAGE1_DEPS += http_parser +endif + ifeq ($(USE_SYSTEM_MBEDTLS), 0) STAGE1_DEPS += mbedtls endif @@ -223,7 +227,7 @@ install: $(addprefix install-, $(DEP_LIBS)) cleanall: $(addprefix clean-, $(DEP_LIBS)) distcleanall: $(addprefix distclean-, $(DEP_LIBS)) rm -rf $(build_prefix) -getall: get-llvm get-libuv get-pcre get-openlibm get-openspecfun get-dsfmt get-Rmath-julia get-openblas get-lapack get-fftw get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-virtualenv get-objconv get-mbedtls get-libssh2 get-libgit2 +getall: get-llvm get-libuv get-pcre get-openlibm get-openspecfun get-dsfmt get-Rmath-julia get-openblas get-lapack get-fftw get-suitesparse get-arpack get-unwind get-osxunwind get-gmp get-mpfr get-patchelf get-utf8proc get-virtualenv get-objconv get-http_parser get-mbedtls get-libssh2 get-libgit2 get-mbedtlsstream ## PATHS ## # sort is used to remove potential duplicates @@ -272,9 +276,11 @@ include $(SRCDIR)/gmp.mk include $(SRCDIR)/mpfr.mk include $(SRCDIR)/patchelf.mk include $(SRCDIR)/git.mk +include $(SRCDIR)/http_parser.mk include $(SRCDIR)/mbedtls.mk include $(SRCDIR)/libssh2.mk include $(SRCDIR)/libgit2.mk +include $(SRCDIR)/mbedtlsstream.mk include $(SRCDIR)/virtualenv.mk ## phony targets ## From 5528588af90be0c09ce54315798133fde752d3c2 Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 00:37:10 -0400 Subject: [PATCH 22/31] initialize TLS stream after libgit2 is loaded --- base/libgit2/libgit2.jl | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/base/libgit2/libgit2.jl b/base/libgit2/libgit2.jl index 5b579511a76bb..559619d524a80 100644 --- a/base/libgit2/libgit2.jl +++ b/base/libgit2/libgit2.jl @@ -507,10 +507,20 @@ end function set_ssl_cert_locations(cert_loc) cert_file = isfile(cert_loc) ? cert_loc : Cstring(C_NULL) cert_dir = isdir(cert_loc) ? cert_loc : Cstring(C_NULL) - cert_file == C_NULL && cert_dir == C_NULL && return - ccall((:git_libgit2_opts, :libgit2), Cint, - (Cint, Cstring, Cstring), - Cint(Consts.SET_SSL_CERT_LOCATIONS), cert_file, cert_dir) + + # load certs + err = ccall((:mbedtls_stream_init, :libmbedtlsstream), Cint, + (Cstring, Cstring), cert_file, cert_dir) + err < 0 && throw(ErrorException("error initializing mbedTLS stream")) + + # setup tls stream + mbedtls_stream_cb = cglobal((:mbedtls_stream_new, :libmbedtlsstream)) + ccall((:git_stream_register_tls, :libgit2), Cint, (Ptr{Void},), mbedtls_stream_cb) + + # cleanup on shutdown + atexit() do + ccall((:mbedtls_stream_shutdown, :libmbedtlsstream), Cint, ()) + end end function __init__() From 90af61a6b9c777515d5310d37c006aff9a9ba59b Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 00:59:04 -0400 Subject: [PATCH 23/31] disable CA certificate loading on windows --- base/libgit2/libgit2.jl | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/base/libgit2/libgit2.jl b/base/libgit2/libgit2.jl index 559619d524a80..6fab03bf5ca90 100644 --- a/base/libgit2/libgit2.jl +++ b/base/libgit2/libgit2.jl @@ -531,15 +531,17 @@ function __init__() end # Look for OpenSSL env variable for CA bundle - cert_loc = if "SSL_CERT_DIR" in keys(ENV) - ENV["SSL_CERT_DIR"] - elseif "SSL_CERT_FILE" in keys(ENV) - ENV["SSL_CERT_FILE"] - else - # If we have a bundled ca cert file, point libgit2 at that so SSL connections work. - abspath(ccall(:jl_get_julia_home, Any, ()),Base.DATAROOTDIR,"julia","cert.pem") + @static if is_unix() + cert_loc = if "SSL_CERT_DIR" in keys(ENV) + ENV["SSL_CERT_DIR"] + elseif "SSL_CERT_FILE" in keys(ENV) + ENV["SSL_CERT_FILE"] + else + # If we have a bundled ca cert file, point libgit2 at that so SSL connections work. + abspath(ccall(:jl_get_julia_home, Any, ()),Base.DATAROOTDIR,"julia","cert.pem") + end + set_ssl_cert_locations(cert_loc) end - set_ssl_cert_locations(cert_loc) end From 36a6d535f6b4d2d5f6394485be8df1e5586f9081 Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 00:59:21 -0400 Subject: [PATCH 24/31] fix travis config for x86 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 813d8e1969cab..1a53d3758529a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ matrix: - ubuntu-toolchain-r-test - kalakris-cmake packages: - - cmake:i386 + - cmake - bar - time - binutils From 13cc976a5fbdb23c8d4ae1584bba78b5280fb13b Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 01:16:20 -0400 Subject: [PATCH 25/31] update build config --- deps/Makefile | 4 ++++ deps/http_parser.mk | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/deps/Makefile b/deps/Makefile index 9d00808e95e31..7079dea41fa61 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -198,6 +198,10 @@ ifeq ($(USE_SYSTEM_UTF8PROC), 0) STAGE2_DEPS += utf8proc endif +ifeq ($(USE_SYSTEM_MBEDTLSSTREAM), 0) +STAGE2_DEPS += mbedtlsstream +endif + # Only compile standalone LAPACK if we are not using OpenBLAS. # OpenBLAS otherwise compiles LAPACK as part of its build. # This is useful where one wants to use the vendor BLAS, but diff --git a/deps/http_parser.mk b/deps/http_parser.mk index f2a857c6ba88a..5e8f09985d6e6 100644 --- a/deps/http_parser.mk +++ b/deps/http_parser.mk @@ -2,7 +2,7 @@ HTTPPARSER_GIT_URL := git://github.com/nodejs/http-parser.git HTTPPARSER_TAR_URL = https://api.github.com/repos/nodejs/http-parser/tarball/$1 -$(eval $(call git-external,http_parser,HTTPPARSER,Makefile,libhttpparser.$(SHLIB_EXT),$(BUILDDIR))) +$(eval $(call git-external,http_parser,HTTPPARSER,Makefile,libhttp_parser.$(SHLIB_EXT),$(SRCDIR)/srccache)) HTTPPARSER_OBJ_TARGET := $(build_shlibdir)/libhttp_parser.$(SHLIB_EXT) HTTPPARSER_OBJ_SOURCE := $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/libhttp_parser.$(SHLIB_EXT) From e0839abdb77a16f7886d95cae94a903d492d1eb6 Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 14:39:36 -0400 Subject: [PATCH 26/31] reordering dependencies --- deps/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/deps/Makefile b/deps/Makefile index 7079dea41fa61..b3df79d3a2882 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -177,7 +177,7 @@ STAGE1_DEPS += libssh2 endif ifeq ($(USE_SYSTEM_LIBGIT2), 0) -STAGE1_DEPS += libgit2 +STAGE2_DEPS += libgit2 endif ifeq ($(USE_SYSTEM_MPFR), 0) @@ -199,7 +199,7 @@ STAGE2_DEPS += utf8proc endif ifeq ($(USE_SYSTEM_MBEDTLSSTREAM), 0) -STAGE2_DEPS += mbedtlsstream +STAGE3_DEPS += mbedtlsstream endif # Only compile standalone LAPACK if we are not using OpenBLAS. From de6ba4ea3ae7bbff2121310dcb602f35e6652d3b Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 17:05:20 -0400 Subject: [PATCH 27/31] correct http_parser build config --- Make.inc | 1 + deps/Makefile | 2 +- deps/http_parser.mk | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/Make.inc b/Make.inc index e4090794cc983..de186d78645ba 100644 --- a/Make.inc +++ b/Make.inc @@ -40,6 +40,7 @@ USE_SYSTEM_HTTPPARSER:=0 USE_SYSTEM_MBEDTLS:=0 USE_SYSTEM_LIBSSH2:=0 USE_SYSTEM_LIBGIT2:=0 +USE_SYSTEM_MBEDTLSSTREAM:=0 USE_SYSTEM_PATCHELF:=0 # Link to the LLVM shared library diff --git a/deps/Makefile b/deps/Makefile index b3df79d3a2882..14f464105f628 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -164,7 +164,7 @@ ifeq ($(USE_SYSTEM_GMP), 0) STAGE1_DEPS += gmp endif -ifeq ($(USE_SYSTEM_HTTP_PARSER), 0) +ifeq ($(USE_SYSTEM_HTTPPARSER), 0) STAGE1_DEPS += http_parser endif diff --git a/deps/http_parser.mk b/deps/http_parser.mk index 5e8f09985d6e6..cd49cd005d59c 100644 --- a/deps/http_parser.mk +++ b/deps/http_parser.mk @@ -2,7 +2,7 @@ HTTPPARSER_GIT_URL := git://github.com/nodejs/http-parser.git HTTPPARSER_TAR_URL = https://api.github.com/repos/nodejs/http-parser/tarball/$1 -$(eval $(call git-external,http_parser,HTTPPARSER,Makefile,libhttp_parser.$(SHLIB_EXT),$(SRCDIR)/srccache)) +$(eval $(call git-external,http_parser,HTTPPARSER,Makefile,libhttp_parser.$(SHLIB_EXT),$(BUILDDIR))) HTTPPARSER_OBJ_TARGET := $(build_shlibdir)/libhttp_parser.$(SHLIB_EXT) HTTPPARSER_OBJ_SOURCE := $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/libhttp_parser.$(SHLIB_EXT) From d101dab5d0a2aef1951eb9c0adba93c7d5913401 Mon Sep 17 00:00:00 2001 From: wildart Date: Mon, 4 Jul 2016 17:23:04 -0400 Subject: [PATCH 28/31] correct initialization of TLS steam backend (linux only) --- base/libgit2/libgit2.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/base/libgit2/libgit2.jl b/base/libgit2/libgit2.jl index 6fab03bf5ca90..3d393b3c123b5 100644 --- a/base/libgit2/libgit2.jl +++ b/base/libgit2/libgit2.jl @@ -530,8 +530,9 @@ function __init__() ccall((:git_libgit2_shutdown, :libgit2), Cint, ()) end - # Look for OpenSSL env variable for CA bundle - @static if is_unix() + # Look for OpenSSL env variable for CA bundle (linux only) + # windows and macOS are use their security backends + @static if is_linux() cert_loc = if "SSL_CERT_DIR" in keys(ENV) ENV["SSL_CERT_DIR"] elseif "SSL_CERT_FILE" in keys(ENV) From 288a7b217d1bb9f026396671140c566dca1a36b5 Mon Sep 17 00:00:00 2001 From: Art Date: Mon, 4 Jul 2016 18:08:19 -0400 Subject: [PATCH 29/31] win: patch http_parser and disable mbedtls stream builder --- deps/Makefile | 2 + deps/http_parser.mk | 6 +++ deps/patches/http_parser-win.patch | 59 ++++++++++++++++++++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 deps/patches/http_parser-win.patch diff --git a/deps/Makefile b/deps/Makefile index 14f464105f628..fded699ab2d9c 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -198,9 +198,11 @@ ifeq ($(USE_SYSTEM_UTF8PROC), 0) STAGE2_DEPS += utf8proc endif +ifeq ($(OS), Linux) ifeq ($(USE_SYSTEM_MBEDTLSSTREAM), 0) STAGE3_DEPS += mbedtlsstream endif +endif # Only compile standalone LAPACK if we are not using OpenBLAS. # OpenBLAS otherwise compiles LAPACK as part of its build. diff --git a/deps/http_parser.mk b/deps/http_parser.mk index cd49cd005d59c..d6b2e62e33b2f 100644 --- a/deps/http_parser.mk +++ b/deps/http_parser.mk @@ -8,6 +8,9 @@ HTTPPARSER_OBJ_TARGET := $(build_shlibdir)/libhttp_parser.$(SHLIB_EXT) HTTPPARSER_OBJ_SOURCE := $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/libhttp_parser.$(SHLIB_EXT) $(HTTPPARSER_OBJ_SOURCE): $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile +ifeq ($(OS),WINNT) + -cd $(BUILDDIR)/$(HTTPPARSER_SRC_DIR) && patch -p1 -f < $(SRCDIR)/patches/http_parser-win.patch +endif $(MAKE) -C $(dir $<) library $(MAKE_COMMON) touch -c $@ @@ -19,6 +22,9 @@ endif $(HTTPPARSER_OBJ_TARGET): $(HTTPPARSER_OBJ_SOURCE) $(call make-install,$(HTTPPARSER_SRC_DIR), library PREFIX=$(build_staging)/$(HTTPPARSER_SRC_DIR)$(build_prefix)) +ifeq ($(OS),WINNT) + cp $(build_libdir)/libhttp_parser.*.$(SHLIB_EXT) $(HTTPPARSER_OBJ_TARGET) +endif touch -c $(HTTPPARSER_OBJ_TARGET) clean-http_parser: diff --git a/deps/patches/http_parser-win.patch b/deps/patches/http_parser-win.patch new file mode 100644 index 0000000000000..0973658441ebb --- /dev/null +++ b/deps/patches/http_parser-win.patch @@ -0,0 +1,59 @@ +diff --git a/Makefile b/Makefile +index 5f4eb22..983f669 100644 +--- a/Makefile ++++ b/Makefile +@@ -18,18 +18,30 @@ + # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + # IN THE SOFTWARE. + ++VERSION = 2.7.0 + PLATFORM ?= $(shell sh -c 'uname -s | tr "[A-Z]" "[a-z]"') ++ifeq ($(findstring cygwin,$(PLATFORM)), cygwin) ++PLATFORM = winnt ++endif ++ifeq ($(findstring mingw,$(PLATFORM)), mingw) ++PLATFORM = winnt ++endif ++ + HELPER ?= + BINEXT ?= + ifeq (darwin,$(PLATFORM)) +-SONAME ?= libhttp_parser.2.7.0.dylib ++SONAME ?= libhttp_parser.$(VERSION).dylib + SOEXT ?= dylib ++else ifeq (winnt, $(PLATFORM)) ++CC = gcc ++SONAME ?= libhttp_parser.$(VERSION).dll ++SOEXT ?= dll + else ifeq (wine,$(PLATFORM)) + CC = winegcc + BINEXT = .exe.so + HELPER = wine + else +-SONAME ?= libhttp_parser.so.2.7.0 ++SONAME ?= libhttp_parser.so.$(VERSION) + SOEXT ?= so + endif + +@@ -50,7 +62,12 @@ CFLAGS += -Wall -Wextra -Werror + CFLAGS_DEBUG = $(CFLAGS) -O0 -g $(CFLAGS_DEBUG_EXTRA) + CFLAGS_FAST = $(CFLAGS) -O3 $(CFLAGS_FAST_EXTRA) + CFLAGS_BENCH = $(CFLAGS_FAST) -Wno-unused-parameter ++ ++ifeq (winnt, $(PLATFORM)) ++CFLAGS_LIB = $(CFLAGS_FAST) ++else + CFLAGS_LIB = $(CFLAGS_FAST) -fPIC ++endif + + LDFLAGS_LIB = $(LDFLAGS) -shared + +@@ -141,7 +158,7 @@ clean: + rm -f *.o *.a tags test test_fast test_g \ + http_parser.tar libhttp_parser.so.* \ + url_parser url_parser_g parsertrace parsertrace_g \ +- *.exe *.exe.so ++ *.exe *.exe.so *.dll + + contrib/url_parser.c: http_parser.h + contrib/parsertrace.c: http_parser.h From 38561818a0e214dd089f469b0e5370d1acd47ffc Mon Sep 17 00:00:00 2001 From: wildart Date: Tue, 5 Jul 2016 02:35:33 -0400 Subject: [PATCH 30/31] fixing CI scripts --- .travis.yml | 2 +- Make.inc | 1 - contrib/windows/msys_build.sh | 4 ++-- deps/Makefile | 2 -- 4 files changed, 3 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index 1a53d3758529a..4f92f0e314bb4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -83,7 +83,7 @@ before_install: BUILDOPTS="-j3 USECLANG=1 LLVM_CONFIG=$(brew --prefix llvm37-julia)/bin/llvm-config-3.7.1 LLVM_SIZE=$(brew --prefix llvm37-julia)/bin/llvm-size-3.7.1"; BUILDOPTS="$BUILDOPTS VERBOSE=1 USE_BLAS64=0 SUITESPARSE_INC=-I$(brew --prefix suite-sparse-julia)/include FORCE_ASSERTIONS=1 STAGE2_DEPS=utf8proc"; BUILDOPTS="$BUILDOPTS LIBBLAS=-lopenblas LIBBLASNAME=libopenblas LIBLAPACK=-lopenblas LIBLAPACKNAME=libopenblas"; - for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBGIT2; do + for lib in LLVM SUITESPARSE ARPACK BLAS FFTW LAPACK GMP MPFR PCRE LIBUNWIND LIBSSH2 LIBGIT2; do export BUILDOPTS="$BUILDOPTS USE_SYSTEM_$lib=1"; done; export CXXFLAGS=-DUSE_ORCJIT; diff --git a/Make.inc b/Make.inc index de186d78645ba..e4090794cc983 100644 --- a/Make.inc +++ b/Make.inc @@ -40,7 +40,6 @@ USE_SYSTEM_HTTPPARSER:=0 USE_SYSTEM_MBEDTLS:=0 USE_SYSTEM_LIBSSH2:=0 USE_SYSTEM_LIBGIT2:=0 -USE_SYSTEM_MBEDTLSSTREAM:=0 USE_SYSTEM_PATCHELF:=0 # Link to the LLVM shared library diff --git a/contrib/windows/msys_build.sh b/contrib/windows/msys_build.sh index fdb29f7711eed..c4fbf1e9f8074 100755 --- a/contrib/windows/msys_build.sh +++ b/contrib/windows/msys_build.sh @@ -172,8 +172,8 @@ echo 'JULIA_SYSIMG_BUILD_FLAGS=--output-ji ../usr/lib/julia/sys.ji' >> Make.user # libuv since its static lib is no longer included in the binaries # openlibm since we need it as a static library to work properly # utf8proc since its headers are not in the binary download -echo 'override STAGE1_DEPS = libuv' >> Make.user -echo 'override STAGE2_DEPS = utf8proc' >> Make.user +echo 'override STAGE1_DEPS = libuv http_parser mbedtls libssh2' >> Make.user +echo 'override STAGE2_DEPS = utf8proc libgit2' >> Make.user echo 'override STAGE3_DEPS = ' >> Make.user if [ -n "$USEMSVC" ]; then diff --git a/deps/Makefile b/deps/Makefile index fded699ab2d9c..d278d966e1379 100644 --- a/deps/Makefile +++ b/deps/Makefile @@ -199,10 +199,8 @@ STAGE2_DEPS += utf8proc endif ifeq ($(OS), Linux) -ifeq ($(USE_SYSTEM_MBEDTLSSTREAM), 0) STAGE3_DEPS += mbedtlsstream endif -endif # Only compile standalone LAPACK if we are not using OpenBLAS. # OpenBLAS otherwise compiles LAPACK as part of its build. From e689366c32d2c3d7859502b8c8e67ce7a925c265 Mon Sep 17 00:00:00 2001 From: wildart Date: Thu, 7 Jul 2016 13:14:26 -0400 Subject: [PATCH 31/31] setting correct dependencies, fixed patches (temporaty disable parallel build) --- .travis.yml | 2 +- deps/http_parser.mk | 16 +++-- deps/libgit2.mk | 4 +- deps/libssh2.mk | 2 +- deps/mbedtls.mk | 4 +- deps/mbedtlsstream.mk | 2 +- deps/patches/http_parser-win.patch | 99 ++++++++++++++++++++------- deps/patches/libgit2-custom-tls.patch | 62 ++++++++++------- 8 files changed, 129 insertions(+), 62 deletions(-) diff --git a/.travis.yml b/.travis.yml index 4f92f0e314bb4..63a17a0774909 100644 --- a/.travis.yml +++ b/.travis.yml @@ -69,7 +69,7 @@ before_install: ln -s /usr/bin/gcc-5 $HOME/bin/x86_64-linux-gnu-gcc; ln -s /usr/bin/g++-5 $HOME/bin/x86_64-linux-gnu-g++; gcc --version; - BUILDOPTS="-j3 VERBOSE=1 FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1"; + BUILDOPTS="VERBOSE=1 FORCE_ASSERTIONS=1 LLVM_ASSERTIONS=1"; echo "override ARCH=$ARCH" >> Make.user; TESTSTORUN="all"; elif [ `uname` = "Darwin" ]; then diff --git a/deps/http_parser.mk b/deps/http_parser.mk index d6b2e62e33b2f..a0f5a99907bfd 100644 --- a/deps/http_parser.mk +++ b/deps/http_parser.mk @@ -7,10 +7,11 @@ $(eval $(call git-external,http_parser,HTTPPARSER,Makefile,libhttp_parser.$(SHLI HTTPPARSER_OBJ_TARGET := $(build_shlibdir)/libhttp_parser.$(SHLIB_EXT) HTTPPARSER_OBJ_SOURCE := $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/libhttp_parser.$(SHLIB_EXT) -$(HTTPPARSER_OBJ_SOURCE): $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile -ifeq ($(OS),WINNT) +$(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/patched: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile -cd $(BUILDDIR)/$(HTTPPARSER_SRC_DIR) && patch -p1 -f < $(SRCDIR)/patches/http_parser-win.patch -endif + echo 1 > $@ + +$(HTTPPARSER_OBJ_SOURCE): $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/patched $(MAKE) -C $(dir $<) library $(MAKE_COMMON) touch -c $@ @@ -21,18 +22,19 @@ endif echo 1 > $@ $(HTTPPARSER_OBJ_TARGET): $(HTTPPARSER_OBJ_SOURCE) - $(call make-install,$(HTTPPARSER_SRC_DIR), library PREFIX=$(build_staging)/$(HTTPPARSER_SRC_DIR)$(build_prefix)) + $(MAKE) -C $(dir $<) install PREFIX=$(build_prefix) ifeq ($(OS),WINNT) - cp $(build_libdir)/libhttp_parser.*.$(SHLIB_EXT) $(HTTPPARSER_OBJ_TARGET) + cp $(build_libdir)/libhttp_parser.$(SHLIB_EXT) $(HTTPPARSER_OBJ_TARGET) endif touch -c $(HTTPPARSER_OBJ_TARGET) clean-http_parser: + -$(MAKE) -C $(dir $(HTTPPARSER_OBJ_SOURCE)) uninstall PREFIX=$(build_prefix) + -rm -rf $(HTTPPARSER_OBJ_TARGET) -rm -rf $(BUILDDIR)/$(HTTPPARSER_SRC_DIR) - -rm -f $(HTTPPARSER_OBJ_TARGET) get-http_parser: $(HTTPPARSER_SRC_FILE) -configure-http_parser: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/Makefile +configure-http_parser: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/patched compile-http_parser: $(HTTPPARSER_OBJ_SOURCE) check-http_parser: $(BUILDDIR)/$(HTTPPARSER_SRC_DIR)/checked install-http_parser: $(HTTPPARSER_OBJ_TARGET) diff --git a/deps/libgit2.mk b/deps/libgit2.mk index 7a0aecd2dc7bd..2283912f0c638 100644 --- a/deps/libgit2.mk +++ b/deps/libgit2.mk @@ -20,10 +20,10 @@ LIBGIT2_OPTS += -DBUILD_CLAR=OFF -DDLLTOOL=`which $(CROSS_COMPILE)dlltool` LIBGIT2_OPTS += -DCMAKE_FIND_ROOT_PATH=/usr/$(XC_HOST) -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY endif else -LIBGIT2_OPTS += -DUSE_OPENSSL=OFF -DUSE_CUSTOM_TLS=ON -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE +LIBGIT2_OPTS += -DUSE_OPENSSL=OFF -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE endif -$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/CMakeLists.txt +$(BUILDDIR)/$(LIBGIT2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR)/CMakeLists.txt $(HTTPPARSER_OBJ_TARGET) $(LIBSSH2_OBJ_TARGET) ifeq ($(OS),WINNT) -cd $(SRCDIR)/srccache/$(LIBGIT2_SRC_DIR) && patch -p0 -f < $(SRCDIR)/patches/libgit2-ssh.patch else diff --git a/deps/libssh2.mk b/deps/libssh2.mk index 38cc7e6069879..74decfa9682ec 100644 --- a/deps/libssh2.mk +++ b/deps/libssh2.mk @@ -21,7 +21,7 @@ else LIBSSH2_OPTS += -DCRYPTO_BACKEND=mbedTLS -DENABLE_ZLIB_COMPRESSION=ON endif -$(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBSSH2_SRC_DIR)/CMakeLists.txt +$(BUILDDIR)/$(LIBSSH2_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(LIBSSH2_SRC_DIR)/CMakeLists.txt $(MBEDTLS_OBJ_TARGET) mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(LIBSSH2_OPTS) diff --git a/deps/mbedtls.mk b/deps/mbedtls.mk index c0330acf1e1e6..93121d9a59eb5 100644 --- a/deps/mbedtls.mk +++ b/deps/mbedtls.mk @@ -15,13 +15,13 @@ MBEDTLS_OBJ_TARGET := $(build_shlibdir)/libmbedtls.$(SHLIB_EXT) \ $(build_shlibdir)/libmbedcrypto.$(SHLIB_EXT) MBEDTLS_OPTS := $(CMAKE_COMMON) -DUSE_SHARED_MBEDTLS_LIBRARY=ON \ - -DENABLE_PROGRAMS=OFF -DENABLE_TESTING=ON -DCMAKE_BUILD_TYPE=Release \ + -DENABLE_PROGRAMS=OFF -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_RPATH=$(build_prefix) -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE ifeq ($(OS),WINNT) MBEDTLS_OPTS += -DENABLE_ZLIB_SUPPORT=OFF ifeq ($(BUILD_OS),WINNT) -MBEDTLS_OPTS += -G"MSYS Makefiles" +MBEDTLS_OPTS += -G"MSYS Makefiles" -DENABLE_TESTING=OFF endif else MBEDTLS_OPTS += -DENABLE_ZLIB_SUPPORT=ON diff --git a/deps/mbedtlsstream.mk b/deps/mbedtlsstream.mk index 170c770bb7161..b4d690999f444 100644 --- a/deps/mbedtlsstream.mk +++ b/deps/mbedtlsstream.mk @@ -12,7 +12,7 @@ MBEDTLSSTREAM_OPTS := $(CMAKE_COMMON) -DCMAKE_BUILD_TYPE=Release \ -DCMAKE_INSTALL_RPATH=$(build_prefix) \ -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE -$(BUILDDIR)/$(MBEDTLSSTREAM_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLSSTREAM_SRC_DIR)/CMakeLists.txt +$(BUILDDIR)/$(MBEDTLSSTREAM_SRC_DIR)/Makefile: $(SRCDIR)/srccache/$(MBEDTLSSTREAM_SRC_DIR)/CMakeLists.txt $(HTTPPARSER_OBJ_TARGET) $(LIBGIT2_OBJ_TARGET) $(MBEDTLS_OBJ_TARGET) mkdir -p $(dir $@) cd $(dir $@) && \ $(CMAKE) $(dir $<) $(MBEDTLSSTREAM_OPTS) diff --git a/deps/patches/http_parser-win.patch b/deps/patches/http_parser-win.patch index 0973658441ebb..5d5f9b9cafccb 100644 --- a/deps/patches/http_parser-win.patch +++ b/deps/patches/http_parser-win.patch @@ -1,12 +1,8 @@ -diff --git a/Makefile b/Makefile -index 5f4eb22..983f669 100644 ---- a/Makefile -+++ b/Makefile -@@ -18,18 +18,30 @@ - # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS +--- a/Makefile 2016-04-19 10:41:48.000000000 -0400 ++++ b/Makefile 2016-07-06 21:40:44.000000000 -0400 +@@ -19,11 +19,24 @@ # IN THE SOFTWARE. -+VERSION = 2.7.0 PLATFORM ?= $(shell sh -c 'uname -s | tr "[A-Z]" "[a-z]"') +ifeq ($(findstring cygwin,$(PLATFORM)), cygwin) +PLATFORM = winnt @@ -14,33 +10,27 @@ index 5f4eb22..983f669 100644 +ifeq ($(findstring mingw,$(PLATFORM)), mingw) +PLATFORM = winnt +endif ++ifeq ($(findstring msys,$(PLATFORM)), msys) ++PLATFORM = winnt ++endif + HELPER ?= BINEXT ?= ifeq (darwin,$(PLATFORM)) --SONAME ?= libhttp_parser.2.7.0.dylib -+SONAME ?= libhttp_parser.$(VERSION).dylib + SONAME ?= libhttp_parser.2.7.0.dylib SOEXT ?= dylib -+else ifeq (winnt, $(PLATFORM)) -+CC = gcc -+SONAME ?= libhttp_parser.$(VERSION).dll ++else ifeq (winnt,$(PLATFORM)) ++SONAME ?= libhttp_parser-2.7.dll +SOEXT ?= dll else ifeq (wine,$(PLATFORM)) CC = winegcc BINEXT = .exe.so - HELPER = wine - else --SONAME ?= libhttp_parser.so.2.7.0 -+SONAME ?= libhttp_parser.so.$(VERSION) - SOEXT ?= so - endif - -@@ -50,7 +62,12 @@ CFLAGS += -Wall -Wextra -Werror +@@ -50,11 +61,18 @@ CFLAGS_DEBUG = $(CFLAGS) -O0 -g $(CFLAGS_DEBUG_EXTRA) CFLAGS_FAST = $(CFLAGS) -O3 $(CFLAGS_FAST_EXTRA) CFLAGS_BENCH = $(CFLAGS_FAST) -Wno-unused-parameter + -+ifeq (winnt, $(PLATFORM)) ++ifeq (winnt,$(PLATFORM)) +CFLAGS_LIB = $(CFLAGS_FAST) +else CFLAGS_LIB = $(CFLAGS_FAST) -fPIC @@ -48,12 +38,75 @@ index 5f4eb22..983f669 100644 LDFLAGS_LIB = $(LDFLAGS) -shared -@@ -141,7 +158,7 @@ clean: + INSTALL ?= install ++STRIP ?= strip ++ + PREFIX ?= $(DESTDIR)/usr/local + LIBDIR = $(PREFIX)/lib + INCLUDEDIR = $(PREFIX)/include +@@ -64,6 +82,8 @@ + LDFLAGS_LIB += -Wl,-soname=$(SONAME) + endif + ++all: library package ++ + test: test_g test_fast + $(HELPER) ./test_g$(BINEXT) + $(HELPER) ./test_fast$(BINEXT) +@@ -101,10 +121,12 @@ + libhttp_parser.o: http_parser.c http_parser.h Makefile + $(CC) $(CPPFLAGS_FAST) $(CFLAGS_LIB) -c http_parser.c -o libhttp_parser.o + +-library: libhttp_parser.o ++library: $(SONAME) ++$(SONAME): libhttp_parser.o + $(CC) $(LDFLAGS_LIB) -o $(SONAME) $< + +-package: http_parser.o ++package: libhttp_parser.a ++libhttp_parser.a: http_parser.o + $(AR) rcs libhttp_parser.a http_parser.o + + url_parser: http_parser.o contrib/url_parser.c +@@ -122,26 +144,28 @@ + tags: http_parser.c http_parser.h test.c + ctags $^ + +-install: library +- $(INSTALL) -D http_parser.h $(INCLUDEDIR)/http_parser.h +- $(INSTALL) -D $(SONAME) $(LIBDIR)/$(SONAME) +- ln -s $(LIBDIR)/$(SONAME) $(LIBDIR)/libhttp_parser.$(SOEXT) +- +-install-strip: library +- $(INSTALL) -D http_parser.h $(INCLUDEDIR)/http_parser.h +- $(INSTALL) -D -s $(SONAME) $(LIBDIR)/$(SONAME) +- ln -s $(LIBDIR)/$(SONAME) $(LIBDIR)/libhttp_parser.$(SOEXT) ++install: library package ++ $(INSTALL) -d $(DESTDIR)$(INCLUDEDIR) ++ $(INSTALL) -m 0644 http_parser.h $(DESTDIR)$(INCLUDEDIR)/http_parser.h ++ $(INSTALL) -d $(DESTDIR)$(LIBDIR) ++ $(INSTALL) -m 0644 $(SONAME) $(DESTDIR)$(LIBDIR)/$(SONAME) ++ ln -sf $(SONAME) $(DESTDIR)$(LIBDIR)/libhttp_parser.$(SOEXT) ++ $(INSTALL) -m 0644 libhttp_parser.a $(DESTDIR)$(LIBDIR)/libhttp_parser.a ++ ++install-strip: install ++ $(STRIP) $(DESTDIR)$(LIBDIR)/$(SONAME) + + uninstall: +- rm $(INCLUDEDIR)/http_parser.h +- rm $(LIBDIR)/$(SONAME) +- rm $(LIBDIR)/libhttp_parser.so ++ rm $(DESTDIR)$(INCLUDEDIR)/http_parser.h ++ rm $(DESTDIR)$(LIBDIR)/$(SONAME) ++ rm $(DEstdiR)$(LIBDIR)/libhttp_parser.$(SOEXT) ++ rm $(DEstdiR)$(LIBDIR)/libhttp_parser.a + + clean: rm -f *.o *.a tags test test_fast test_g \ http_parser.tar libhttp_parser.so.* \ url_parser url_parser_g parsertrace parsertrace_g \ - *.exe *.exe.so -+ *.exe *.exe.so *.dll ++ *.exe.so *.dll contrib/url_parser.c: http_parser.h contrib/parsertrace.c: http_parser.h diff --git a/deps/patches/libgit2-custom-tls.patch b/deps/patches/libgit2-custom-tls.patch index 43abcbfacd113..cb06fe3e512a6 100644 --- a/deps/patches/libgit2-custom-tls.patch +++ b/deps/patches/libgit2-custom-tls.patch @@ -1,53 +1,65 @@ -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 93a9e47..75fe5ef 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -542,6 +542,9 @@ IF (OPENSSL_FOUND) - SET(SSL_LIBRARIES ${OPENSSL_LIBRARIES}) - ENDIF() - -+IF (USE_CUSTOM_TLS) -+ ADD_DEFINITIONS(-DGIT_CUSTOM_TLS) -+ENDIF() - - - IF (THREADSAFE) diff --git a/src/settings.c b/src/settings.c -index 00a3ef0..61e0199 100644 +index 00a3ef0..21430bc 100644 --- a/src/settings.c +++ b/src/settings.c -@@ -29,7 +29,7 @@ int git_libgit2_features(void) +@@ -29,9 +29,7 @@ int git_libgit2_features(void) #ifdef GIT_THREADS | GIT_FEATURE_THREADS #endif -#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) -+#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) || defined(GIT_CUSTOM_TLS) | GIT_FEATURE_HTTPS - #endif +-#endif #if defined(GIT_SSH) + | GIT_FEATURE_SSH + #endif diff --git a/src/transport.c b/src/transport.c -index 327052f..c4f3254 100644 +index 327052f..32f8464 100644 --- a/src/transport.c +++ b/src/transport.c -@@ -29,7 +29,7 @@ static transport_definition local_transport_definition = { "file://", git_transp +@@ -29,9 +29,7 @@ static transport_definition local_transport_definition = { "file://", git_transp static transport_definition transports[] = { { "git://", git_transport_smart, &git_subtransport_definition }, { "http://", git_transport_smart, &http_subtransport_definition }, -#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) -+#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) || defined(GIT_CUSTOM_TLS) { "https://", git_transport_smart, &http_subtransport_definition }, - #endif +-#endif { "file://", git_transport_local, NULL }, + #ifdef GIT_SSH + { "ssh://", git_transport_smart, &ssh_subtransport_definition }, diff --git a/src/transports/http.c b/src/transports/http.c -index 4fbbfbb..9ef05c6 100644 +index 4fbbfbb..30520a0 100644 --- a/src/transports/http.c +++ b/src/transports/http.c -@@ -620,7 +620,7 @@ static int http_connect(http_subtransport *t) +@@ -620,7 +620,6 @@ static int http_connect(http_subtransport *t) error = git_stream_connect(t->io); -#if defined(GIT_OPENSSL) || defined(GIT_SECURE_TRANSPORT) || defined(GIT_CURL) -+#if defined(GIT_OPENSSL) || defined(GIT_SECURE_TRANSPORT) || defined(GIT_CURL) || defined(GIT_CUSTOM_TLS) if ((!error || error == GIT_ECERTIFICATE) && t->owner->certificate_check_cb != NULL && git_stream_is_encrypted(t->io)) { git_cert *cert; +@@ -640,7 +639,7 @@ static int http_connect(http_subtransport *t) + return error; + } + } +-#endif ++ + if (error < 0) + return error; + +diff --git a/tests/core/features.c b/tests/core/features.c +index 85cddfe..cf5e190 100644 +--- a/tests/core/features.c ++++ b/tests/core/features.c +@@ -17,11 +17,7 @@ void test_core_features__0(void) + cl_assert((caps & GIT_FEATURE_THREADS) == 0); + #endif + +-#if defined(GIT_OPENSSL) || defined(GIT_WINHTTP) || defined(GIT_SECURE_TRANSPORT) + cl_assert((caps & GIT_FEATURE_HTTPS) != 0); +-#else +- cl_assert((caps & GIT_FEATURE_HTTPS) == 0); +-#endif + + #if defined(GIT_SSH) + cl_assert((caps & GIT_FEATURE_SSH) != 0);