# The file Setup is used by the makesetup script to construct the files # Makefile and config.c, from Makefile.pre and config.c.in, # respectively. The file Setup itself is initially copied from # Setup.in; once it exists it will not be overwritten, so you can edit # Setup to your heart's content. Note that Makefile.pre is created # from Makefile.pre.in by the toplevel configure script. # (VPATH notes: Setup and Makefile.pre are in the build directory, as # are Makefile and config.c; the *.in files are in the source # directory.) # Each line in this file describes one or more optional modules. # Comment out lines to suppress modules. # Lines have the following structure: # # ... [ ...] [ ...] [ ...] # # is anything ending in .c (.C, .cc, .c++ are C++ files) # is anything starting with -I, -D, -U or -C # is anything ending in .a or beginning with -l or -L # is anything else but should be a valid Python # identifier (letters, digits, underscores, beginning with non-digit) # # Lines can also have the form # # = # # which defines a Make variable definition inserted into Makefile.in # # Finally, if a line has the literal form # # *noconfig* # # (that is including the '*' and '*' !) then the following modules 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 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 must be installed # using "make sharedinstall".) # NOTE: As a standard policy, as many modules as can be supported by a # platform should be present. The distribution comes with all modules # enabled that are supported by most platforms and don't require you # to ftp sources from elsewhere. # Some special rules to define PYTHONPATH. # Edit the definitions below to indicate which options you are using. # Don't add any whitespace or comments! # Don't edit this (usually) DESTLIB=$(prefix)/lib/python # Standard enabled (tests are always available) TESTPATH=:$(DESTLIB)/test # Path for machine- or system-dependent modules (and shared libraries) MACHDEPPATH=:$(DESTLIB)/$(MACHDEP) COREPYTHONPATH=.:$(DESTLIB)$(TESTPATH)$(MACHDEPPATH)$(STDWINPATH)$(TKPATH) PYTHONPATH=$(COREPYTHONPATH) # The modules listed here can't be built as shared libraries for # various reasons; therefore they are listed here instead of in the # normal order. # Some modules that are normally always on: posix posixmodule.c # posix (UNIX) system calls signal signalmodule.c # signal(2) # The SGI specific GL module: #gl glmodule.c -lgl -lX11 # Graphics Library -- SGI only # Thread module -- works on selected systems only, e.g. SGI IRIX and # on SunOS 5.x (SOLARIS) only. # Note that you must have configured (and built!) Python with the # --with-thread option passed to the configure script for this to work: #thread threadmodule.c # Uncommenting the following line tells makesetup that all following # modules are to be built as shared libraries (see above for more # detail): #*noconfig* # Modules that should always be present (non UNIX dependent): array arraymodule.c # array objects math mathmodule.c -lm # math library functions, e.g. sin() parser parsermodule.c # raw interface to the Python parser regex regexmodule.c regexpr.c # Regular expressions, GNU Emacs style strop stropmodule.c # fast string operations implemented in C struct structmodule.c # binary structure packing/unpacking time timemodule.c # time operations and variables # Modules with some UNIX dependencies -- on by default: # (If you have a really backward UNIX, select and socket may not be # supported...) fcntl fcntlmodule.c # fcntl(2) and ioctl(2) pwd pwdmodule.c # pwd(3) grp grpmodule.c # grp(3) crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems select selectmodule.c # select(2); not on ancient System V socket socketmodule.c # socket(2); not on ancient System V # Some more UNIX dependent modules -- off by default, since these # are not supported by all UNIX systems: #dbm dbmmodule.c # dbm(3) may require -lndbm or similar #nis nismodule.c # Sun yellow pages -- not everywhere #termios termios.c # Steen Lumholt's termios module # Multimedia modules -- on by default. # These represent audio samples or images as strings: audioop audioop.c # Operations on audio samples imageop imageop.c # Operations on images rgbimg rgbimgmodule.c # Read SGI RGB image files (but coded portably) # The stdwin module provides a simple, portable (between X11 and Mac) # windowing interface. You need to ftp the STDWIN library, e.g. from # ftp://ftp.cwi.nl/pub/stdwin. (If you get it elsewhere, be sure to # get version 1.0 or higher!) The STDWIN variable must point to the # STDWIN toplevel directory. # Uncomment and edit as needed: #STDWIN=/ufs/guido/src/stdwin # Uncomment these lines: #STDWINPATH=:$(DESTLIB)/stdwin #LIBTEXTEDIT=$(STDWIN)/$(MACHDEP)/Packs/textedit/libtextedit.a #LIBX11STDWIN=$(STDWIN)/$(MACHDEP)/Ports/x11/libstdwin.a #stdwin stdwinmodule.c -I$(STDWIN)/H $(LIBTEXTEDIT) $(LIBX11STDWIN) -lX11 # Use this instead of the last two lines above for alphanumeric stdwin: #LIBALFASTDWIN=$(STDWIN)/$(MACHDEP)/Ports/alfa/libstdwin.a #stdwin stdwinmodule.c -I$(STDWIN)/H $(LIBTEXTEDIT) $(LIBALFASTDWIN) -ltermcap # The md5 module implements the RSA Data Security, Inc. MD5 # Message-Digest Algorithm, described in RFC 1321. The necessary files # md5c.c and md5.h are included here. md5 md5module.c md5c.c # The mpz module interfaces to the GNU Multiple Precision library. # You need to ftp the GNU MP library. # The GMP variable must point to the GMP source directory. # This was originally written and tested against GMP 1.2. I have # compiled it against GMP 1.3.2 (the latest I believe) and it seems to # work OK, but I haven't tested it thoroughly (lacking knowledge about # it). # A compatible MP library unencombered by the GPL also exists. It was # posted to comp.sources.misc in volume 40 and is widely available from # FTP archive sites. One URL for it is: # ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/volume40/fgmp/part01.Z #GMP=/ufs/guido/src/gmp #mpz mpzmodule.c -I$(GMP) $(GMP)/libgmp.a # SGI IRIX specific modules -- off by default. # These module work on any SGI machine: # *** gl must be enabled higher up in this file *** #fm fmmodule.c -lfm -lgl # Font Manager #sgi sgimodule.c # sgi.nap() and a few more # This module requires the header file # /usr/people/4Dgifts/iristools/include/izoom.h: #imgfile imgfile.c -limage -lgutil -lm # Image Processing Utilities # These modules require the Multimedia Development Option (I think): #al almodule.c -laudio # Audio Library #cd cdmodule.c -lcdaudio -lds -lmediad # CD Audio Library #cl clmodule.c -lcl -lawareaudio # Compression Library #sv svmodule.c yuvconvert.c -lsvideo -lXext -lX11 # Starter Video # The FORMS library, by Mark Overmars, implements user interface # components such as dialogs and buttons using SGI's GL and FM # libraries. You must ftp the FORMS library separately from # ftp://ftp.cs.ruu.nl/pub/SGI/FORMS. It was tested with FORMS 2.2a. # The FORMS variable must point to the FORMS subdirectory of the forms # toplevel directory: #FORMS=/ufs/guido/src/forms/FORMS #fl flmodule.c -I$(FORMS) $(FORMS)/libforms.a -lfm -lgl # SunOS specific modules -- off by default: #sunaudiodev sunaudiodev.c # George Neville-Neil's timing module: #timing timingmodule.c # Steen Lumholt's tkinter module. # # For use with plain Tk, use the first line. # # For use with extended Tk (i.e. if you have added extra widgets to # the Tk library, such as the common "studButton" and "triButton" # extensions), edit tkappinit.c, add appropriate -DWITH_... and # libraries/objects to the second line, and use that. # # In all cases also enable the last line (TKPATH). # # This was designed to build with Tk 3.6 and Tcl 7.3, but also seems # to work Tk 4.0 beta. (Tkinter.py hasn't been fixed though, so for # the time being Tk 3.6 is the version of choice!) # *** Use ONE of the following two lines, see previous comments *** #tkinter tkintermodule.c -I/usr/local/include -L/usr/local/lib -ltk -ltcl -lX11 #tkinter tkintermodule.c tkappinit.c -DWITH_APPINIT -I/usr/local/include -L/usr/local/lib -ltk -ltcl -lX11 # *** ALWAYS use this line as well *** #TKPATH=:$(DESTLIB)/tkinter # Lance Ellinghaus's modules: rotor rotormodule.c # enigma-inspired encryption #syslog syslogmodule.c # syslog daemon interface #curses cursesmodule.c -lcurses -ltermcap # guess what? # (On Linux, try -lncurses) # Tommy Burnette's 'new' module (creates new empty objects of certain kinds): #new newmodule.c # John Redford's sybase module (requires sybase): #sybase sybasemodule.c # Generic (SunOS / SVR4) dynamic loading module. # This is not needed for dynamic loading of Python modules -- # it is a highly experimental and dangerous device for calling # *arbitrary* C functions in *arbitrary* shared libraries: #dl dlmodule.c # Anthony Baxter's gdbm module (derived from Jack's dbm module) # GNU dbm(3) will require -lgdbm: #gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm # Example -- included for reference only: # xx xxmodule.c