Commit | Line | Data |
---|---|---|
920dae64 AT |
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 | # 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 | |
50 | # included in the config.c file, nor in the list of objects to be | |
51 | # added to the library archive, and their linker options won't be | |
52 | # added to the linker options. Rules to create their .o files and | |
53 | # their shared libraries will still be added to the Makefile, and | |
54 | # their names will be collected in the Make variable SHAREDMODS. This | |
55 | # is used to build modules as shared libraries. (They can be | |
56 | # installed using "make sharedinstall", which is implied by the | |
57 | # toplevel "make install" target.) (For compatibility, | |
58 | # *noconfig* has the same effect as *shared*.) | |
59 | # | |
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. | |
63 | ||
64 | # NOTE: As a standard policy, as many modules as can be supported by a | |
65 | # platform should be present. The distribution comes with all modules | |
66 | # enabled that are supported by most platforms and don't require you | |
67 | # to ftp sources from elsewhere. | |
68 | ||
69 | ||
70 | # Some special rules to define PYTHONPATH. | |
71 | # Edit the definitions below to indicate which options you are using. | |
72 | # Don't add any whitespace or comments! | |
73 | ||
74 | # Directories where library files get installed. | |
75 | # DESTLIB is for Python modules; MACHDESTLIB for shared libraries. | |
76 | DESTLIB=$(LIBDEST) | |
77 | MACHDESTLIB=$(BINLIBDEST) | |
78 | ||
79 | # NOTE: all the paths are now relative to the prefix that is computed | |
80 | # at run time! | |
81 | ||
82 | # Standard path -- don't edit. | |
83 | # No leading colon since this is the first entry. | |
84 | # Empty since this is now just the runtime prefix. | |
85 | DESTPATH= | |
86 | ||
87 | # Site specific path components -- should begin with : if non-empty | |
88 | SITEPATH= | |
89 | ||
90 | # Standard path components for test modules | |
91 | TESTPATH= | |
92 | ||
93 | # Path components for machine- or system-dependent modules and shared libraries | |
94 | MACHDEPPATH=:plat-$(MACHDEP) | |
95 | EXTRAMACHDEPPATH= | |
96 | ||
97 | # Path component for the Tkinter-related modules | |
98 | # The TKPATH variable is always enabled, to save you the effort. | |
99 | TKPATH=:lib-tk | |
100 | ||
101 | COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(TESTPATH)$(MACHDEPPATH)$(EXTRAMACHDEPPATH)$(TKPATH) | |
102 | PYTHONPATH=$(COREPYTHONPATH) | |
103 | ||
104 | ||
105 | # The modules listed here can't be built as shared libraries for | |
106 | # various reasons; therefore they are listed here instead of in the | |
107 | # normal order. | |
108 | ||
109 | # This only contains the minimal set of modules required to run the | |
110 | # setup.py script in the root of the Python source tree. | |
111 | ||
112 | posix posixmodule.c # posix (UNIX) system calls | |
113 | errno errnomodule.c # posix (UNIX) errno values | |
114 | _sre _sre.c # Fredrik Lundh's new regular expressions | |
115 | _codecs _codecsmodule.c # access to the builtin codecs and codec registry | |
116 | ||
117 | # The zipimport module is always imported at startup. Having it as a | |
118 | # builtin module avoids some bootstrapping problems and reduces overhead. | |
119 | zipimport zipimport.c | |
120 | ||
121 | # The rest of the modules listed in this file are all commented out by | |
122 | # default. Usually they can be detected and built as dynamically | |
123 | # loaded modules by the new setup.py script added in Python 2.1. If | |
124 | # you're on a platform that doesn't support dynamic loading, want to | |
125 | # compile modules statically into the Python binary, or need to | |
126 | # specify some odd set of compiler switches, you can uncomment the | |
127 | # appropriate lines below. | |
128 | ||
129 | # ====================================================================== | |
130 | ||
131 | # The Python symtable module depends on .h files that setup.py doesn't track | |
132 | _symtable symtablemodule.c | |
133 | ||
134 | # The SGI specific GL module: | |
135 | ||
136 | GLHACK=-Dclear=__GLclear | |
137 | #gl glmodule.c cgensupport.c -I$(srcdir) $(GLHACK) -lgl -lX11 | |
138 | ||
139 | # Pure module. Cannot be linked dynamically. | |
140 | # -DWITH_QUANTIFY, -DWITH_PURIFY, or -DWITH_ALL_PURE | |
141 | #WHICH_PURE_PRODUCTS=-DWITH_ALL_PURE | |
142 | #PURE_INCLS=-I/usr/local/include | |
143 | #PURE_STUBLIBS=-L/usr/local/lib -lpurify_stubs -lquantify_stubs | |
144 | #pure puremodule.c $(WHICH_PURE_PRODUCTS) $(PURE_INCLS) $(PURE_STUBLIBS) | |
145 | ||
146 | # Uncommenting the following line tells makesetup that all following | |
147 | # modules are to be built as shared libraries (see above for more | |
148 | # detail; also note that *static* reverses this effect): | |
149 | ||
150 | #*shared* | |
151 | ||
152 | # GNU readline. Unlike previous Python incarnations, GNU readline is | |
153 | # now incorporated in an optional module, configured in the Setup file | |
154 | # instead of by a configure script switch. You may have to insert a | |
155 | # -L option pointing to the directory where libreadline.* lives, | |
156 | # and you may have to change -ltermcap to -ltermlib or perhaps remove | |
157 | # it, depending on your system -- see the GNU readline instructions. | |
158 | # It's okay for this to be a shared library, too. | |
159 | ||
160 | #readline readline.c -lreadline -ltermcap | |
161 | ||
162 | ||
163 | # Modules that should always be present (non UNIX dependent): | |
164 | ||
165 | #array arraymodule.c # array objects | |
166 | #cmath cmathmodule.c # -lm # complex math library functions | |
167 | #math mathmodule.c # -lm # math library functions, e.g. sin() | |
168 | #struct structmodule.c # binary structure packing/unpacking | |
169 | #time timemodule.c # -lm # time operations and variables | |
170 | #operator operator.c # operator.add() and similar goodies | |
171 | #_weakref _weakref.c # basic weak reference support | |
172 | #_testcapi _testcapimodule.c # Python C API test module | |
173 | #_random _randommodule.c # Random number generator | |
174 | #collections collectionsmodule.c # Container types | |
175 | #itertools itertoolsmodule.c # Functions creating iterators for efficient looping | |
176 | #strop stropmodule.c # String manipulations | |
177 | ||
178 | #unicodedata unicodedata.c # static Unicode character database | |
179 | ||
180 | # access to ISO C locale support | |
181 | #_locale _localemodule.c # -lintl | |
182 | ||
183 | ||
184 | # Modules with some UNIX dependencies -- on by default: | |
185 | # (If you have a really backward UNIX, select and socket may not be | |
186 | # supported...) | |
187 | ||
188 | #fcntl fcntlmodule.c # fcntl(2) and ioctl(2) | |
189 | #pwd pwdmodule.c # pwd(3) | |
190 | #grp grpmodule.c # grp(3) | |
191 | #select selectmodule.c # select(2); not on ancient System V | |
192 | ||
193 | # Memory-mapped files (also works on Win32). | |
194 | #mmap mmapmodule.c | |
195 | ||
196 | # CSV file helper | |
197 | #_csv _csv.c | |
198 | ||
199 | # Socket module helper for socket(2) | |
200 | #_socket socketmodule.c | |
201 | ||
202 | # Socket module helper for SSL support; you must comment out the other | |
203 | # socket line above, and possibly edit the SSL variable: | |
204 | #SSL=/usr/local/ssl | |
205 | #_ssl _ssl.c \ | |
206 | # -DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \ | |
207 | # -L$(SSL)/lib -lssl -lcrypto | |
208 | ||
209 | # The crypt module is now disabled by default because it breaks builds | |
210 | # on many systems (where -lcrypt is needed), e.g. Linux (I believe). | |
211 | # | |
212 | # First, look at Setup.config; configure may have set this for you. | |
213 | ||
214 | #crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems | |
215 | ||
216 | ||
217 | # Some more UNIX dependent modules -- off by default, since these | |
218 | # are not supported by all UNIX systems: | |
219 | ||
220 | #nis nismodule.c -lnsl # Sun yellow pages -- not everywhere | |
221 | #termios termios.c # Steen Lumholt's termios module | |
222 | #resource resource.c # Jeremy Hylton's rlimit interface | |
223 | ||
224 | ||
225 | # Multimedia modules -- off by default. | |
226 | # These don't work for 64-bit platforms!!! | |
227 | # #993173 says audioop works on 64-bit platforms, though. | |
228 | # These represent audio samples or images as strings: | |
229 | ||
230 | #audioop audioop.c # Operations on audio samples | |
231 | #imageop imageop.c # Operations on images | |
232 | #rgbimg rgbimgmodule.c # Read SGI RGB image files (but coded portably) | |
233 | ||
234 | ||
235 | # The md5 module implements the RSA Data Security, Inc. MD5 | |
236 | # Message-Digest Algorithm, described in RFC 1321. The necessary files | |
237 | # md5c.c and md5.h are included here. | |
238 | ||
239 | #md5 md5module.c md5c.c | |
240 | ||
241 | ||
242 | # The sha module implements the SHA checksum algorithm. | |
243 | # (NIST's Secure Hash Algorithm.) | |
244 | #sha shamodule.c | |
245 | ||
246 | ||
247 | # SGI IRIX specific modules -- off by default. | |
248 | ||
249 | # These module work on any SGI machine: | |
250 | ||
251 | # *** gl must be enabled higher up in this file *** | |
252 | #fm fmmodule.c $(GLHACK) -lfm -lgl # Font Manager | |
253 | #sgi sgimodule.c # sgi.nap() and a few more | |
254 | ||
255 | # This module requires the header file | |
256 | # /usr/people/4Dgifts/iristools/include/izoom.h: | |
257 | #imgfile imgfile.c -limage -lgutil -lgl -lm # Image Processing Utilities | |
258 | ||
259 | ||
260 | # These modules require the Multimedia Development Option (I think): | |
261 | ||
262 | #al almodule.c -laudio # Audio Library | |
263 | #cd cdmodule.c -lcdaudio -lds -lmediad # CD Audio Library | |
264 | #cl clmodule.c -lcl -lawareaudio # Compression Library | |
265 | #sv svmodule.c yuvconvert.c -lsvideo -lXext -lX11 # Starter Video | |
266 | ||
267 | ||
268 | # The FORMS library, by Mark Overmars, implements user interface | |
269 | # components such as dialogs and buttons using SGI's GL and FM | |
270 | # libraries. You must ftp the FORMS library separately from | |
271 | # ftp://ftp.cs.ruu.nl/pub/SGI/FORMS. It was tested with FORMS 2.2a. | |
272 | # NOTE: if you want to be able to use FORMS and curses simultaneously | |
273 | # (or both link them statically into the same binary), you must | |
274 | # compile all of FORMS with the cc option "-Dclear=__GLclear". | |
275 | ||
276 | # The FORMS variable must point to the FORMS subdirectory of the forms | |
277 | # toplevel directory: | |
278 | ||
279 | #FORMS=/ufs/guido/src/forms/FORMS | |
280 | #fl flmodule.c -I$(FORMS) $(GLHACK) $(FORMS)/libforms.a -lfm -lgl | |
281 | ||
282 | ||
283 | # SunOS specific modules -- off by default: | |
284 | ||
285 | #sunaudiodev sunaudiodev.c | |
286 | ||
287 | ||
288 | # A Linux specific module -- off by default; this may also work on | |
289 | # some *BSDs. | |
290 | ||
291 | #linuxaudiodev linuxaudiodev.c | |
292 | ||
293 | ||
294 | # George Neville-Neil's timing module: | |
295 | ||
296 | #timing timingmodule.c | |
297 | ||
298 | ||
299 | # The _tkinter module. | |
300 | # | |
301 | # The command for _tkinter is long and site specific. Please | |
302 | # uncomment and/or edit those parts as indicated. If you don't have a | |
303 | # specific extension (e.g. Tix or BLT), leave the corresponding line | |
304 | # commented out. (Leave the trailing backslashes in! If you | |
305 | # experience strange errors, you may want to join all uncommented | |
306 | # lines and remove the backslashes -- the backslash interpretation is | |
307 | # done by the shell's "read" command and it may not be implemented on | |
308 | # every system. | |
309 | ||
310 | # *** Always uncomment this (leave the leading underscore in!): | |
311 | # _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \ | |
312 | # *** Uncomment and edit to reflect where your Tcl/Tk libraries are: | |
313 | # -L/usr/local/lib \ | |
314 | # *** Uncomment and edit to reflect where your Tcl/Tk headers are: | |
315 | # -I/usr/local/include \ | |
316 | # *** Uncomment and edit to reflect where your X11 header files are: | |
317 | # -I/usr/X11R6/include \ | |
318 | # *** Or uncomment this for Solaris: | |
319 | # -I/usr/openwin/include \ | |
320 | # *** Uncomment and edit for Tix extension only: | |
321 | # -DWITH_TIX -ltix8.1.8.2 \ | |
322 | # *** Uncomment and edit for BLT extension only: | |
323 | # -DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \ | |
324 | # *** Uncomment and edit for PIL (TkImaging) extension only: | |
325 | # (See http://www.pythonware.com/products/pil/ for more info) | |
326 | # -DWITH_PIL -I../Extensions/Imaging/libImaging tkImaging.c \ | |
327 | # *** Uncomment and edit for TOGL extension only: | |
328 | # -DWITH_TOGL togl.c \ | |
329 | # *** Uncomment and edit to reflect your Tcl/Tk versions: | |
330 | # -ltk8.2 -ltcl8.2 \ | |
331 | # *** Uncomment and edit to reflect where your X11 libraries are: | |
332 | # -L/usr/X11R6/lib \ | |
333 | # *** Or uncomment this for Solaris: | |
334 | # -L/usr/openwin/lib \ | |
335 | # *** Uncomment these for TOGL extension only: | |
336 | # -lGL -lGLU -lXext -lXmu \ | |
337 | # *** Uncomment for AIX: | |
338 | # -lld \ | |
339 | # *** Always uncomment this; X11 libraries to link with: | |
340 | # -lX11 | |
341 | ||
342 | # Lance Ellinghaus's syslog module | |
343 | #syslog syslogmodule.c # syslog daemon interface | |
344 | ||
345 | ||
346 | # Curses support, requring the System V version of curses, often | |
347 | # provided by the ncurses library. e.g. on Linux, link with -lncurses | |
348 | # instead of -lcurses). | |
349 | # | |
350 | # First, look at Setup.config; configure may have set this for you. | |
351 | ||
352 | #_curses _cursesmodule.c -lcurses -ltermcap | |
353 | # Wrapper for the panel library that's part of ncurses and SYSV curses. | |
354 | #_curses_panel _curses_panel.c -lpanel -lncurses | |
355 | ||
356 | ||
357 | # Generic (SunOS / SVR4) dynamic loading module. | |
358 | # This is not needed for dynamic loading of Python modules -- | |
359 | # it is a highly experimental and dangerous device for calling | |
360 | # *arbitrary* C functions in *arbitrary* shared libraries: | |
361 | ||
362 | #dl dlmodule.c | |
363 | ||
364 | ||
365 | # Modules that provide persistent dictionary-like semantics. You will | |
366 | # probably want to arrange for at least one of them to be available on | |
367 | # your machine, though none are defined by default because of library | |
368 | # dependencies. The Python module anydbm.py provides an | |
369 | # implementation independent wrapper for these; dumbdbm.py provides | |
370 | # similar functionality (but slower of course) implemented in Python. | |
371 | ||
372 | # The standard Unix dbm module has been moved to Setup.config so that | |
373 | # it will be compiled as a shared library by default. Compiling it as | |
374 | # a built-in module causes conflicts with the pybsddb3 module since it | |
375 | # creates a static dependency on an out-of-date version of db.so. | |
376 | # | |
377 | # First, look at Setup.config; configure may have set this for you. | |
378 | ||
379 | #dbm dbmmodule.c # dbm(3) may require -lndbm or similar | |
380 | ||
381 | # Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm: | |
382 | # | |
383 | # First, look at Setup.config; configure may have set this for you. | |
384 | ||
385 | #gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm | |
386 | ||
387 | ||
388 | # Sleepycat Berkeley DB interface. | |
389 | # | |
390 | # This requires the Sleepycat DB code, see http://www.sleepycat.com/ | |
391 | # The earliest supported version of that library is 3.0, the latest | |
392 | # supported version is 4.0 (4.1 is specifically not supported, as that | |
393 | # changes the semantics of transactional databases). A list of available | |
394 | # releases can be found at | |
395 | # | |
396 | # http://www.sleepycat.com/update/index.html | |
397 | # | |
398 | # Edit the variables DB and DBLIBVERto point to the db top directory | |
399 | # and the subdirectory of PORT where you built it. | |
400 | #DB=/usr/local/BerkeleyDB.4.0 | |
401 | #DBLIBVER=4.0 | |
402 | #DBINC=$(DB)/include | |
403 | #DBLIB=$(DB)/lib | |
404 | #_bsddb _bsddb.c -I$(DBINC) -L$(DBLIB) -ldb-$(DBLIBVER) | |
405 | ||
406 | # Historical Berkeley DB 1.85 | |
407 | # | |
408 | # This module is deprecated; the 1.85 version of the Berkeley DB library has | |
409 | # bugs that can cause data corruption. If you can, use later versions of the | |
410 | # library instead, available from <http://www.sleepycat.com/>. | |
411 | ||
412 | #DB=/depot/sundry/src/berkeley-db/db.1.85 | |
413 | #DBPORT=$(DB)/PORT/irix.5.3 | |
414 | #bsddb185 bsddbmodule.c -I$(DBPORT)/include -I$(DBPORT) $(DBPORT)/libdb.a | |
415 | ||
416 | ||
417 | ||
418 | # Helper module for various ascii-encoders | |
419 | #binascii binascii.c | |
420 | ||
421 | # Fred Drake's interface to the Python parser | |
422 | #parser parsermodule.c | |
423 | ||
424 | # cStringIO and cPickle | |
425 | #cStringIO cStringIO.c | |
426 | #cPickle cPickle.c | |
427 | ||
428 | ||
429 | # Lee Busby's SIGFPE modules. | |
430 | # The library to link fpectl with is platform specific. | |
431 | # Choose *one* of the options below for fpectl: | |
432 | ||
433 | # For SGI IRIX (tested on 5.3): | |
434 | #fpectl fpectlmodule.c -lfpe | |
435 | ||
436 | # For Solaris with SunPro compiler (tested on Solaris 2.5 with SunPro C 4.2): | |
437 | # (Without the compiler you don't have -lsunmath.) | |
438 | #fpectl fpectlmodule.c -R/opt/SUNWspro/lib -lsunmath -lm | |
439 | ||
440 | # For other systems: see instructions in fpectlmodule.c. | |
441 | #fpectl fpectlmodule.c ... | |
442 | ||
443 | # Test module for fpectl. No extra libraries needed. | |
444 | #fpetest fpetestmodule.c | |
445 | ||
446 | # Andrew Kuchling's zlib module. | |
447 | # This require zlib 1.1.3 (or later). | |
448 | # See http://www.gzip.org/zlib/ | |
449 | #zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz | |
450 | ||
451 | # Interface to the Expat XML parser | |
452 | # | |
453 | # Expat was written by James Clark and is now maintained by a group of | |
454 | # developers on SourceForge; see www.libexpat.org for more | |
455 | # information. The pyexpat module was written by Paul Prescod after a | |
456 | # prototype by Jack Jansen. Source of Expat 1.95.2 is included in | |
457 | # Modules/expat/. Usage of a system shared libexpat.so/expat.dll is | |
458 | # not advised. | |
459 | # | |
460 | # More information on Expat can be found at www.libexpat.org. | |
461 | # | |
462 | #EXPAT_DIR=/usr/local/src/expat-1.95.2 | |
463 | #pyexpat pyexpat.c -DHAVE_EXPAT_H -I$(EXPAT_DIR)/lib -L$(EXPAT_DIR) -lexpat | |
464 | ||
465 | ||
466 | # Hye-Shik Chang's CJKCodecs | |
467 | ||
468 | # multibytecodec is required for all the other CJK codec modules | |
469 | #_multibytecodec cjkcodecs/multibytecodec.c | |
470 | ||
471 | #_codecs_cn cjkcodecs/_codecs_cn.c | |
472 | #_codecs_hk cjkcodecs/_codecs_hk.c | |
473 | #_codecs_iso2022 cjkcodecs/_codecs_iso2022.c | |
474 | #_codecs_jp cjkcodecs/_codecs_jp.c | |
475 | #_codecs_kr cjkcodecs/_codecs_kr.c | |
476 | #_codecs_tw cjkcodecs/_codecs_tw.c | |
477 | ||
478 | # Example -- included for reference only: | |
479 | # xx xxmodule.c | |
480 | ||
481 | # Another example -- the 'xxsubtype' module shows C-level subtyping in action | |
482 | xxsubtype xxsubtype.c | |
483 | readline readline.c -lreadline -ltermcap | |
484 | pyexpat pyexpat.c -DHAVE_EXPAT_H -lexpat | |
485 | _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT -L/import/archperf/ws/devtools/4/64/lib -I/import/archperf/ws/devtools/4/64/include -ltk8.4 -ltcl8.4 -lX11 |