@@ -288,6 +288,8 @@ LIBRARY_DEPS= @LIBRARY_DEPS@
288
288
LINK_PYTHON_DEPS=@LINK_PYTHON_DEPS@
289
289
PY_ENABLE_SHARED= @PY_ENABLE_SHARED@
290
290
STATIC_LIBPYTHON= @STATIC_LIBPYTHON@
291
+ ABI3DLLLIBRARY= libpython3.dll
292
+ ABI3LDLIBRARY= libpython3.dll.a
291
293
292
294
293
295
LIBS= @LIBS@
@@ -710,7 +712,7 @@ list-targets:
710
712
711
713
.PHONY: build_all
712
714
build_all: check-clean-src check-app-store-compliance $(BUILDPYTHON) $(BUILDPYTHONW) $(BUILDVENVLAUNCHER) $(BUILDVENVWLAUNCHER) platform sharedmods \
713
- gdbhooks Programs/_testembed scripts checksharedmods rundsymutil
715
+ gdbhooks Programs/_testembed scripts checksharedmods rundsymutil $(ABI3DLLLIBRARY) $(ABI3LDLIBRARY)
714
716
715
717
.PHONY: build_wasm
716
718
build_wasm: check-clean-src $(BUILDPYTHON) platform sharedmods \
@@ -899,6 +901,9 @@ pythonw_exe.o: $(srcdir)/PC/pythonw_exe.rc
899
901
python_nt.o: $(srcdir)/PC/python_nt.rc
900
902
$(WINDRES) $(RCFLAGS) -DORIGINAL_FILENAME=\\\"$(DLLLIBRARY)\\\" -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@
901
903
904
+ python3dll_nt.o: $(srcdir)/PC/python_nt.rc
905
+ $(WINDRES) $(RCFLAGS) -DORIGINAL_FILENAME=\\\"$(ABI3DLLLIBRARY)\\\" -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@
906
+
902
907
venvlauncher.o: $(srcdir)/PC/pylauncher.rc
903
908
$(WINDRES) $(RCFLAGS) -DPY_ICON -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/pylauncher.rc $@
904
909
@@ -1024,6 +1029,10 @@ $(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) python_nt.o
1024
1029
else true; \
1025
1030
fi
1026
1031
1032
+ $(ABI3DLLLIBRARY) $(ABI3LDLIBRARY): python3dll_nt.o $(srcdir)/PC/launcher.c
1033
+ $(LDSHARED) -DPYTHON_DLL_NAME=\"$(DLLLIBRARY)\" $(srcdir)/PC/python3dll.c -Wl,--out-implib=$(ABI3LDLIBRARY) -o $(ABI3DLLLIBRARY) python3dll_nt.o \
1034
+ $(LDFLAGS_NODIST);
1035
+
1027
1036
# wasm32-emscripten browser build
1028
1037
# wasm assets directory is relative to current build dir, e.g. "./usr/local".
1029
1038
# --preload-file turns a relative asset path into an absolute path.
@@ -2268,6 +2277,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
2268
2277
if test -f $(LDLIBRARY) && test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
2269
2278
if test -n "$(DLLLIBRARY)" ; then \
2270
2279
$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
2280
+ $(INSTALL_SHARED) $(ABI3DLLLIBRARY) $(DESTDIR)$(BINDIR); \
2271
2281
else \
2272
2282
$(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
2273
2283
if test $(LDLIBRARY) != $(INSTSONAME); then \
@@ -2751,6 +2761,7 @@ libainstall: all scripts
2751
2761
if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
2752
2762
if test "$(SHLIB_SUFFIX)" = .dll -o "$(SHLIB_SUFFIX)" = .pyd; then \
2753
2763
$(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBDIR) ; \
2764
+ $(INSTALL_DATA) $(ABI3LDLIBRARY) $(DESTDIR)$(LIBDIR) ; \
2754
2765
else \
2755
2766
$(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
2756
2767
fi; \
@@ -3059,7 +3070,7 @@ clean: clean-retain-profile clean-bolt
3059
3070
3060
3071
.PHONY: clobber
3061
3072
clobber: clean
3062
- -rm -f $(BUILDPYTHON) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
3073
+ -rm -f $(BUILDPYTHON) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY)$(ABI3LDLIBRARY) $(ABI3DLLLIBRARY) \
3063
3074
tags TAGS \
3064
3075
config.cache config.log pyconfig.h Modules/config.c
3065
3076
-rm -rf build platform
0 commit comments