Issue #18093: Factor out the programs that embed the runtime

This commit is contained in:
Nick Coghlan 2014-07-25 21:52:14 +10:00
parent d6766ae434
commit 973fe0ba7a
15 changed files with 37 additions and 32 deletions

4
.gitignore vendored
View File

@ -27,8 +27,8 @@ Modules/Setup.config
Modules/Setup.local Modules/Setup.local
Modules/config.c Modules/config.c
Modules/ld_so_aix Modules/ld_so_aix
Modules/_freeze_importlib Programs/_freeze_importlib
Modules/_testembed Programs/_testembed
PCbuild/*.bsc PCbuild/*.bsc
PCbuild/*.dll PCbuild/*.dll
PCbuild/*.exe PCbuild/*.exe

View File

@ -89,8 +89,8 @@ Tools/unicode/build/
Tools/unicode/MAPPINGS/ Tools/unicode/MAPPINGS/
BuildLog.htm BuildLog.htm
__pycache__ __pycache__
Modules/_freeze_importlib Programs/_freeze_importlib
Modules/_testembed Programs/_testembed
.coverage .coverage
coverage/ coverage/
htmlcov/ htmlcov/

View File

@ -2,7 +2,7 @@
# Define dependencies of generated files that are checked into hg. # Define dependencies of generated files that are checked into hg.
# The syntax of this file uses make rule dependencies, without actions # The syntax of this file uses make rule dependencies, without actions
Python/importlib.h: Lib/importlib/_bootstrap.py Modules/_freeze_importlib.c Python/importlib.h: Lib/importlib/_bootstrap.py Programs/_freeze_importlib.c
Include/opcode.h: Lib/opcode.py Tools/scripts/generate_opcode_h.py Include/opcode.h: Lib/opcode.py Tools/scripts/generate_opcode_h.py

View File

@ -466,7 +466,7 @@ LIBRARY_OBJS= \
# Default target # Default target
all: build_all all: build_all
build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Modules/_testembed python-config build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks Programs/_testembed python-config
# Compile a binary with gcc profile guided optimization. # Compile a binary with gcc profile guided optimization.
profile-opt: profile-opt:
@ -539,8 +539,8 @@ clinic: $(BUILDPYTHON)
$(RUNSHARED) $(PYTHON_FOR_BUILD) ./Tools/clinic/clinic.py --make $(RUNSHARED) $(PYTHON_FOR_BUILD) ./Tools/clinic/clinic.py --make
# Build the interpreter # Build the interpreter
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) $(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
platform: $(BUILDPYTHON) pybuilddir.txt platform: $(BUILDPYTHON) pybuilddir.txt
$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform $(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
@ -665,18 +665,18 @@ Modules/Setup: $(srcdir)/Modules/Setup.dist
echo "-----------------------------------------------"; \ echo "-----------------------------------------------"; \
fi fi
Modules/_testembed: Modules/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY) Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) $(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
############################################################################ ############################################################################
# Importlib # Importlib
Modules/_freeze_importlib: Modules/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
$(LINKCC) $(PY_LDFLAGS) -o $@ Modules/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST) $(LINKCC) $(PY_LDFLAGS) -o $@ Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
Python/importlib.h: $(srcdir)/Lib/importlib/_bootstrap.py Modules/_freeze_importlib.c Python/importlib.h: $(srcdir)/Lib/importlib/_bootstrap.py Programs/_freeze_importlib.c
$(MAKE) Modules/_freeze_importlib $(MAKE) Programs/_freeze_importlib
./Modules/_freeze_importlib \ ./Programs/_freeze_importlib \
$(srcdir)/Lib/importlib/_bootstrap.py Python/importlib.h $(srcdir)/Lib/importlib/_bootstrap.py Python/importlib.h
@ -704,11 +704,11 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
-DVPATH='"$(VPATH)"' \ -DVPATH='"$(VPATH)"' \
-o $@ $(srcdir)/Modules/getpath.c -o $@ $(srcdir)/Modules/getpath.c
Modules/python.o: $(srcdir)/Modules/python.c Programs/python.o: $(srcdir)/Programs/python.c
$(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Modules/python.c $(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/python.c
Modules/_testembed.o: $(srcdir)/Modules/_testembed.c Programs/_testembed.o: $(srcdir)/Programs/_testembed.c
$(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Modules/_testembed.c $(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/_testembed.c
Modules/_sre.o: $(srcdir)/Modules/_sre.c $(srcdir)/Modules/sre.h $(srcdir)/Modules/sre_constants.h $(srcdir)/Modules/sre_lib.h Modules/_sre.o: $(srcdir)/Modules/_sre.c $(srcdir)/Modules/sre.h $(srcdir)/Modules/sre_constants.h $(srcdir)/Modules/sre_lib.h
@ -922,7 +922,7 @@ PYTHON_HEADERS= \
$(PARSER_HEADERS) \ $(PARSER_HEADERS) \
$(AST_H) $(AST_H)
$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS) $(LIBRARY_OBJS) $(MODOBJS) Programs/python.o: $(PYTHON_HEADERS)
###################################################################### ######################################################################
@ -1332,7 +1332,7 @@ libainstall: all python-config
fi; \ fi; \
fi fi
$(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c $(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
$(INSTALL_DATA) Modules/python.o $(DESTDIR)$(LIBPL)/python.o $(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o
$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in $(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
$(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile $(INSTALL_DATA) Makefile $(DESTDIR)$(LIBPL)/Makefile
$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup $(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
@ -1343,10 +1343,10 @@ libainstall: all python-config
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh $(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
$(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py $(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
$(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config $(INSTALL_SCRIPT) python-config $(DESTDIR)$(BINDIR)/python$(LDVERSION)-config
@if [ -s Modules/python.exp -a \ @if [ -s Programs/python.exp -a \
"`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \ "`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
echo; echo "Installing support files for building shared extension modules on AIX:"; \ echo; echo "Installing support files for building shared extension modules on AIX:"; \
$(INSTALL_DATA) Modules/python.exp \ $(INSTALL_DATA) Programs/python.exp \
$(DESTDIR)$(LIBPL)/python.exp; \ $(DESTDIR)$(LIBPL)/python.exp; \
echo; echo "$(LIBPL)/python.exp"; \ echo; echo "$(LIBPL)/python.exp"; \
$(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \ $(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \
@ -1526,7 +1526,7 @@ clean: pycremoval
find build -name '*.py[co]' -exec rm -f {} ';' || true find build -name '*.py[co]' -exec rm -f {} ';' || true
-rm -f pybuilddir.txt -rm -f pybuilddir.txt
-rm -f Lib/lib2to3/*Grammar*.pickle -rm -f Lib/lib2to3/*Grammar*.pickle
-rm -f Modules/_testembed Modules/_freeze_importlib -rm -f Programs/_testembed Programs/_freeze_importlib
profile-removal: profile-removal:
find . -name '*.gc??' -exec rm -f {} ';' find . -name '*.gc??' -exec rm -f {} ';'
@ -1550,7 +1550,7 @@ distclean: clobber
done done
-rm -f core Makefile Makefile.pre config.status \ -rm -f core Makefile Makefile.pre config.status \
Modules/Setup Modules/Setup.local Modules/Setup.config \ Modules/Setup Modules/Setup.local Modules/Setup.config \
Modules/ld_so_aix Modules/python.exp Misc/python.pc Modules/ld_so_aix Programs/python.exp Misc/python.pc
-rm -f python*-gdb.py -rm -f python*-gdb.py
find $(srcdir)/[a-zA-Z]* '(' -name '*.fdc' -o -name '*~' \ find $(srcdir)/[a-zA-Z]* '(' -name '*.fdc' -o -name '*~' \
-o -name '[@,#]*' -o -name '*.old' \ -o -name '[@,#]*' -o -name '*.old' \

2
Modules/README Normal file
View File

@ -0,0 +1,2 @@
Source files for standard library extension modules,
and former extension modules that are now builtin modules.

1
Objects/README Normal file
View File

@ -0,0 +1 @@
Source files for various builtin objects

View File

@ -167,7 +167,7 @@
</PostBuildEvent> </PostBuildEvent>
</ItemDefinitionGroup> </ItemDefinitionGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\Modules\_freeze_importlib.c" /> <ClCompile Include="..\Programs\_freeze_importlib.c" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="pythoncore.vcxproj"> <ProjectReference Include="pythoncore.vcxproj">
@ -185,4 +185,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>
</Project> </Project>

View File

@ -15,7 +15,7 @@
</Filter> </Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\Modules\_freeze_importlib.c"> <ClCompile Include="..\Programs\_freeze_importlib.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
@ -24,4 +24,4 @@
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</None> </None>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -510,7 +510,7 @@ echo @"$(OutDir)python$(PyDebugExt).exe" %%*&gt;&gt; "$(SolutionDir)..\python.ba
<ResourceCompile Include="..\PC\python_exe.rc" /> <ResourceCompile Include="..\PC\python_exe.rc" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\Modules\python.c" /> <ClCompile Include="..\Programs\python.c" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="pythoncore.vcxproj"> <ProjectReference Include="pythoncore.vcxproj">

View File

@ -19,8 +19,8 @@
</ResourceCompile> </ResourceCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="..\Modules\python.c"> <ClCompile Include="..\Programs\python.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
</ItemGroup> </ItemGroup>
</Project> </Project>

1
Programs/README Normal file
View File

@ -0,0 +1 @@
Source files for binary executables (as opposed to shared modules)

1
Python/README Normal file
View File

@ -0,0 +1 @@
Miscellaneous source files for the main Python shared library