From 6d14a4a9f3b6b8a02fcac0b95961b9b08e9fda0b Mon Sep 17 00:00:00 2001 From: Elliott Baron Date: Fri, 5 Jun 2009 11:40:34 -0400 Subject: PR10209: extend configury for --disable-translator * configure.ac: Added --disable-translator feature, creates AM_CONDITIONAL BUILD_TRANSLATOR. * Makefile.am: Only build runtime components (staprun, stapio) if BUILD_TRANSLATOR == FALSE. * configure: Regenerated. * Makefile.in: Likewise. * aclocal.m4: Likewise. * config.in: Likewise. * doc/Makefile.in: Likewise. * doc/SystemTap_Tapset_Reference/Makefile.in: Likewise. * grapher/Makefile.in: Likewise. --- Makefile.am | 42 +++-- Makefile.in | 241 ++++++++++++++++------------- aclocal.m4 | 44 ++++-- config.in | 12 +- configure | 47 +++++- configure.ac | 11 +- doc/Makefile.in | 8 +- doc/SystemTap_Tapset_Reference/Makefile.in | 8 +- grapher/Makefile.in | 8 +- 9 files changed, 258 insertions(+), 163 deletions(-) diff --git a/Makefile.am b/Makefile.am index f11c24c9..ad70f9f4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -12,8 +12,7 @@ AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DSYSCONFDIR='"$(sysconfdir)"' -DPKGDATADIR AM_CFLAGS = -D_GNU_SOURCE -fexceptions -Wall -Werror -Wunused -Wformat=2 -W AM_CXXFLAGS = -Wall -Werror -man_MANS = stap.1 \ -stapprobes.3stap stapfuncs.3stap stapvars.3stap stapex.3stap \ +man_MANS = stapprobes.3stap stapfuncs.3stap stapvars.3stap stapex.3stap \ staprun.8 \ man/stapprobes.iosched.3stap man/stapprobes.netdev.3stap \ man/stapprobes.nfs.3stap man/stapprobes.nfsd.3stap \ @@ -23,9 +22,15 @@ man/stapprobes.signal.3stap man/stapprobes.socket.3stap \ man/stapprobes.tcp.3stap man/stapprobes.udp.3stap # see also configure.ac -bin_PROGRAMS = stap staprun +bin_PROGRAMS = staprun bin_SCRIPTS = stap-report stap-env stap-gen-cert stap-authorize-cert stap-authorize-signing-cert oldinclude_HEADERS = includes/sys/sdt.h + +if BUILD_TRANSLATOR +bin_PROGRAMS += stap +man_MANS += stap.1 +bin_SCRIPTS += dtrace + if BUILD_SERVER man_MANS += stap-server.8 bin_PROGRAMS += stap-client-connect stap-server-connect @@ -33,7 +38,7 @@ bin_SCRIPTS += stap-client stap-serverd stap-server stap-find-servers \ stap-start-server stap-find-or-start-server stap-stop-server \ stap-authorize-server-cert endif -bin_SCRIPTS += dtrace + stap_SOURCES = main.cxx \ parse.cxx staptree.cxx elaborate.cxx translate.cxx \ tapsets.cxx buildrun.cxx loc2c.c hash.cxx mdfour.c \ @@ -42,10 +47,11 @@ stap_SOURCES = main.cxx \ tapset-perfmon.cxx tapset-mark.cxx tapset-itrace.cxx \ tapset-utrace.cxx task_finder.cxx dwflpp.cxx rpm_finder.cxx stap_LDADD = @stap_LIBS@ @sqlite3_LIBS@ @rpm_LIBS@ +stap_DEPENDENCIES = +endif BUILT_SOURCES = CLEANFILES = -stap_DEPENDENCIES = # Arrange for git_version.h to be regenerated at every "make". # Code fragment is based upon RadeonHD.am. @@ -83,7 +89,8 @@ cscope: (echo -q ; git ls-files '*.cxx' '*.c' '*.h' | grep -v '^testsuite' ) > cscope.files && \ cscope -b -q - +PHONIES = +if BUILD_TRANSLATOR stap_CFLAGS = $(AM_CFLAGS) @PIECFLAGS@ stap_CXXFLAGS = $(AM_CXXFLAGS) @PIECXXFLAGS@ stap_CPPFLAGS = $(AM_CPPFLAGS) @@ -98,7 +105,6 @@ stap_client_connect_LDFLAGS = $(AM_LDFLAGS) stap_server_connect_LDFLAGS = $(AM_LDFLAGS) endif -PHONIES = if BUILD_ELFUTILS stap_CPPFLAGS += -Iinclude-elfutils stap_LDFLAGS += -Llib-elfutils -Wl,-rpath-link,lib-elfutils \ @@ -135,6 +141,7 @@ install-scripts: install-binSCRIPTS sed -i -e "/INSTALL-HOOK/d;s,exec_prefix=.*,exec_prefix=$(exec_prefix)/bin/,;s,sysconfdir=.*,sysconfdir=$(sysconfdir)," $(DESTDIR)$(bindir)/$$f; \ done endif +endif staprun_SOURCES = runtime/staprun/staprun.c runtime/staprun/staprun_funcs.c\ runtime/staprun/ctl.c runtime/staprun/common.c @@ -158,15 +165,6 @@ stapio_CFLAGS = @PROCFLAGS@ $(AM_CFLAGS) @PIECFLAGS@ -fno-strict-aliasing -fno-b stapio_LDFLAGS = $(AM_LDFLAGS) @PIELDFLAGS@ stapio_LDADD = @PROCFLAGS@ -lpthread -if BUILD_SERVER -stap_client_connect_SOURCES = stap-client-connect.c -stap_client_connect_CFLAGS = -Wall -Werror $(nss_CFLAGS) $(nspr_CFLAGS) -stap_client_connect_LDADD = -lssl3 - -stap_server_connect_SOURCES = stap-server-connect.c -stap_server_connect_CFLAGS = -Wall -Werror $(nss_CFLAGS) $(nspr_CFLAGS) -stap_server_connect_LDADD = -lssl3 -endif install-exec-hook: if [ `id -u` -eq 0 ]; then chmod 04111 "$(DESTDIR)$(bindir)/staprun"; fi @@ -178,12 +176,24 @@ install-exec-hook: pkglibexec_PROGRAMS = stapio CLEANFILES += $(pkglibexec_PROGRAMS) +if BUILD_TRANSLATOR +if BUILD_SERVER +stap_client_connect_SOURCES = stap-client-connect.c +stap_client_connect_CFLAGS = -Wall -Werror $(nss_CFLAGS) $(nspr_CFLAGS) +stap_client_connect_LDADD = -lssl3 + +stap_server_connect_SOURCES = stap-server-connect.c +stap_server_connect_CFLAGS = -Wall -Werror $(nss_CFLAGS) $(nspr_CFLAGS) +stap_server_connect_LDADD = -lssl3 +endif + noinst_PROGRAMS = loc2c-test loc2c_test_SOURCES = loc2c-test.c loc2c.c loc2c_test_CFLAGS = $(stap_CFLAGS) loc2c_test_CPPFLAGS = $(stap_CPPFLAGS) loc2c_test_LDFLAGS = $(stap_LDFLAGS) loc2c_test_LDADD = $(stap_LDADD) +endif # crash(8) extension if BUILD_CRASHMOD diff --git a/Makefile.in b/Makefile.in index c8a5d713..a3789c6c 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -34,30 +34,33 @@ POST_INSTALL = : NORMAL_UNINSTALL = : PRE_UNINSTALL = : POST_UNINSTALL = : -bin_PROGRAMS = stap$(EXEEXT) staprun$(EXEEXT) $(am__EXEEXT_1) -@BUILD_SERVER_TRUE@am__append_1 = stap-server.8 -@BUILD_SERVER_TRUE@am__append_2 = stap-client-connect stap-server-connect -@BUILD_SERVER_TRUE@am__append_3 = stap-client stap-serverd stap-server stap-find-servers \ -@BUILD_SERVER_TRUE@ stap-start-server stap-find-or-start-server stap-stop-server \ -@BUILD_SERVER_TRUE@ stap-authorize-server-cert - -@HAVE_NSS_TRUE@am__append_4 = modsign.cxx nsscommon.c -@HAVE_NSS_TRUE@am__append_5 = $(nss_CFLAGS) $(nspr_CFLAGS) -@HAVE_NSS_TRUE@am__append_6 = -lnss3 -@BUILD_ELFUTILS_TRUE@am__append_7 = -Iinclude-elfutils -@BUILD_ELFUTILS_TRUE@am__append_8 = -Llib-elfutils -Wl,-rpath-link,lib-elfutils \ -@BUILD_ELFUTILS_TRUE@ -Wl,--enable-new-dtags,-rpath,$(pkglibdir) - -@BUILD_ELFUTILS_TRUE@am__append_9 = stamp-elfutils -@BUILD_ELFUTILS_TRUE@am__append_10 = stamp-elfutils -@BUILD_ELFUTILS_TRUE@am__append_11 = lib-elfutils/libdw.so -@BUILD_ELFUTILS_TRUE@am__append_12 = install-elfutils -@BUILD_SERVER_TRUE@am__append_13 = install-scripts -@HAVE_NSS_TRUE@am__append_14 = runtime/staprun/modverify.c nsscommon.c -@HAVE_NSS_TRUE@am__append_15 = $(nss_CFLAGS) $(nspr_CFLAGS) -@HAVE_NSS_TRUE@am__append_16 = -lnss3 +bin_PROGRAMS = staprun$(EXEEXT) $(am__EXEEXT_1) $(am__EXEEXT_2) +@BUILD_TRANSLATOR_TRUE@am__append_1 = stap +@BUILD_TRANSLATOR_TRUE@am__append_2 = stap.1 +@BUILD_TRANSLATOR_TRUE@am__append_3 = dtrace +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_4 = stap-server.8 +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_5 = stap-client-connect stap-server-connect +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_6 = stap-client stap-serverd stap-server stap-find-servers \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@ stap-start-server stap-find-or-start-server stap-stop-server \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@ stap-authorize-server-cert + +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_7 = modsign.cxx nsscommon.c +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_8 = $(nss_CFLAGS) $(nspr_CFLAGS) +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__append_9 = -lnss3 +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_10 = -Iinclude-elfutils +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_11 = -Llib-elfutils -Wl,-rpath-link,lib-elfutils \ +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ -Wl,--enable-new-dtags,-rpath,$(pkglibdir) + +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_12 = stamp-elfutils +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_13 = stamp-elfutils +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_14 = lib-elfutils/libdw.so +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_15 = install-elfutils +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@am__append_16 = install-scripts +@HAVE_NSS_TRUE@am__append_17 = runtime/staprun/modverify.c nsscommon.c +@HAVE_NSS_TRUE@am__append_18 = $(nss_CFLAGS) $(nspr_CFLAGS) +@HAVE_NSS_TRUE@am__append_19 = -lnss3 pkglibexec_PROGRAMS = stapio$(EXEEXT) -noinst_PROGRAMS = loc2c-test$(EXEEXT) +@BUILD_TRANSLATOR_TRUE@noinst_PROGRAMS = loc2c-test$(EXEEXT) subdir = . DIST_COMMON = INSTALL NEWS README AUTHORS $(srcdir)/Makefile.in \ $(srcdir)/Makefile.am $(top_srcdir)/configure \ @@ -96,8 +99,9 @@ CONFIG_CLEAN_FILES = stap.1 stapprobes.3stap stapfuncs.3stap \ man/stapprobes.signal.3stap man/stapprobes.socket.3stap \ man/stapprobes.tcp.3stap man/stapprobes.udp.3stap \ initscript/systemtap run-stap run-staprun -@BUILD_SERVER_TRUE@am__EXEEXT_1 = stap-client-connect$(EXEEXT) \ -@BUILD_SERVER_TRUE@ stap-server-connect$(EXEEXT) +@BUILD_TRANSLATOR_TRUE@am__EXEEXT_1 = stap$(EXEEXT) +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@am__EXEEXT_2 = stap-client-connect$(EXEEXT) \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@ stap-server-connect$(EXEEXT) am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ "$(DESTDIR)$(bindir)" "$(DESTDIR)$(man1dir)" \ "$(DESTDIR)$(man3dir)" "$(DESTDIR)$(man8dir)" \ @@ -105,37 +109,53 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkglibexecdir)" \ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) pkglibexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS) $(pkglibexec_PROGRAMS) -am_loc2c_test_OBJECTS = loc2c_test-loc2c-test.$(OBJEXT) \ - loc2c_test-loc2c.$(OBJEXT) +@BUILD_TRANSLATOR_TRUE@am_loc2c_test_OBJECTS = \ +@BUILD_TRANSLATOR_TRUE@ loc2c_test-loc2c-test.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ loc2c_test-loc2c.$(OBJEXT) loc2c_test_OBJECTS = $(am_loc2c_test_OBJECTS) am__DEPENDENCIES_1 = -am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) -loc2c_test_DEPENDENCIES = $(am__DEPENDENCIES_2) +@BUILD_TRANSLATOR_TRUE@am__DEPENDENCIES_2 = $(am__DEPENDENCIES_1) +@BUILD_TRANSLATOR_TRUE@loc2c_test_DEPENDENCIES = \ +@BUILD_TRANSLATOR_TRUE@ $(am__DEPENDENCIES_2) loc2c_test_LINK = $(CCLD) $(loc2c_test_CFLAGS) $(CFLAGS) \ $(loc2c_test_LDFLAGS) $(LDFLAGS) -o $@ -@HAVE_NSS_TRUE@am__objects_1 = stap-modsign.$(OBJEXT) \ -@HAVE_NSS_TRUE@ stap-nsscommon.$(OBJEXT) -am_stap_OBJECTS = stap-main.$(OBJEXT) stap-parse.$(OBJEXT) \ - stap-staptree.$(OBJEXT) stap-elaborate.$(OBJEXT) \ - stap-translate.$(OBJEXT) stap-tapsets.$(OBJEXT) \ - stap-buildrun.$(OBJEXT) stap-loc2c.$(OBJEXT) \ - stap-hash.$(OBJEXT) stap-mdfour.$(OBJEXT) stap-cache.$(OBJEXT) \ - stap-util.$(OBJEXT) stap-coveragedb.$(OBJEXT) \ - stap-dwarf_wrappers.$(OBJEXT) stap-tapset-been.$(OBJEXT) \ - stap-tapset-procfs.$(OBJEXT) stap-tapset-timers.$(OBJEXT) \ - stap-tapset-perfmon.$(OBJEXT) stap-tapset-mark.$(OBJEXT) \ - stap-tapset-itrace.$(OBJEXT) stap-tapset-utrace.$(OBJEXT) \ - stap-task_finder.$(OBJEXT) stap-dwflpp.$(OBJEXT) \ - stap-rpm_finder.$(OBJEXT) $(am__objects_1) +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@am__objects_1 = \ +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ stap-modsign.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@ stap-nsscommon.$(OBJEXT) +@BUILD_TRANSLATOR_TRUE@am_stap_OBJECTS = stap-main.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-parse.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-staptree.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-elaborate.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-translate.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-tapsets.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-buildrun.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-loc2c.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-hash.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-mdfour.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-cache.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-util.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-coveragedb.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-dwarf_wrappers.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-tapset-been.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-tapset-procfs.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-tapset-timers.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-tapset-perfmon.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-tapset-mark.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-tapset-itrace.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-tapset-utrace.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-task_finder.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-dwflpp.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ stap-rpm_finder.$(OBJEXT) \ +@BUILD_TRANSLATOR_TRUE@ $(am__objects_1) stap_OBJECTS = $(am_stap_OBJECTS) stap_LINK = $(CXXLD) $(stap_CXXFLAGS) $(CXXFLAGS) $(stap_LDFLAGS) \ $(LDFLAGS) -o $@ -@BUILD_SERVER_TRUE@am_stap_client_connect_OBJECTS = stap_client_connect-stap-client-connect.$(OBJEXT) +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@am_stap_client_connect_OBJECTS = stap_client_connect-stap-client-connect.$(OBJEXT) stap_client_connect_OBJECTS = $(am_stap_client_connect_OBJECTS) stap_client_connect_DEPENDENCIES = stap_client_connect_LINK = $(CCLD) $(stap_client_connect_CFLAGS) \ $(CFLAGS) $(stap_client_connect_LDFLAGS) $(LDFLAGS) -o $@ -@BUILD_SERVER_TRUE@am_stap_server_connect_OBJECTS = stap_server_connect-stap-server-connect.$(OBJEXT) +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@am_stap_server_connect_OBJECTS = stap_server_connect-stap-server-connect.$(OBJEXT) stap_server_connect_OBJECTS = $(am_stap_server_connect_OBJECTS) stap_server_connect_DEPENDENCIES = stap_server_connect_LINK = $(CCLD) $(stap_server_connect_CFLAGS) \ @@ -322,25 +342,30 @@ pkglibexecdir = ${libexecdir}/${PACKAGE} AM_CPPFLAGS = -DBINDIR='"$(bindir)"' -DSYSCONFDIR='"$(sysconfdir)"' -DPKGDATADIR='"${pkgdatadir}"' -DPKGLIBDIR='"$(pkglibexecdir)"' AM_CFLAGS = -D_GNU_SOURCE -fexceptions -Wall -Werror -Wunused -Wformat=2 -W AM_CXXFLAGS = -Wall -Werror -man_MANS = stap.1 stapprobes.3stap stapfuncs.3stap stapvars.3stap \ +man_MANS = stapprobes.3stap stapfuncs.3stap stapvars.3stap \ stapex.3stap staprun.8 man/stapprobes.iosched.3stap \ man/stapprobes.netdev.3stap man/stapprobes.nfs.3stap \ man/stapprobes.nfsd.3stap man/stapprobes.pagefault.3stap \ man/stapprobes.kprocess.3stap man/stapprobes.rpc.3stap \ man/stapprobes.scsi.3stap man/stapprobes.signal.3stap \ man/stapprobes.socket.3stap man/stapprobes.tcp.3stap \ - man/stapprobes.udp.3stap $(am__append_1) + man/stapprobes.udp.3stap $(am__append_2) $(am__append_4) bin_SCRIPTS = stap-report stap-env stap-gen-cert stap-authorize-cert \ - stap-authorize-signing-cert $(am__append_3) dtrace + stap-authorize-signing-cert $(am__append_3) $(am__append_6) oldinclude_HEADERS = includes/sys/sdt.h -stap_SOURCES = main.cxx parse.cxx staptree.cxx elaborate.cxx \ - translate.cxx tapsets.cxx buildrun.cxx loc2c.c hash.cxx \ - mdfour.c cache.cxx util.cxx coveragedb.cxx dwarf_wrappers.cxx \ - tapset-been.cxx tapset-procfs.cxx tapset-timers.cxx \ - tapset-perfmon.cxx tapset-mark.cxx tapset-itrace.cxx \ - tapset-utrace.cxx task_finder.cxx dwflpp.cxx rpm_finder.cxx \ - $(am__append_4) -stap_LDADD = @stap_LIBS@ @sqlite3_LIBS@ @rpm_LIBS@ $(am__append_6) +@BUILD_TRANSLATOR_TRUE@stap_SOURCES = main.cxx parse.cxx staptree.cxx \ +@BUILD_TRANSLATOR_TRUE@ elaborate.cxx translate.cxx tapsets.cxx \ +@BUILD_TRANSLATOR_TRUE@ buildrun.cxx loc2c.c hash.cxx mdfour.c \ +@BUILD_TRANSLATOR_TRUE@ cache.cxx util.cxx coveragedb.cxx \ +@BUILD_TRANSLATOR_TRUE@ dwarf_wrappers.cxx tapset-been.cxx \ +@BUILD_TRANSLATOR_TRUE@ tapset-procfs.cxx tapset-timers.cxx \ +@BUILD_TRANSLATOR_TRUE@ tapset-perfmon.cxx tapset-mark.cxx \ +@BUILD_TRANSLATOR_TRUE@ tapset-itrace.cxx tapset-utrace.cxx \ +@BUILD_TRANSLATOR_TRUE@ task_finder.cxx dwflpp.cxx \ +@BUILD_TRANSLATOR_TRUE@ rpm_finder.cxx $(am__append_7) +@BUILD_TRANSLATOR_TRUE@stap_LDADD = @stap_LIBS@ @sqlite3_LIBS@ \ +@BUILD_TRANSLATOR_TRUE@ @rpm_LIBS@ $(am__append_9) +@BUILD_TRANSLATOR_TRUE@stap_DEPENDENCIES = $(am__append_14) # Arrange for git_version.h to be regenerated at every "make". # Code fragment is based upon RadeonHD.am. @@ -350,26 +375,27 @@ stap_LDADD = @stap_LIBS@ @sqlite3_LIBS@ @rpm_LIBS@ $(am__append_6) # of foo-bar.c if it is newer than the foo-bar.o file. Using noinst_foo_SOURCES # instead of foo_SOURCES prevents shipping git_version.h in dist tarballs, # which may cause false GIT_FOO readings. -BUILT_SOURCES = git_version.stamp $(am__append_9) -CLEANFILES = git_version.h $(am__append_10) $(pkglibexec_PROGRAMS) -stap_DEPENDENCIES = $(am__append_11) +BUILT_SOURCES = git_version.stamp $(am__append_12) +CLEANFILES = git_version.h $(am__append_13) $(pkglibexec_PROGRAMS) GIT_VERSION_CMD = $(SHELL) $(top_srcdir)/git_version.sh -stap_CFLAGS = $(AM_CFLAGS) @PIECFLAGS@ -stap_CXXFLAGS = $(AM_CXXFLAGS) @PIECXXFLAGS@ -stap_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_5) $(am__append_7) -stap_LDFLAGS = $(AM_LDFLAGS) @PIELDFLAGS@ $(am__append_8) -@HAVE_NSS_TRUE@stap_client_connect_LDFLAGS = $(AM_LDFLAGS) -@HAVE_NSS_TRUE@stap_server_connect_LDFLAGS = $(AM_LDFLAGS) -PHONIES = $(am__append_12) $(am__append_13) dist-gzip +PHONIES = $(am__append_15) $(am__append_16) dist-gzip +@BUILD_TRANSLATOR_TRUE@stap_CFLAGS = $(AM_CFLAGS) @PIECFLAGS@ +@BUILD_TRANSLATOR_TRUE@stap_CXXFLAGS = $(AM_CXXFLAGS) @PIECXXFLAGS@ +@BUILD_TRANSLATOR_TRUE@stap_CPPFLAGS = $(AM_CPPFLAGS) $(am__append_8) \ +@BUILD_TRANSLATOR_TRUE@ $(am__append_10) +@BUILD_TRANSLATOR_TRUE@stap_LDFLAGS = $(AM_LDFLAGS) @PIELDFLAGS@ \ +@BUILD_TRANSLATOR_TRUE@ $(am__append_11) +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@stap_client_connect_LDFLAGS = $(AM_LDFLAGS) +@BUILD_TRANSLATOR_TRUE@@HAVE_NSS_TRUE@stap_server_connect_LDFLAGS = $(AM_LDFLAGS) staprun_SOURCES = runtime/staprun/staprun.c \ runtime/staprun/staprun_funcs.c runtime/staprun/ctl.c \ - runtime/staprun/common.c $(am__append_14) + runtime/staprun/common.c $(am__append_17) staprun_CPPFLAGS = $(AM_CPPFLAGS) staprun_CFLAGS = @PROCFLAGS@ $(AM_CFLAGS) @PIECFLAGS@ \ -DSINGLE_THREADED -fno-strict-aliasing -fno-builtin-strftime \ - $(am__append_15) + $(am__append_18) staprun_LDFLAGS = $(AM_LDFLAGS) @PIELDFLAGS@ -staprun_LDADD = @PROCFLAGS@ $(am__append_16) +staprun_LDADD = @PROCFLAGS@ $(am__append_19) stapio_SOURCES = runtime/staprun/stapio.c \ runtime/staprun/mainloop.c runtime/staprun/common.c \ runtime/staprun/ctl.c \ @@ -378,17 +404,17 @@ stapio_SOURCES = runtime/staprun/stapio.c \ stapio_CFLAGS = @PROCFLAGS@ $(AM_CFLAGS) @PIECFLAGS@ -fno-strict-aliasing -fno-builtin-strftime stapio_LDFLAGS = $(AM_LDFLAGS) @PIELDFLAGS@ stapio_LDADD = @PROCFLAGS@ -lpthread -@BUILD_SERVER_TRUE@stap_client_connect_SOURCES = stap-client-connect.c -@BUILD_SERVER_TRUE@stap_client_connect_CFLAGS = -Wall -Werror $(nss_CFLAGS) $(nspr_CFLAGS) -@BUILD_SERVER_TRUE@stap_client_connect_LDADD = -lssl3 -@BUILD_SERVER_TRUE@stap_server_connect_SOURCES = stap-server-connect.c -@BUILD_SERVER_TRUE@stap_server_connect_CFLAGS = -Wall -Werror $(nss_CFLAGS) $(nspr_CFLAGS) -@BUILD_SERVER_TRUE@stap_server_connect_LDADD = -lssl3 -loc2c_test_SOURCES = loc2c-test.c loc2c.c -loc2c_test_CFLAGS = $(stap_CFLAGS) -loc2c_test_CPPFLAGS = $(stap_CPPFLAGS) -loc2c_test_LDFLAGS = $(stap_LDFLAGS) -loc2c_test_LDADD = $(stap_LDADD) +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@stap_client_connect_SOURCES = stap-client-connect.c +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@stap_client_connect_CFLAGS = -Wall -Werror $(nss_CFLAGS) $(nspr_CFLAGS) +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@stap_client_connect_LDADD = -lssl3 +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@stap_server_connect_SOURCES = stap-server-connect.c +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@stap_server_connect_CFLAGS = -Wall -Werror $(nss_CFLAGS) $(nspr_CFLAGS) +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@stap_server_connect_LDADD = -lssl3 +@BUILD_TRANSLATOR_TRUE@loc2c_test_SOURCES = loc2c-test.c loc2c.c +@BUILD_TRANSLATOR_TRUE@loc2c_test_CFLAGS = $(stap_CFLAGS) +@BUILD_TRANSLATOR_TRUE@loc2c_test_CPPFLAGS = $(stap_CPPFLAGS) +@BUILD_TRANSLATOR_TRUE@loc2c_test_LDFLAGS = $(stap_LDFLAGS) +@BUILD_TRANSLATOR_TRUE@loc2c_test_LDADD = $(stap_LDADD) # crash(8) extension @BUILD_CRASHMOD_TRUE@STAPLOG = staplog.so @@ -1267,8 +1293,8 @@ install-man1: $(man1_MANS) $(man_MANS) esac; \ done; \ for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ + if test -f $$i; then file=$$i; \ + else file=$(srcdir)/$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 1*) ;; \ @@ -1312,8 +1338,8 @@ install-man3: $(man3_MANS) $(man_MANS) esac; \ done; \ for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ + if test -f $$i; then file=$$i; \ + else file=$(srcdir)/$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 3*) ;; \ @@ -1357,8 +1383,8 @@ install-man8: $(man8_MANS) $(man_MANS) esac; \ done; \ for i in $$list; do \ - if test -f $(srcdir)/$$i; then file=$(srcdir)/$$i; \ - else file=$$i; fi; \ + if test -f $$i; then file=$$i; \ + else file=$(srcdir)/$$i; fi; \ ext=`echo $$i | sed -e 's/^.*\\.//'`; \ case "$$ext" in \ 8*) ;; \ @@ -1484,7 +1510,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS @@ -1575,6 +1601,7 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) @BUILD_CRASHMOD_FALSE@@BUILD_ELFUTILS_FALSE@@BUILD_SERVER_FALSE@install-exec-local: +@BUILD_CRASHMOD_FALSE@@BUILD_TRANSLATOR_FALSE@install-exec-local: clean: clean-recursive clean-am: clean-binPROGRAMS clean-generic clean-local \ @@ -1693,26 +1720,26 @@ cscope: cd $(srcdir) && \ (echo -q ; git ls-files '*.cxx' '*.c' '*.h' | grep -v '^testsuite' ) > cscope.files && \ cscope -b -q -@BUILD_ELFUTILS_TRUE@stamp-elfutils: config.status -@BUILD_ELFUTILS_TRUE@ $(MAKE) $(AM_MAKEFLAGS) -C build-elfutils all bin_PROGRAMS= -@BUILD_ELFUTILS_TRUE@ for dir in libelf libebl libdw libdwfl backends; do \ -@BUILD_ELFUTILS_TRUE@ $(MAKE) $(AM_MAKEFLAGS) -C build-elfutils/$$dir bin_PROGRAMS= install; \ -@BUILD_ELFUTILS_TRUE@ done -@BUILD_ELFUTILS_TRUE@ touch $@ -@BUILD_ELFUTILS_TRUE@lib-elfutils/libdw.so: stamp-elfutils ; -@BUILD_ELFUTILS_TRUE@install-elfutils: -@BUILD_ELFUTILS_TRUE@ mkdir -p $(DESTDIR)$(pkglibdir) -@BUILD_ELFUTILS_TRUE@ for file in lib-elfutils/*.so* lib-elfutils/${PACKAGE_NAME}/*.so*; do \ -@BUILD_ELFUTILS_TRUE@ $(INSTALL_PROGRAM) $$file $(DESTDIR)$(pkglibdir); \ -@BUILD_ELFUTILS_TRUE@ done -@BUILD_ELFUTILS_TRUE@install-exec-local: install-elfutils - -@BUILD_SERVER_TRUE@install-exec-local: install-scripts +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@stamp-elfutils: config.status +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ $(MAKE) $(AM_MAKEFLAGS) -C build-elfutils all bin_PROGRAMS= +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ for dir in libelf libebl libdw libdwfl backends; do \ +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ $(MAKE) $(AM_MAKEFLAGS) -C build-elfutils/$$dir bin_PROGRAMS= install; \ +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ done +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ touch $@ +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@lib-elfutils/libdw.so: stamp-elfutils ; +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@install-elfutils: +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ mkdir -p $(DESTDIR)$(pkglibdir) +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ for file in lib-elfutils/*.so* lib-elfutils/${PACKAGE_NAME}/*.so*; do \ +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ $(INSTALL_PROGRAM) $$file $(DESTDIR)$(pkglibdir); \ +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@ done +@BUILD_ELFUTILS_TRUE@@BUILD_TRANSLATOR_TRUE@install-exec-local: install-elfutils + +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@install-exec-local: install-scripts # scripts should be installed before this rule is run -@BUILD_SERVER_TRUE@install-scripts: install-binSCRIPTS -@BUILD_SERVER_TRUE@ for f in $(bin_SCRIPTS); do \ -@BUILD_SERVER_TRUE@ sed -i -e "/INSTALL-HOOK/d;s,exec_prefix=.*,exec_prefix=$(exec_prefix)/bin/,;s,sysconfdir=.*,sysconfdir=$(sysconfdir)," $(DESTDIR)$(bindir)/$$f; \ -@BUILD_SERVER_TRUE@ done +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@install-scripts: install-binSCRIPTS +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@ for f in $(bin_SCRIPTS); do \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@ sed -i -e "/INSTALL-HOOK/d;s,exec_prefix=.*,exec_prefix=$(exec_prefix)/bin/,;s,sysconfdir=.*,sysconfdir=$(sysconfdir)," $(DESTDIR)$(bindir)/$$f; \ +@BUILD_SERVER_TRUE@@BUILD_TRANSLATOR_TRUE@ done install-exec-hook: if [ `id -u` -eq 0 ]; then chmod 04111 "$(DESTDIR)$(bindir)/staprun"; fi diff --git a/aclocal.m4 b/aclocal.m4 index e726a5cc..696dba2c 100644 --- a/aclocal.m4 +++ b/aclocal.m4 @@ -1,4 +1,4 @@ -# generated automatically by aclocal 1.10.1 -*- Autoconf -*- +# generated automatically by aclocal 1.10.2 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008 Free Software Foundation, Inc. @@ -13,7 +13,7 @@ m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -m4_if(AC_AUTOCONF_VERSION, [2.63],, +m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.63],, [m4_warning([this file was generated for autoconf 2.63. You have another version of autoconf. It may work, but is not guaranteed to. If you have problems, you may need to regenerate the build system entirely. @@ -175,7 +175,7 @@ else fi[]dnl ])# PKG_CHECK_MODULES -# Copyright (C) 2002, 2003, 2005, 2006, 2007 Free Software Foundation, Inc. +# Copyright (C) 2002, 2003, 2005, 2006, 2007, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, @@ -190,7 +190,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version='1.10' dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl require some minimum version. Point them to the right macro. -m4_if([$1], [1.10.1], [], +m4_if([$1], [1.10.2], [], [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl ]) @@ -204,12 +204,12 @@ m4_define([_AM_AUTOCONF_VERSION], []) # AM_SET_CURRENT_AUTOMAKE_VERSION # ------------------------------- # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. -# This function is AC_REQUIREd by AC_INIT_AUTOMAKE. +# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], -[AM_AUTOMAKE_VERSION([1.10.1])dnl +[AM_AUTOMAKE_VERSION([1.10.2])dnl m4_ifndef([AC_AUTOCONF_VERSION], [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl -_AM_AUTOCONF_VERSION(AC_AUTOCONF_VERSION)]) +_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) # AM_AUX_DIR_EXPAND -*- Autoconf -*- @@ -482,19 +482,28 @@ _AM_SUBST_NOTMAKE([AMDEPBACKSLASH])dnl # Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -#serial 3 +#serial 4 # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], -[for mf in $CONFIG_FILES; do +[# Autoconf 2.62 quotes --file arguments for eval, but not when files +# are listed without --file. Let's play safe and only enable the eval +# if we detect the quoting. +case $CONFIG_FILES in +*\'*) eval set x "$CONFIG_FILES" ;; +*) set x $CONFIG_FILES ;; +esac +shift +for mf +do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. @@ -791,14 +800,14 @@ AC_MSG_RESULT([$_am_result]) rm -f confinc confmf ]) -# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005 +# Copyright (C) 1999, 2000, 2001, 2003, 2004, 2005, 2008 # Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 5 +# serial 6 # AM_PROG_CC_C_O # -------------- @@ -810,8 +819,9 @@ AC_REQUIRE_AUX_FILE([compile])dnl # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC -ac_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` -if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then +am_cc=`echo $[2] | sed ['s/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/']` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. @@ -889,13 +899,13 @@ esac # Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005, 2008 Free Software Foundation, Inc. # # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. -# serial 3 +# serial 4 # _AM_MANGLE_OPTION(NAME) # ----------------------- @@ -912,7 +922,7 @@ AC_DEFUN([_AM_SET_OPTION], # ---------------------------------- # OPTIONS is a space-separated list of Automake options. AC_DEFUN([_AM_SET_OPTIONS], -[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) +[m4_foreach_w([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])]) # _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET]) # ------------------------------------------- diff --git a/config.in b/config.in index 7369cf53..217d2c94 100644 --- a/config.in +++ b/config.in @@ -3,6 +3,9 @@ /* Configuration/build date */ #undef DATE +/* librpm version specific library name to dlopen. */ +#undef DLOPEN_LIBRPM + /* make -P prologue-searching default */ #undef ENABLE_PROLOGUES @@ -21,6 +24,9 @@ /* Define to 1 if you have the `pfm' library (-lpfm). */ #undef HAVE_LIBPFM +/* Define if librpm library is being used. */ +#undef HAVE_LIBRPM + /* Define to 1 if you have the `sqlite3' library (-lsqlite3). */ #undef HAVE_LIBSQLITE3 @@ -89,9 +95,3 @@ /* Define like PROTOTYPES; this can be used by system headers. */ #undef __PROTOTYPES - -/* librpm version specific library name to dlopen. */ -#undef DLOPEN_LIBRPM - -/* Define if librpm library is being used. */ -#undef HAVE_LIBRPM diff --git a/configure b/configure index 8703acb5..8a2c7593 100755 --- a/configure +++ b/configure @@ -676,6 +676,8 @@ have_latex BUILD_CRASHMOD_FALSE BUILD_CRASHMOD_TRUE staplog_CPPFLAGS +BUILD_TRANSLATOR_FALSE +BUILD_TRANSLATOR_TRUE sqlite3_LIBS PIECXXFLAGS PIECFLAGS @@ -782,6 +784,7 @@ enable_prologues enable_ssp enable_pie enable_sqlite +enable_translator enable_crash enable_docs enable_refdocs @@ -1447,6 +1450,7 @@ Optional Features: --disable-ssp disable gcc stack-protector --enable-pie enable position-independent-executable --enable-sqlite build with sqlite support + --disable-translator build only runtime utilities --enable-crash[=DIRECTORY] enable crash extension (default is disabled). Optional DIRECTORY is the path to the crash header @@ -5203,8 +5207,9 @@ fi # FIXME: we rely on the cache variable name because # there is no other way. set dummy $CC -ac_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` -if eval "test \"`echo '$ac_cv_prog_cc_'${ac_cc}_c_o`\" != yes"; then +am_cc=`echo $2 | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` +eval am_t=\$ac_cv_prog_cc_${am_cc}_c_o +if test "$am_t" != yes; then # Losing compiler, so override with the script. # FIXME: It is wrong to rewrite CC. # But if we don't then we get into trouble of one sort or another. @@ -6345,6 +6350,22 @@ fi fi +# Check whether --enable-translator was given. +if test "${enable_translator+set}" = set; then + enableval=$enable_translator; +else + enable_translator="yes" +fi + + if test "$enable_translator" == "yes"; then + BUILD_TRANSLATOR_TRUE= + BUILD_TRANSLATOR_FALSE='#' +else + BUILD_TRANSLATOR_TRUE='#' + BUILD_TRANSLATOR_FALSE= +fi + + # Check whether --enable-crash was given. if test "${enable_crash+set}" = set; then enableval=$enable_crash; if test "$enable_crash" != "no"; then @@ -8839,8 +8860,10 @@ ac_config_files="$ac_config_files Makefile doc/Makefile doc/SystemTap_Tapset_Ref subdirs="$subdirs testsuite" -ac_config_files="$ac_config_files run-stap" +if test $enable_translator == "yes"; then + ac_config_files="$ac_config_files run-stap" +fi ac_config_files="$ac_config_files run-staprun" cat >confcache <<\_ACEOF @@ -8975,6 +8998,13 @@ $as_echo "$as_me: error: conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." >&2;} { (exit 1); exit 1; }; } fi +if test -z "${BUILD_TRANSLATOR_TRUE}" && test -z "${BUILD_TRANSLATOR_FALSE}"; then + { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_TRANSLATOR\" was never defined. +Usually this means the macro was only invoked conditionally." >&5 +$as_echo "$as_me: error: conditional \"BUILD_TRANSLATOR\" was never defined. +Usually this means the macro was only invoked conditionally." >&2;} + { (exit 1); exit 1; }; } +fi if test -z "${BUILD_CRASHMOD_TRUE}" && test -z "${BUILD_CRASHMOD_FALSE}"; then { { $as_echo "$as_me:$LINENO: error: conditional \"BUILD_CRASHMOD\" was never defined. Usually this means the macro was only invoked conditionally." >&5 @@ -10221,7 +10251,16 @@ $as_echo "$as_me: executing $ac_file commands" >&6;} case $ac_file$ac_mode in - "depfiles":C) test x"$AMDEP_TRUE" != x"" || for mf in $CONFIG_FILES; do + "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files +# are listed without --file. Let's play safe and only enable the eval +# if we detect the quoting. +case $CONFIG_FILES in +*\'*) eval set x "$CONFIG_FILES" ;; +*) set x $CONFIG_FILES ;; +esac +shift +for mf +do # Strip MF so we end up with the name of the file. mf=`echo "$mf" | sed -e 's/:.*$//'` # Check whether this is an Automake generated Makefile or not. diff --git a/configure.ac b/configure.ac index 83345959..403dfab2 100644 --- a/configure.ac +++ b/configure.ac @@ -130,6 +130,13 @@ AS_IF([test "x$enable_sqlite" != xno], AC_MSG_FAILURE([--enable-sqlite was given, but test for sqlite failed]) fi])]) +dnl Handle the option to only build runtime +AC_ARG_ENABLE([translator], + AS_HELP_STRING([--disable-translator], [build only runtime utilities]), + [], + [enable_translator="yes"]) +AM_CONDITIONAL([BUILD_TRANSLATOR], [test "$enable_translator" == "yes"]) + dnl Handle the option to build the crash extension AC_ARG_ENABLE([crash], AS_HELP_STRING([--enable-crash@<:@=DIRECTORY@:>@], @@ -575,7 +582,9 @@ AC_DEFINE_UNQUOTED(STAP_PREFIX, "$prefix", [configure prefix location]) AC_CONFIG_HEADERS([config.h:config.in]) AC_CONFIG_FILES(Makefile doc/Makefile doc/SystemTap_Tapset_Reference/Makefile grapher/Makefile stap.1 stapprobes.3stap stapfuncs.3stap stapvars.3stap stapex.3stap staprun.8 stap-server.8 man/stapprobes.iosched.3stap man/stapprobes.netdev.3stap man/stapprobes.nfs.3stap man/stapprobes.nfsd.3stap man/stapprobes.pagefault.3stap man/stapprobes.kprocess.3stap man/stapprobes.rpc.3stap man/stapprobes.scsi.3stap man/stapprobes.signal.3stap man/stapprobes.socket.3stap man/stapprobes.tcp.3stap man/stapprobes.udp.3stap initscript/systemtap) AC_CONFIG_SUBDIRS(testsuite) -AC_CONFIG_FILES([run-stap], [chmod +x run-stap]) +if test $enable_translator == "yes"; then + AC_CONFIG_FILES([run-stap], [chmod +x run-stap]) +fi AC_CONFIG_FILES([run-staprun], [chmod +x run-staprun]) AC_OUTPUT diff --git a/doc/Makefile.in b/doc/Makefile.in index 728352a0..f7d902a7 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -185,8 +185,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -286,7 +286,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/doc/SystemTap_Tapset_Reference/Makefile.in b/doc/SystemTap_Tapset_Reference/Makefile.in index a58bbc73..82217f3a 100644 --- a/doc/SystemTap_Tapset_Reference/Makefile.in +++ b/doc/SystemTap_Tapset_Reference/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -190,8 +190,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -249,7 +249,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS diff --git a/grapher/Makefile.in b/grapher/Makefile.in index af2fecb5..88caeda1 100644 --- a/grapher/Makefile.in +++ b/grapher/Makefile.in @@ -1,4 +1,4 @@ -# Makefile.in generated by automake 1.10.1 from Makefile.am. +# Makefile.in generated by automake 1.10.2 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, @@ -194,8 +194,8 @@ $(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__confi @for dep in $?; do \ case '$(am__configure_deps)' in \ *$$dep*) \ - cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \ - && exit 0; \ + ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \ + && { if test -f $@; then exit 0; else break; fi; }; \ exit 1;; \ esac; \ done; \ @@ -317,7 +317,7 @@ ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | \ - $(AWK) '{ files[$$0] = 1; nonemtpy = 1; } \ + $(AWK) '{ files[$$0] = 1; nonempty = 1; } \ END { if (nonempty) { for (i in files) print i; }; }'`; \ mkid -fID $$unique tags: TAGS -- cgit From b7f6cfc54e1d6db1d9475ac9cbeeb8ac0b7dada0 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Sat, 6 Jun 2009 12:29:51 -0400 Subject: ttyspy.stp: new sample script --- testsuite/systemtap.examples/index.html | 3 ++ testsuite/systemtap.examples/index.txt | 8 +++++ testsuite/systemtap.examples/io/ttyspy.meta | 6 ++++ testsuite/systemtap.examples/io/ttyspy.stp | 46 +++++++++++++++++++++++++ testsuite/systemtap.examples/keyword-index.html | 20 ++++++++++- testsuite/systemtap.examples/keyword-index.txt | 36 +++++++++++++++++++ 6 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 testsuite/systemtap.examples/io/ttyspy.meta create mode 100755 testsuite/systemtap.examples/io/ttyspy.stp diff --git a/testsuite/systemtap.examples/index.html b/testsuite/systemtap.examples/index.html index e5673138..b2ed3a3a 100644 --- a/testsuite/systemtap.examples/index.html +++ b/testsuite/systemtap.examples/index.html @@ -82,6 +82,9 @@ keywords: IO
  • io/traceio2.stp - Watch I/O Activity on a Particular Device
    keywords: IO

    Print out the executable name and process number as reads and writes to the specified device occur.

  • +
  • io/ttyspy.stp - Monitor tty typing.
    +keywords: IO TTY PER-PROCESS MONITOR
    +

    The ttyspy.stp script uses tty_audit hooks to monitor recent typing activity on the system, printing a scrolling record of recent keystrokes, on a per-tty basis.

  • memory/kmalloc-top - Show Paths to Kernel Malloc (kmalloc) Invocations
    keywords: MEMORY

    The kmalloc-top perl program runs a small systemtap script to collect stack traces for each call to the kmalloc function and counts the time that each stack trace is observed. When kmalloc-top exits it prints out sorted list. The output can be be filtered to print only only the first stack traces (-t) stack traces with more a minimum counts (-m), or exclude certain stack traces (-e).

  • diff --git a/testsuite/systemtap.examples/index.txt b/testsuite/systemtap.examples/index.txt index 4eef904c..91fc66ae 100644 --- a/testsuite/systemtap.examples/index.txt +++ b/testsuite/systemtap.examples/index.txt @@ -129,6 +129,14 @@ keywords: io to the specified device occur. +io/ttyspy.stp - Monitor tty typing. +keywords: io tty per-process monitor + + The ttyspy.stp script uses tty_audit hooks to monitor recent typing + activity on the system, printing a scrolling record of recent + keystrokes, on a per-tty basis. + + memory/kmalloc-top - Show Paths to Kernel Malloc (kmalloc) Invocations keywords: memory diff --git a/testsuite/systemtap.examples/io/ttyspy.meta b/testsuite/systemtap.examples/io/ttyspy.meta new file mode 100644 index 00000000..e29add1b --- /dev/null +++ b/testsuite/systemtap.examples/io/ttyspy.meta @@ -0,0 +1,6 @@ +title: Monitor tty typing. +name: ttyspy.stp +keywords: io tty per-process monitor +description: The ttyspy.stp script uses tty_audit hooks to monitor recent typing activity on the system, printing a scrolling record of recent keystrokes, on a per-tty basis. +test_check: stap -gp4 ttyspy.stp +test_installcheck: stap --skip-badvars -g ttyspy.stp -c "sleep 7" diff --git a/testsuite/systemtap.examples/io/ttyspy.stp b/testsuite/systemtap.examples/io/ttyspy.stp new file mode 100755 index 00000000..c186e0e3 --- /dev/null +++ b/testsuite/systemtap.examples/io/ttyspy.stp @@ -0,0 +1,46 @@ +#! /usr/bin/stap -g +# May also need --skip-badvars + +global activity_time, activity_log + +/* Concatenate head and tail, to a max of @num chars, preferring to keep the tail + (as if it were a recent history buffer). */ +function strcattail:string(head:string,tail:string,num:long) %{ + unsigned taillen = strlen(THIS->tail); + unsigned headlen = strlen(THIS->head); + unsigned maxlen = THIS->num < MAXSTRINGLEN ? THIS->num : MAXSTRINGLEN; + unsigned headkeep = min(maxlen-taillen,headlen); + unsigned headdrop = headlen-headkeep; + + if (headkeep) + strlcpy (THIS->__retvalue, &THIS->head[headdrop], headkeep+1); /* includes \0 */ + strlcat (THIS->__retvalue, THIS->tail, maxlen); +%} + +probe kernel.function("tty_audit_add_data") { + major=$tty->driver->major; + minor=$tty->driver->minor_start + $tty->index; + pgrp=$tty->pgrp %( kernel_v > "2.6.24" %? ->numbers[0]->nr %: %); + data=kernel_string_n($data,$size); + uid=uid() + + activity_time[major,minor,pgrp,uid] = gettimeofday_s(); + activity_log[major,minor,pgrp,uid] + = strcattail(activity_log[major,minor,pgrp,uid],data,40); +} + +probe timer.s(3) { + ansi_clear_screen () + printf("(%3s,%2s,%5s,%5s)\n", "maj","min","pgrp","uid"); + foreach ([x,y,z,u] in activity_time-) { + printf("(%3d,%3d,%5d,%5d) %s\n", x,y,z,u, + text_str(activity_log[x,y,z,u])) + } + + /* delete last record, if older than 60 seconds */ + if (activity_time[x,y,z,u]+60 < gettimeofday_s()) { + delete activity_time[x,y,z,u] + delete activity_log[x,y,z,u] + } +} + diff --git a/testsuite/systemtap.examples/keyword-index.html b/testsuite/systemtap.examples/keyword-index.html index b7f52246..7306c164 100644 --- a/testsuite/systemtap.examples/keyword-index.html +++ b/testsuite/systemtap.examples/keyword-index.html @@ -39,7 +39,7 @@

    Examples by Keyword

    -

    BACKTRACE BUFFER CALLGRAPH CPU DISK FORMAT FREE FUNCTIONS FUTEX GRAPH INTERRUPT IO LOCKING MEMORY NETWORK PER-PROCESS PROCESS PROFILING READ SCHEDULER SIGNALS SIMPLE SLEEP SOCKET SYSCALL TCP TIME TRACE TRACEPOINT TRAFFIC USE WAIT4 WRITE

    +

    BACKTRACE BUFFER CALLGRAPH CPU DISK FORMAT FREE FUNCTIONS FUTEX GRAPH INTERRUPT IO LOCKING MEMORY MONITOR NETWORK PER-PROCESS PROCESS PROFILING READ SCHEDULER SIGNALS SIMPLE SLEEP SOCKET SYSCALL TCP TIME TRACE TRACEPOINT TRAFFIC TTY USE WAIT4 WRITE

    BACKTRACE

    +

    MONITOR

    +

    NETWORK