build: fix dtrace-related warnings

Fix the warnings when compiling and linking the probes files by
calling dtrace with all the -W flags removed from CFLAGS (since dtrace
generates bad C code), and with CC set to "libtool --mode=compile ..."
(so that it will output a proper .lo file and libtool won't warn when
linking it into the .la).

https://bugzilla.gnome.org/show_bug.cgi?id=693335
This commit is contained in:
Dan Winship 2013-02-07 10:02:55 -05:00
parent 5415537edb
commit fd5b1939bd
2 changed files with 20 additions and 10 deletions

View File

@ -360,14 +360,19 @@ libglib_2_0_la_LDFLAGS = $(GLIB_LINK_FLAGS) \
INSTALL_PROGS=
if ENABLE_DTRACE
glib_probes.h: glib_probes.d Makefile
DTCOMPILE = $(patsubst -W%,,$(LTCOMPILE))
DTCFLAGS = $(patsubst -W%,,$(CFLAGS))
glib_probes.h: glib_probes.d
$(AM_V_GEN) $(DTRACE) -C -h -s $< -o $@.tmp
@$(SED) -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," < $@.tmp > $@ && rm -f $@.tmp
glib_probes.o: glib_probes.d Makefile
$(AM_V_GEN) $(DTRACE) -G -s $< -o $@
BUILT_SOURCES += glib_probes.h glib_probes.o
glib_probes.lo: glib_probes.d
$(AM_V_GEN) env CC="$(DTCOMPILE)" CFLAGS="$(DTCFLAGS)" $(DTRACE) -G -s $< -o $@
BUILT_SOURCES += glib_probes.h glib_probes.lo
CLEANFILES += glib_probes.h glib_probes.h.tmp
libglib_2_0_la_LIBADD += glib_probes.o
libglib_2_0_la_LIBADD += glib_probes.lo
endif
if ENABLE_SYSTEMTAP

View File

@ -109,14 +109,19 @@ gobject_c_sources = \
gvaluetypes.c
if ENABLE_DTRACE
gobject_probes.h: gobject_probes.d Makefile
DTCOMPILE = $(patsubst -W%,,$(LTCOMPILE))
DTCFLAGS = $(patsubst -W%,,$(CFLAGS))
gobject_probes.h: gobject_probes.d
$(AM_V_GEN) $(DTRACE) -C -h -s $< -o $@.tmp
@$(SED) -e "s,define STAP_HAS_SEMAPHORES 1,undef STAP_HAS_SEMAPHORES," < $@.tmp > $@ && rm -f $@.tmp
gobject_probes.o: gobject_probes.d Makefile
$(AM_V_GEN) $(DTRACE) -G -s $< -o $@
BUILT_SOURCES += gobject_probes.h gobject_probes.o
gobject_probes.lo: gobject_probes.d
$(AM_V_GEN) env CC="$(DTCOMPILE)" CFLAGS="$(DTCFLAGS)" $(DTRACE) -G -s $< -o $@
BUILT_SOURCES += gobject_probes.h gobject_probes.lo
CLEANFILES += gobject_probes.h
libgobject_2_0_la_LIBADD += gobject_probes.o
libgobject_2_0_la_LIBADD += gobject_probes.lo
endif
if ENABLE_SYSTEMTAP