bpo-35520: Fix build with dtrace support on certain systems. (#11194)

This commit is contained in:
Jakub Kulík 2019-01-24 18:29:48 +01:00 committed by Łukasz Langa
parent fd628cf5ad
commit 5c8f537669
3 changed files with 10 additions and 6 deletions

View File

@ -451,8 +451,7 @@ LIBRARY_OBJS= \
# On some systems, object files that reference DTrace probes need to be modified # On some systems, object files that reference DTrace probes need to be modified
# in-place by dtrace(1). # in-place by dtrace(1).
DTRACE_DEPS = \ DTRACE_DEPS = \
Python/ceval.o Python/ceval.o Python/import.o Modules/gcmodule.o
# XXX: should gcmodule, etc. be here, too?
######################################################################### #########################################################################
# Rules # Rules
@ -628,7 +627,7 @@ $(LIBRARY): $(LIBRARY_OBJS)
-rm -f $@ -rm -f $@
$(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS) $(AR) $(ARFLAGS) $@ $(LIBRARY_OBJS)
libpython$(LDVERSION).so: $(LIBRARY_OBJS) libpython$(LDVERSION).so: $(LIBRARY_OBJS) $(DTRACE_OBJS)
if test $(INSTSONAME) != $(LDLIBRARY); then \ if test $(INSTSONAME) != $(LDLIBRARY); then \
$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \ $(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM); \
$(LN) -f $(INSTSONAME) $@; \ $(LN) -f $(INSTSONAME) $@; \
@ -640,7 +639,7 @@ libpython3.so: libpython$(LDVERSION).so
$(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^ $(BLDSHARED) $(NO_AS_NEEDED) -o $@ -Wl,-h$@ $^
libpython$(LDVERSION).dylib: $(LIBRARY_OBJS) libpython$(LDVERSION).dylib: $(LIBRARY_OBJS)
$(CC) -dynamiclib -Wl,-single_module $(PY_CORE_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \ $(CC) -dynamiclib -Wl,-single_module $(PY_CORE_LDFLAGS) -undefined dynamic_lookup -Wl,-install_name,$(prefix)/lib/libpython$(LDVERSION).dylib -Wl,-compatibility_version,$(VERSION) -Wl,-current_version,$(VERSION) -o $@ $(LIBRARY_OBJS) $(DTRACE_OBJS) $(SHLIBS) $(LIBC) $(LIBM); \
libpython$(VERSION).sl: $(LIBRARY_OBJS) libpython$(VERSION).sl: $(LIBRARY_OBJS)
@ -752,6 +751,7 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \
$(PYTHON_OBJS) \ $(PYTHON_OBJS) \
$(MODULE_OBJS) \ $(MODULE_OBJS) \
$(MODOBJS) \ $(MODOBJS) \
$(DTRACE_OBJS) \
$(srcdir)/Modules/getbuildinfo.c $(srcdir)/Modules/getbuildinfo.c
$(CC) -c $(PY_CORE_CFLAGS) \ $(CC) -c $(PY_CORE_CFLAGS) \
-DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \ -DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \
@ -954,6 +954,10 @@ Include/pydtrace_probes.h: $(srcdir)/Include/pydtrace.d
sed 's/PYTHON_/PyDTrace_/' $@ > $@.tmp sed 's/PYTHON_/PyDTrace_/' $@ > $@.tmp
mv $@.tmp $@ mv $@.tmp $@
Python/ceval.o: Include/pydtrace.h
Python/import.o: Include/pydtrace.h
Modules/gcmodule.o: Include/pydtrace.h
Python/pydtrace.o: $(srcdir)/Include/pydtrace.d $(DTRACE_DEPS) Python/pydtrace.o: $(srcdir)/Include/pydtrace.d $(DTRACE_DEPS)
$(DTRACE) $(DFLAGS) -o $@ -G -s $< $(DTRACE_DEPS) $(DTRACE) $(DFLAGS) -o $@ -G -s $< $(DTRACE_DEPS)

2
configure vendored
View File

@ -11352,7 +11352,7 @@ if ${ac_cv_dtrace_link+:} false; then :
$as_echo_n "(cached) " >&6 $as_echo_n "(cached) " >&6
else else
ac_cv_dtrace_link=no ac_cv_dtrace_link=no
echo 'BEGIN' > conftest.d echo 'BEGIN{}' > conftest.d
"$DTRACE" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \ "$DTRACE" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \
ac_cv_dtrace_link=yes ac_cv_dtrace_link=yes

View File

@ -3429,7 +3429,7 @@ then
AC_CACHE_CHECK([whether DTrace probes require linking], AC_CACHE_CHECK([whether DTrace probes require linking],
[ac_cv_dtrace_link], [dnl [ac_cv_dtrace_link], [dnl
ac_cv_dtrace_link=no ac_cv_dtrace_link=no
echo 'BEGIN' > conftest.d echo 'BEGIN{}' > conftest.d
"$DTRACE" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \ "$DTRACE" -G -s conftest.d -o conftest.o > /dev/null 2>&1 && \
ac_cv_dtrace_link=yes ac_cv_dtrace_link=yes
]) ])