Files
MINGW-packages/mingw-w64-python/0130-Build-venvlauncher.exe-from-PC-launcher.c.patch
2022-06-10 17:54:24 +02:00

100 lines
4.3 KiB
Diff

From e2da91afbf121b680bed7d66911819a53552ef90 Mon Sep 17 00:00:00 2001
From: Naveen M K <naveen521kk@gmail.com>
Date: Sat, 29 Jan 2022 17:39:19 +0530
Subject: [PATCH 130/N] Build venvlauncher.exe from PC/launcher.c
Also, fix warnings in PC/pylauncher.rc
---
Makefile.pre.in | 21 +++++++++++++--------
PC/pylauncher.rc | 20 ++++++++++----------
2 files changed, 23 insertions(+), 18 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 6b1cfce..ea3481b 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -609,6 +609,12 @@ pythonw_exe.o: $(srcdir)/PC/pythonw_exe.rc
python_nt.o: $(srcdir)/PC/python_nt.rc
$(WINDRES) $(RCFLAGS) -DORIGINAL_FILENAME=\\\"$(DLLLIBRARY)\\\" -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/python_nt.rc $@
+venvlauncher.o: $(srcdir)/PC/pylauncher.rc
+ $(WINDRES) $(RCFLAGS) -DPY_ICON -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/pylauncher.rc $@
+
+venvwlauncher.o: $(srcdir)/PC/pylauncher.rc
+ $(WINDRES) $(RCFLAGS) -DPYW_ICON -I$(srcdir)/Include -I$(srcdir)/PC -I. $(srcdir)/PC/pylauncher.rc $@
+
$(BUILDPYTHONW): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) pythonw_exe.o
$(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -municode -mwindows -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) pythonw_exe.o
@@ -616,13 +622,12 @@ $(BUILDPYTHONW): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) pythonw
$(BUILDPYTHON): Programs/python.o $(LIBRARY_DEPS) python_exe.o
$(LINKCC) $(PY_CORE_LDFLAGS) $(LINKFORSHARED) -municode -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) python_exe.o
-# FIXME: build these from PC/launcher.c instead
-$(BUILDVENVLAUNCHER): $(BUILDPYTHON)
- cp $(BUILDPYTHON) $(BUILDVENVLAUNCHER)
+$(BUILDVENVLAUNCHER): $(BUILDPYTHON) venvlauncher.o $(srcdir)/PC/launcher.c
+ $(LINKCC) -D_CONSOLE -DVENV_REDIRECT -municode -static -static-libgcc -static-libstdc++ venvlauncher.o $(srcdir)/PC/launcher.c -o $@ -lversion
+
+$(BUILDVENVWLAUNCHER): $(BUILDPYTHONW) venvwlauncher.o $(srcdir)/PC/launcher.c
+ $(LINKCC) -D_WINDOWS -DVENV_REDIRECT -mwindows -municode -static -static-libgcc -static-libstdc++ venvwlauncher.o $(srcdir)/PC/launcher.c -o $@ -lversion
-# FIXME: build these from PC/launcher.c instead
-$(BUILDVENVWLAUNCHER): $(BUILDPYTHONW)
- cp $(BUILDPYTHONW) $(BUILDVENVWLAUNCHER)
platform: $(BUILDPYTHON) pybuilddir.txt
$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print("%s-%d.%d" % (get_platform(), *sys.version_info[:2]))' >platform
@@ -1368,8 +1373,8 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
if test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
$(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
$(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(BINDIR)/python3w$(EXE); \
- $(INSTALL_PROGRAM) $(BUILDPYTHON) $(DESTDIR)$(VENVLAUNCHERDIR)/python$(EXE); \
- $(INSTALL_PROGRAM) $(BUILDPYTHONW) $(DESTDIR)$(VENVLAUNCHERDIR)/pythonw$(EXE); \
+ $(INSTALL_PROGRAM) $(BUILDVENVLAUNCHER) $(DESTDIR)$(VENVLAUNCHERDIR)/python$(EXE); \
+ $(INSTALL_PROGRAM) $(BUILDVENVWLAUNCHER) $(DESTDIR)$(VENVLAUNCHERDIR)/pythonw$(EXE); \
else \
$(INSTALL_PROGRAM) $(STRIPFLAG) Mac/pythonw $(DESTDIR)$(BINDIR)/python$(LDVERSION)$(EXE); \
fi
diff --git a/PC/pylauncher.rc b/PC/pylauncher.rc
index ff7e71e..5716bf4 100644
--- a/PC/pylauncher.rc
+++ b/PC/pylauncher.rc
@@ -12,17 +12,17 @@
1 RT_MANIFEST "python.manifest"
#if defined(PY_ICON)
-1 ICON DISCARDABLE "icons\python.ico"
+1 ICON DISCARDABLE "icons/python.ico"
#elif defined(PYW_ICON)
-1 ICON DISCARDABLE "icons\pythonw.ico"
+1 ICON DISCARDABLE "icons/pythonw.ico"
#else
-1 ICON DISCARDABLE "icons\launcher.ico"
-2 ICON DISCARDABLE "icons\py.ico"
-3 ICON DISCARDABLE "icons\pyc.ico"
-4 ICON DISCARDABLE "icons\pyd.ico"
-5 ICON DISCARDABLE "icons\python.ico"
-6 ICON DISCARDABLE "icons\pythonw.ico"
-7 ICON DISCARDABLE "icons\setup.ico"
+1 ICON DISCARDABLE "icons/launcher.ico"
+2 ICON DISCARDABLE "icons/py.ico"
+3 ICON DISCARDABLE "icons/pyc.ico"
+4 ICON DISCARDABLE "icons/pyd.ico"
+5 ICON DISCARDABLE "icons/python.ico"
+6 ICON DISCARDABLE "icons/pythonw.ico"
+7 ICON DISCARDABLE "icons/setup.ico"
#endif
/////////////////////////////////////////////////////////////////////////////
@@ -61,4 +61,4 @@ BEGIN
BEGIN
VALUE "Translation", 0x0, 1200
END
-END
\ No newline at end of file
+END
--
2.36.1