]> git.pld-linux.org Git - packages/python.git/blame - python-shared-lib.patch
- adapterized (avoid macros with /usr/include/{ncurses,freetype}*)
[packages/python.git] / python-shared-lib.patch
CommitLineData
8298e225 1diff -Nur Python-2.2.2.orig/Makefile.pre.in Python-2.2.2/Makefile.pre.in
2--- Python-2.2.2.orig/Makefile.pre.in Fri Aug 23 18:05:49 2002
3+++ Python-2.2.2/Makefile.pre.in Thu Oct 17 12:04:40 2002
18b66477 4@@ -25,6 +25,7 @@
c9450cf3 5
18b66477 6 # === Variables set by configure
c9450cf3 7 VERSION= @VERSION@
8+SOVERSION= @SOVERSION@
9 srcdir= @srcdir@
10 VPATH= @srcdir@
18b66477 11
88b95740 12@@ -65,7 +66,7 @@
18b66477 13 # Extra C flags added for building the interpreter object files.
14 CFLAGSFORSHARED=@CFLAGSFORSHARED@
15 # C flags used for building the interpreter object files
88b95740 16-PY_CFLAGS= $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED)
17+PY_CFLAGS= $(CFLAGS) $(CPPFLAGS)
18b66477 18
c9450cf3 19
20 # Machine-dependent subdirectories
88b95740 21@@ -97,6 +98,7 @@
18b66477 22 LDSHARED= @LDSHARED@
23 BLDSHARED= @BLDSHARED@
24 DESTSHARED= $(BINLIBDEST)/lib-dynload
25+RUNSHARED= LD_PRELOAD=./$(LDLIBRARY)
26
27 # Executable suffix (.exe on Windows and Mac OS X)
28 EXE= @EXEEXT@
88b95740 29@@ -288,7 +290,7 @@
18b66477 30 # Rules
31
32 # Default target
88b95740 33-all: $(BUILDPYTHON) oldsharedmods sharedmods
34+all: $(BUILDPYTHON) $(LIBRARY) oldsharedmods sharedmods
18b66477 35
36 # Build the interpreter
88b95740 37 $(BUILDPYTHON): Modules/$(MAINOBJ) $(LDLIBRARY)
38@@ -297,14 +299,14 @@
39 $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
18b66477 40
88b95740 41 platform: $(BUILDPYTHON)
42- ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
43+ $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
18b66477 44
45
46 # Build the shared modules
88b95740 47 sharedmods: $(BUILDPYTHON)
48 case $$MAKEFLAGS in \
89ebef3a
AM
49- *-s*) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
50- *) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
51+ *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
52+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
88b95740 53 esac
18b66477 54
55 # buildno should really depend on something like LIBRARY_SRC
88b95740 56@@ -332,6 +334,20 @@
18b66477 57 $(AR) cr $@ $(MODOBJS)
58 $(RANLIB) $@
c9450cf3 59
c9450cf3 60+# WARNING: The following is only tested for Debian GNU/Linux.
61+# This rule is silly and needs to be cleaned up ASAP!
62+# Gregor Hoffleit <flight@debian.org>
63+#
64+# This rule is here for Linux shared libs
65+# The PIC code will be built additionally to the static lib!
18b66477 66+libpython$(VERSION).so.$(SOVERSION): $(LIBRARY_OBJS:%.o=%.pic_o)
67+ case `uname -s | tr -d '/ ' | tr '[A-Z]' '[a-z]'` in \
88b95740 68+ *linux*|*gnu*) \
69+ $(CC) -shared -Wl,-soname,$@ -o $@ $(LIBRARY_OBJS:%.o=%.pic_o) \
70+ $(LIBS) $(LIBM) \
18b66477 71+ ;; \
72+ esac
73+
88b95740 74 # This rule is only here for DG/UX and BeOS!!!
c9450cf3 75 libpython$(VERSION).so: $(LIBRARY)
18b66477 76 case `uname -s | tr -d '/ ' | tr '[A-Z]' '[a-z]'` in \
88b95740 77@@ -391,6 +407,9 @@
18b66477 78 Modules/getbuildinfo.o: $(srcdir)/Modules/getbuildinfo.c buildno
79 $(CC) -c $(PY_CFLAGS) -DBUILD=`cat buildno` -o $@ $(srcdir)/Modules/getbuildinfo.c
80
81+Modules/getbuildinfo.pic_o: $(srcdir)/Modules/getbuildinfo.c buildno
82+ $(CC) -c $(PY_CFLAGS) $(CCSHARED) -DBUILD=`cat buildno` -o $@ $(srcdir)/Modules/getbuildinfo.c
83+
84 Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile
85 $(CC) -c $(PY_CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
86 -DPREFIX='"$(prefix)"' \
88b95740 87@@ -399,9 +418,20 @@
18b66477 88 -DVPATH='"$(VPATH)"' \
89 -o $@ $(srcdir)/Modules/getpath.c
90
91+Modules/getpath.pic_o: $(srcdir)/Modules/getpath.c Makefile
92+ $(CC) -c $(PY_CFLAGS) $(CCSHARED) -DPYTHONPATH='"$(PYTHONPATH)"' \
93+ -DPREFIX='"$(prefix)"' \
94+ -DEXEC_PREFIX='"$(exec_prefix)"' \
95+ -DVERSION='"$(VERSION)"' \
96+ -DVPATH='"$(VPATH)"' \
97+ -o $@ $(srcdir)/Modules/getpath.c
98+
99 Modules/ccpython.o: $(srcdir)/Modules/ccpython.cc
100 $(CXX) -c $(PY_CFLAGS) -o $@ $(srcdir)/Modules/ccpython.cc
101
102+Modules/ccpython.pic_o: $(srcdir)/Modules/ccpython.cc
103+ $(CXX) -c $(PY_CFLAGS) $(CCSHARED) -o $@ $(srcdir)/Modules/ccpython.cc
104+
105
106 $(GRAMMAR_H) $(GRAMMAR_C): $(PGEN) $(GRAMMAR_INPUT)
107 -$(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
88b95740 108@@ -420,9 +450,15 @@
18b66477 109 Python/getplatform.o: $(srcdir)/Python/getplatform.c
88b95740 110 $(CC) -c $(CFLAGS) $(CPPFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
18b66477 111
112+Python/getplatform.pic_o: $(srcdir)/Python/getplatform.c
88b95740 113+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(CCSHARED) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
18b66477 114+
115 Python/importdl.o: $(srcdir)/Python/importdl.c
88b95740 116 $(CC) -c $(CFLAGS) $(CPPFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
18b66477 117
118+Python/importdl.pic_o: $(srcdir)/Python/importdl.c
88b95740 119+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(CCSHARED) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
18b66477 120+
121 Objects/object.o: $(srcdir)/Objects/object.c $(srcdir)/Objects/obmalloc.c
122
123 Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
88b95740 124@@ -486,7 +522,7 @@
18b66477 125 # Test the interpreter (twice, once without .pyc files, once with)
126 TESTOPTS= -l
127 TESTPROG= $(srcdir)/Lib/test/regrtest.py
88b95740 128-TESTPYTHON= ./$(BUILDPYTHON) -E -tt
129+TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -E -tt
18b66477 130 test: all platform
131 -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
88b95740 132 -$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
133@@ -556,6 +592,12 @@
18b66477 134 fi; \
135 done
88b95740 136 $(INSTALL_PROGRAM) $(BUILDPYTHON) $(BINDIR)/python$(VERSION)$(EXE)
18b66477 137+ if test -f libpython$(VERSION).so.$(SOVERSION); then \
88b95740 138+ mkdir $(LIBDIR); \
139+ $(INSTALL_DATA) libpython$(VERSION).so.$(SOVERSION) $(LIBDIR); \
140+ (cd $(LIBDIR) && $(LN) -sf libpython$(VERSION).so.$(SOVERSION) libpython$(VERSION).so); \
141+ else true; \
142+ fi
18b66477 143 if test -f libpython$(VERSION).so; then \
144 $(INSTALL_DATA) libpython$(VERSION).so $(LIBDIR); \
145 else true; \
88b95740 146@@ -640,11 +682,11 @@
18b66477 147 done; \
148 done
149 $(INSTALL_DATA) $(srcdir)/LICENSE $(LIBDEST)/LICENSE.txt
150- PYTHONPATH=$(LIBDEST) \
88b95740 151- ./$(BUILDPYTHON) -tt $(LIBDEST)/compileall.py -x badsyntax \
152- $(LIBDEST)
18b66477 153- PYTHONPATH=$(LIBDEST) \
88b95740 154- ./$(BUILDPYTHON) -O $(LIBDEST)/compileall.py -x badsyntax $(LIBDEST)
18b66477 155+## PYTHONPATH=$(LIBDEST) \
88b95740 156+## ./$(BUILDPYTHON) -tt $(LIBDEST)/compileall.py -x badsyntax \
157+## $(LIBDEST)
18b66477 158+## PYTHONPATH=$(LIBDEST) \
88b95740 159+## ./$(BUILDPYTHON) -O $(LIBDEST)/compileall.py -x badsyntax $(LIBDEST)
18b66477 160
161 # Create the PLATDIR source directory, if one wasn't distributed..
162 $(srcdir)/Lib/$(PLATDIR):
88b95740 163@@ -686,12 +728,12 @@
c9450cf3 164 else true; \
18b66477 165 fi; \
166 done
167- @if test -d $(LDLIBRARY); then :; else \
18b66477 168+ @if test -d $(LIBRARY); then :; else \
88b95740 169 if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
170- $(INSTALL_DATA) $(LDLIBRARY) $(LIBPL)/$(LDLIBRARY) ; \
171- $(RANLIB) $(LIBPL)/$(LDLIBRARY) ; \
172+ $(INSTALL_DATA) $(LIBRARY) $(LIBPL)/$(LIBRARY) ; \
173+ $(RANLIB) $(LIBPL)/$(LIBRARY) ; \
174 else \
175- echo Skip install of $(LDLIBRARY) - use make frameworkinstall; \
176+ echo Skip install of $(LIBRARY) - use make frameworkinstall; \
177 fi; \
18b66477 178 fi
179 $(INSTALL_DATA) Modules/config.c $(LIBPL)/config.c
88b95740 180@@ -733,7 +775,8 @@
18b66477 181 # Install the dynamically loadable modules
182 # This goes into $(exec_prefix)
183 sharedinstall:
88b95740 184- ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
185+ $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
186+ --prefix=$(prefix) \
187 --install-scripts=$(BINDIR) \
18b66477 188 --install-platlib=$(DESTSHARED)
189
88b95740 190@@ -810,6 +853,11 @@
18b66477 191 .c.o:
192 $(CC) -c $(PY_CFLAGS) -o $@ $<
193
194+.SUFFIXES: .pic_o
195+
196+.c.pic_o:
197+ $(CC) -c $(PY_CFLAGS) $(CCSHARED) -o $@ $<
198+
199 # Rerun configure with the same options as it was run last time,
200 # provided the config.status script exists
201 recheck:
8298e225 202diff -Nur Python-2.2.2.orig/configure.in Python-2.2.2/configure.in
203--- Python-2.2.2.orig/configure.in Thu Oct 10 17:26:46 2002
204+++ Python-2.2.2/configure.in Thu Oct 17 12:05:36 2002
18b66477 205@@ -8,6 +8,10 @@
99213faa 206 AC_SUBST(VERSION)
88b95740 207 VERSION=2.2
18b66477 208
209+# Set SOVERSION
99213faa 210+AC_SUBST(SOVERSION)
e56bad42 211+SOVERSION=0.0
18b66477 212+
213 # Arguments passed to configure.
214 AC_SUBST(CONFIG_ARGS)
215 CONFIG_ARGS="$ac_configure_args"
8298e225 216@@ -273,6 +277,7 @@
88b95740 217 # python might then depend on the C++ runtime
99213faa 218 # This is altered for AIX in order to build the export list before
219 # linking.
220+# For Linux, we now build a shared library, too.
221 AC_SUBST(LINKCC)
222 AC_MSG_CHECKING(LINKCC)
18b66477 223 if test -z "$LINKCC"
8298e225 224@@ -298,6 +303,9 @@
88b95740 225 LINKCC="LD_RUN_PATH=$libdir $(LINKCC)";;
99213faa 226 Monterey64*)
88b95740 227 LINKCC="$(LINKCC) -L/usr/lib/ia64l64";;
228+ Linux*|GNU*)
18b66477 229+ LDLIBRARY='libpython$(VERSION).so.$(SOVERSION)'
230+ LINKCC="\$(CC)";;
99213faa 231 esac
232 fi
88b95740 233 AC_MSG_RESULT($LINKCC)
8298e225 234@@ -824,7 +832,7 @@
89ebef3a
AM
235 BLDSHARED="$LDSHARED "'-bundle_loader $(BUILDPYTHON)'
236 LDSHARED="$LDSHARED "'-bundle_loader $(BINDIR)/$(PYTHON)'
99213faa 237 fi ;;
8298e225 238- Linux*) LDSHARED='$(CC) -shared';;
239+ Linux*|GNU*) LDSHARED='$(CC) -shared';;
99213faa 240 dgux*) LDSHARED="ld -G";;
241 BSD/OS*/4*) LDSHARED="gcc -shared";;
8298e225 242 OpenBSD*|FreeBSD*)
243@@ -861,7 +869,7 @@
88b95740 244 then CCSHARED="-fPIC";
245 else CCSHARED="+z";
246 fi;;
247- Linux*) CCSHARED="-fPIC";;
248+ Linux*|GNU*) CCSHARED="-fPIC";;
249 BSD/OS*/4*) CCSHARED="-fpic";;
250 FreeBSD*|NetBSD*|OpenBSD*) CCSHARED="-fPIC";;
251 OpenUNIX*|UnixWare*)
8298e225 252@@ -893,7 +901,7 @@
88b95740 253 hp*|HP*)
254 LINKFORSHARED="-Wl,-E -Wl,+s -Wl,+b\$(BINLIBDEST)/lib-dynload";;
255 BSD/OS/4*) LINKFORSHARED="-Xlinker -export-dynamic";;
256- Linux*) LINKFORSHARED="-Xlinker -export-dynamic";;
257+ Linux*|GNU*) LINKFORSHARED="-Xlinker -export-dynamic";;
258 # -u libsys_s pulls in all symbols in libsys
259 Darwin/*)
260 # -u __dummy makes the linker aware of the objc runtime
8298e225 261@@ -1066,8 +1074,14 @@
88b95740 262 AC_MSG_RESULT($unistd_defines_pthreads)
263
264 AC_DEFINE(_REENTRANT)
265+ AC_CHECK_HEADER(cthreads.h, [AC_DEFINE(WITH_THREAD)
266+ AC_DEFINE(C_THREADS)
267+ AC_DEFINE(HURD_C_THREADS)
268+ LIBS="$LIBS -lthreads"
269+ LIBOBJS="$LIBOBJS thread.o"],[
270 AC_CHECK_HEADER(mach/cthreads.h, [AC_DEFINE(WITH_THREAD)
271 AC_DEFINE(C_THREADS)
272+ AC_DEFINE(MACH_C_THREADS)
273 LIBOBJS="$LIBOBJS thread.o"],[
274 AC_MSG_CHECKING(for --with-pth)
275 AC_ARG_WITH(pth,
8298e225 276@@ -1121,7 +1135,7 @@
88b95740 277 LIBS="$LIBS -lcma"
278 LIBOBJS="$LIBOBJS thread.o"],[
279 USE_THREAD_MODULE="#"])
280- ])])])])])])])])])
281+ ])])])])])])])])])])
282
283 if test "$posix_threads" = "yes"; then
284 if test "$unistd_defines_pthreads" = "no"; then
This page took 0.068327 seconds and 4 git commands to generate.