From bbeb1e6d913025be7d16e0663b78b0208a66984d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Fri, 19 Apr 2002 09:47:23 +0000 Subject: [PATCH] Document the build process more precisely. Suggested by Hugh Sasse. --- Modules/Setup.dist | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Modules/Setup.dist b/Modules/Setup.dist index 6a49752e3c8..0c7e0152e8d 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