]>
Commit | Line | Data |
---|---|---|
8f9eeabb | 1 | # -*- makefile -*- |
2 | # 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 | |
5 | # Setup.dist; once it exists it will not be overwritten, so you can edit | |
6 | # Setup to your heart's content. Note that Makefile.pre is created | |
7 | # from Makefile.pre.in by the toplevel configure script. | |
8 | ||
9 | # (VPATH notes: Setup and Makefile.pre are in the build directory, as | |
10 | # are Makefile and config.c; the *.in and *.dist files are in the source | |
11 | # directory.) | |
12 | ||
13 | # Each line in this file describes one or more optional modules. | |
14 | # Modules enabled here will not be compiled by the setup.py script, | |
15 | # so the file can be used to override setup.py's behavior. | |
16 | ||
17 | # Lines have the following structure: | |
18 | # | |
19 | # <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...] | |
20 | # | |
21 | # <sourcefile> is anything ending in .c (.C, .cc, .c++ are C++ files) | |
22 | # <cpparg> is anything starting with -I, -D, -U or -C | |
23 | # <library> is anything ending in .a or beginning with -l or -L | |
24 | # <module> is anything else but should be a valid Python | |
25 | # identifier (letters, digits, underscores, beginning with non-digit) | |
26 | # | |
27 | # (As the makesetup script changes, it may recognize some other | |
28 | # arguments as well, e.g. *.so and *.sl as libraries. See the big | |
29 | # case statement in the makesetup script.) | |
30 | # | |
31 | # Lines can also have the form | |
32 | # | |
33 | # <name> = <value> | |
34 | # | |
35 | # which defines a Make variable definition inserted into Makefile.in | |
36 | # | |
37 | # Finally, if a line contains just the word "*shared*" (without the | |
38 | # quotes but with the stars), then the following modules will not be | |
39 | # included in the config.c file, nor in the list of objects to be | |
40 | # 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 | |
42 | # their shared libraries will still be added to the Makefile, and | |
43 | # their names will be collected in the Make variable SHAREDMODS. This | |
44 | # is used to build modules as shared libraries. (They can be | |
45 | # installed using "make sharedinstall", which is implied by the | |
46 | # toplevel "make install" target.) (For compatibility, | |
47 | # *noconfig* has the same effect as *shared*.) | |
48 | # | |
49 | # In addition, *static* reverses this effect (negating a previous | |
50 | # *shared* line). | |
51 | ||
52 | # NOTE: As a standard policy, as many modules as can be supported by a | |
53 | # platform should be present. The distribution comes with all modules | |
54 | # enabled that are supported by most platforms and don't require you | |
55 | # to ftp sources from elsewhere. | |
56 | ||
57 | ||
58 | # Some special rules to define PYTHONPATH. | |
59 | # Edit the definitions below to indicate which options you are using. | |
60 | # Don't add any whitespace or comments! | |
61 | ||
62 | # Directories where library files get installed. | |
63 | # DESTLIB is for Python modules; MACHDESTLIB for shared libraries. | |
64 | DESTLIB=$(LIBDEST) | |
65 | MACHDESTLIB=$(BINLIBDEST) | |
66 | ||
67 | # NOTE: all the paths are now relative to the prefix that is computed | |
68 | # at run time! | |
69 | ||
70 | # Standard path -- don't edit. | |
71 | # No leading colon since this is the first entry. | |
72 | # Empty since this is now just the runtime prefix. | |
73 | DESTPATH= | |
74 | ||
75 | # Site specific path components -- should begin with : if non-empty | |
76 | SITEPATH= | |
77 | ||
78 | # Standard path components for test modules | |
79 | TESTPATH= | |
80 | ||
81 | # Path components for machine- or system-dependent modules and shared libraries | |
82 | MACHDEPPATH=:plat-$(MACHDEP) | |
83 | ||
84 | # Path component for the Tkinter-related modules | |
85 | # The TKPATH variable is always enabled, to save you the effort. | |
86 | TKPATH=:lib-tk | |
87 | ||
88 | COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(TKPATH) | |
89 | PYTHONPATH=$(COREPYTHONPATH) | |
90 | ||
91 | ||
92 | # The modules listed here can't be built as shared libraries for | |
93 | # various reasons; therefore they are listed here instead of in the | |
94 | # normal order. | |
95 | ||
96 | # This only contains the minimal set of modules required to run the | |
97 | # setup.py script in the root of the Python source tree. | |
98 | ||
99 | posix posixmodule.c # posix (UNIX) system calls | |
100 | _sre _sre.c # Fredrik Lundh's new regular expressions | |
88b95740 | 101 | new newmodule.c # Tommy Burnette's 'new' module |
8f9eeabb | 102 | |
103 | # The rest of the modules listed in this file are all commented out by | |
104 | # default. Usually they can be detected and built as dynamically | |
105 | # loaded modules by the new setup.py script added in Python 2.1. If | |
106 | # you're on a platform that doesn't support dynamic loading, want to | |
107 | # compile modules statically into the Python binary, or need to | |
108 | # specify some odd set of compiler switches, you can uncomment the | |
109 | # appropriate lines below. | |
110 | ||
111 | # ====================================================================== | |
112 | ||
88b95740 | 113 | # The Python symtable module depends on .h files that setup.py doesn't track |
114 | _symtable symtablemodule.c | |
115 | ||
8f9eeabb | 116 | # The SGI specific GL module: |
117 | ||
118 | GLHACK=-Dclear=__GLclear | |
119 | #gl glmodule.c cgensupport.c -I$(srcdir) $(GLHACK) -lgl -lX11 | |
120 | ||
121 | # Pure module. Cannot be linked dynamically. | |
122 | # -DWITH_QUANTIFY, -DWITH_PURIFY, or -DWITH_ALL_PURE | |
123 | #WHICH_PURE_PRODUCTS=-DWITH_ALL_PURE | |
124 | #PURE_INCLS=-I/usr/local/include | |
125 | #PURE_STUBLIBS=-L/usr/local/lib -lpurify_stubs -lquantify_stubs | |
126 | #pure puremodule.c $(WHICH_PURE_PRODUCTS) $(PURE_INCLS) $(PURE_STUBLIBS) | |
127 | ||
128 | # Uncommenting the following line tells makesetup that all following | |
129 | # modules are to be built as shared libraries (see above for more | |
130 | # detail; also note that *static* reverses this effect): | |
131 | ||
132 | *shared* | |
133 | ||
134 | # GNU readline. Unlike previous Python incarnations, GNU readline is | |
135 | # now incorporated in an optional module, configured in the Setup file | |
136 | # instead of by a configure script switch. You may have to insert a | |
137 | # -L option pointing to the directory where libreadline.* lives, | |
138 | # and you may have to change -ltermcap to -ltermlib or perhaps remove | |
139 | # it, depending on your system -- see the GNU readline instructions. | |
140 | # It's okay for this to be a shared library, too. | |
141 | ||
142 | readline readline.c -lreadline | |
143 | ||
144 | ||
145 | # Modules that should always be present (non UNIX dependent): | |
146 | ||
147 | array arraymodule.c # array objects | |
88b95740 | 148 | cmath cmathmodule.c # -lm # complex math library functions |
149 | math mathmodule.c # -lm # math library functions, e.g. sin() | |
8f9eeabb | 150 | struct structmodule.c # binary structure packing/unpacking |
151 | time timemodule.c # -lm # time operations and variables | |
152 | operator operator.c # operator.add() and similar goodies | |
153 | _weakref _weakref.c # basic weak reference support | |
154 | _codecs _codecsmodule.c # access to the builtin codecs and codec registry | |
155 | _testcapi _testcapimodule.c # Python C API test module | |
156 | ||
157 | unicodedata unicodedata.c # static Unicode character database | |
158 | ||
159 | _locale _localemodule.c # access to ISO C locale support | |
160 | ||
161 | ||
162 | # Modules with some UNIX dependencies -- on by default: | |
163 | # (If you have a really backward UNIX, select and socket may not be | |
164 | # supported...) | |
165 | ||
166 | fcntl fcntlmodule.c # fcntl(2) and ioctl(2) | |
167 | pwd pwdmodule.c # pwd(3) | |
168 | grp grpmodule.c # grp(3) | |
169 | errno errnomodule.c # posix (UNIX) errno values | |
170 | select selectmodule.c # select(2); not on ancient System V | |
171 | ||
172 | # Memory-mapped files (also works on Win32). | |
173 | mmap mmapmodule.c | |
174 | ||
175 | # Dynamic readlines | |
176 | xreadlines xreadlinesmodule.c | |
177 | ||
178 | # for socket(2), without SSL support. | |
179 | _socket socketmodule.c | |
180 | ||
181 | # Socket module compiled with SSL support; you must comment out the other | |
182 | # socket line above, and possibly edit the SSL variable: | |
88b95740 | 183 | #SSL=/usr/local/ssl |
8f9eeabb | 184 | _socket socketmodule.c \ |
185 | -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ | |
186 | -L$(SSL)/lib -lssl -lcrypto | |
187 | ||
188 | # The crypt module is now disabled by default because it breaks builds | |
189 | # on many systems (where -lcrypt is needed), e.g. Linux (I believe). | |
190 | # | |
191 | # First, look at Setup.config; configure may have set this for you. | |
192 | ||
193 | crypt cryptmodule.c -lcrypt # crypt(3); needs -lcrypt on some systems | |
194 | ||
195 | ||
196 | # Some more UNIX dependent modules -- off by default, since these | |
197 | # are not supported by all UNIX systems: | |
198 | ||
199 | nis nismodule.c -lnsl # Sun yellow pages -- not everywhere | |
200 | termios termios.c # Steen Lumholt's termios module | |
201 | resource resource.c # Jeremy Hylton's rlimit interface | |
202 | ||
203 | ||
204 | # Multimedia modules -- off by default. | |
205 | # These don't work for 64-bit platforms!!! | |
206 | # These represent audio samples or images as strings: | |
207 | ||
208 | audioop audioop.c # Operations on audio samples | |
209 | imageop imageop.c # Operations on images | |
210 | rgbimg rgbimgmodule.c # Read SGI RGB image files (but coded portably) | |
211 | ||
212 | ||
213 | # The md5 module implements the RSA Data Security, Inc. MD5 | |
214 | # Message-Digest Algorithm, described in RFC 1321. The necessary files | |
215 | # md5c.c and md5.h are included here. | |
216 | ||
217 | md5 md5module.c md5c.c | |
218 | ||
219 | ||
220 | # The sha module implements the SHA checksum algorithm. | |
221 | # (NIST's Secure Hash Algorithm.) | |
222 | sha shamodule.c | |
223 | ||
224 | ||
225 | # The mpz module interfaces to the GNU Multiple Precision library. | |
226 | # You need to ftp the GNU MP library. | |
227 | # The GMP variable must point to the GMP source directory. | |
228 | # This was originally written and tested against GMP 1.2 and 1.3.2. | |
229 | # It has been modified by Rob Hooft to work with 2.0.2 as well, but I | |
230 | # haven't tested it recently. | |
231 | ||
232 | # A compatible MP library unencombered by the GPL also exists. It was | |
233 | # posted to comp.sources.misc in volume 40 and is widely available from | |
234 | # FTP archive sites. One URL for it is: | |
235 | # ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/volume40/fgmp/part01.Z | |
236 | ||
88b95740 | 237 | #GMP=/ufs/guido/src/gmp |
238 | mpz mpzmodule.c -lgmp -D__GNU_MP__=2 | |
8f9eeabb | 239 | |
240 | ||
241 | # SGI IRIX specific modules -- off by default. | |
242 | ||
243 | # These module work on any SGI machine: | |
244 | ||
245 | # *** gl must be enabled higher up in this file *** | |
246 | #fm fmmodule.c $(GLHACK) -lfm -lgl # Font Manager | |
247 | #sgi sgimodule.c # sgi.nap() and a few more | |
248 | ||
249 | # This module requires the header file | |
250 | # /usr/people/4Dgifts/iristools/include/izoom.h: | |
251 | #imgfile imgfile.c -limage -lgutil -lgl -lm # Image Processing Utilities | |
252 | ||
253 | ||
254 | # These modules require the Multimedia Development Option (I think): | |
255 | ||
256 | #al almodule.c -laudio # Audio Library | |
257 | #cd cdmodule.c -lcdaudio -lds -lmediad # CD Audio Library | |
258 | #cl clmodule.c -lcl -lawareaudio # Compression Library | |
259 | #sv svmodule.c yuvconvert.c -lsvideo -lXext -lX11 # Starter Video | |
260 | ||
261 | ||
262 | # The FORMS library, by Mark Overmars, implements user interface | |
263 | # components such as dialogs and buttons using SGI's GL and FM | |
264 | # libraries. You must ftp the FORMS library separately from | |
265 | # ftp://ftp.cs.ruu.nl/pub/SGI/FORMS. It was tested with FORMS 2.2a. | |
266 | # NOTE: if you want to be able to use FORMS and curses simultaneously | |
267 | # (or both link them statically into the same binary), you must | |
268 | # compile all of FORMS with the cc option "-Dclear=__GLclear". | |
269 | ||
270 | # The FORMS variable must point to the FORMS subdirectory of the forms | |
271 | # toplevel directory: | |
272 | ||
273 | #FORMS=/ufs/guido/src/forms/FORMS | |
274 | #fl flmodule.c -I$(FORMS) $(GLHACK) $(FORMS)/libforms.a -lfm -lgl | |
275 | ||
276 | ||
277 | # SunOS specific modules -- off by default: | |
278 | ||
279 | #sunaudiodev sunaudiodev.c | |
280 | ||
281 | ||
282 | # A Linux specific module -- off by default; this may also work on | |
283 | # some *BSDs. | |
284 | ||
285 | #linuxaudiodev linuxaudiodev.c | |
286 | ||
287 | ||
288 | # George Neville-Neil's timing module: | |
289 | ||
88b95740 | 290 | timing timingmodule.c |
8f9eeabb | 291 | |
292 | ||
293 | # The _tkinter module. | |
294 | # | |
295 | # The command for _tkinter is long and site specific. Please | |
296 | # uncomment and/or edit those parts as indicated. If you don't have a | |
297 | # specific extension (e.g. Tix or BLT), leave the corresponding line | |
298 | # commented out. (Leave the trailing backslashes in! If you | |
299 | # experience strange errors, you may want to join all uncommented | |
300 | # lines and remove the backslashes -- the backslash interpretation is | |
301 | # done by the shell's "read" command and it may not be implemented on | |
302 | # every system. | |
303 | ||
304 | # *** Always uncomment this (leave the leading underscore in!): | |
305 | _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \ | |
306 | -L/usr/X11R6/lib \ | |
307 | -I/usr/X11R6/include \ | |
308 | -ltk -ltcl \ | |
309 | -lX11 | |
310 | ||
311 | # Lance Ellinghaus's modules: | |
312 | ||
88b95740 | 313 | rotor rotormodule.c # enigma-inspired encryption |
314 | syslog syslogmodule.c # syslog daemon interface | |
8f9eeabb | 315 | |
316 | ||
317 | # Curses support, requring the System V version of curses, often | |
318 | # provided by the ncurses library. e.g. on Linux, link with -lncurses | |
319 | # instead of -lcurses; on SunOS 4.1.3, insert -I/usr/5include | |
320 | # -L/usr/5lib before -lcurses). | |
321 | # | |
322 | # First, look at Setup.config; configure may have set this for you. | |
323 | ||
324 | _curses _cursesmodule.c -I/usr/include/ncurses -lncurses | |
325 | # Wrapper for the panel library that's part of ncurses and SYSV curses. | |
326 | _curses_panel _curses_panel.c -I/usr/include/ncurses -lpanel -lncurses | |
327 | ||
328 | ||
8f9eeabb | 329 | # Generic (SunOS / SVR4) dynamic loading module. |
330 | # This is not needed for dynamic loading of Python modules -- | |
331 | # it is a highly experimental and dangerous device for calling | |
332 | # *arbitrary* C functions in *arbitrary* shared libraries: | |
333 | ||
334 | #dl dlmodule.c | |
335 | ||
336 | ||
337 | # Modules that provide persistent dictionary-like semantics. You will | |
338 | # probably want to arrange for at least one of them to be available on | |
339 | # your machine, though none are defined by default because of library | |
340 | # dependencies. The Python module anydbm.py provides an | |
341 | # implementation independent wrapper for these; dumbdbm.py provides | |
342 | # similar functionality (but slower of course) implemented in Python. | |
343 | ||
344 | # The standard Unix dbm module has been moved to Setup.config so that | |
345 | # it will be compiled as a shared library by default. Compiling it as | |
346 | # a built-in module causes conflicts with the pybsddb3 module since it | |
347 | # creates a static dependency on an out-of-date version of db.so. | |
348 | # | |
349 | # First, look at Setup.config; configure may have set this for you. | |
350 | ||
351 | #dbm dbmmodule.c # dbm(3) may require -lndbm or similar | |
352 | ||
353 | # Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm: | |
354 | # | |
355 | # First, look at Setup.config; configure may have set this for you. | |
356 | ||
948937b9 | 357 | gdbm gdbmmodule.c -lgdbm |
8f9eeabb | 358 | |
359 | ||
360 | # Berkeley DB interface. | |
361 | # | |
362 | # This requires the Berkeley DB code, see | |
363 | # ftp://ftp.cs.berkeley.edu/pub/4bsd/db.1.85.tar.gz | |
364 | # | |
365 | # Edit the variables DB and DBPORT to point to the db top directory | |
366 | # and the subdirectory of PORT where you built it. | |
367 | # | |
368 | # (See http://electricrain.com/greg/python/bsddb3/ for an interface to | |
369 | # BSD DB 3.x.) | |
370 | ||
371 | # Note: If a db.h file is found by configure, bsddb will be enabled | |
372 | # automatically via Setup.config.in. It only needs to be enabled here | |
373 | # if it is not automatically enabled there; check the generated | |
374 | # Setup.config before enabling it here. | |
375 | ||
376 | #DB=/depot/sundry/src/berkeley-db/db.1.85 | |
377 | #DBPORT=$(DB)/PORT/irix.5.3 | |
6b5b7141 | 378 | bsddb bsddbmodule.c -ldb |
8f9eeabb | 379 | |
380 | ||
381 | ||
382 | # Helper module for various ascii-encoders | |
383 | binascii binascii.c | |
384 | ||
385 | # Fred Drake's interface to the Python parser | |
386 | parser parsermodule.c | |
387 | ||
388 | # Digital Creations' cStringIO and cPickle | |
389 | cStringIO cStringIO.c | |
390 | cPickle cPickle.c | |
391 | ||
392 | ||
393 | # Lee Busby's SIGFPE modules. | |
394 | # The library to link fpectl with is platform specific. | |
395 | # Choose *one* of the options below for fpectl: | |
396 | ||
397 | # For SGI IRIX (tested on 5.3): | |
398 | #fpectl fpectlmodule.c -lfpe | |
399 | ||
400 | # For Solaris with SunPro compiler (tested on Solaris 2.5 with SunPro C 4.2): | |
401 | # (Without the compiler you don't have -lsunmath.) | |
402 | #fpectl fpectlmodule.c -R/opt/SUNWspro/lib -lsunmath -lm | |
403 | ||
404 | # For other systems: see instructions in fpectlmodule.c. | |
405 | #fpectl fpectlmodule.c ... | |
406 | ||
407 | # Test module for fpectl. No extra libraries needed. | |
408 | #fpetest fpetestmodule.c | |
409 | ||
410 | # Andrew Kuchling's zlib module. | |
411 | # This require zlib 1.1.3 (or later). | |
412 | # See http://www.cdrom.com/pub/infozip/zlib/ | |
413 | zlib zlibmodule.c -lz | |
414 | ||
415 | # Interface to the Expat XML parser | |
416 | # | |
417 | # Expat is written by James Clark and must be downloaded separately | |
418 | # (see below). The pyexpat module was written by Paul Prescod after a | |
419 | # prototype by Jack Jansen. | |
420 | # | |
421 | # The Expat dist includes Windows .lib and .dll files. Home page is at | |
422 | # http://www.jclark.com/xml/expat.html, the current production release is | |
423 | # always ftp://ftp.jclark.com/pub/xml/expat.zip. | |
424 | # | |
425 | # EXPAT_DIR, below, should point to the expat/ directory created by | |
426 | # unpacking the Expat source distribution. | |
427 | # | |
428 | # Note: the expat build process doesn't yet build a libexpat.a; you can | |
429 | # do this manually while we try convince the author to add it. To do so, | |
430 | # cd to EXPAT_DIR, run "make" if you have not done so, then run: | |
431 | # | |
432 | # ar cr libexpat.a xmltok/*.o xmlparse/*.o | |
433 | # | |
434 | #EXPAT_DIR=/usr/local/src/expat | |
435 | pyexpat pyexpat.c -lexpat -DHAVE_EXPAT_H | |
436 | ||
437 | ||
438 | # Example -- included for reference only: | |
439 | # xx xxmodule.c | |
440 | ||
88b95740 | 441 | # Another example -- the 'xxsubtype' module shows C-level subtyping in action |
442 | xxsubtype xxsubtype.c |