From 6fe2664d7211169d7fad2b97b1efbbdf2e73979e Mon Sep 17 00:00:00 2001 From: Serhiy Storchaka Date: Wed, 23 Apr 2025 13:25:45 +0300 Subject: [PATCH] igh-132734: Fix build on FreeBSD and old Linux --- Lib/test/test_socket.py | 15 +++++++-------- Modules/socketmodule.c | 12 +++++++++++- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py index ed45180a5f7d99..e88611ee3147ba 100644 --- a/Lib/test/test_socket.py +++ b/Lib/test/test_socket.py @@ -2647,14 +2647,13 @@ def testBluetoothConstants(self): socket.BT_POWER socket.BT_CHANNEL_POLICY socket.BT_CHANNEL_POLICY_BREDR_ONLY - socket.BT_PHY - socket.BT_PHY_BR_1M_1SLOT - socket.BT_MODE - socket.BT_MODE_BASIC - socket.BT_VOICE - socket.BT_VOICE_TRANSPARENT - socket.BT_VOICE_CVSD_16BIT - socket.BT_CODEC + if hasattr(socket, 'BT_PHY'): + socket.BT_PHY_BR_1M_1SLOT + if hasattr(socket, 'BT_MODE'): + socket.BT_MODE_BASIC + if hasattr(socket, 'BT_VOICE'): + socket.BT_VOICE_TRANSPARENT + socket.BT_VOICE_CVSD_16BIT socket.L2CAP_LM socket.L2CAP_LM_MASTER socket.L2CAP_LM_AUTH diff --git a/Modules/socketmodule.c b/Modules/socketmodule.c index 22b94e4b03a27c..a4176f907bf828 100644 --- a/Modules/socketmodule.c +++ b/Modules/socketmodule.c @@ -208,7 +208,7 @@ shutdown(how) -- shut down traffic in one or both directions\n\ # include #endif -#ifdef HAVE_BLUETOOTH_H +#if defined(HAVE_BLUETOOTH_H) && !defined(__FreeBSD__) # include # include # include @@ -8014,6 +8014,7 @@ socket_exec(PyObject *m) #endif ADD_INT_MACRO(m, BT_SNDMTU); ADD_INT_MACRO(m, BT_RCVMTU); +#ifdef BT_PHY ADD_INT_MACRO(m, BT_PHY); ADD_INT_MACRO(m, BT_PHY_BR_1M_1SLOT); ADD_INT_MACRO(m, BT_PHY_BR_1M_3SLOT); @@ -8030,15 +8031,24 @@ socket_exec(PyObject *m) ADD_INT_MACRO(m, BT_PHY_LE_2M_RX); ADD_INT_MACRO(m, BT_PHY_LE_CODED_TX); ADD_INT_MACRO(m, BT_PHY_LE_CODED_RX); +#endif +#ifdef BT_MODE ADD_INT_MACRO(m, BT_MODE); ADD_INT_MACRO(m, BT_MODE_BASIC); ADD_INT_MACRO(m, BT_MODE_ERTM); ADD_INT_MACRO(m, BT_MODE_STREAMING); ADD_INT_MACRO(m, BT_MODE_LE_FLOWCTL); ADD_INT_MACRO(m, BT_MODE_EXT_FLOWCTL); +#endif +#ifdef BT_PKT_STATUS ADD_INT_MACRO(m, BT_PKT_STATUS); +#endif +#ifdef BT_ISO_QOS ADD_INT_MACRO(m, BT_ISO_QOS); +#endif +#ifdef BT_CODEC ADD_INT_MACRO(m, BT_CODEC); +#endif #endif /* HAVE_BLUETOOTH_BLUETOOTH_H */ #endif /* USE_BLUETOOTH */