summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSam Gross <colesbury@gmail.com>2024-05-30 17:48:28 (GMT)
committerGitHub <noreply@github.com>2024-05-30 17:48:28 (GMT)
commit1c04c63ced5038e8f45a2aac7dc45f0815a4ddc5 (patch)
treed04093c6f44dd81abe4fb1f61b16381d36239337
parentbf098d4157158e1e4b2ea78aba4ac82d72e24cff (diff)
downloadcpython-1c04c63ced5038e8f45a2aac7dc45f0815a4ddc5.zip
cpython-1c04c63ced5038e8f45a2aac7dc45f0815a4ddc5.tar.gz
cpython-1c04c63ced5038e8f45a2aac7dc45f0815a4ddc5.tar.bz2
gh-119729: Use 't' in pkg-config file name for free-threaded build (#119738)
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`.
-rw-r--r--Doc/whatsnew/3.13.rst4
-rw-r--r--Makefile.pre.in14
-rw-r--r--Misc/NEWS.d/next/Build/2024-05-29-17-40-50.gh-issue-119729.k0xJ5U.rst5
3 files changed, 16 insertions, 7 deletions
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index 2b1b5fd..bcded65 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -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
======================
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 0891840..a3fca80 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -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
index 0000000..7ac300e
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2024-05-29-17-40-50.gh-issue-119729.k0xJ5U.rst
@@ -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)