]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-119729: Use 't' in pkg-config file name for free-threaded build (#119738)
authorSam Gross <colesbury@gmail.com>
Thu, 30 May 2024 17:48:28 +0000 (13:48 -0400)
committerGitHub <noreply@github.com>
Thu, 30 May 2024 17:48:28 +0000 (13:48 -0400)
For example, the free-threaded build now generates
`lib/pkgconfig/python-3.13t.pc` and the debug build generates
`lib/pkgconfig/python-3.13d.pc`.

Doc/whatsnew/3.13.rst
Makefile.pre.in
Misc/NEWS.d/next/Build/2024-05-29-17-40-50.gh-issue-119729.k0xJ5U.rst [new file with mode: 0644]

index 2b1b5fdb974b26fc5e37f03d95d00a353d58ecd9..bcded65eba3103b2648f31529672187c77c7772a 100644 (file)
@@ -2181,6 +2181,10 @@ Build Changes
   The bundled mimalloc has custom changes, see :gh:`113141` for details.
   (Contributed by Dino Viehland in :gh:`109914`.)
 
+* On POSIX systems, the pkg-config (``.pc``) filenames now include the ABI
+  flags.  For example, the free-threaded build generates ``python-3.13t.pc``
+  and the debug build generates ``python-3.13d.pc``.
+
 
 Porting to Python 3.13
 ======================
index 08918405403127deaf143c9c9ba5366faa73e07d..a3fca80d4448ca008f74a3a028992c6bdeee4ee2 100644 (file)
@@ -40,6 +40,7 @@ LINKCC=               @LINKCC@
 AR=            @AR@
 READELF=       @READELF@
 SOABI=         @SOABI@
+ABIFLAGS=      @ABIFLAGS@
 LDVERSION=     @LDVERSION@
 MODULE_LDFLAGS=@MODULE_LDFLAGS@
 GITVERSION=    @GITVERSION@
@@ -150,7 +151,6 @@ INCLUDEDIR= @includedir@
 CONFINCLUDEDIR=        $(exec_prefix)/include
 PLATLIBDIR=    @PLATLIBDIR@
 SCRIPTDIR=     $(prefix)/$(PLATLIBDIR)
-ABIFLAGS=      @ABIFLAGS@
 # executable name for shebangs
 EXENAME=       $(BINDIR)/python$(LDVERSION)$(EXE)
 # Variable used by ensurepip
@@ -2262,10 +2262,10 @@ bininstall: commoninstall altbininstall
        -if test "$(VERSION)" != "$(LDVERSION)"; then \
                rm -f $(DESTDIR)$(BINDIR)/python$(VERSION)-config; \
                (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(LDVERSION)-config python$(VERSION)-config); \
-               rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc; \
-               (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION).pc python-$(LDVERSION).pc); \
-               rm -f $(DESTDIR)$(LIBPC)/python-$(LDVERSION)-embed.pc; \
-               (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(VERSION)-embed.pc python-$(LDVERSION)-embed.pc); \
+               rm -f $(DESTDIR)$(LIBPC)/python-$(VERSION).pc; \
+               (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(LDVERSION).pc python-$(VERSION).pc); \
+               rm -f $(DESTDIR)$(LIBPC)/python-$(VERSION)-embed.pc; \
+               (cd $(DESTDIR)$(LIBPC); $(LN) -s python-$(LDVERSION)-embed.pc python-$(VERSION)-embed.pc); \
        fi
        -rm -f $(DESTDIR)$(BINDIR)/python3-config
        (cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python3-config)
@@ -2702,8 +2702,8 @@ libainstall: all scripts
        $(INSTALL_DATA) Modules/Setup.bootstrap $(DESTDIR)$(LIBPL)/Setup.bootstrap
        $(INSTALL_DATA) Modules/Setup.stdlib $(DESTDIR)$(LIBPL)/Setup.stdlib
        $(INSTALL_DATA) Modules/Setup.local $(DESTDIR)$(LIBPL)/Setup.local
-       $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(VERSION).pc
-       $(INSTALL_DATA) Misc/python-embed.pc $(DESTDIR)$(LIBPC)/python-$(VERSION)-embed.pc
+       $(INSTALL_DATA) Misc/python.pc $(DESTDIR)$(LIBPC)/python-$(LDVERSION).pc
+       $(INSTALL_DATA) Misc/python-embed.pc $(DESTDIR)$(LIBPC)/python-$(LDVERSION)-embed.pc
        $(INSTALL_SCRIPT) $(srcdir)/Modules/makesetup $(DESTDIR)$(LIBPL)/makesetup
        $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
        $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
diff --git a/Misc/NEWS.d/next/Build/2024-05-29-17-40-50.gh-issue-119729.k0xJ5U.rst b/Misc/NEWS.d/next/Build/2024-05-29-17-40-50.gh-issue-119729.k0xJ5U.rst
new file mode 100644 (file)
index 0000000..7ac300e
--- /dev/null
@@ -0,0 +1,5 @@
+On POSIX systems, the pkg-config (``.pc``) filenames now include the ABI
+flags, which may include debug ("d") and free-threaded ("t").  For example:
+* ``python-3.14.pc`` (default, non-debug build)
+* ``python-3.14d.pc`` (default, debug build)
+* ``python-3.14t.pc`` (free-threaded build)