]> granicus.if.org Git - curl/commitdiff
winbuild: add mbedtls support
authorHenrik Gaßmann <henrik@gassmann.onl>
Thu, 21 Apr 2016 21:23:49 +0000 (23:23 +0200)
committerDaniel Stenberg <daniel@haxx.se>
Thu, 21 Apr 2016 21:23:49 +0000 (23:23 +0200)
Add WITH_MBEDTLS option. Make WITH_SSL, WITH_MBEDTLS and ENABLE_WINSSL
options mutual exclusive.

Closes #606

winbuild/BUILD.WINDOWS.txt
winbuild/Makefile.vc
winbuild/MakefileBuild.vc

index 0d60b967051d46ec6842d963f8ae9ff92f57b362..51674d772153875bd8b34d7c94291d73a676a6d4 100644 (file)
@@ -64,6 +64,7 @@ where <options> is one or many of:
                                  Libraries can be fetched at http://windows.php.net/downloads/php-sdk/deps/\r
                                  Uncompress them into the deps folder.\r
   WITH_SSL=<dll or static>     - Enable OpenSSL support, DLL or static\r
+  WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static\r
   WITH_CARES=<dll or static>   - Enable c-ares support, DLL or static\r
   WITH_ZLIB=<dll or static>    - Enable zlib support, DLL or static\r
   WITH_SSH2=<dll or static>    - Enable libSSH2 support, DLL or static\r
index 4f90e4a2a310626573fd3f916f5fb05b26b5bd92..9e1eb07d0a504f13312e079808e06056834ac756 100644 (file)
@@ -24,6 +24,7 @@ CFGSET=true
 !MESSAGE   WITH_CARES=<dll or static>   - Enable c-ares support, DLL or static
 !MESSAGE   WITH_ZLIB=<dll or static>    - Enable zlib support, DLL or static
 !MESSAGE   WITH_SSH2=<dll or static>    - Enable libSSH2 support, DLL or static
+!MESSAGE   WITH_MBEDTLS=<dll or static> - Enable mbedTLS support, DLL or static
 !MESSAGE   ENABLE_IDN=<yes or no>       - Enable use of Windows IDN APIs, defaults to yes
 !MESSAGE                                  Requires Windows Vista or later, or installation from:
 !MESSAGE                                  https://www.microsoft.com/en-us/download/details.aspx?id=734
@@ -37,6 +38,10 @@ CFGSET=true
 
 !ENDIF
 
+!IF DEFINED(WITH_SSL) && DEFINED(ENABLE_WINSSL) || DEFINED(WITH_SSL) && DEFINED(WITH_MBEDTLS) || DEFINED(WITH_MBEDTLS) && DEFINED(ENABLE_WINSSL)
+!ERROR WITH_SSL, WITH_MBEDTLS and ENABLE_WINSSL are mutual exclusive options.
+!ENDIF
+
 !INCLUDE "../lib/Makefile.inc"
 LIBCURL_OBJS=$(CSOURCES:.c=.obj)
 
@@ -87,7 +92,7 @@ USE_SSPI = false
 !ENDIF
 
 !IFNDEF ENABLE_WINSSL
-!IFDEF WITH_SSL
+!IF DEFINED(WITH_SSL) || DEFINED(WITH_MBEDTLS)
 USE_WINSSL = false
 !ELSE
 USE_WINSSL = $(USE_SSPI)
@@ -108,6 +113,11 @@ USE_SSL = true
 SSL     = static
 !ENDIF
 
+!IF "$(WITH_MBEDTLS)"=="dll" || "$(WITH_MBEDTLS)"=="static"
+USE_MBEDTLS = true
+MBEDTLS     = $(WITH_MBEDTLS)
+!ENDIF
+
 !IF "$(WITH_CARES)"=="dll"
 USE_CARES = true
 CARES     = dll
@@ -150,6 +160,10 @@ CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-static
 CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-ssl-$(SSL)
 !ENDIF
 
+!IF "$(USE_MBEDTLS)"=="true"
+CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-mbedtls-$(MBEDTLS)
+!ENDIF
+
 !IF "$(USE_CARES)"=="true"
 CONFIG_NAME_LIB = $(CONFIG_NAME_LIB)-cares-$(CARES)
 !ENDIF
index d631204fe3205387c1e32cca33dccb63955e2872..ee584a6fdc3255cc79e5f047c4f307a938bc07e2 100644 (file)
@@ -5,7 +5,7 @@
 #                            | (__| |_| |  _ <| |___\r
 #                             \___|\___/|_| \_\_____|\r
 #\r
-# Copyright (C) 1999 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.\r
+# Copyright (C) 1999 - 2016, Daniel Stenberg, <daniel@haxx.se>, et al.\r
 #\r
 # This software is licensed as described in the file COPYING, which\r
 # you should have received as part of this distribution. The terms\r
@@ -121,6 +121,14 @@ SSL          = static
 SSL_CFLAGS   = /DUSE_OPENSSL /I"$(DEVEL_INCLUDE)/openssl"\r
 !ENDIF\r
 \r
+!IF "$(WITH_MBEDTLS)"=="dll" || "$(WITH_MBEDTLS)"=="static"\r
+USE_MBEDTLS    = true\r
+MBEDTLS        = $(WITH_MBEDTLS)\r
+MBEDTLS_CFLAGS = /DUSE_MBEDTLS\r
+MBEDTLS_LIBS   = mbedtls.lib mbedcrypto.lib mbedx509.lib\r
+!ENDIF\r
+\r
+\r
 !IF "$(WITH_CARES)"=="dll"\r
 !IF "$(DEBUG)"=="yes"\r
 CARES_LIBS     = caresd.lib\r
@@ -318,6 +326,11 @@ CFLAGS = $(CFLAGS) $(SSL_CFLAGS)
 LFLAGS = $(LFLAGS) $(SSL_LFLAGS) $(SSL_LIBS)\r
 !ENDIF\r
 \r
+!IF "$(USE_MBEDTLS)"=="true"\r
+CFLAGS = $(CFLAGS) $(MBEDTLS_CFLAGS)\r
+LFLAGS = $(LFLAGS) $(MBEDTLS_LFLAGS) $(MBEDTLS_LIBS)\r
+!ENDIF\r
+\r
 !IF "$(USE_CARES)"=="true"\r
 CFLAGS = $(CFLAGS) $(CARES_CFLAGS)\r
 LFLAGS = $(LFLAGS) $(CARES_LFLAGS) $(CARES_LIBS)\r