summaryrefslogtreecommitdiffstats
path: root/Modules/Setup.dist
diff options
context:
space:
mode:
authorMartin v. Löwis <martin@v.loewis.de>2002-04-19 09:47:23 (GMT)
committerMartin v. Löwis <martin@v.loewis.de>2002-04-19 09:47:23 (GMT)
commitbbeb1e6d913025be7d16e0663b78b0208a66984d (patch)
tree18ab78c8d6a12d18fe5b36008e0942196cfdd9f0 /Modules/Setup.dist
parent75700db7f0b05c74caa6b26ff9aa048d9ae5606f (diff)
downloadcpython-bbeb1e6d913025be7d16e0663b78b0208a66984d.zip
cpython-bbeb1e6d913025be7d16e0663b78b0208a66984d.tar.gz
cpython-bbeb1e6d913025be7d16e0663b78b0208a66984d.tar.bz2
Document the build process more precisely. Suggested by Hugh Sasse.
Diffstat (limited to 'Modules/Setup.dist')
-rw-r--r--Modules/Setup.dist18
1 files changed, 15 insertions, 3 deletions
diff --git a/Modules/Setup.dist b/Modules/Setup.dist
index 6a49752..0c7e015 100644
--- a/Modules/Setup.dist
+++ b/Modules/Setup.dist
@@ -36,9 +36,20 @@
#
# Finally, if a line contains just the word "*shared*" (without the
# quotes but with the stars), then the following modules will not be
+# built statically. The build process works like this:
+#
+# 1. Build all modules that are declared as static in Modules/Setup,
+# combine them into libpythonxy.a, combine that into python.
+# 2. Build all modules that are listed as shared in Modules/Setup.
+# 3. Invoke setup.py. That builds all modules that
+# a) are not builtin, and
+# b) are not listed in Modules/Setup, and
+# c) can be build on the target
+#
+# Therefore, modules declared to be shared will not be
# included in the config.c file, nor in the list of objects to be
# added to the library archive, and their linker options won't be
-# added to the linker options, but rules to create their .o files and
+# added to the linker options. Rules to create their .o files and
# their shared libraries will still be added to the Makefile, and
# their names will be collected in the Make variable SHAREDMODS. This
# is used to build modules as shared libraries. (They can be
@@ -46,8 +57,9 @@
# toplevel "make install" target.) (For compatibility,
# *noconfig* has the same effect as *shared*.)
#
-# In addition, *static* reverses this effect (negating a previous
-# *shared* line).
+# In addition, *static* explicitly declares the following modules to
+# be static. Lines containing "*static*" and "*shared*" may thus
+# alternate thoughout this file.
# NOTE: As a standard policy, as many modules as can be supported by a
# platform should be present. The distribution comes with all modules