mirror of
https://github.com/python/cpython
synced 2024-09-05 08:17:45 +00:00
Shared library support
This commit is contained in:
parent
7cc5abd454
commit
ac405f6c4e
21
Makefile.in
21
Makefile.in
|
@ -29,6 +29,9 @@ srcdir= @srcdir@
|
|||
VPATH= @srcdir@
|
||||
INSTALL= @INSTALL@
|
||||
|
||||
# Machine-dependent subdirectories
|
||||
MACHDEP= @MACHDEP@
|
||||
|
||||
# Install prefixes are treated specially by the configure script:
|
||||
# it only changes these lines if it has received a --prefix=... or
|
||||
# --exec-prefix=... command line option. Note that $(prefix) is
|
||||
|
@ -42,6 +45,13 @@ prefix= /usr/local
|
|||
# Install prefix for architecture-dependent files
|
||||
exec_prefix= $(prefix)
|
||||
|
||||
# Symbols used for using shared libraries
|
||||
SO= @SO@
|
||||
LDSHARED= @LDSHARED@
|
||||
CCSHARED= @CCSHARED@
|
||||
LINKFORSHARED= @LINKFORSHARED@
|
||||
DESTSHARED= $(prefix)/lib/python/$(MACHDEP)
|
||||
|
||||
# Programs
|
||||
SHELL= /bin/sh
|
||||
|
||||
|
@ -132,6 +142,17 @@ libainstall: all
|
|||
$(INSTALL) config.h $(LIBPL)/config.h
|
||||
$(INSTALL) $(srcdir)/Python/frozenmain.c $(LIBPL)/frozenmain.c
|
||||
|
||||
# install the dynamically loadable modules
|
||||
sharedinstall:
|
||||
cd Modules; $(MAKE) \
|
||||
OPT="$(OPT)" \
|
||||
SO="$(SO)" \
|
||||
LDSHARED="$(LDSHARED)" \
|
||||
CCSHARED="$(CCSHARED)" \
|
||||
LINKFORSHARED="$(LINKFORSHARED)" \
|
||||
DESTSHARED="$(DESTSHARED)" \
|
||||
sharedinstall
|
||||
|
||||
# Build the sub-Makefiles
|
||||
Makefiles: config.status
|
||||
(cd Modules; $(MAKE) -f Makefile.pre Makefile)
|
||||
|
|
69
configure.in
69
configure.in
|
@ -1,6 +1,6 @@
|
|||
dnl Process this file with autoconf 1.8 or later to produce a configure script.
|
||||
dnl Process this file with autoconf 1.8 or later to make a configure script.
|
||||
AC_REVISION($Revision$)dnl
|
||||
AC_PREREQ(1.8)dnl
|
||||
AC_PREREQ(1.11)dnl
|
||||
AC_INIT(Include/object.h)
|
||||
AC_CONFIG_HEADER(config.h)dnl
|
||||
# Don't suppress compiler output when --verbose is specified
|
||||
|
@ -59,6 +59,69 @@ AC_RETSIGTYPE
|
|||
AC_SIZE_T
|
||||
AC_UID_T
|
||||
|
||||
# Set name for machine-dependent library files
|
||||
AC_SUBST(MACHDEP)
|
||||
if test -z "$MACHDEP"
|
||||
then
|
||||
ac_system=`uname -s | tr '[[A-Z]]' '[[a-z]]'`
|
||||
ac_release=`uname -r | sed 's/\..*//'`
|
||||
MACHDEP="$ac_system$ac_release"
|
||||
case MACHDEP in
|
||||
'') MACHDEP=unknown;;
|
||||
esac
|
||||
AC_VERBOSE(setting MACHDEP to '$MACHDEP')
|
||||
fi
|
||||
|
||||
# Set info about shared libraries.
|
||||
# XXX This should try things out instead of testing uname!
|
||||
AC_SUBST(SO)
|
||||
AC_SUBST(LDSHARED)
|
||||
AC_SUBST(CCSHARED)
|
||||
AC_SUBST(LINKFORSHARED)
|
||||
ac_system=`uname -s`
|
||||
ac_release=`uname -r`
|
||||
# SO is the extension of shared libraries `(including the dot!)
|
||||
# -- usually .so, .sl on HP-UX
|
||||
if test -z "$SO"
|
||||
then
|
||||
case $ac_system in
|
||||
hp*|HP*) SO=.sl;;
|
||||
*) SO=.so;;
|
||||
esac
|
||||
AC_VERBOSE(setting SO to '$SO')
|
||||
fi
|
||||
# LDSHARED is the ld *command* used to create shared library
|
||||
# -- "ld" on SunOS 4.x.x, "ld -G" on SunOS 5.x, "ld -shared" on IRIX 5
|
||||
if test -z "$LDSHARED"
|
||||
then
|
||||
case $ac_system/$ac_release in
|
||||
IRIX*) LDSHARED="ld -shared";;
|
||||
SunOS/4*) LDSHARED="ld";;
|
||||
SunOS/5*) LDSHARED="ld -G";;
|
||||
hp*|HP*) LDSHARED="ld -b";;
|
||||
*) LDSHARED="ld";;
|
||||
esac
|
||||
AC_VERBOSE(setting LDSHARED= to '$LDSHARED')
|
||||
fi
|
||||
# CCSHARED are the C *flags* used to create objects to go into a shared
|
||||
# library -- this is only needed for HP-UX
|
||||
if test -z "$CCSHARED"
|
||||
then
|
||||
case $ac_system in
|
||||
hp*|HP*) CCSHARED="+z";;
|
||||
esac
|
||||
AC_VERBOSE(setting CCSHARED= to '$CCSHARED')
|
||||
fi
|
||||
# LINKFORSHARED are the flags passed to the $(CC) command that links
|
||||
# the python executable -- this is only needed for HP-UX
|
||||
if test -z "$LINKFORSHARED"
|
||||
then
|
||||
case $ac_system in
|
||||
hp*|HP*) LINKFORSHARED="-Wl,-E";;
|
||||
esac
|
||||
AC_VERBOSE(setting LINKFORSHARED to '$LINKFORSHARED')
|
||||
fi
|
||||
|
||||
# checks for libraries
|
||||
AC_HAVE_LIBRARY(dl)
|
||||
|
||||
|
@ -151,7 +214,7 @@ AC_CHAR_UNSIGNED
|
|||
|
||||
AC_CONST
|
||||
|
||||
AC_COMPILE_CHECK([wheter we have signed char], [], [signed char c;], [], AC_DEFINE(signed, []))
|
||||
AC_COMPILE_CHECK([signed char], [], [signed char c;], [], AC_DEFINE(signed, []))
|
||||
|
||||
AC_CHECKING(for prototypes)
|
||||
AC_TEST_PROGRAM([
|
||||
|
|
Loading…
Reference in a new issue