Skip to content

Commit d7be26a

Browse files
gh-132734: Fix build on FreeBSD and old Linux (GH-132829)
1 parent 6430c63 commit d7be26a

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

Lib/test/test_socket.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2647,14 +2647,13 @@ def testBluetoothConstants(self):
26472647
socket.BT_POWER
26482648
socket.BT_CHANNEL_POLICY
26492649
socket.BT_CHANNEL_POLICY_BREDR_ONLY
2650-
socket.BT_PHY
2651-
socket.BT_PHY_BR_1M_1SLOT
2652-
socket.BT_MODE
2653-
socket.BT_MODE_BASIC
2654-
socket.BT_VOICE
2655-
socket.BT_VOICE_TRANSPARENT
2656-
socket.BT_VOICE_CVSD_16BIT
2657-
socket.BT_CODEC
2650+
if hasattr(socket, 'BT_PHY'):
2651+
socket.BT_PHY_BR_1M_1SLOT
2652+
if hasattr(socket, 'BT_MODE'):
2653+
socket.BT_MODE_BASIC
2654+
if hasattr(socket, 'BT_VOICE'):
2655+
socket.BT_VOICE_TRANSPARENT
2656+
socket.BT_VOICE_CVSD_16BIT
26582657
socket.L2CAP_LM
26592658
socket.L2CAP_LM_MASTER
26602659
socket.L2CAP_LM_AUTH

Modules/socketmodule.c

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ shutdown(how) -- shut down traffic in one or both directions\n\
208208
# include <sys/ioctl.h>
209209
#endif
210210

211-
#ifdef HAVE_BLUETOOTH_H
211+
#if defined(HAVE_BLUETOOTH_H) && !defined(__FreeBSD__)
212212
# include <netbt/l2cap.h>
213213
# include <netbt/rfcomm.h>
214214
# include <netbt/hci.h>
@@ -8014,6 +8014,7 @@ socket_exec(PyObject *m)
80148014
#endif
80158015
ADD_INT_MACRO(m, BT_SNDMTU);
80168016
ADD_INT_MACRO(m, BT_RCVMTU);
8017+
#ifdef BT_PHY
80178018
ADD_INT_MACRO(m, BT_PHY);
80188019
ADD_INT_MACRO(m, BT_PHY_BR_1M_1SLOT);
80198020
ADD_INT_MACRO(m, BT_PHY_BR_1M_3SLOT);
@@ -8030,15 +8031,24 @@ socket_exec(PyObject *m)
80308031
ADD_INT_MACRO(m, BT_PHY_LE_2M_RX);
80318032
ADD_INT_MACRO(m, BT_PHY_LE_CODED_TX);
80328033
ADD_INT_MACRO(m, BT_PHY_LE_CODED_RX);
8034+
#endif
8035+
#ifdef BT_MODE
80338036
ADD_INT_MACRO(m, BT_MODE);
80348037
ADD_INT_MACRO(m, BT_MODE_BASIC);
80358038
ADD_INT_MACRO(m, BT_MODE_ERTM);
80368039
ADD_INT_MACRO(m, BT_MODE_STREAMING);
80378040
ADD_INT_MACRO(m, BT_MODE_LE_FLOWCTL);
80388041
ADD_INT_MACRO(m, BT_MODE_EXT_FLOWCTL);
8042+
#endif
8043+
#ifdef BT_PKT_STATUS
80398044
ADD_INT_MACRO(m, BT_PKT_STATUS);
8045+
#endif
8046+
#ifdef BT_ISO_QOS
80408047
ADD_INT_MACRO(m, BT_ISO_QOS);
8048+
#endif
8049+
#ifdef BT_CODEC
80418050
ADD_INT_MACRO(m, BT_CODEC);
8051+
#endif
80428052
#endif /* HAVE_BLUETOOTH_BLUETOOTH_H */
80438053
#endif /* USE_BLUETOOTH */
80448054

0 commit comments

Comments
 (0)