From 973fe0ba7adb081b81f319b924f9bbb50b2b1345 Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Fri, 25 Jul 2014 21:52:14 +1000 Subject: [PATCH] Issue #18093: Factor out the programs that embed the runtime --- .gitignore | 4 +-- .hgignore | 4 +-- .hgtouch | 2 +- Makefile.pre.in | 40 +++++++++++------------ Modules/README | 2 ++ Objects/README | 1 + PCbuild/_freeze_importlib.vcxproj | 4 +-- PCbuild/_freeze_importlib.vcxproj.filters | 4 +-- PCbuild/python.vcxproj | 2 +- PCbuild/python.vcxproj.filters | 4 +-- Programs/README | 1 + {Modules => Programs}/_freeze_importlib.c | 0 {Modules => Programs}/_testembed.c | 0 {Modules => Programs}/python.c | 0 Python/README | 1 + 15 files changed, 37 insertions(+), 32 deletions(-) create mode 100644 Modules/README create mode 100644 Objects/README create mode 100644 Programs/README rename {Modules => Programs}/_freeze_importlib.c (100%) rename {Modules => Programs}/_testembed.c (100%) rename {Modules => Programs}/python.c (100%) create mode 100644 Python/README diff --git a/.gitignore b/.gitignore index 59d383265d4..24548705a0d 100644 --- a/.gitignore +++ b/.gitignore @@ -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 diff --git a/.hgignore b/.hgignore index 4dc93c47232..562dac96f83 100644 --- a/.hgignore +++ b/.hgignore @@ -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/ diff --git a/.hgtouch b/.hgtouch index 00efbefa74d..b9be0f11fdb 100644 --- a/.hgtouch +++ b/.hgtouch @@ -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 diff --git a/Makefile.pre.in b/Makefile.pre.in index 43bc8180220..03875ef9487 100644 --- a/Makefile.pre.in +++ b/Makefile.pre.in @@ -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: @@ -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 @@ -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 @@ -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 @@ -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) ###################################################################### @@ -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 @@ -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 \ @@ -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 {} ';' @@ -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' \ diff --git a/Modules/README b/Modules/README new file mode 100644 index 00000000000..9b79f538892 --- /dev/null +++ b/Modules/README @@ -0,0 +1,2 @@ +Source files for standard library extension modules, +and former extension modules that are now builtin modules. diff --git a/Objects/README b/Objects/README new file mode 100644 index 00000000000..854b103f7bd --- /dev/null +++ b/Objects/README @@ -0,0 +1 @@ +Source files for various builtin objects diff --git a/PCbuild/_freeze_importlib.vcxproj b/PCbuild/_freeze_importlib.vcxproj index 55197af8b28..e133e020e08 100644 --- a/PCbuild/_freeze_importlib.vcxproj +++ b/PCbuild/_freeze_importlib.vcxproj @@ -167,7 +167,7 @@ - + @@ -185,4 +185,4 @@ - \ No newline at end of file + diff --git a/PCbuild/_freeze_importlib.vcxproj.filters b/PCbuild/_freeze_importlib.vcxproj.filters index 50ec1933f38..ccad053a9f5 100644 --- a/PCbuild/_freeze_importlib.vcxproj.filters +++ b/PCbuild/_freeze_importlib.vcxproj.filters @@ -15,7 +15,7 @@ - + Source Files @@ -24,4 +24,4 @@ Source Files - \ No newline at end of file + diff --git a/PCbuild/python.vcxproj b/PCbuild/python.vcxproj index 538734367ba..6cb4ef5370c 100644 --- a/PCbuild/python.vcxproj +++ b/PCbuild/python.vcxproj @@ -510,7 +510,7 @@ echo @"$(OutDir)python$(PyDebugExt).exe" %%*>> "$(SolutionDir)..\python.ba - + diff --git a/PCbuild/python.vcxproj.filters b/PCbuild/python.vcxproj.filters index e4906a40d7f..0662a4e7f5f 100644 --- a/PCbuild/python.vcxproj.filters +++ b/PCbuild/python.vcxproj.filters @@ -19,8 +19,8 @@ - + Source Files - \ No newline at end of file + diff --git a/Programs/README b/Programs/README new file mode 100644 index 00000000000..c24578bc08d --- /dev/null +++ b/Programs/README @@ -0,0 +1 @@ +Source files for binary executables (as opposed to shared modules) diff --git a/Modules/_freeze_importlib.c b/Programs/_freeze_importlib.c similarity index 100% rename from Modules/_freeze_importlib.c rename to Programs/_freeze_importlib.c diff --git a/Modules/_testembed.c b/Programs/_testembed.c similarity index 100% rename from Modules/_testembed.c rename to Programs/_testembed.c diff --git a/Modules/python.c b/Programs/python.c similarity index 100% rename from Modules/python.c rename to Programs/python.c diff --git a/Python/README b/Python/README new file mode 100644 index 00000000000..153b628bd5b --- /dev/null +++ b/Python/README @@ -0,0 +1 @@ +Miscellaneous source files for the main Python shared library