Skip to content

Commit

Permalink
Issue python#18093: Factor out the programs that embed the runtime
Browse files Browse the repository at this point in the history
  • Loading branch information
ncoghlan committed Jul 25, 2014
1 parent d6766ae commit 973fe0b
Show file tree
Hide file tree
Showing 15 changed files with 37 additions and 32 deletions.
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,8 @@ Modules/Setup.config
Modules/Setup.local
Modules/config.c
Modules/ld_so_aix
Modules/_freeze_importlib
Modules/_testembed
Programs/_freeze_importlib
Programs/_testembed
PCbuild/*.bsc
PCbuild/*.dll
PCbuild/*.exe
Expand Down
4 changes: 2 additions & 2 deletions .hgignore
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ Tools/unicode/build/
Tools/unicode/MAPPINGS/
BuildLog.htm
__pycache__
Modules/_freeze_importlib
Modules/_testembed
Programs/_freeze_importlib
Programs/_testembed
.coverage
coverage/
htmlcov/
Expand Down
2 changes: 1 addition & 1 deletion .hgtouch
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Define dependencies of generated files that are checked into hg.
# 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

Expand Down
40 changes: 20 additions & 20 deletions Makefile.pre.in
Original file line number Diff line number Diff line change
Expand Up @@ -466,7 +466,7 @@ LIBRARY_OBJS= \

# Default target
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.
profile-opt:
Expand Down Expand Up @@ -539,8 +539,8 @@ clinic: $(BUILDPYTHON)
$(RUNSHARED) $(PYTHON_FOR_BUILD) ./Tools/clinic/clinic.py --make

# Build the interpreter
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)

platform: $(BUILDPYTHON) pybuilddir.txt
$(RUNSHARED) $(PYTHON_FOR_BUILD) -c 'import sys ; from sysconfig import get_platform ; print(get_platform()+"-"+sys.version[0:3])' >platform
Expand Down Expand Up @@ -665,18 +665,18 @@ Modules/Setup: $(srcdir)/Modules/Setup.dist
echo "-----------------------------------------------"; \
fi

Modules/_testembed: Modules/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Modules/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
Programs/_testembed: Programs/_testembed.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)

############################################################################
# Importlib

Modules/_freeze_importlib: Modules/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
$(LINKCC) $(PY_LDFLAGS) -o $@ Modules/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
Programs/_freeze_importlib: Programs/_freeze_importlib.o $(LIBRARY_OBJS_OMIT_FROZEN)
$(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
$(MAKE) Modules/_freeze_importlib
./Modules/_freeze_importlib \
Python/importlib.h: $(srcdir)/Lib/importlib/_bootstrap.py Programs/_freeze_importlib.c
$(MAKE) Programs/_freeze_importlib
./Programs/_freeze_importlib \
$(srcdir)/Lib/importlib/_bootstrap.py Python/importlib.h


Expand Down Expand Up @@ -704,11 +704,11 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
-DVPATH='"$(VPATH)"' \
-o $@ $(srcdir)/Modules/getpath.c

Modules/python.o: $(srcdir)/Modules/python.c
$(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Modules/python.c
Programs/python.o: $(srcdir)/Programs/python.c
$(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Programs/python.c

Modules/_testembed.o: $(srcdir)/Modules/_testembed.c
$(MAINCC) -c $(PY_CORE_CFLAGS) -o $@ $(srcdir)/Modules/_testembed.c
Programs/_testembed.o: $(srcdir)/Programs/_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

Expand Down Expand Up @@ -922,7 +922,7 @@ PYTHON_HEADERS= \
$(PARSER_HEADERS) \
$(AST_H)

$(LIBRARY_OBJS) $(MODOBJS) Modules/python.o: $(PYTHON_HEADERS)
$(LIBRARY_OBJS) $(MODOBJS) Programs/python.o: $(PYTHON_HEADERS)


######################################################################
Expand Down Expand Up @@ -1332,7 +1332,7 @@ libainstall: all python-config
fi; \
fi
$(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) Makefile $(DESTDIR)$(LIBPL)/Makefile
$(INSTALL_DATA) Modules/Setup $(DESTDIR)$(LIBPL)/Setup
Expand All @@ -1343,10 +1343,10 @@ libainstall: all python-config
$(INSTALL_SCRIPT) $(srcdir)/install-sh $(DESTDIR)$(LIBPL)/install-sh
$(INSTALL_SCRIPT) python-config.py $(DESTDIR)$(LIBPL)/python-config.py
$(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; 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; \
echo; echo "$(LIBPL)/python.exp"; \
$(INSTALL_SCRIPT) $(srcdir)/Modules/makexp_aix \
Expand Down Expand Up @@ -1526,7 +1526,7 @@ clean: pycremoval
find build -name '*.py[co]' -exec rm -f {} ';' || true
-rm -f pybuilddir.txt
-rm -f Lib/lib2to3/*Grammar*.pickle
-rm -f Modules/_testembed Modules/_freeze_importlib
-rm -f Programs/_testembed Programs/_freeze_importlib

profile-removal:
find . -name '*.gc??' -exec rm -f {} ';'
Expand All @@ -1550,7 +1550,7 @@ distclean: clobber
done
-rm -f core Makefile Makefile.pre config.status \
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
find $(srcdir)/[a-zA-Z]* '(' -name '*.fdc' -o -name '*~' \
-o -name '[@,#]*' -o -name '*.old' \
Expand Down
2 changes: 2 additions & 0 deletions Modules/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Source files for standard library extension modules,
and former extension modules that are now builtin modules.
1 change: 1 addition & 0 deletions Objects/README
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Source files for various builtin objects
4 changes: 2 additions & 2 deletions PCbuild/_freeze_importlib.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@
</PostBuildEvent>
</ItemDefinitionGroup>
<ItemGroup>
<ClCompile Include="..\Modules\_freeze_importlib.c" />
<ClCompile Include="..\Programs\_freeze_importlib.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="pythoncore.vcxproj">
Expand All @@ -185,4 +185,4 @@
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
</ImportGroup>
</Project>
</Project>
4 changes: 2 additions & 2 deletions PCbuild/_freeze_importlib.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\Modules\_freeze_importlib.c">
<ClCompile Include="..\Programs\_freeze_importlib.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
Expand All @@ -24,4 +24,4 @@
<Filter>Source Files</Filter>
</None>
</ItemGroup>
</Project>
</Project>
2 changes: 1 addition & 1 deletion PCbuild/python.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -510,7 +510,7 @@ echo @"$(OutDir)python$(PyDebugExt).exe" %%*&gt;&gt; "$(SolutionDir)..\python.ba
<ResourceCompile Include="..\PC\python_exe.rc" />
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\Modules\python.c" />
<ClCompile Include="..\Programs\python.c" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="pythoncore.vcxproj">
Expand Down
4 changes: 2 additions & 2 deletions PCbuild/python.vcxproj.filters
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@
</ResourceCompile>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\Modules\python.c">
<ClCompile Include="..\Programs\python.c">
<Filter>Source Files</Filter>
</ClCompile>
</ItemGroup>
</Project>
</Project>
1 change: 1 addition & 0 deletions Programs/README
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Source files for binary executables (as opposed to shared modules)
File renamed without changes.
File renamed without changes.
File renamed without changes.
1 change: 1 addition & 0 deletions Python/README
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Miscellaneous source files for the main Python shared library

0 comments on commit 973fe0b

Please sign in to comment.