Enable Winsock 2 and IPv6 build options by default

In addition to linking with Winsock 2, also use winsock2.h.

This allows to turn on IPv6 support on by default under MSW, so turn it
on under Unix too for consistency.

Predefine _WINSOCK_DEPRECATED_NO_WARNINGS to avoid warnings about
deprecated (but still available and very unlikely to be ever removed)
Winsock 1 functions that we still use.
This commit is contained in:
Vadim Zeitlin
2021-04-24 18:03:04 +01:00
parent 1dfc18a004
commit bf5090bcf3
10 changed files with 32 additions and 55 deletions

View File

@@ -343,7 +343,6 @@ DEFAULT_wxUSE_CAIRO=no
dnl features disabled by default dnl features disabled by default
DEFAULT_wxUSE_ACCESSIBILITY=no DEFAULT_wxUSE_ACCESSIBILITY=no
DEFAULT_wxUSE_IPV6=no
DEFAULT_wxUSE_UNICODE_UTF8=no DEFAULT_wxUSE_UNICODE_UTF8=no
DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no DEFAULT_wxUSE_UNICODE_UTF8_LOCALE=no

View File

@@ -561,14 +561,10 @@
// Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS) // Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS)
// //
// Notice that currently setting this option under Windows will result in
// programs which can only run on recent OS versions (with ws2_32.dll
// installed) which is why it is disabled by default.
//
// Default is 1. // Default is 1.
// //
// Recommended setting: 1 if you need IPv6 support // Recommended setting: 1.
#define wxUSE_IPV6 0 #define wxUSE_IPV6 1
// Set to 1 to enable virtual file systems (required by wxHTML) // Set to 1 to enable virtual file systems (required by wxHTML)
#define wxUSE_FILESYSTEM 1 #define wxUSE_FILESYSTEM 1

View File

@@ -562,14 +562,10 @@
// Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS) // Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS)
// //
// Notice that currently setting this option under Windows will result in
// programs which can only run on recent OS versions (with ws2_32.dll
// installed) which is why it is disabled by default.
//
// Default is 1. // Default is 1.
// //
// Recommended setting: 1 if you need IPv6 support // Recommended setting: 1.
#define wxUSE_IPV6 0 #define wxUSE_IPV6 1
// Set to 1 to enable virtual file systems (required by wxHTML) // Set to 1 to enable virtual file systems (required by wxHTML)
#define wxUSE_FILESYSTEM 1 #define wxUSE_FILESYSTEM 1
@@ -1772,12 +1768,12 @@
// Recommended setting: 0, nobody uses .INI files any more // Recommended setting: 0, nobody uses .INI files any more
#define wxUSE_INICONF 0 #define wxUSE_INICONF 0
// Set to 1 if you need to include <winsock2.h> over <winsock.h> // Set to 0 if you need to include <winsock.h> rather than <winsock2.h>
// //
// Default is 0. // Default is 1.
// //
// Recommended setting: 0, set to 1 automatically if wxUSE_IPV6 is 1. // Recommended setting: 1, required to be 1 if wxUSE_IPV6 is 1.
#define wxUSE_WINSOCK2 0 #define wxUSE_WINSOCK2 1
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// Generic versions of native controls // Generic versions of native controls

View File

@@ -562,14 +562,10 @@
// Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS) // Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS)
// //
// Notice that currently setting this option under Windows will result in
// programs which can only run on recent OS versions (with ws2_32.dll
// installed) which is why it is disabled by default.
//
// Default is 1. // Default is 1.
// //
// Recommended setting: 1 if you need IPv6 support // Recommended setting: 1.
#define wxUSE_IPV6 0 #define wxUSE_IPV6 1
// Set to 1 to enable virtual file systems (required by wxHTML) // Set to 1 to enable virtual file systems (required by wxHTML)
#define wxUSE_FILESYSTEM 1 #define wxUSE_FILESYSTEM 1

View File

@@ -562,14 +562,10 @@
// Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS) // Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS)
// //
// Notice that currently setting this option under Windows will result in
// programs which can only run on recent OS versions (with ws2_32.dll
// installed) which is why it is disabled by default.
//
// Default is 1. // Default is 1.
// //
// Recommended setting: 1 if you need IPv6 support // Recommended setting: 1.
#define wxUSE_IPV6 0 #define wxUSE_IPV6 1
// Set to 1 to enable virtual file systems (required by wxHTML) // Set to 1 to enable virtual file systems (required by wxHTML)
#define wxUSE_FILESYSTEM 1 #define wxUSE_FILESYSTEM 1
@@ -1772,12 +1768,12 @@
// Recommended setting: 0, nobody uses .INI files any more // Recommended setting: 0, nobody uses .INI files any more
#define wxUSE_INICONF 0 #define wxUSE_INICONF 0
// Set to 1 if you need to include <winsock2.h> over <winsock.h> // Set to 0 if you need to include <winsock.h> rather than <winsock2.h>
// //
// Default is 0. // Default is 1.
// //
// Recommended setting: 0, set to 1 automatically if wxUSE_IPV6 is 1. // Recommended setting: 1, required to be 1 if wxUSE_IPV6 is 1.
#define wxUSE_WINSOCK2 0 #define wxUSE_WINSOCK2 1
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// Generic versions of native controls // Generic versions of native controls

View File

@@ -166,12 +166,12 @@
// Recommended setting: 0, nobody uses .INI files any more // Recommended setting: 0, nobody uses .INI files any more
#define wxUSE_INICONF 0 #define wxUSE_INICONF 0
// Set to 1 if you need to include <winsock2.h> over <winsock.h> // Set to 0 if you need to include <winsock.h> rather than <winsock2.h>
// //
// Default is 0. // Default is 1.
// //
// Recommended setting: 0, set to 1 automatically if wxUSE_IPV6 is 1. // Recommended setting: 1, required to be 1 if wxUSE_IPV6 is 1.
#define wxUSE_WINSOCK2 0 #define wxUSE_WINSOCK2 1
// ---------------------------------------------------------------------------- // ----------------------------------------------------------------------------
// Generic versions of native controls // Generic versions of native controls

View File

@@ -32,6 +32,12 @@
// support, for example), we must include it before winsock.h, and as windows.h // support, for example), we must include it before winsock.h, and as windows.h
// includes winsock.h, we have to do it before including it. // includes winsock.h, we have to do it before including it.
#if wxUSE_WINSOCK2 #if wxUSE_WINSOCK2
// Avoid warnings about Winsock 1.x functions deprecated in Winsock 2 that
// we still use (and that will certainly remain available for the
// foreseeable future anyhow).
#ifndef _WINSOCK_DEPRECATED_NO_WARNINGS
#define _WINSOCK_DEPRECATED_NO_WARNINGS
#endif
#include <winsock2.h> #include <winsock2.h>
#endif #endif

View File

@@ -568,14 +568,10 @@
// Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS) // Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS)
// //
// Notice that currently setting this option under Windows will result in
// programs which can only run on recent OS versions (with ws2_32.dll
// installed) which is why it is disabled by default.
//
// Default is 1. // Default is 1.
// //
// Recommended setting: 1 if you need IPv6 support // Recommended setting: 1.
#define wxUSE_IPV6 0 #define wxUSE_IPV6 1
// Set to 1 to enable virtual file systems (required by wxHTML) // Set to 1 to enable virtual file systems (required by wxHTML)
#define wxUSE_FILESYSTEM 1 #define wxUSE_FILESYSTEM 1

View File

@@ -558,14 +558,10 @@
// Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS) // Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS)
// //
// Notice that currently setting this option under Windows will result in
// programs which can only run on recent OS versions (with ws2_32.dll
// installed) which is why it is disabled by default.
//
// Default is 1. // Default is 1.
// //
// Recommended setting: 1 if you need IPv6 support // Recommended setting: 1.
#define wxUSE_IPV6 0 #define wxUSE_IPV6 1
// Set to 1 to enable virtual file systems (required by wxHTML) // Set to 1 to enable virtual file systems (required by wxHTML)
#define wxUSE_FILESYSTEM 1 #define wxUSE_FILESYSTEM 1

View File

@@ -561,14 +561,10 @@
// Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS) // Set to 1 to use ipv6 socket classes (requires wxUSE_SOCKETS)
// //
// Notice that currently setting this option under Windows will result in
// programs which can only run on recent OS versions (with ws2_32.dll
// installed) which is why it is disabled by default.
//
// Default is 1. // Default is 1.
// //
// Recommended setting: 1 if you need IPv6 support // Recommended setting: 1.
#define wxUSE_IPV6 0 #define wxUSE_IPV6 1
// Set to 1 to enable virtual file systems (required by wxHTML) // Set to 1 to enable virtual file systems (required by wxHTML)
#define wxUSE_FILESYSTEM 1 #define wxUSE_FILESYSTEM 1