@@ -108,6 +108,9 @@ PYTHONFRAMEWORKDIR= @PYTHONFRAMEWORKDIR@
108
108
PYTHONFRAMEWORKPREFIX= @PYTHONFRAMEWORKPREFIX@
109
109
PYTHONFRAMEWORKINSTALLDIR= @PYTHONFRAMEWORKINSTALLDIR@
110
110
111
+ # Environment to run shared python without installed libraries
112
+ RUNSHARED= @RUNSHARED@
113
+
111
114
# Modes for directories, executables and data files created by the
112
115
# install process. Default to user-only-writable for all file types.
113
116
DIRMODE= 755
@@ -136,6 +139,7 @@ LDLIBRARY= @LDLIBRARY@
136
139
BLDLIBRARY= @BLDLIBRARY@
137
140
DLLLIBRARY= @DLLLIBRARY@
138
141
LDLIBRARYDIR= @LDLIBRARYDIR@
142
+ INSTSONAME= @INSTSONAME@
139
143
140
144
141
145
LIBS= @LIBS@
@@ -292,20 +296,20 @@ LIBRARY_OBJS= \
292
296
all: $(BUILDPYTHON) oldsharedmods sharedmods
293
297
294
298
# Build the interpreter
295
- $(BUILDPYTHON): Modules/$(MAINOBJ) $(LDLIBRARY)
299
+ $(BUILDPYTHON): Modules/$(MAINOBJ) $(LIBRARY) $( LDLIBRARY)
296
300
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
297
301
Modules/$(MAINOBJ) \
298
302
$(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
299
303
300
304
platform: $(BUILDPYTHON)
301
- ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
305
+ $(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from distutils.util import get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
302
306
303
307
304
308
# Build the shared modules
305
309
sharedmods: $(BUILDPYTHON)
306
310
case $$MAKEFLAGS in \
307
- *-s*) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
308
- *) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
311
+ *-s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
312
+ *) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
309
313
esac
310
314
311
315
# buildno should really depend on something like LIBRARY_SRC
@@ -333,18 +337,11 @@ $(LIBRARY): $(LIBRARY_OBJS)
333
337
$(AR) cr $@ $(MODOBJS)
334
338
$(RANLIB) $@
335
339
336
- # This rule is only here for DG/UX and BeOS!!!
337
- libpython$(VERSION).so: $(LIBRARY)
338
- case `uname -s | tr -d '/ ' | tr '[A-Z]' '[a-z]'` in \
339
- *dgux*) \
340
- test -d dgux || mkdir dgux; \
341
- (cd dgux;ar x ../$^;ld -G -o ../$@ * ); \
342
- /bin/rm -rf ./dgux \
343
- ;; \
344
- beos) \
345
- $(AR) so $(LIBRARY) $@ \
346
- ;; \
347
- esac
340
+ libpython$(VERSION).so: $(LIBRARY_OBJS)
341
+ $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(LIBC) $(LIBM)
342
+
343
+ libpython$(VERSION).sl: $(LIBRARY_OBJS)
344
+ $(LDSHARED) -o $@ $(LIBRARY_OBJS) $(LIBC) $(LIBM)
348
345
349
346
# This rule is here for OPENSTEP/Rhapsody/MacOSX
350
347
$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK): $(LIBRARY) $(PYTHONFRAMEWORKDIR)
@@ -420,10 +417,10 @@ Parser/metagrammar.o: $(srcdir)/Parser/metagrammar.c
420
417
Python/compile.o Python/symtable.o: $(GRAMMAR_H)
421
418
422
419
Python/getplatform.o: $(srcdir)/Python/getplatform.c
423
- $(CC) -c $(CFLAGS) $(CPPFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
420
+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c
424
421
425
422
Python/importdl.o: $(srcdir)/Python/importdl.c
426
- $(CC) -c $(CFLAGS) $(CPPFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
423
+ $(CC) -c $(CFLAGS) $(CPPFLAGS) $(CFLAGSFORSHARED) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c
427
424
428
425
Objects/unicodectype.o: $(srcdir)/Objects/unicodectype.c \
429
426
$(srcdir)/Objects/unicodetype_db.h
@@ -486,7 +483,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Modules/$(MAINOBJ): $(PYTHON_HEADERS)
486
483
# Test the interpreter (twice, once without .pyc files, once with)
487
484
TESTOPTS= -l
488
485
TESTPROG= $(srcdir)/Lib/test/regrtest.py
489
- TESTPYTHON= ./$(BUILDPYTHON) -E -tt
486
+ TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -E -tt
490
487
test: all platform
491
488
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
492
489
-$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
@@ -556,8 +553,8 @@ altbininstall: $(BUILDPYTHON)
556
553
fi; \
557
554
done
558
555
$(INSTALL_PROGRAM) $(BUILDPYTHON) $(BINDIR)/python$(VERSION)$(EXE)
559
- if test -f libpython$(VERSION).so ; then \
560
- $(INSTALL_DATA ) libpython$(VERSION).so $(LIBDIR); \
556
+ if test -f libpython$(VERSION)$(SO) ; then \
557
+ $(INSTALL_SHARED ) libpython$(VERSION)$(SO) $(LIBDIR)/$(INSTSONAME ); \
561
558
else true; \
562
559
fi
563
560
if test -f "$(DLLLIBRARY)"; then \
@@ -640,10 +637,10 @@ libinstall: $(BUILDPYTHON) $(srcdir)/Lib/$(PLATDIR)
640
637
done; \
641
638
done
642
639
$(INSTALL_DATA) $(srcdir)/LICENSE $(LIBDEST)/LICENSE.txt
643
- PYTHONPATH=$(LIBDEST) \
640
+ PYTHONPATH=$(LIBDEST) $(RUNSHARED) \
644
641
./$(BUILDPYTHON) -tt $(LIBDEST)/compileall.py -x badsyntax \
645
642
$(LIBDEST)
646
- PYTHONPATH=$(LIBDEST) \
643
+ PYTHONPATH=$(LIBDEST) $(RUNSHARED) \
647
644
./$(BUILDPYTHON) -O $(LIBDEST)/compileall.py -x badsyntax $(LIBDEST)
648
645
649
646
# Create the PLATDIR source directory, if one wasn't distributed..
@@ -686,12 +683,12 @@ libainstall: all
686
683
else true; \
687
684
fi; \
688
685
done
689
- @if test -d $(LDLIBRARY ); then :; else \
686
+ @if test -d $(LIBRARY ); then :; else \
690
687
if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
691
- $(INSTALL_DATA) $(LDLIBRARY ) $(LIBPL)/$(LDLIBRARY ) ; \
692
- $(RANLIB) $(LIBPL)/$(LDLIBRARY ) ; \
688
+ $(INSTALL_DATA) $(LIBRARY ) $(LIBPL)/$(LIBRARY ) ; \
689
+ $(RANLIB) $(LIBPL)/$(LIBRARY ) ; \
693
690
else \
694
- echo Skip install of $(LDLIBRARY ) - use make frameworkinstall; \
691
+ echo Skip install of $(LIBRARY ) - use make frameworkinstall; \
695
692
fi; \
696
693
fi
697
694
$(INSTALL_DATA) Modules/config.c $(LIBPL)/config.c
@@ -733,7 +730,8 @@ libainstall: all
733
730
# Install the dynamically loadable modules
734
731
# This goes into $(exec_prefix)
735
732
sharedinstall:
736
- ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
733
+ $(RUNSHARED) ./$(BUILDPYTHON) -E $(srcdir)/setup.py install \
734
+ --prefix=$(prefix) \
737
735
--install-scripts=$(BINDIR) \
738
736
--install-platlib=$(DESTSHARED)
739
737
0 commit comments