Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bbeb1e6

Browse files
committed
Document the build process more precisely. Suggested by Hugh Sasse.
1 parent 75700db commit bbeb1e6

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

Modules/Setup.dist

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,30 @@
3636
#
3737
# Finally, if a line contains just the word "*shared*" (without the
3838
# quotes but with the stars), then the following modules will not be
39+
# built statically. The build process works like this:
40+
#
41+
# 1. Build all modules that are declared as static in Modules/Setup,
42+
# combine them into libpythonxy.a, combine that into python.
43+
# 2. Build all modules that are listed as shared in Modules/Setup.
44+
# 3. Invoke setup.py. That builds all modules that
45+
# a) are not builtin, and
46+
# b) are not listed in Modules/Setup, and
47+
# c) can be build on the target
48+
#
49+
# Therefore, modules declared to be shared will not be
3950
# included in the config.c file, nor in the list of objects to be
4051
# added to the library archive, and their linker options won't be
41-
# added to the linker options, but rules to create their .o files and
52+
# added to the linker options. Rules to create their .o files and
4253
# their shared libraries will still be added to the Makefile, and
4354
# their names will be collected in the Make variable SHAREDMODS. This
4455
# is used to build modules as shared libraries. (They can be
4556
# installed using "make sharedinstall", which is implied by the
4657
# toplevel "make install" target.) (For compatibility,
4758
# *noconfig* has the same effect as *shared*.)
4859
#
49-
# In addition, *static* reverses this effect (negating a previous
50-
# *shared* line).
60+
# In addition, *static* explicitly declares the following modules to
61+
# be static. Lines containing "*static*" and "*shared*" may thus
62+
# alternate thoughout this file.
5163

5264
# NOTE: As a standard policy, as many modules as can be supported by a
5365
# platform should be present. The distribution comes with all modules

0 commit comments

Comments
 (0)