Skip to content

Commit 86c946f

Browse files
committed
Set shell flag -e globally
Instead of setting `set -e` per target, add it to the definition of `SHELL` to force it globally. This was suggested by Zachary Ware.
1 parent 6c05684 commit 86c946f

File tree

1 file changed

+20
-40
lines changed

1 file changed

+20
-40
lines changed

Makefile.pre.in

+20-40
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ DSYMUTIL_PATH= @DSYMUTIL_PATH@
5959
GNULD= @GNULD@
6060

6161
# Shell used by make (some versions default to the login shell, which is bad)
62-
SHELL= /bin/sh
62+
SHELL= /bin/sh -e
6363

6464
# Use this to make a link between python$(VERSION) and python in $(BINDIR)
6565
LN= @LN@
@@ -738,7 +738,6 @@ $(LIBRARY): $(LIBRARY_OBJS)
738738
$(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS)
739739

740740
libpython$(LDVERSION).so: $(LIBRARY_OBJS) $(DTRACE_OBJS)
741-
set -e; \
742741
if test $(INSTSONAME) != $(LDLIBRARY); then \
743742
$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \
744743
$(LN) -f $(INSTSONAME) $@; \
@@ -895,8 +894,7 @@ $(LIBEXPAT_A): $(LIBEXPAT_OBJS)
895894
# pybuilddir.txt is created too late. We cannot use it in Makefile
896895
# targets. ln --relative is not portable.
897896
sharedmods: $(SHAREDMODS) pybuilddir.txt
898-
@set -e; \
899-
target=`cat pybuilddir.txt`; \
897+
@target=`cat pybuilddir.txt`; \
900898
$(MKDIR_P) $$target; \
901899
for mod in X $(SHAREDMODS); do \
902900
if test $$mod != X; then \
@@ -909,8 +907,7 @@ checksharedmods: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
909907
@$(RUNSHARED) $(PYTHON_FOR_BUILD) $(srcdir)/Tools/build/check_extension_modules.py
910908

911909
rundsymutil: sharedmods $(PYTHON_FOR_BUILD_DEPS) $(BUILDPYTHON)
912-
@set -e; \
913-
if [ ! -z $(DSYMUTIL) ] ; then \
910+
@if [ ! -z $(DSYMUTIL) ] ; then \
914911
echo $(DSYMUTIL_PATH) $(BUILDPYTHON); \
915912
$(DSYMUTIL_PATH) $(BUILDPYTHON); \
916913
if test -f $(LDLIBRARY); then \
@@ -1817,17 +1814,15 @@ commoninstall: check-clean-src @FRAMEWORKALTINSTALLFIRST@ \
18171814
DESTDIRS= $(exec_prefix) $(LIBDIR) $(BINLIBDEST) $(DESTSHARED)
18181815

18191816
sharedinstall: all
1820-
@set -e; \
1821-
for i in $(DESTDIRS); \
1817+
@for i in $(DESTDIRS); \
18221818
do \
18231819
if test ! -d $(DESTDIR)$$i; then \
18241820
echo "Creating directory $$i"; \
18251821
$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
18261822
else true; \
18271823
fi; \
18281824
done
1829-
@set -e; \
1830-
for i in X $(SHAREDMODS); do \
1825+
@for i in X $(SHAREDMODS); do \
18311826
if test $$i != X; then \
18321827
echo $(INSTALL_SHARED) $$i $(DESTSHARED)/`basename $$i`; \
18331828
$(INSTALL_SHARED) $$i $(DESTDIR)$(DESTSHARED)/`basename $$i`; \
@@ -1841,8 +1836,7 @@ sharedinstall: all
18411836
# Install the interpreter with $(VERSION) affixed
18421837
# This goes into $(exec_prefix)
18431838
altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
1844-
@set -e; \
1845-
for i in $(BINDIR) $(LIBDIR); \
1839+
@for i in $(BINDIR) $(LIBDIR); \
18461840
do \
18471841
if test ! -d $(DESTDIR)$$i; then \
18481842
echo "Creating directory $$i"; \
@@ -1861,8 +1855,7 @@ altbininstall: $(BUILDPYTHON) @FRAMEWORKPYTHONW@
18611855
fi; \
18621856
(cd $(DESTDIR)$(BINDIR); $(LN) python$(LDVERSION)$(EXE) python$(VERSION)$(EXE)); \
18631857
fi
1864-
@set -e; \
1865-
if test "$(PY_ENABLE_SHARED)" = 1 -o "$(STATIC_LIBPYTHON)" = 1; then \
1858+
@if test "$(PY_ENABLE_SHARED)" = 1 -o "$(STATIC_LIBPYTHON)" = 1; then \
18661859
if test -f $(LDLIBRARY) && test "$(PYTHONFRAMEWORKDIR)" = "no-framework" ; then \
18671860
if test -n "$(DLLLIBRARY)" ; then \
18681861
$(INSTALL_SHARED) $(DLLLIBRARY) $(DESTDIR)$(BINDIR); \
@@ -1949,8 +1942,7 @@ bininstall: altbininstall
19491942

19501943
# Install the versioned manual page
19511944
altmaninstall:
1952-
@set -e; \
1953-
for i in $(MANDIR) $(MANDIR)/man1; \
1945+
@for i in $(MANDIR) $(MANDIR)/man1; \
19541946
do \
19551947
if test ! -d $(DESTDIR)$$i; then \
19561948
echo "Creating directory $$i"; \
@@ -2085,17 +2077,15 @@ COMPILEALL_OPTS=-j0
20852077

20862078
TEST_MODULES=@TEST_MODULES@
20872079
libinstall: all $(srcdir)/Modules/xxmodule.c
2088-
@set -e; \
2089-
for i in $(SCRIPTDIR) $(LIBDEST); \
2080+
@for i in $(SCRIPTDIR) $(LIBDEST); \
20902081
do \
20912082
if test ! -d $(DESTDIR)$$i; then \
20922083
echo "Creating directory $$i"; \
20932084
$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
20942085
else true; \
20952086
fi; \
20962087
done
2097-
@set -e; \
2098-
if test "$(TEST_MODULES)" = yes; then \
2088+
@if test "$(TEST_MODULES)" = yes; then \
20992089
subdirs="$(LIBSUBDIRS) $(TESTSUBDIRS)"; \
21002090
else \
21012091
subdirs="$(LIBSUBDIRS)"; \
@@ -2111,8 +2101,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c
21112101
else true; \
21122102
fi; \
21132103
done
2114-
@set -e; \
2115-
for i in $(srcdir)/Lib/*.py; \
2104+
@for i in $(srcdir)/Lib/*.py; \
21162105
do \
21172106
if test -x $$i; then \
21182107
$(INSTALL_SCRIPT) $$i $(DESTDIR)$(LIBDEST); \
@@ -2122,8 +2111,7 @@ libinstall: all $(srcdir)/Modules/xxmodule.c
21222111
echo $(INSTALL_DATA) $$i $(LIBDEST); \
21232112
fi; \
21242113
done
2125-
@set -e; \
2126-
if test "$(TEST_MODULES)" = yes; then \
2114+
@if test "$(TEST_MODULES)" = yes; then \
21272115
subdirs="$(LIBSUBDIRS) $(TESTSUBDIRS)"; \
21282116
else \
21292117
subdirs="$(LIBSUBDIRS)"; \
@@ -2213,8 +2201,7 @@ scripts: $(SCRIPT_2TO3) $(SCRIPT_IDLE) $(SCRIPT_PYDOC) python-config
22132201
# Install the include files
22142202
INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)
22152203
inclinstall:
2216-
@set -e; \
2217-
for i in $(INCLDIRSTOMAKE); \
2204+
@for i in $(INCLDIRSTOMAKE); \
22182205
do \
22192206
if test ! -d $(DESTDIR)$$i; then \
22202207
echo "Creating directory $$i"; \
@@ -2232,20 +2219,17 @@ inclinstall:
22322219
$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$(INCLUDEPY)/internal; \
22332220
else true; \
22342221
fi
2235-
@set -e; \
2236-
for i in $(srcdir)/Include/*.h; \
2222+
@for i in $(srcdir)/Include/*.h; \
22372223
do \
22382224
echo $(INSTALL_DATA) $$i $(INCLUDEPY); \
22392225
$(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY); \
22402226
done
2241-
@set -e; \
2242-
for i in $(srcdir)/Include/cpython/*.h; \
2227+
@for i in $(srcdir)/Include/cpython/*.h; \
22432228
do \
22442229
echo $(INSTALL_DATA) $$i $(INCLUDEPY)/cpython; \
22452230
$(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY)/cpython; \
22462231
done
2247-
@set -e; \
2248-
for i in $(srcdir)/Include/internal/*.h; \
2232+
@for i in $(srcdir)/Include/internal/*.h; \
22492233
do \
22502234
echo $(INSTALL_DATA) $$i $(INCLUDEPY)/internal; \
22512235
$(INSTALL_DATA) $$i $(DESTDIR)$(INCLUDEPY)/internal; \
@@ -2260,17 +2244,15 @@ LIBPL= @LIBPL@
22602244
LIBPC= $(LIBDIR)/pkgconfig
22612245

22622246
libainstall: all scripts
2263-
@set -e; \
2264-
for i in $(LIBDIR) $(LIBPL) $(LIBPC) $(BINDIR); \
2247+
@for i in $(LIBDIR) $(LIBPL) $(LIBPC) $(BINDIR); \
22652248
do \
22662249
if test ! -d $(DESTDIR)$$i; then \
22672250
echo "Creating directory $$i"; \
22682251
$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \
22692252
else true; \
22702253
fi; \
22712254
done
2272-
@set -e; \
2273-
if test "$(STATIC_LIBPYTHON)" = 1; then \
2255+
@if test "$(STATIC_LIBPYTHON)" = 1; then \
22742256
if test -d $(LIBRARY); then :; else \
22752257
if test "$(PYTHONFRAMEWORKDIR)" = no-framework; then \
22762258
if test "$(SHLIB_SUFFIX)" = .dll; then \
@@ -2300,8 +2282,7 @@ libainstall: all scripts
23002282
$(INSTALL_SCRIPT) $(SCRIPT_2TO3) $(DESTDIR)$(BINDIR)/2to3-$(VERSION)
23012283
$(INSTALL_SCRIPT) $(SCRIPT_IDLE) $(DESTDIR)$(BINDIR)/idle$(VERSION)
23022284
$(INSTALL_SCRIPT) $(SCRIPT_PYDOC) $(DESTDIR)$(BINDIR)/pydoc$(VERSION)
2303-
@set -e; \
2304-
if [ -s Modules/python.exp -a \
2285+
@if [ -s Modules/python.exp -a \
23052286
"`echo $(MACHDEP) | sed 's/^\(...\).*/\1/'`" = "aix" ]; then \
23062287
echo; echo "Installing support files for building shared extension modules on AIX:"; \
23072288
$(INSTALL_DATA) Modules/python.exp \
@@ -2341,8 +2322,7 @@ frameworkinstallstructure: $(LDLIBRARY)
23412322
exit 1; \
23422323
else true; \
23432324
fi
2344-
@set -e; \
2345-
for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\
2325+
@for i in $(prefix)/Resources/English.lproj $(prefix)/lib; do\
23462326
if test ! -d $(DESTDIR)$$i; then \
23472327
echo "Creating directory $(DESTDIR)$$i"; \
23482328
$(INSTALL) -d -m $(DIRMODE) $(DESTDIR)$$i; \

0 commit comments

Comments
 (0)