Merge pull request #528 from stammen/curl-uwp

CURL: added support for building uwp versions
This commit is contained in:
Robert Schumacher 2017-01-13 15:38:57 -08:00
commit 6f593cf3e2
3 changed files with 139 additions and 11 deletions

View File

@ -0,0 +1,109 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ed3f38a..d6480b7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1010,7 +1010,9 @@ include(CMake/OtherTests.cmake)
add_definitions(-DHAVE_CONFIG_H)
# For windows, do not allow the compiler to use default target (Vista).
-if(WIN32)
+if(CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
+ add_definitions(-D_WIN32_WINNT=0x0A00 -DHAVE_STRUCT_POLLFD -D_WINSOCK_DEPRECATED_NO_WARNINGS)
+elseif(WIN32)
add_definitions(-D_WIN32_WINNT=0x0501)
endif(WIN32)
diff --git a/lib/curl_gethostname.c b/lib/curl_gethostname.c
index 2591fd8..cef38ac 100644
--- a/lib/curl_gethostname.c
+++ b/lib/curl_gethostname.c
@@ -21,6 +21,7 @@
***************************************************************************/
#include "curl_setup.h"
+#include "curl/curl.h"
#include "curl_gethostname.h"
@@ -64,9 +65,10 @@ int Curl_gethostname(char *name, GETHOSTNAME_TYPE_ARG2 namelen) {
#ifdef DEBUGBUILD
/* Override host name when environment variable CURL_GETHOSTNAME is set */
- const char *force_hostname = getenv("CURL_GETHOSTNAME");
+ char *force_hostname = curl_getenv("CURL_GETHOSTNAME");
if(force_hostname) {
strncpy(name, force_hostname, namelen);
+ free(force_hostname);
err = 0;
}
else {
diff --git a/lib/curl_ntlm_core.c b/lib/curl_ntlm_core.c
index 812a073..02c8416 100644
--- a/lib/curl_ntlm_core.c
+++ b/lib/curl_ntlm_core.c
@@ -696,9 +696,12 @@ CURLcode Curl_ntlm_core_mk_ntlmv2_resp(unsigned char *ntlmv2hash,
/* Calculate the timestamp */
#ifdef DEBUGBUILD
- char *force_timestamp = getenv("CURL_FORCETIME");
- if(force_timestamp)
+ char *force_timestamp = curl_getenv("CURL_FORCETIME");
+ if (force_timestamp)
+ {
tw = CURL_OFF_T_C(11644473600) * 10000000;
+ free(force_timestamp);
+ }
else
#endif
tw = ((curl_off_t)time(NULL) + CURL_OFF_T_C(11644473600)) * 10000000;
diff --git a/lib/ftp.c b/lib/ftp.c
index b231731..d50779f 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -3250,7 +3250,7 @@ static CURLcode ftp_done(struct connectdata *conn, CURLcode status,
ssize_t nread;
int ftpcode;
CURLcode result = CURLE_OK;
- char *path;
+ char *path = NULL;
const char *path_to_use = data->state.path;
if(!ftp)
diff --git a/lib/smb.c b/lib/smb.c
index 7cb0c96..2f43d3c 100644
--- a/lib/smb.c
+++ b/lib/smb.c
@@ -32,8 +32,12 @@
#ifdef HAVE_PROCESS_H
#include <process.h>
+#if defined(CURL_WINDOWS_APP)
+#define getpid GetCurrentProcessId
+#else
#define getpid _getpid
#endif
+#endif
#include "smb.h"
#include "urldata.h"
diff --git a/lib/vtls/vtls.c b/lib/vtls/vtls.c
index 56a8823..5a895ed 100644
--- a/lib/vtls/vtls.c
+++ b/lib/vtls/vtls.c
@@ -197,7 +197,7 @@ unsigned int Curl_rand(struct Curl_easy *data)
static bool seeded = FALSE;
#ifdef CURLDEBUG
- char *force_entropy = getenv("CURL_ENTROPY");
+ char *force_entropy = curl_getenv("CURL_ENTROPY");
if(force_entropy) {
if(!seeded) {
size_t elen = strlen(force_entropy);
@@ -208,6 +208,7 @@ unsigned int Curl_rand(struct Curl_easy *data)
}
else
randseed++;
+ free(force_entropy);
return randseed;
}
#endif

View File

@ -1,4 +1,4 @@
Source: curl
Version: 7.51.0-2
Version: 7.51.0-3
Build-Depends: zlib, openssl, libssh2
Description: A library for transferring data with URLs

View File

@ -11,6 +11,7 @@ vcpkg_apply_patches(
SOURCE_PATH ${SOURCE_PATH}
PATCHES
${CMAKE_CURRENT_LIST_DIR}/0001_cmake.patch
${CMAKE_CURRENT_LIST_DIR}/0002_fix_uwp.patch
)
if (VCPKG_CRT_LINKAGE STREQUAL dynamic)
@ -19,16 +20,34 @@ else()
SET(CURL_STATICLIB ON)
endif()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DBUILD_TESTING=OFF
-DBUILD_CURL_EXE=OFF
-DENABLE_MANUAL=OFF
-DCURL_STATICLIB=${CURL_STATICLIB}
OPTIONS_DEBUG
-DENABLE_DEBUG=ON
)
if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DBUILD_TESTING=OFF
-DBUILD_CURL_EXE=OFF
-DENABLE_MANUAL=OFF
-DUSE_WIN32_LDAP=OFF
-DCURL_DISABLE_TELNET=ON
-DENABLE_IPV6=OFF
-DENABLE_UNIX_SOCKETS=OFF
-DCMAKE_USE_OPENSSL=ON
-DCURL_STATICLIB=${CURL_STATICLIB}
OPTIONS_DEBUG
-DENABLE_DEBUG=ON
)
else()
vcpkg_configure_cmake(
SOURCE_PATH ${SOURCE_PATH}
OPTIONS
-DBUILD_TESTING=OFF
-DBUILD_CURL_EXE=OFF
-DENABLE_MANUAL=OFF
-DCURL_STATICLIB=${CURL_STATICLIB}
OPTIONS_DEBUG
-DENABLE_DEBUG=ON
)
endif()
vcpkg_install_cmake()