[Patches] [ python-Patches-460751 ] --with-shared: python with shared lib
noreply@sourceforge.net
noreply@sourceforge.net
Wed, 12 Sep 2001 01:06:17 -0700
Patches item #460751, was opened at 2001-09-11 14:29
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=460751&group_id=5470
Category: Build
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Frederic Giacometti (giacometti)
Assigned to: Nobody/Anonymous (nobody)
Summary: --with-shared: python with shared lib
Initial Comment:
As a follow up to patch 400938
(https://sourceforge.net/tracker/?group_id=5470&atid=305470&func=detail&aid=400938),
here is an implementation of the --with-shared
configure option for building python on Posix systems
as a shared library.
Building python as shared library is activated with the
--with-shared option on ./configure
The following points are drawn to particular attention:
- A configbuild.py module is generated and placed in
the machine-dependent directory. It records most
Python/Makefile variables (CC, CFLAG, LDSHARED...), and
make them available in Python.
- The build has been tested on:
Linux2: OK
SunOS5: OK
IRIX64: Build OK, crash on test (bus error)
- Inference with distutils: I found it very difficult
understanding the distutil architecture and finding the
right points of change; I minimized my interaction
there. Furthermore, the availability of the
'configbuild' module overlaps some of the distutils;
but 'configbuild' is very easy to use ...
- Unresolved symbols: I turned on the symbol checking
flags whenever possible, on behalf the its better
generating the error on build than at runtime.
- configure.in: I only edited the configure Bourne
script, and did not bother with configure.in (actually,
I deleted it) and its autoconfig/m4 macro comparses.
Frederic Giacometti
----------------------------------------------------------------------
>Comment By: Martin v. Löwis (loewis)
Date: 2001-09-12 01:06
Message:
Logged In: YES
user_id=21627
As for libtool: I strongly advise not to use it. It is
broken in too many ways to enumerate.
----------------------------------------------------------------------
Comment By: Martin v. Löwis (loewis)
Date: 2001-09-12 00:18
Message:
Logged In: YES
user_id=21627
I recommend to rework this patch to get rid of
configbuild. I cannot see what you achieve with the
configbuild module that you couldn't do with
distutils.sysconfig.get_config_vars (which is capable of
parsing the Makefile directly).
I also recommend to go through the patch chunk by chunk,
asking yourself whether this chunk *really* is needed to
achieve the desired functionality. E.g. I cannot see the
relationship of the .cvsignore chunk; I also believe that
removal of .purify is incorrect. Likewise, while I
sympathize with the unresolved symbols change, I believe
it is unrelated to the main objective of this patch
(building Python shared).
What is the rationale for not changing configure.in?
As-is, this patch is useless: configure will be
overwritten everytime you run autoconf. Please get a copy
of autoconf on one of your systems, change configure.in,
run autoconf, and then provide us with a patch that only
changes configure.in: everybody reviewing this patch
should be capable of running autoconf. configure is a
generated file and should not be edited manually.
What is the rationale for the introduction of the
THREADOBJ variable?
----------------------------------------------------------------------
Comment By: Guido van Rossum (gvanrossum)
Date: 2001-09-11 19:03
Message:
Logged In: YES
user_id=6380
Haven't seen the patch yet, but I like the idea -- the
command line option suggests that it shouldn't hurt
platforms where it can't be done or has to be done
differently.
Alternative: we could also consider using libtool. I didn't
like that much in the past, but maybe it would work. Dunno.
Anybody know about it?
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=305470&aid=460751&group_id=5470