blob: d1fb695daca3199cfc14185445b97be8939ecbfc [file] [log] [blame]
Barry Warsawc7736b91997-09-04 13:05:14 +00001# -*- makefile -*-
Guido van Rossumb6775db1994-08-01 11:34:53 +00002# The file Setup is used by the makesetup script to construct the files
3# Makefile and config.c, from Makefile.pre and config.c.in,
4# respectively. The file Setup itself is initially copied from
Fred Drakecf3bc8c2000-10-26 17:07:40 +00005# Setup.dist; once it exists it will not be overwritten, so you can edit
Guido van Rossumf4449de1995-04-10 11:37:18 +00006# Setup to your heart's content. Note that Makefile.pre is created
7# from Makefile.pre.in by the toplevel configure script.
Guido van Rossumb6775db1994-08-01 11:34:53 +00008
9# (VPATH notes: Setup and Makefile.pre are in the build directory, as
Fred Drakecf3bc8c2000-10-26 17:07:40 +000010# are Makefile and config.c; the *.in and *.dist files are in the source
Guido van Rossumb6775db1994-08-01 11:34:53 +000011# directory.)
12
Guido van Rossumfba715a1994-01-02 00:26:09 +000013# Each line in this file describes one or more optional modules.
14# Comment out lines to suppress modules.
15# Lines have the following structure:
16#
Guido van Rossumf6971e21994-08-30 12:25:20 +000017# <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...]
Guido van Rossumfba715a1994-01-02 00:26:09 +000018#
Guido van Rossumf6971e21994-08-30 12:25:20 +000019# <sourcefile> is anything ending in .c (.C, .cc, .c++ are C++ files)
Guido van Rossumfba715a1994-01-02 00:26:09 +000020# <cpparg> is anything starting with -I, -D, -U or -C
21# <library> is anything ending in .a or beginning with -l or -L
22# <module> is anything else but should be a valid Python
23# identifier (letters, digits, underscores, beginning with non-digit)
24#
Guido van Rossum613b9431996-08-20 19:50:17 +000025# (As the makesetup script changes, it may recognize some other
26# arguments as well, e.g. *.so and *.sl as libraries. See the big
27# case statement in the makesetup script.)
28#
Guido van Rossumfba715a1994-01-02 00:26:09 +000029# Lines can also have the form
30#
31# <name> = <value>
32#
33# which defines a Make variable definition inserted into Makefile.in
Guido van Rossum7cc5abd1994-09-12 10:42:20 +000034#
Guido van Rossum30e817e1997-12-02 16:46:39 +000035# Finally, if a line contains just the word "*shared*" (without the
36# quotes but with the stars), then the following modules will not be
37# included in the config.c file, nor in the list of objects to be
38# added to the library archive, and their linker options won't be
39# added to the linker options, but rules to create their .o files and
40# their shared libraries will still be added to the Makefile, and
41# their names will be collected in the Make variable SHAREDMODS. This
Guido van Rossum7fef86e1998-10-07 14:41:54 +000042# is used to build modules as shared libraries. (They can be
43# installed using "make sharedinstall", which is implied by the
44# toplevel "make install" target.) (For compatibility,
Guido van Rossum30e817e1997-12-02 16:46:39 +000045# *noconfig* has the same effect as *shared*.)
Guido van Rossumb71c5701999-02-22 18:11:18 +000046#
47# In addition, *static* reverses this effect (negating a previous
48# *shared* line).
Guido van Rossumb6775db1994-08-01 11:34:53 +000049
Guido van Rossumfba715a1994-01-02 00:26:09 +000050# NOTE: As a standard policy, as many modules as can be supported by a
51# platform should be present. The distribution comes with all modules
52# enabled that are supported by most platforms and don't require you
Guido van Rossumf4449de1995-04-10 11:37:18 +000053# to ftp sources from elsewhere.
Guido van Rossumfba715a1994-01-02 00:26:09 +000054
55
Guido van Rossumb6775db1994-08-01 11:34:53 +000056# Some special rules to define PYTHONPATH.
57# Edit the definitions below to indicate which options you are using.
58# Don't add any whitespace or comments!
59
Guido van Rossum0c5e3c81996-07-31 17:49:01 +000060# Directories where library files get installed.
61# DESTLIB is for Python modules; MACHDESTLIB for shared libraries.
62DESTLIB=$(LIBDEST)
63MACHDESTLIB=$(BINLIBDEST)
Guido van Rossumb6775db1994-08-01 11:34:53 +000064
Guido van Rossum97227811997-04-11 17:19:54 +000065# NOTE: all the paths are now relative to the prefix that is computed
66# at run time!
67
Guido van Rossum0c5e3c81996-07-31 17:49:01 +000068# Standard path -- don't edit.
Guido van Rossum97227811997-04-11 17:19:54 +000069# No leading colon since this is the first entry.
70# Empty since this is now just the runtime prefix.
71DESTPATH=
Guido van Rossum1c206481995-09-13 18:39:04 +000072
Guido van Rossum0c5e3c81996-07-31 17:49:01 +000073# Site specific path components -- should begin with : if non-empty
74SITEPATH=
75
76# Standard path components for test modules
Guido van Rossum7d83a5e1999-02-08 21:49:22 +000077TESTPATH=
Guido van Rossumb6775db1994-08-01 11:34:53 +000078
Guido van Rossumd3c1bd31996-07-30 16:54:03 +000079# Path components for machine- or system-dependent modules and shared libraries
Guido van Rossuma9f02b81997-09-28 05:45:40 +000080MACHDEPPATH=:plat-$(MACHDEP)
Guido van Rossumb6775db1994-08-01 11:34:53 +000081
Andrew M. Kuchling93b747e2001-01-27 01:31:35 +000082# Path component for the Tkinter-related modules
83TKPATH=:lib-tk
84
Guido van Rossum2808b742000-05-03 22:34:12 +000085COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(TKPATH)
Guido van Rossumf5e0ea81994-09-12 15:35:36 +000086PYTHONPATH=$(COREPYTHONPATH)
Guido van Rossumb6775db1994-08-01 11:34:53 +000087
88
Guido van Rossumcaffcdf1995-03-10 15:14:13 +000089# The modules listed here can't be built as shared libraries for
90# various reasons; therefore they are listed here instead of in the
91# normal order.
Guido van Rossum05bf2801994-10-20 22:01:38 +000092
Andrew M. Kuchling3712d392001-01-17 18:55:13 +000093# This only contains the minimal set of modules required to run the
94# setup.py script in the root of the Python source tree.
Guido van Rossumcaffcdf1995-03-10 15:14:13 +000095
96posix posixmodule.c # posix (UNIX) system calls
Guido van Rossume5679352000-03-31 15:01:27 +000097_sre _sre.c # Fredrik Lundh's new regular expressions
Guido van Rossumcaffcdf1995-03-10 15:14:13 +000098
Andrew M. Kuchling6425efe2001-01-17 22:17:16 +000099# The signal module can't be compiled as a dynamically linked module.
100signal signalmodule.c # signal(2)
101
Andrew M. Kuchling3712d392001-01-17 18:55:13 +0000102# The rest of the modules previously listed in this file are built
103# by the setup.py script in Python 2.1.