@@ -278,6 +278,8 @@ LIBRARY_DEPS= @LIBRARY_DEPS@
278
278
LINK_PYTHON_DEPS=@LINK_PYTHON_DEPS@
279
279
PY_ENABLE_SHARED= @PY_ENABLE_SHARED@
280
280
STATIC_LIBPYTHON= @STATIC_LIBPYTHON@
281
+ ABI3DLLLIBRARY= libpython3.dll
282
+ ABI3LDLIBRARY= libpython3.dll.a
281
283
282
284
283
285
LIBS= @LIBS@
@@ -601,7 +603,7 @@ LIBEXPAT_HEADERS= \
601
603
# Default target
602
604
all: @DEF_MAKE_ALL_RULE@
603
605
build_all: check-clean-src $(BUILDPYTHON) $(BUILDPYTHONW) $(BUILDVENVLAUNCHER) $(BUILDVENVWLAUNCHER) platform oldsharedmods sharedmods \
604
- gdbhooks Programs/_testembed python-config
606
+ gdbhooks Programs/_testembed python-config $(ABI3DLLLIBRARY) $(ABI3LDLIBRARY)
605
607
build_wasm: check-clean-src $(BUILDPYTHON) platform oldsharedmods python-config
606
608
607
609
# Check that the source is clean when building out of source.
@@ -728,6 +730,9 @@ pythonw_exe.o: $(srcdir)/PC/pythonw_exe.rc
728
730
python_nt.o: $(srcdir)/PC/python_nt.rc
729
731
$(WINDRES) $(RCFLAGS) -DORIGINAL_FILENAME=\\\"$(DLLLIBRARY)\\\" -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@
730
732
733
+ python3dll_nt.o: $(srcdir)/PC/python_nt.rc
734
+ $(WINDRES) $(RCFLAGS) -DORIGINAL_FILENAME=\\\"$(ABI3DLLLIBRARY)\\\" -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@
735
+
731
736
venvlauncher.o: $(srcdir)/PC/pylauncher.rc
732
737
$(WINDRES) $(RCFLAGS) -DPY_ICON -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/pylauncher.rc $@
733
738
@@ -856,6 +861,10 @@ $(DLLLIBRARY) libpython$(LDVERSION).dll.a: $(LIBRARY_OBJS) python_nt.o
856
861
else true; \
857
862
fi
858
863
864
+ $(ABI3DLLLIBRARY) $(ABI3LDLIBRARY): python3dll_nt.o $(srcdir)/PC/launcher.c
865
+ $(LDSHARED) -DPYTHON_DLL_NAME=\"$(DLLLIBRARY)\" $(srcdir)/PC/python3dll.c -Wl,--out-implib=$(ABI3LDLIBRARY) -o $(ABI3DLLLIBRARY) python3dll_nt.o \
866
+ $(LDFLAGS_NODIST);
867
+
859
868
# wasm32-emscripten browser build
860
869
# wasm assets directory is relative to current build dir, e.g. "./usr/local".
861
870
# --preload-file turns a relative asset path into an absolute path.
@@ -1867,6 +1876,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
1867
1876
if test -f $(LDLIBRARY) && test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
1868
1877
if test -n "$(DLLLIBRARY)" ; then \
1869
1878
$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
1879
+ $(INSTALL_SHARED) $(ABI3DLLLIBRARY) $(DESTDIR)$(BINDIR); \
1870
1880
else \
1871
1881
$(INSTALL_SHARED) $(LDLIBRARY) $(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
1872
1882
if test $(LDLIBRARY) != $(INSTSONAME); then \
@@ -2301,6 +2311,7 @@ libainstall: all python-config
2301
2311
if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
2302
2312
if test "$(SHLIB_SUFFIX)" = .dll -o "$(SHLIB_SUFFIX)" = .pyd; then \
2303
2313
$(INSTALL_DATA) $(LDLIBRARY) $(DESTDIR)$(LIBDIR) ; \
2314
+ $(INSTALL_DATA) $(ABI3LDLIBRARY) $(DESTDIR)$(LIBDIR) ; \
2304
2315
else \
2305
2316
$(INSTALL_DATA) $(LIBRARY) $(DESTDIR)$(LIBPL)/$(LIBRARY) ; \
2306
2317
fi; \
@@ -2550,7 +2561,7 @@ clean: clean-retain-profile
2550
2561
fi
2551
2562
2552
2563
clobber: clean
2553
- -rm -f $(BUILDPYTHON) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \
2564
+ -rm -f $(BUILDPYTHON) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY)$(ABI3LDLIBRARY) $(ABI3DLLLIBRARY) \
2554
2565
tags TAGS \
2555
2566
config.cache config.log pyconfig.h Modules/config.c
2556
2567
-rm -rf build platform
0 commit comments