build: fix dtrace-related warnings
authorDan Winship <danw@gnome.org>
Thu, 7 Feb 2013 15:02:55 +0000 (10:02 -0500)
committerDan Winship <danw@gnome.org>
Sat, 17 Aug 2013 14:34:32 +0000 (10:34 -0400)
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

glib/Makefile.am
gobject/Makefile.am

index 12463fa672bfed989ceb256a463cfddb08268fb2..133075545b0d548a7e7c4f5a692c9da089ce00e5 100644 (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
index f899e47c5d770e01fd698b0f555e6097d1da9223..150961683855a5033d5b3258c489762211d4bddc 100644 (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