]> granicus.if.org Git - transmission/commitdiff
Add the rest of current Windows-related third-party patches
authorMike Gelfand <mikedld@mikedld.com>
Fri, 6 Nov 2015 20:47:52 +0000 (20:47 +0000)
committerMike Gelfand <mikedld@mikedld.com>
Fri, 6 Nov 2015 20:47:52 +0000 (20:47 +0000)
CMakeLists.txt
third-party/event2-01-win32.patch [new file with mode: 0644]
third-party/utp-02-win32.patch [new file with mode: 0644]
third-party/utp-03-msvc14.patch [new file with mode: 0644]

index e402524b1246ba0023e098b86896a906ef9b18eb..a827a5dd3ee8ac65a7459dcf070af56e26f3cd82 100644 (file)
@@ -247,7 +247,8 @@ set(THIRD_PARTY_DIR ${CMAKE_SOURCE_DIR}/third-party)
 
 if(WIN32)
     tr_add_external_auto_library(EVENT2 event
-        PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/event2.cmake" "<SOURCE_DIR>/CMakeLists.txt")
+        PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/event2.cmake" "<SOURCE_DIR>/CMakeLists.txt"
+              COMMAND "${CMAKE_COMMAND}" -E chdir "<SOURCE_DIR>" patch -p1 -i "${THIRD_PARTY_DIR}/event2-01-win32.patch")
 else()
     tr_add_external_auto_library(EVENT2 event
         BUILD_IN_SOURCE 1
@@ -287,7 +288,9 @@ if(ENABLE_UTP)
     tr_add_external_auto_library(UTP utp
         PATCH_COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/utp.cmake" "<SOURCE_DIR>/CMakeLists.txt"
               COMMAND "${CMAKE_COMMAND}" -E copy "${THIRD_PARTY_DIR}/utp_config.h" "<SOURCE_DIR>/utp_config.h"
-              COMMAND "${CMAKE_COMMAND}" -E chdir "<SOURCE_DIR>" patch -p1 --binary -i "${THIRD_PARTY_DIR}/utp-01-ticket-5002.patch")
+              COMMAND "${CMAKE_COMMAND}" -E chdir "<SOURCE_DIR>" patch -p1 --binary -i "${THIRD_PARTY_DIR}/utp-01-ticket-5002.patch"
+              COMMAND "${CMAKE_COMMAND}" -E chdir "<SOURCE_DIR>" patch -p1 --binary -i "${THIRD_PARTY_DIR}/utp-02-win32.patch"
+              COMMAND "${CMAKE_COMMAND}" -E chdir "<SOURCE_DIR>" patch -p1 --binary -i "${THIRD_PARTY_DIR}/utp-03-msvc14.patch")
 endif()
 
 tr_add_external_auto_library(B64 b64
diff --git a/third-party/event2-01-win32.patch b/third-party/event2-01-win32.patch
new file mode 100644 (file)
index 0000000..a75ca0c
--- /dev/null
@@ -0,0 +1,14 @@
+diff --git a/WIN32-Code/event2/event-config.h b/WIN32-Code/event2/event-config.h
+--- a/WIN32-Code/event2/event-config.h
++++ b/WIN32-Code/event2/event-config.h
+@@ -167,7 +167,9 @@
+ /* #undef _EVENT_HAVE_STRSEP */
+ /* Define to 1 if you have the `strtok_r' function. */
+-/* #undef _EVENT_HAVE_STRTOK_R */
++#if defined(__MINGW32__) || defined(__MINGW64__)
++#define _EVENT_HAVE_STRTOK_R 1
++#endif
+ /* Define to 1 if you have the `strtoll' function. */
+ /* #define _EVENT_HAVE_STRTOLL 1 */
diff --git a/third-party/utp-02-win32.patch b/third-party/utp-02-win32.patch
new file mode 100644 (file)
index 0000000..fa3fa3f
--- /dev/null
@@ -0,0 +1,31 @@
+diff --git a/utp.h b/utp.h
+--- a/utp.h
++++ b/utp.h
+@@ -4,12 +4,18 @@
+ #include "utypes.h"\r
\r
+ #ifdef WIN32\r
++#ifndef _CRT_SECURE_NO_DEPRECATE\r
+ #define _CRT_SECURE_NO_DEPRECATE\r
++#endif\r
++#ifndef WIN32_LEAN_AND_MEAN\r
+ #define WIN32_LEAN_AND_MEAN\r
++#endif\r
+ #include <windows.h>\r
+ #include <winsock2.h>\r
+ #include <ws2tcpip.h>\r
++#ifdef _MSC_VER\r
+ #pragma comment(lib,"ws2_32.lib")\r
++#endif\r
+ #else\r
+ #include <stdlib.h>\r
+ #include <sys/types.h>\r
+@@ -142,7 +148,7 @@
+ };\r
\r
+ // Get stats for UTP socket\r
+-void UTP_GetStats(struct UTPSocket *socket, UTPStats *stats);\r
++void UTP_GetStats(struct UTPSocket *socket, struct UTPStats *stats);\r
+ #endif\r
\r
+ // Close the UTP socket.\r
diff --git a/third-party/utp-03-msvc14.patch b/third-party/utp-03-msvc14.patch
new file mode 100644 (file)
index 0000000..0297101
--- /dev/null
@@ -0,0 +1,30 @@
+diff --git a/utp.cpp b/utp.cpp
+--- a/utp.cpp
++++ b/utp.cpp
+@@ -859,7 +859,7 @@
+       int flags = version == 0 ? b->flags : b1->type();\r
+       uint16 seq_nr = version == 0 ? b->seq_nr : b1->seq_nr;\r
+       uint16 ack_nr = version == 0 ? b->ack_nr : b1->ack_nr;\r
+-      LOG_UTPV("0x%08x: send %s len:%u id:%u timestamp:"I64u" reply_micro:%u flags:%s seq_nr:%u ack_nr:%u",\r
++      LOG_UTPV("0x%08x: send %s len:%u id:%u timestamp:" I64u " reply_micro:%u flags:%s seq_nr:%u ack_nr:%u",\r
+                        this, addrfmt(addr, addrbuf), (uint)length, conn_id_send, time, reply_micro, flagnames[flags],\r
+                        seq_nr, ack_nr);\r
+ #endif\r
+@@ -1705,7 +1705,7 @@
+       // used in parse_log.py\r
+       LOG_UTP("0x%08x: actual_delay:%u our_delay:%d their_delay:%u off_target:%d max_window:%u "\r
+                       "delay_base:%u delay_sum:%d target_delay:%d acked_bytes:%u cur_window:%u "\r
+-                      "scaled_gain:%f rtt:%u rate:%u quota:%d wnduser:%u rto:%u timeout:%d get_microseconds:"I64u" "\r
++                      "scaled_gain:%f rtt:%u rate:%u quota:%d wnduser:%u rto:%u timeout:%d get_microseconds:" I64u " "\r
+                       "cur_window_packets:%u packet_size:%u their_delay_base:%u their_actual_delay:%u",\r
+                       this, actual_delay, our_delay / 1000, their_hist.get_value() / 1000,\r
+                       (int)off_target / 1000, (uint)(max_window),  our_hist.delay_base,\r
+@@ -1790,7 +1790,7 @@
\r
+       if (pk_flags >= ST_NUM_STATES) return 0;\r
\r
+-      LOG_UTPV("0x%08x: Got %s. seq_nr:%u ack_nr:%u state:%s version:%u timestamp:"I64u" reply_micro:%u",\r
++      LOG_UTPV("0x%08x: Got %s. seq_nr:%u ack_nr:%u state:%s version:%u timestamp:" I64u " reply_micro:%u",\r
+                        conn, flagnames[pk_flags], pk_seq_nr, pk_ack_nr, statenames[conn->state], conn->version,\r
+                        conn->version == 0?(uint64)(pf->tv_sec) * 1000000 + pf->tv_usec:uint64(pf1->tv_usec),\r
+                        conn->version == 0?(uint32)(pf->reply_micro):(uint32)(pf1->reply_micro));\r