]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
bpo-45847: Port _scproxy to PY_STDLIB_MOD (GH-29644)
authorChristian Heimes <christian@python.org>
Sat, 20 Nov 2021 09:18:48 +0000 (11:18 +0200)
committerGitHub <noreply@github.com>
Sat, 20 Nov 2021 09:18:48 +0000 (10:18 +0100)
Modules/Setup
Modules/Setup.stdlib.in
configure
configure.ac
setup.py

index 5a7c232d3c555ebd458a7e2e18d76e3771adc895..d3647ecb995928a5e2571f3a164b3cc571bbd02e 100644 (file)
@@ -267,8 +267,8 @@ PYTHONPATH=$(COREPYTHONPATH)
 #_curses -lncurses -lncursesw -ltermcap _cursesmodule.c
 #_curses_panel -lpanel -lncurses _curses_panel.c
 
-# macOS specific modules
-# _scproxy _scproxy.c -framework SystemConfiguration -framework CoreFoundation
+# macOS specific module, needs SystemConfiguration and CoreFoundation framework
+# _scproxy _scproxy.c
 
 # Examples
 
index ee07f4d5d8ea4b8ededae05e6f8b451bd7735786..4e5c158c0fdb21e6d73841e537344be15a5f21e9 100644 (file)
 # Modules with third party dependencies
 #
 @MODULE__SQLITE3_TRUE@_sqlite3 _sqlite/connection.c _sqlite/cursor.c _sqlite/microprotocols.c _sqlite/module.c _sqlite/prepare_protocol.c _sqlite/row.c _sqlite/statement.c _sqlite/util.c
+
+
+############################################################################
+# macOS specific modules
+
+# _scproxy needs SystemConfiguration and CoreFoundation framework
+@MODULE__SCPROXY_TRUE@_scproxy _scproxy.c
index e8935dfb625fe09f6d18d0e0f7434c352d1015e4..9340cb072199c363373ff3d0303930b85a9e2b23 100755 (executable)
--- a/configure
+++ b/configure
@@ -644,6 +644,8 @@ MODULE__ELEMENTTREE_FALSE
 MODULE__ELEMENTTREE_TRUE
 MODULE_PYEXPAT_FALSE
 MODULE_PYEXPAT_TRUE
+MODULE__SCPROXY_FALSE
+MODULE__SCPROXY_TRUE
 MODULE_OSSAUDIODEV_FALSE
 MODULE_OSSAUDIODEV_TRUE
 MODULE__DATETIME_FALSE
 $as_echo "$py_cv_module_ossaudiodev" >&6; }
 
 
+  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module _scproxy" >&5
+$as_echo_n "checking for stdlib extension module _scproxy... " >&6; }
+      case $py_stdlib_not_available in #(
+  *_scproxy*) :
+    py_cv_module__scproxy=n/a ;; #(
+  *) :
+
+      if test "$ac_sys_system" = "Darwin"; then :
+  if true; then :
+  py_cv_module__scproxy=yes
+else
+  py_cv_module__scproxy=missing
+fi
+else
+  py_cv_module__scproxy=disabled
+
+fi
+
+   ;;
+esac
+  as_fn_append MODULE_BLOCK "MODULE__SCPROXY=$py_cv_module__scproxy$as_nl"
+  if test "x$py_cv_module__scproxy" = xyes; then :
+
+    as_fn_append MODULE_BLOCK "MODULE__SCPROXY_CFLAGS=$as_nl"
+    as_fn_append MODULE_BLOCK "MODULE__SCPROXY_LDFLAGS=-framework SystemConfiguration -framework CoreFoundation$as_nl"
+     if true; then
+  MODULE__SCPROXY_TRUE=
+  MODULE__SCPROXY_FALSE='#'
+else
+  MODULE__SCPROXY_TRUE='#'
+  MODULE__SCPROXY_FALSE=
+fi
+
+
+else
+
+     if false; then
+  MODULE__SCPROXY_TRUE=
+  MODULE__SCPROXY_FALSE='#'
+else
+  MODULE__SCPROXY_TRUE='#'
+  MODULE__SCPROXY_FALSE=
+fi
+
+
+fi
+  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $py_cv_module__scproxy" >&5
+$as_echo "$py_cv_module__scproxy" >&6; }
+
+
 
   { $as_echo "$as_me:${as_lineno-$LINENO}: checking for stdlib extension module pyexpat" >&5
 $as_echo_n "checking for stdlib extension module pyexpat... " >&6; }
@@ -20231,6 +20283,14 @@ if test -z "${MODULE_OSSAUDIODEV_TRUE}" && test -z "${MODULE_OSSAUDIODEV_FALSE}"
   as_fn_error $? "conditional \"MODULE_OSSAUDIODEV\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
 fi
+if test -z "${MODULE__SCPROXY_TRUE}" && test -z "${MODULE__SCPROXY_FALSE}"; then
+  as_fn_error $? "conditional \"MODULE__SCPROXY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
+if test -z "${MODULE__SCPROXY_TRUE}" && test -z "${MODULE__SCPROXY_FALSE}"; then
+  as_fn_error $? "conditional \"MODULE__SCPROXY\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
 if test -z "${MODULE_PYEXPAT_TRUE}" && test -z "${MODULE_PYEXPAT_FALSE}"; then
   as_fn_error $? "conditional \"MODULE_PYEXPAT\" was never defined.
 Usually this means the macro was only invoked conditionally." "$LINENO" 5
index 754b066f52ed02be5feca7cc2952ee27dd3747be..924659713e47478952225826f0b3076d62526455 100644 (file)
@@ -6062,6 +6062,9 @@ PY_STDLIB_MOD_SIMPLE([_datetime], [], [$TIMEMODULE_LIB $LIBM])
 dnl platform specific extensions
 PY_STDLIB_MOD([ossaudiodev],
   [], [test "$ac_cv_header_linux_soundcard_h" = yes -o "$ac_cv_header_sys_soundcard_h" = yes])
+PY_STDLIB_MOD([_scproxy],
+  [test "$ac_sys_system" = "Darwin"], [],
+  [], [-framework SystemConfiguration -framework CoreFoundation])
 
 dnl _elementtree loads libexpat via CAPI hook in pyexpat
 PY_STDLIB_MOD([pyexpat], [], [], [$LIBEXPAT_CFLAGS], [$LIBEXPAT_LDFLAGS])
index 3e3075d8d9ac620753d939dbac1838223a0e3c88..83a676bfefbbeb277898eb3d40c8c06e24d03ffc 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -1389,11 +1389,8 @@ class PyBuildExt(build_ext):
         # linux/soundcard.h or sys/soundcard.h
         self.addext(Extension('ossaudiodev', ['ossaudiodev.c']))
 
-        if MACOS:
-            self.add(Extension('_scproxy', ['_scproxy.c'],
-                               extra_link_args=[
-                                   '-framework', 'SystemConfiguration',
-                                   '-framework', 'CoreFoundation']))
+        # macOS-only, needs SystemConfiguration and CoreFoundation framework
+        self.addext(Extension('_scproxy', ['_scproxy.c']))
 
     def detect_compress_exts(self):
         # Andrew Kuchling's zlib module.