static python build?

mudd at mudd at
Fri Aug 6 12:49:36 EDT 2004

Yes, thanks!, it was easy.  I just edited Modules/Setup as follows:

(1) Changed the commented *shared* line to the *static* line (see below).

(2) Uncommented the modules (math, time, array) that I wanted incorporated
into the static libpython.a library.

(3) Added lines for a couple other modules (strop & _random) that
previously weren't listed in the Setup file.

(4) Reran configure, make & make install.  It works!

Now I can run and build a truly stand-alone executable including
the modules I mentioned.

Here's a section of Modules/Setup with my changes:
# Uncommenting the following line tells makesetup that all following #
modules are to be built as shared libraries (see above for more
# detail; also note that *static* reverses this effect):


# 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()
#struct structmodule.c  # binary structure packing/unpacking
time timemodule.c # -lm # time operations and variables
#operator operator.c    # operator.add() and similar goodies
#_weakref _weakref.c    # basic weak reference support
#_testcapi _testcapimodule.c    # Python C API test module
strop stropmodule.c
_random _randommodule.c

> mudd at writes:
>> How do I build Python so that I get static libraries instead of dynamic
libraries (e.g. build/lib.solaris-2.8-sun4u-2.3/
> Edit Modules/Setup.  The comments in the file should get you started.
> Cheers,
> mwh
> --
>   Monte Carlo sampling is no way to understand code.
>                                   -- Gordon McMillan, comp.lang.python
> --

More information about the Python-list mailing list