]>
Commit | Line | Data |
---|---|---|
8298e225 | 1 | diff -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 | 202 | diff -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 |