@@ -273,6 +273,8 @@ LIBRARY_DEPS= @LIBRARY_DEPS@
273
273
LINK_PYTHON_DEPS=@LINK_PYTHON_DEPS@
274
274
PY_ENABLE_SHARED= @PY_ENABLE_SHARED@
275
275
STATIC_LIBPYTHON= @STATIC_LIBPYTHON@
276
+ ABI3DLLLIBRARY= libpython3.dll
277
+ ABI3LDLIBRARY= libpython3.dll.a
276
278
277
279
278
280
LIBS= @LIBS@
@@ -631,7 +633,7 @@ all: @DEF_MAKE_ALL_RULE@
631
633
632
634
.PHONY: build_all
633
635
build_all: check-clean-src $(BUILDPYTHON) $(BUILDPYTHONW) $(BUILDVENVLAUNCHER) $(BUILDVENVWLAUNCHER) platform sharedmods \
634
- gdbhooks Programs/_testembed scripts checksharedmods rundsymutil
636
+ gdbhooks Programs/_testembed scripts checksharedmods rundsymutil $(ABI3DLLLIBRARY) $(ABI3LDLIBRARY)
635
637
636
638
.PHONY: build_wasm
637
639
build_wasm: check-clean-src $(BUILDPYTHON) platform sharedmods \
@@ -804,6 +806,9 @@ pythonw_exe.o: $(srcdir)/PC/pythonw_exe.rc
804
806
python_nt.o: $(srcdir)/PC/python_nt.rc
805
807
$(WINDRES) $(RCFLAGS) -DORIGINAL_FILENAME=\\\"$(DLLLIBRARY)\\\" -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@
806
808
809
+ python3dll_nt.o: $(srcdir)/PC/python_nt.rc
810
+ $(WINDRES) $(RCFLAGS) -DORIGINAL_FILENAME=\\\"$(ABI3DLLLIBRARY)\\\" -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@
811
+
807
812
venvlauncher.o: $(srcdir)/PC/pylauncher.rc
808
813
$(WINDRES) $(RCFLAGS) -DPY_ICON -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/pylauncher.rc $@
809
814
@@ -917,6 +922,10 @@ $(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) python_nt.o
917
922
else true; \
918
923
fi
919
924
925
+ $(ABI3DLLLIBRARY) $(ABI3LDLIBRARY): python3dll_nt.o $(srcdir)/PC/launcher.c
926
+ $(LDSHARED) -DPYTHON_DLL_NAME=\"$(DLLLIBRARY)\" $(srcdir)/PC/python3dll.c -Wl,--out-implib=$(ABI3LDLIBRARY) -o $(ABI3DLLLIBRARY) python3dll_nt.o \
927
+ $(LDFLAGS_NODIST);
928
+
920
929
# wasm32-emscripten browser build
921
930
# wasm assets directory is relative to current build dir, e.g. "./usr/local".
922
931
# --preload-file turns a relative asset path into an absolute path.
@@ -2025,6 +2034,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
2025
2034
if test -f $(LDLIBRARY) && test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
2026
2035
if test -n "$(DLLLIBRARY)" ; then \
2027
2036
$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
2037
+ $(INSTALL_SHARED) $(ABI3DLLLIBRARY) $(DESTDIR)$(BINDIR); \
2028
2038
else \
2029
2039
$(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
2030
2040
if test $(LDLIBRARY) != $(INSTSONAME); then \
@@ -2485,6 +2495,7 @@ libainstall: all scripts
2485
2495
if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
2486
2496
if test "$(SHLIB_SUFFIX)" = .dll -o "$(SHLIB_SUFFIX)" = .pyd; then \
2487
2497
$(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBDIR) ; \
2498
+ $(INSTALL_DATA) $(ABI3LDLIBRARY) $(DESTDIR)$(LIBDIR) ; \
2488
2499
else \
2489
2500
$(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
2490
2501
fi; \
@@ -2734,7 +2745,7 @@ clean: clean-retain-profile clean-bolt
2734
2745
2735
2746
.PHONY: clobber
2736
2747
clobber: clean
2737
- -rm -f $(BUILDPYTHON) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
2748
+ -rm -f $(BUILDPYTHON) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY)$(ABI3LDLIBRARY) $(ABI3DLLLIBRARY) \
2738
2749
tags TAGS \
2739
2750
config.cache config.log pyconfig.h Modules/config.c
2740
2751
-rm -rf build platform
0 commit comments