Imported Upstream version 7.50.2
[platform/upstream/curl.git] / winbuild / MakefileBuild.vc
index 44076b9..3b4fc10 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
@@ -47,13 +47,19 @@ CFGSET=FALSE
 WINBUILD_DIR=`cd`\r
 ZIP        = zip.exe\r
 \r
+# Allow changing C compiler via environment variable CC (default cl.exe)\r
+# This command macro is not set by default: https://msdn.microsoft.com/en-us/library/ms933742.aspx\r
+!If "$(CC)" == ""\r
+CC = cl.exe\r
+!Endif\r
+\r
 !IF "$(VC)"=="6"\r
-CC_NODEBUG  = cl.exe /O2 /DNDEBUG\r
-CC_DEBUG    = cl.exe /Od /Gm /Zi /D_DEBUG /GZ\r
+CC_NODEBUG  = $(CC) /O2 /DNDEBUG\r
+CC_DEBUG    = $(CC) /Od /Gm /Zi /D_DEBUG /GZ\r
 CFLAGS     = /I. /I../lib /I../include /nologo /W3 /GX /DWIN32 /YX /FD /c /DBUILDING_LIBCURL\r
 !ELSE\r
-CC_NODEBUG  = cl.exe /O2 /DNDEBUG\r
-CC_DEBUG    = cl.exe /Od /D_DEBUG /RTC1 /Z7 /LDd /W3\r
+CC_NODEBUG  = $(CC) /O2 /DNDEBUG\r
+CC_DEBUG    = $(CC) /Od /D_DEBUG /RTC1 /Z7 /LDd /W3\r
 CFLAGS      = /I. /I ../lib /I../include /nologo /W3 /EHsc /DWIN32 /FD /c /DBUILDING_LIBCURL\r
 !ENDIF\r
 \r
@@ -121,6 +127,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
@@ -224,6 +238,7 @@ USE_WINSSL  = true
 !ERROR cannot build with WinSSL without SSPI\r
 !ENDIF\r
 SSPI_CFLAGS = $(SSPI_CFLAGS) /DUSE_SCHANNEL\r
+WIN_LIBS    = $(WIN_LIBS) Crypt32.lib\r
 !ENDIF\r
 \r
 \r
@@ -232,7 +247,7 @@ GEN_PDB = true
 !ENDIF\r
 \r
 \r
-!IFDEF EMBEND_MANIFEST\r
+!IFDEF EMBED_MANIFEST\r
 MANIFESTTOOL = mt -manifest $(DIRDIST)\$(PROGRAM_NAME).manifest -outputresource:$(DIRDIST)\$(PROGRAM_NAME);1\r
 !ENDIF\r
 \r
@@ -267,20 +282,14 @@ CFGSET = true
 \r
 !IF "$(DEBUG)"=="yes"\r
 RC_FLAGS = /dDEBUGBUILD=1 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc\r
-CC              = $(CC_DEBUG) $(RTLIB_DEBUG)\r
-\r
-CURL_CC         = $(CC)\r
+CURL_CC       = $(CC_DEBUG) $(RTLIB_DEBUG)\r
 CURL_RC_FLAGS = /i../include /dDEBUGBUILD=1 /Fo $@ $(CURL_SRC_DIR)\curl.rc\r
 !ELSE\r
 RC_FLAGS = /dDEBUGBUILD=0 /Fo $@ $(LIBCURL_SRC_DIR)\libcurl.rc\r
-CC              = $(CC_NODEBUG) $(RTLIB)\r
-\r
-CURL_CC         = $(CC)\r
+CURL_CC       = $(CC_NODEBUG) $(RTLIB)\r
 CURL_RC_FLAGS = /i../include /dDEBUGBUILD=0 /Fo $@ $(CURL_SRC_DIR)\curl.rc\r
 !ENDIF\r
 \r
-CURL_CC = $(CURL_CC) $(CURL_CFLAGS)\r
-\r
 !IF "$(AS_DLL)" == "true"\r
 \r
 LNK       = $(LNKDLL) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)\r
@@ -308,7 +317,7 @@ TARGET   = $(LIB_NAME_STATIC)
 PDB      = $(PDB_NAME_STATIC)\r
 !ENDIF\r
 LNK      = $(LNKLIB) $(WIN_LIBS) /out:$(LIB_DIROBJ)\$(TARGET)\r
-CC       = $(CC) $(CFLAGS_LIBCURL_STATIC)\r
+CURL_CC  = $(CURL_CC) $(CFLAGS_LIBCURL_STATIC)\r
 \r
 # AS_DLL\r
 !ENDIF\r
@@ -318,6 +327,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
@@ -436,6 +450,7 @@ $(DIRDIST):
 \r
 $(LIB_DIROBJ):\r
        @if not exist "$(LIB_DIROBJ)" mkdir $(LIB_DIROBJ)\r
+       @if not exist "$(LIB_DIROBJ)\vauth" mkdir $(LIB_DIROBJ)\vauth\r
        @if not exist "$(LIB_DIROBJ)\vtls" mkdir $(LIB_DIROBJ)\vtls\r
 \r
 $(CURL_DIROBJ):\r
@@ -447,10 +462,13 @@ $(CURL_DIROBJ):
 .SUFFIXES: .c .obj .res\r
 \r
 {$(LIBCURL_SRC_DIR)\}.c{$(LIB_DIROBJ)\}.obj:\r
-       $(CC) $(CFLAGS) /Fo"$@"  $<\r
+       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
+\r
+{$(LIBCURL_SRC_DIR)\vauth\}.c{$(LIB_DIROBJ)\vauth\}.obj:\r
+       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
 \r
 {$(LIBCURL_SRC_DIR)\vtls\}.c{$(LIB_DIROBJ)\vtls\}.obj:\r
-       $(CC) $(CFLAGS) /Fo"$@"  $<\r
+       $(CURL_CC) $(CFLAGS) /Fo"$@"  $<\r
 \r
 $(LIB_DIROBJ)\libcurl.res: $(LIBCURL_SRC_DIR)\libcurl.rc\r
        rc $(RC_FLAGS)\r
@@ -485,7 +503,7 @@ $(PROGRAM_NAME): $(CURL_DIROBJ) $(CURL_FROM_LIBCURL) $(EXE_OBJS)
        $(MANIFESTTOOL)\r
 \r
 {$(CURL_SRC_DIR)\}.c{$(CURL_DIROBJ)\}.obj:\r
-       $(CC) $(CURL_CFLAGS) /Fo"$@"  $<\r
+       $(CURL_CC) $(CURL_CFLAGS) /Fo"$@"  $<\r
 \r
 $(CURL_DIROBJ)\tool_hugehelp.obj: $(CURL_SRC_DIR)\tool_hugehelp.c\r
        $(CURL_CC) $(CURL_CFLAGS) /Zm200 /Fo"$@" $(CURL_SRC_DIR)\tool_hugehelp.c\r