Mailing List Archive

bpo-45582: Fix out-of-tree build issues with new getpath (GH-29902)
https://github.com/python/cpython/commit/ccb73a0d50dd03bc8455fe210cb83e41a6dc91d8
commit: ccb73a0d50dd03bc8455fe210cb83e41a6dc91d8
branch: main
author: Christian Heimes <christian@python.org>
committer: tiran <christian@python.org>
date: 2021-12-03T14:47:06+01:00
summary:

bpo-45582: Fix out-of-tree build issues with new getpath (GH-29902)

files:
M .gitignore
M Makefile.pre.in
M Modules/getpath.c
M PCbuild/_freeze_module.vcxproj

diff --git a/.gitignore b/.gitignore
index 7e80446d4d4a6..0363244bdaf63 100644
--- a/.gitignore
+++ b/.gitignore
@@ -74,7 +74,6 @@ Mac/pythonw
Misc/python.pc
Misc/python-embed.pc
Misc/python-config.sh
-Modules/getpath.h
Modules/Setup.config
Modules/Setup.local
Modules/Setup.stdlib
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 3dc131b6c9651..264011f226bbc 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1062,10 +1062,9 @@ FROZEN_FILES_OUT = \
Programs/_freeze_module.o: Programs/_freeze_module.c Makefile

Modules/getpath_noop.o: $(srcdir)/Modules/getpath_noop.c Makefile
- $(CC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Modules/getpath_noop.c

-Programs/_freeze_module: Programs/_freeze_module.o $(LIBRARY_OBJS_OMIT_FROZEN) Modules/getpath_noop.o
- $(LINKCC) $(PY_CORE_LDFLAGS) -o $@ Programs/_freeze_module.o $(LIBRARY_OBJS_OMIT_FROZEN) Modules/getpath_noop.o $(LIBS) $(MODLIBS) $(SYSLIBS)
+Programs/_freeze_module: Programs/_freeze_module.o Modules/getpath_noop.o $(LIBRARY_OBJS_OMIT_FROZEN)
+ $(LINKCC) $(PY_CORE_LDFLAGS) -o $@ Programs/_freeze_module.o Modules/getpath_noop.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS)

# BEGIN: freezing modules

@@ -1131,11 +1130,11 @@ Python/frozen_modules/frozen_only.h: $(FREEZE_MODULE) Tools/freeze/flag.py

# END: freezing modules

-Tools/scripts/freeze_modules.py: $(FREEZE_MODULE)
-
# We manually freeze getpath.py rather than through freeze_modules
-Modules/getpath.h: Programs/_freeze_module Modules/getpath.py
- Programs/_freeze_module getpath $(srcdir)/Modules/getpath.py $(srcdir)/Modules/getpath.h
+Python/frozen_modules/getpath.h: $(FREEZE_MODULE) Modules/getpath.py
+ $(FREEZE_MODULE) getpath $(srcdir)/Modules/getpath.py Python/frozen_modules/getpath.h
+
+Tools/scripts/freeze_modules.py: $(FREEZE_MODULE)

.PHONY: regen-frozen
regen-frozen: Tools/scripts/freeze_modules.py $(FROZEN_FILES_IN)
@@ -1177,7 +1176,7 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
-DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \
-o $@ $(srcdir)/Modules/getbuildinfo.c

-Modules/getpath.o: $(srcdir)/Modules/getpath.c Modules/getpath.h Makefile
+Modules/getpath.o: $(srcdir)/Modules/getpath.c Python/frozen_modules/getpath.h Makefile $(PYTHON_HEADERS)
$(CC) -c $(PY_CORE_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
-DPREFIX='"$(prefix)"' \
-DEXEC_PREFIX='"$(exec_prefix)"' \
diff --git a/Modules/getpath.c b/Modules/getpath.c
index 32d5db9d2c4dc..f66fc8abbd4ff 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
@@ -19,7 +19,7 @@
#endif

/* Reference the precompiled getpath.py */
-#include "getpath.h"
+#include "../Python/frozen_modules/getpath.h"

#if (!defined(PREFIX) || !defined(EXEC_PREFIX) \
|| !defined(VERSION) || !defined(VPATH) \
diff --git a/PCbuild/_freeze_module.vcxproj b/PCbuild/_freeze_module.vcxproj
index 7b2df4b8afcc2..07a6bfdde7402 100644
--- a/PCbuild/_freeze_module.vcxproj
+++ b/PCbuild/_freeze_module.vcxproj
@@ -379,7 +379,7 @@
<GetPath Include="..\Modules\getpath.py">
<ModName>getpath</ModName>
<IntFile>$(IntDir)getpath.g.h</IntFile>
- <OutFile>$(PySourcePath)Modules\getpath.h</OutFile>
+ <OutFile>$(PySourcePath)Python\frozen_modules\getpath.h</OutFile>
</GetPath>
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />

_______________________________________________
Python-checkins mailing list
Python-checkins@python.org
https://mail.python.org/mailman/listinfo/python-checkins