1 --- python-1.999b1.orig/Makefile.in
2 +++ python-1.999b1/Makefile.in
5 # Substitutions by configure
7 +SOVERSION= @SOVERSION@
16 # Machine-dependent subdirectories
19 for i in $(SUBDIRS); do \
20 (cd $$i; $(MAKE) VERSION="$(VERSION)" add2lib); done
23 +# WARNING: The following is only tested for Debian GNU/Linux.
24 +# This rule is silly and needs to be cleaned up ASAP!
25 +# Gregor Hoffleit <flight@debian.org>
27 +# This rule is here for Linux shared libs
28 +# The PIC code will be built additionally to the static lib!
29 +libpython$(VERSION).so.$(SOVERSION): $(SUBDIRS)
30 + test -d shobjs || mkdir shobjs
32 + for i in $(SUBDIRS); do \
33 + (cd $$i; rm -f add2shlib; \
34 + $(MAKE) VERSION="$(VERSION)" add2shlib); done
35 + $(CC) -shared -Wl,-soname,$(LDLIBRARY) \
36 + $(SOLIBS) shobjs/* -o $(LDLIBRARY)
38 # This rule is only here for DG/UX!!!
39 libpython$(VERSION).so: $(LIBRARY)
40 case `uname -s | tr -d '/ ' | tr '[A-Z]' '[a-z]'` in \
44 $(INSTALL_PROGRAM) python$(EXE) $(BINDIR)/python$(VERSION)$(EXE)
45 + if test -f libpython$(VERSION).so.$(SOVERSION); then \
47 + $(INSTALL_DATA) libpython$(VERSION).so.$(SOVERSION) $(LIBDIR); \
48 + (cd $(LIBDIR) && $(LN) -sf libpython$(VERSION).so.$(SOVERSION) libpython$(VERSION).so); \
51 if test -f libpython$(VERSION).so; then \
52 $(INSTALL_DATA) libpython$(VERSION).so $(LIBDIR); \
58 + -rm -f shobjs/*.pic_o
60 localclobber: localclean
61 -rm -f tags TAGS python$(EXE) $(LIBRARY) $(LDLIBRARY) *.o
62 -rm -f config.log config.cache config.h
63 + -rm -rf shobjs/*.pic_o
66 -for i in $(SUBDIRS); do \
67 --- python-1.999b1.orig/configure.in
68 +++ python-1.999b1/configure.in
70 # Set VERSION so we only need to edit in one place (i.e., here)
77 if test -f /usr/lib/NextStep/software_version -o -f /System/Library/CoreServices/software_version ; then
79 # LINKCC is the command that links the python executable -- default is $(CC).
80 # This is altered for AIX and BeOS in order to build the export list before
82 +# For Linux, we now build a shared library, too.
84 AC_MSG_CHECKING(LINKCC)
85 if test -z "$LINKCC" -a ! -z "$CXX"
87 LDLIBRARY='libpython$(VERSION).so';;
89 LINKCC="LD_RUN_PATH=$libdir \$(PURIFY) \$(CC)";;
91 + LDLIBRARY='libpython$(VERSION).so.$(SOVERSION)'
93 *) LINKCC="\$(PURIFY) \$(CC)";;
97 if test "$with_next_framework" ; then
98 LDSHARED="$LDSHARED \$(LDLIBRARY)"
100 - Linux*) LDSHARED="gcc -shared";;
101 + Linux*) LDSHARED="gcc -shared -lc";;
102 dgux*) LDSHARED="ld -G";;
103 BSD/OS*/4*) LDSHARED="gcc -shared";;
104 FreeBSD*/[[34]]*) LDSHARED="gcc -shared";;
106 then CCSHARED="-fpic";
109 - Linux*) CCSHARED="-fpic";;
110 + Linux*) CCSHARED="-fPIC";;
111 BSD/OS*/4*) CCSHARED="-fpic";;
112 FreeBSD*|OpenBSD*) CCSHARED="-fpic";;
113 NetBSD*) CCSHARED="-fPIC";;
114 --- python-1.999b1.orig/Modules/Makefile.pre.in
115 +++ python-1.999b1/Modules/Makefile.pre.in
117 # === Variables set by configure ===
120 +SOVERSION= @SOVERSION@
125 FIXOBJS= config.o getpath.o main.o getbuildinfo.o
126 OBJS= $(MODOBJS) $(FIXOBJS)
128 +SHOBJS= $(OBJS:%.o=%.pic_o)
134 $(AR) cr $(LIBRARY) $(OBJS)
137 +add2shlib: $(SHOBJS)
138 + -if test -f hassignal; \
139 + then echo removing sigcheck.pic_o intrcheck.pic_o; \
140 + rm ../shobjs/sigcheck.pic_o ../shobjs/intrcheck.pic_o \
142 + else echo leaving sigcheck.pic_o intrcheck.pic_o in; fi
143 + cp -f $(SHOBJS) ../shobjs/.
146 # Use ``EXE=.exe'' for Unix emulations on DOS/Windows
151 -rm -f *.o python$(EXE) core *~ [@,#]* *.old *.orig *.rej
152 -rm -f add2lib hassignal
153 + -rm -f add2shlib *.pic_o
156 -rm -f *.a tags TAGS config.c Makefile.pre
158 -DVPATH='"$(VPATH)"' \
161 +getpath.pic_o: getpath.c Makefile
162 + $(CC) -c $(CFLAGS) -DPYTHONPATH='"$(PYTHONPATH)"' \
163 + -DPREFIX='"$(prefix)"' \
164 + -DEXEC_PREFIX='"$(exec_prefix)"' \
165 + -DVERSION='"$(VERSION)"' \
166 + -DVPATH='"$(VPATH)"' \
167 + -fPIC -o getpath.pic_o \
168 + $(srcdir)/getpath.c
170 # When the configuration changes, we remove the library, so that it
171 # gets remade from scratch; this ensures to remove modules that are no
172 # longer pertinent (but that were in a previous configuration).
175 $(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
176 sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
181 + $(CC) -c $(CFLAGS) $(CPPFLAGS) -fPIC -o $@ $<
183 .PRECIOUS: ../python$(EXE)
185 --- python-1.999b1.orig/Objects/Makefile.in
186 +++ python-1.999b1/Objects/Makefile.in
188 tupleobject.c typeobject.c \
189 unicodeobject.c unicodectype.c
191 +SHOBJS= $(OBJS:%.o=%.pic_o)
193 LIBRARY= ../libpython$(VERSION).a
197 $(AR) cr $(LIBRARY) $(OBJS)
200 +add2shlib: $(SHOBJS)
201 + cp -f $(SHOBJS) ../shobjs/.
205 - -rm -f *.o core *~ [@,#]* *.old *.orig *.rej add2lib
206 + -rm -f *.o core *~ [@,#]* *.old *.orig *.rej add2lib \
213 $(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
214 sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
216 +# Rules for building libpython as shared library
220 + $(CC) -c $(CFLAGS) $(CPPFLAGS) -fPIC -o $@ $<
224 --- python-1.999b1.orig/Parser/Makefile.in
225 +++ python-1.999b1/Parser/Makefile.in
227 AROBJS= $(POBJS) myreadline.o
228 OBJS= $(AROBJS) intrcheck.o
230 +SHOBJS= $(OBJS:%.o=%.pic_o)
235 else echo leaving intrcheck.o out; fi
238 +add2shlib: $(SHOBJS)
239 + cp -f $(SHOBJS) ../shobjs/.
243 $(CC) $(OPT) $(PGENOBJS) $(LIBS) -o $(PGEN)
246 - -rm -f *.o core *~ [@,#]* *.old *.orig *.rej add2lib
247 + -rm -f *.o core *~ [@,#]* *.old *.orig *.rej add2lib \
251 -rm -f $(PGEN) *.a tags TAGS
254 $(MKDEP) $(CFLAGS) `echo $(DOBJS) | tr ' ' '\012' | \
255 sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
260 + $(CC) -c $(CFLAGS) $(CPPFLAGS) -fPIC -o $@ $<
264 --- python-1.999b1.orig/Python/Makefile.in
265 +++ python-1.999b1/Python/Makefile.in
268 OBJS= $(AROBJS) sigcheck.o
270 +SHOBJS= $(OBJS:%.o=%.pic_o)
272 LIBRARY= ../libpython$(VERSION).a
276 else echo leaving sigcheck.o out; fi
279 +add2shlib: $(SHOBJS)
280 + cp -f $(SHOBJS) ../shobjs/.
284 - -rm -f *.o core *~ [@,#]* *.old *.orig *.rej add2lib
285 + -rm -f *.o core *~ [@,#]* *.old *.orig *.rej add2lib \
291 $(CC) -c $(CFLAGS) -DPLATFORM='"$(MACHDEP)"' \
292 $(srcdir)/getplatform.c
294 +getplatform.pic_o: getplatform.c Makefile
295 + $(CC) -c $(CFLAGS) -DPLATFORM='"$(MACHDEP)"' \
296 + $(CPPFLAGS) -fPIC -o $@ \
297 + $(srcdir)/getplatform.c
299 importdl.o: importdl.c
300 $(CC) -c $(CFLAGS) -I$(DLINCLDIR) $(srcdir)/importdl.c
302 +importdl.pic_o: importdl.c
303 + $(CC) -c $(CFLAGS) -I$(DLINCLDIR) -fPIC -o $@ $(srcdir)/importdl.c
306 $(MKDEP) $(CFLAGS) `echo $(OBJS) | tr ' ' '\012' | \
307 sed 's|\(.*\)\.o|$(srcdir)/\1.c|'`
312 + $(CC) -c $(CFLAGS) $(CPPFLAGS) -fPIC -o $@ $<