mirror of
https://github.com/python/cpython.git
synced 2024-11-25 10:54:51 +08:00
3f200d76df
(The GLHACK variable isn't really needed since the change to glmodule.c, but I'm too busy to remove it. It's harmless.)
406 lines
14 KiB
Makefile
406 lines
14 KiB
Makefile
# -*- makefile -*-
|
|
# 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:
|
|
#
|
|
# <module> ... [<sourcefile> ...] [<cpparg> ...] [<library> ...]
|
|
#
|
|
# <sourcefile> is anything ending in .c (.C, .cc, .c++ are C++ files)
|
|
# <cpparg> is anything starting with -I, -D, -U or -C
|
|
# <library> is anything ending in .a or beginning with -l or -L
|
|
# <module> is anything else but should be a valid Python
|
|
# identifier (letters, digits, underscores, beginning with non-digit)
|
|
#
|
|
# (As the makesetup script changes, it may recognize some other
|
|
# arguments as well, e.g. *.so and *.sl as libraries. See the big
|
|
# case statement in the makesetup script.)
|
|
#
|
|
# Lines can also have the form
|
|
#
|
|
# <name> = <value>
|
|
#
|
|
# which defines a Make variable definition inserted into Makefile.in
|
|
#
|
|
# Finally, if a line contains just the word "*shared*" (without the
|
|
# quotes but with the stars), 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 can be
|
|
# installed using "make sharedinstall", which is implied by the
|
|
# toplevel "make install" target.) (For compatibility,
|
|
# *noconfig* has the same effect as *shared*.)
|
|
|
|
# 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!
|
|
|
|
# Directories where library files get installed.
|
|
# DESTLIB is for Python modules; MACHDESTLIB for shared libraries.
|
|
DESTLIB=$(LIBDEST)
|
|
MACHDESTLIB=$(BINLIBDEST)
|
|
|
|
# NOTE: all the paths are now relative to the prefix that is computed
|
|
# at run time!
|
|
|
|
# Standard path -- don't edit.
|
|
# No leading colon since this is the first entry.
|
|
# Empty since this is now just the runtime prefix.
|
|
DESTPATH=
|
|
|
|
# Site specific path components -- should begin with : if non-empty
|
|
SITEPATH=
|
|
|
|
# Standard path components for test modules
|
|
TESTPATH=:test
|
|
|
|
# Path components for machine- or system-dependent modules and shared libraries
|
|
MACHDEPPATH=:plat-$(MACHDEP)
|
|
|
|
COREPYTHONPATH=$(DESTPATH)$(SITEPATH)$(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:
|
|
|
|
regex regexmodule.c regexpr.c # Regular expressions, GNU Emacs style
|
|
pcre pcremodule.c pypcre.c # Regular expressions, Perl style (for re.py)
|
|
posix posixmodule.c # posix (UNIX) system calls
|
|
signal signalmodule.c # signal(2)
|
|
|
|
# The SGI specific GL module:
|
|
|
|
GLHACK=-Dclear=__GLclear
|
|
#gl glmodule.c cgensupport.c -I$(srcdir) $(GLHACK) -lgl -lX11
|
|
|
|
# The thread module is now automatically enabled, see Setup.thread.
|
|
|
|
# Pure module. Cannot be linked dynamically.
|
|
# -DWITH_QUANTIFY, -DWITH_PURIFY, or -DWITH_ALL_PURE
|
|
#WHICH_PURE_PRODUCTS=-DWITH_ALL_PURE
|
|
#PURE_INCLS=-I/usr/local/include
|
|
#PURE_STUBLIBS=-L/usr/local/lib -lpurify_stubs -lquantify_stubs
|
|
#pure puremodule.c $(WHICH_PURE_PRODUCTS) $(PURE_INCLS) $(PURE_STUBLIBS)
|
|
|
|
# Uncommenting the following line tells makesetup that all following
|
|
# modules are to be built as shared libraries (see above for more
|
|
# detail):
|
|
|
|
#*shared*
|
|
|
|
# GNU readline. Unlike previous Python incarnations, GNU readline is
|
|
# now incorporated in an optional module, configured in the Setup file
|
|
# instead of by a configure script switch. You may have to insert a
|
|
# -L option pointing to the directory where libreadline.* lives,
|
|
# and you may have to change -ltermcap to -ltermlib or perhaps remove
|
|
# it, depending on your system -- see the GNU readline instructions.
|
|
# It's okay for this to be a shared library, too.
|
|
|
|
#readline readline.c -lreadline -ltermcap
|
|
|
|
|
|
# Modules that should always be present (non UNIX dependent):
|
|
|
|
array arraymodule.c # array objects
|
|
cmath cmathmodule.c # -lm # complex math library functions
|
|
math mathmodule.c # -lm # math library functions, e.g. sin()
|
|
strop stropmodule.c # fast string operations implemented in C
|
|
struct structmodule.c # binary structure packing/unpacking
|
|
time timemodule.c # -lm # time operations and variables
|
|
operator operator.c # operator.add() and similar goodies
|
|
|
|
#_locale _localemodule.c # access to ISO C locale support
|
|
|
|
|
|
# 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)
|
|
select selectmodule.c # select(2); not on ancient System V
|
|
socket socketmodule.c # socket(2); not on ancient System V
|
|
#_socket socketmodule.c # socket(2); use this one for BeOS sockets
|
|
errno errnomodule.c # posix (UNIX) errno values
|
|
|
|
# The crypt module is now disabled by default because it breaks builds
|
|
# on many systems (where -lcrypt is needed), e.g. Linux (I believe).
|
|
#crypt cryptmodule.c # -lcrypt # crypt(3); needs -lcrypt on some systems
|
|
|
|
|
|
# Some more UNIX dependent modules -- off by default, since these
|
|
# are not supported by all UNIX systems:
|
|
|
|
#nis nismodule.c # Sun yellow pages -- not everywhere
|
|
#termios termios.c # Steen Lumholt's termios module
|
|
#resource resource.c # Jeremy Hylton's rlimit interface
|
|
|
|
|
|
# Multimedia modules -- off by default.
|
|
# These don't work for 64-bit platforms!!!
|
|
# 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=:lib-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 and 1.3.2.
|
|
# It has been modified by Rob Hooft to work with 2.0.2 as well, but I
|
|
# haven't tested it recently.
|
|
|
|
# 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 $(GLHACK) -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 -lgl -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.
|
|
# NOTE: if you want to be able to use FORMS and curses simultaneously
|
|
# (or both link them statically into the same binary), you must
|
|
# compile all of FORMS with the cc option "-Dclear=__GLclear".
|
|
|
|
# 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) $(GLHACK) $(FORMS)/libforms.a -lfm -lgl
|
|
|
|
|
|
# SunOS specific modules -- off by default:
|
|
|
|
#sunaudiodev sunaudiodev.c
|
|
|
|
|
|
# George Neville-Neil's timing module:
|
|
|
|
#timing timingmodule.c
|
|
|
|
|
|
# The _tkinter module.
|
|
#
|
|
# The TKPATH variable is always enabled, to save you the effort.
|
|
TKPATH=:lib-tk
|
|
|
|
# The command for _tkinter is long and site specific. Please
|
|
# uncomment and/or edit those parts as indicated. If you don't have a
|
|
# specific extension (e.g. Tix or BLT), leave the corresponding line
|
|
# commented out. (Leave the trailing backslashes in! If you
|
|
# experience strange errors, you may want to join all uncommented
|
|
# lines and remove the backslashes -- the backslash interpretation is
|
|
# done by the shell's "read" command and it may not be implemented on
|
|
# every system.
|
|
|
|
# *** Always uncomment this (leave the leading underscore in!):
|
|
# _tkinter _tkinter.c tkappinit.c -DWITH_APPINIT \
|
|
# *** Uncomment and edit to reflect where your X11 header files are:
|
|
# -I/usr/X11R6/include \
|
|
# *** Or uncomment this for Solaris:
|
|
# -I/usr/openwin/include \
|
|
# *** Uncomment and edit to reflect where your Tcl/Tk headers are:
|
|
# -I/usr/local/include \
|
|
# *** Uncomment and edit for Tix extension only:
|
|
# -DWITH_TIX -ltix4.1.8.0 \
|
|
# *** Uncomment and edit for BLT extension only:
|
|
# -DWITH_BLT -I/usr/local/blt/blt8.0-unoff/include -lBLT8.0 \
|
|
# *** Uncomment and edit for PIL (TkImaging) extension only:
|
|
# -DWITH_PIL -I../Extensions/Imaging/libImaging tkImaging.c \
|
|
# *** Uncomment and edit for TOGL extension only:
|
|
# -DWITH_TOGL togl.c \
|
|
# *** Uncomment and edit to reflect where your Tcl/Tk libraries are:
|
|
# -L/usr/local/lib \
|
|
# *** Uncomment and edit to reflect your Tcl/Tk versions:
|
|
# -ltk8.0 -ltcl8.0 \
|
|
# *** Uncomment and edit to reflect where your X11 libraries are:
|
|
# -L/usr/X11R6/lib \
|
|
# *** Or uncomment this for Solaris:
|
|
# -L/usr/openwin/lib \
|
|
# *** Uncomment these for TOGL extension only:
|
|
# -lGL -lGLU -lXext -lXmu \
|
|
# *** Uncomment for AIX:
|
|
# -lld \
|
|
# *** Always uncomment this; X11 libraries to link with:
|
|
# -lX11
|
|
|
|
# Lance Ellinghaus's modules:
|
|
|
|
rotor rotormodule.c # enigma-inspired encryption
|
|
#syslog syslogmodule.c # syslog daemon interface
|
|
|
|
|
|
# Lance's curses module. This requires the System V version of
|
|
# curses, sometimes known as ncurses (e.g. on Linux, link with
|
|
# -lncurses instead of -lcurses; on SunOS 4.1.3, insert -I/usr/5include
|
|
# -L/usr/5lib before -lcurses).
|
|
|
|
#curses cursesmodule.c -lcurses -ltermcap
|
|
|
|
|
|
|
|
# Tommy Burnette's 'new' module (creates new empty objects of certain kinds):
|
|
|
|
new newmodule.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
|
|
|
|
|
|
# Modules that provide persistent dictionary-like semantics. You will
|
|
# probably want to arrange for at least one of them to be available on
|
|
# your machine, though none are defined by default because of library
|
|
# dependencies. The Python module anydbm.py provides an
|
|
# implementation independent wrapper for these; dumbdbm.py provides
|
|
# similar functionality (but slower of course) implemented in Python.
|
|
|
|
# The standard Unix dbm module:
|
|
|
|
#dbm dbmmodule.c # dbm(3) may require -lndbm or similar
|
|
|
|
# Anthony Baxter's gdbm module. GNU dbm(3) will require -lgdbm:
|
|
|
|
#gdbm gdbmmodule.c -I/usr/local/include -L/usr/local/lib -lgdbm
|
|
|
|
|
|
# Berkeley DB interface.
|
|
#
|
|
# This requires the Berkeley DB code, see
|
|
# ftp://ftp.cs.berkeley.edu/pub/4bsd/db.1.85.tar.gz
|
|
#
|
|
# Edit the variables DB and DBPORT to point to the db top directory
|
|
# and the subdirectory of PORT where you built it.
|
|
#
|
|
# (See http://www.jenkon-dev.com/~rd/python/ for an interface to
|
|
# BSD DB 2.1.0.)
|
|
|
|
#DB=/depot/sundry/src/berkeley-db/db.1.85
|
|
#DBPORT=$(DB)/PORT/irix.5.3
|
|
#bsddb bsddbmodule.c -I$(DBPORT)/include -I$(DBPORT) $(DBPORT)/libdb.a
|
|
|
|
|
|
|
|
# David Wayne Williams' soundex module (obsolete -- this will disappear!)
|
|
#soundex soundex.c
|
|
|
|
# Helper module for various ascii-encoders
|
|
binascii binascii.c
|
|
|
|
# Fred Drake's interface to the Python parser
|
|
parser parsermodule.c
|
|
|
|
# Digital Creations' cStringIO and cPickle
|
|
cStringIO cStringIO.c
|
|
cPickle cPickle.c
|
|
|
|
|
|
# Lee Busby's SIGFPE modules.
|
|
# The library to link fpectl with is platform specific.
|
|
# Choose *one* of the options below for fpectl:
|
|
|
|
# For SGI IRIX (tested on 5.3):
|
|
#fpectl fpectlmodule.c -lfpe
|
|
|
|
# For Solaris with SunPro compiler (tested on Solaris 2.5 with SunPro C 4.2):
|
|
# (Without the compiler you don't have -lsunmath.)
|
|
#fpectl fpectlmodule.c -R/opt/SUNWspro/lib -lsunmath -lm
|
|
|
|
# For other systems: see instructions in fpectlmodule.c.
|
|
#fpectl fpectlmodule.c ...
|
|
|
|
# Test module for fpectl. No extra libraries needed.
|
|
#fpetest fpetestmodule.c
|
|
|
|
# Andrew Kuchling's zlib module.
|
|
# This require zlib 1.0.4 (or later). See http://quest.jpl.nasa.gov/zlib/
|
|
# See http://www.cdrom.com/pub/infozip/zlib/
|
|
#zlib zlibmodule.c -I$(prefix)/include -L$(exec_prefix)/lib -lz
|
|
|
|
|
|
# Example -- included for reference only:
|
|
# xx xxmodule.c
|