summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--AUTHORS4
-rw-r--r--ChangeLog9
-rw-r--r--Makefile.am8
-rw-r--r--Makefile.in128
-rw-r--r--buildrun.cxx28
-rw-r--r--config.in3
-rwxr-xr-xconfigure16
-rw-r--r--configure.ac9
-rw-r--r--main.cxx2
9 files changed, 177 insertions, 30 deletions
diff --git a/AUTHORS b/AUTHORS
index 2310e573..dc0a401c 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,3 +1,7 @@
+./
Frank Ch. Eigler <fche@redhat.com>
Graydon Hoare <graydon@redhat.com>
+../runtime
+Martin Hunt <hunt@redhat.com>
+Tom Zanussi <zanussi@us.ibm.com>
diff --git a/ChangeLog b/ChangeLog
index 646003b0..e44d5dbb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2005-07-12 Frank Ch. Eigler <fche@redhat.com>
+
+ * buildrun.cxx (compile_pass): Make non-verbose mode quieter.
+ (run_pass): Spawn stpd for dirty work.
+ * Makefile.am: Also build stpd into libexecdir.
+ * configure.ac: Pass LIBEXECDIR.
+ * Makefile.in, configure, config.in: Regenerated.
+ * AUTHORS: Update.
+
2005-07-11 Graydon Hoare <graydon@redhat.com>
* staptree.cxx (require): Generally handle null pointers in src.
diff --git a/Makefile.am b/Makefile.am
index cc61811b..825aca21 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,11 +3,15 @@
AM_MAKEFLAGS = 'CXXFLAGS=$(CXXFLAGS)' 'LDFLAGS=$(LDFLAGS)'
-bin_PROGRAMS =
-noinst_PROGRAMS = stap
+bin_PROGRAMS = stap
stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
tapsets.cxx buildrun.cxx
+
+libexec_PROGRAMS = stpd
+stpd_SOURCES = runtime/stpd/stpd.c runtime/stpd/librelay.c
+stpd_LDADD = -lpthread
+
AM_CXXFLAGS = -Wall
# Get extra libs as needed
diff --git a/Makefile.in b/Makefile.in
index b00e4297..9b7421ac 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -16,7 +16,7 @@
# Makefile.am --- automake input file for systemtap
-SOURCES = $(stap_SOURCES)
+SOURCES = $(stap_SOURCES) $(stpd_SOURCES)
srcdir = @srcdir@
top_srcdir = @top_srcdir@
@@ -38,8 +38,8 @@ POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
-bin_PROGRAMS =
-noinst_PROGRAMS = stap$(EXEEXT)
+bin_PROGRAMS = stap$(EXEEXT)
+libexec_PROGRAMS = stpd$(EXEEXT)
subdir = .
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/config.in \
@@ -54,25 +54,33 @@ am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = config.h
CONFIG_CLEAN_FILES =
-am__installdirs = "$(DESTDIR)$(bindir)"
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
-PROGRAMS = $(bin_PROGRAMS) $(noinst_PROGRAMS)
+libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
+PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS)
am_stap_OBJECTS = main.$(OBJEXT) parse.$(OBJEXT) staptree.$(OBJEXT) \
elaborate.$(OBJEXT) translate.$(OBJEXT) tapsets.$(OBJEXT) \
buildrun.$(OBJEXT)
stap_OBJECTS = $(am_stap_OBJECTS)
stap_LDADD = $(LDADD)
stap_DEPENDENCIES =
+am_stpd_OBJECTS = stpd.$(OBJEXT) librelay.$(OBJEXT)
+stpd_OBJECTS = $(am_stpd_OBJECTS)
+stpd_DEPENDENCIES =
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
+COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
+CCLD = $(CC)
+LINK = $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(CXXLD) $(AM_CXXFLAGS) $(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) \
-o $@
-SOURCES = $(stap_SOURCES)
-DIST_SOURCES = $(stap_SOURCES)
+SOURCES = $(stap_SOURCES) $(stpd_SOURCES)
+DIST_SOURCES = $(stap_SOURCES) $(stpd_SOURCES)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
@@ -117,6 +125,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
+LIBEXECDIR = @LIBEXECDIR@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LN_S = @LN_S@
@@ -179,6 +188,8 @@ stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
tapsets.cxx buildrun.cxx
+stpd_SOURCES = runtime/stpd/stpd.c runtime/stpd/librelay.c
+stpd_LDADD = -lpthread
AM_CXXFLAGS = -Wall
# Get extra libs as needed
@@ -204,7 +215,7 @@ all: config.h
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
-.SUFFIXES: .cxx .o .obj
+.SUFFIXES: .c .cxx .o .obj
am--refresh:
@:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am $(am__configure_deps)
@@ -278,12 +289,35 @@ uninstall-binPROGRAMS:
clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)
+install-libexecPROGRAMS: $(libexec_PROGRAMS)
+ @$(NORMAL_INSTALL)
+ test -z "$(libexecdir)" || $(mkdir_p) "$(DESTDIR)$(libexecdir)"
+ @list='$(libexec_PROGRAMS)'; for p in $$list; do \
+ p1=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
+ if test -f $$p \
+ ; then \
+ f=`echo "$$p1" | sed 's,^.*/,,;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) '$$p' '$(DESTDIR)$(libexecdir)/$$f'"; \
+ $(INSTALL_PROGRAM_ENV) $(libexecPROGRAMS_INSTALL) "$$p" "$(DESTDIR)$(libexecdir)/$$f" || exit 1; \
+ else :; fi; \
+ done
+
+uninstall-libexecPROGRAMS:
+ @$(NORMAL_UNINSTALL)
+ @list='$(libexec_PROGRAMS)'; for p in $$list; do \
+ f=`echo "$$p" | sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
+ echo " rm -f '$(DESTDIR)$(libexecdir)/$$f'"; \
+ rm -f "$(DESTDIR)$(libexecdir)/$$f"; \
+ done
-clean-noinstPROGRAMS:
- -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS)
+clean-libexecPROGRAMS:
+ -test -z "$(libexec_PROGRAMS)" || rm -f $(libexec_PROGRAMS)
stap$(EXEEXT): $(stap_OBJECTS) $(stap_DEPENDENCIES)
@rm -f stap$(EXEEXT)
$(CXXLINK) $(stap_LDFLAGS) $(stap_OBJECTS) $(stap_LDADD) $(LIBS)
+stpd$(EXEEXT): $(stpd_OBJECTS) $(stpd_DEPENDENCIES)
+ @rm -f stpd$(EXEEXT)
+ $(LINK) $(stpd_LDFLAGS) $(stpd_OBJECTS) $(stpd_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
@@ -293,12 +327,56 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buildrun.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elaborate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librelay.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/staptree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stpd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tapsets.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/translate.Po@am__quote@
+.c.o:
+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c $<
+
+.c.obj:
+@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
+
+stpd.o: runtime/stpd/stpd.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stpd.o -MD -MP -MF "$(DEPDIR)/stpd.Tpo" -c -o stpd.o `test -f 'runtime/stpd/stpd.c' || echo '$(srcdir)/'`runtime/stpd/stpd.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/stpd.Tpo" "$(DEPDIR)/stpd.Po"; else rm -f "$(DEPDIR)/stpd.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/stpd/stpd.c' object='stpd.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stpd.o `test -f 'runtime/stpd/stpd.c' || echo '$(srcdir)/'`runtime/stpd/stpd.c
+
+stpd.obj: runtime/stpd/stpd.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stpd.obj -MD -MP -MF "$(DEPDIR)/stpd.Tpo" -c -o stpd.obj `if test -f 'runtime/stpd/stpd.c'; then $(CYGPATH_W) 'runtime/stpd/stpd.c'; else $(CYGPATH_W) '$(srcdir)/runtime/stpd/stpd.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/stpd.Tpo" "$(DEPDIR)/stpd.Po"; else rm -f "$(DEPDIR)/stpd.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/stpd/stpd.c' object='stpd.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stpd.obj `if test -f 'runtime/stpd/stpd.c'; then $(CYGPATH_W) 'runtime/stpd/stpd.c'; else $(CYGPATH_W) '$(srcdir)/runtime/stpd/stpd.c'; fi`
+
+librelay.o: runtime/stpd/librelay.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT librelay.o -MD -MP -MF "$(DEPDIR)/librelay.Tpo" -c -o librelay.o `test -f 'runtime/stpd/librelay.c' || echo '$(srcdir)/'`runtime/stpd/librelay.c; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/librelay.Tpo" "$(DEPDIR)/librelay.Po"; else rm -f "$(DEPDIR)/librelay.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/stpd/librelay.c' object='librelay.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o librelay.o `test -f 'runtime/stpd/librelay.c' || echo '$(srcdir)/'`runtime/stpd/librelay.c
+
+librelay.obj: runtime/stpd/librelay.c
+@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT librelay.obj -MD -MP -MF "$(DEPDIR)/librelay.Tpo" -c -o librelay.obj `if test -f 'runtime/stpd/librelay.c'; then $(CYGPATH_W) 'runtime/stpd/librelay.c'; else $(CYGPATH_W) '$(srcdir)/runtime/stpd/librelay.c'; fi`; \
+@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/librelay.Tpo" "$(DEPDIR)/librelay.Po"; else rm -f "$(DEPDIR)/librelay.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='runtime/stpd/librelay.c' object='librelay.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o librelay.obj `if test -f 'runtime/stpd/librelay.c'; then $(CYGPATH_W) 'runtime/stpd/librelay.c'; else $(CYGPATH_W) '$(srcdir)/runtime/stpd/librelay.c'; fi`
+
.cxx.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@@ -569,7 +647,7 @@ check-am: all-am
check: check-am
all-am: Makefile $(PROGRAMS) config.h
installdirs:
- for dir in "$(DESTDIR)$(bindir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-am
@@ -598,8 +676,8 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
-clean-am: clean-binPROGRAMS clean-generic clean-local \
- clean-noinstPROGRAMS mostlyclean-am
+clean-am: clean-binPROGRAMS clean-generic clean-libexecPROGRAMS \
+ clean-local mostlyclean-am
distclean: distclean-am
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
@@ -620,7 +698,7 @@ info-am:
install-data-am:
-install-exec-am: install-binPROGRAMS
+install-exec-am: install-binPROGRAMS install-libexecPROGRAMS
install-info: install-info-am
@@ -647,22 +725,24 @@ ps: ps-am
ps-am:
-uninstall-am: uninstall-binPROGRAMS uninstall-info-am
+uninstall-am: uninstall-binPROGRAMS uninstall-info-am \
+ uninstall-libexecPROGRAMS
.PHONY: CTAGS GTAGS all all-am am--refresh check check-TESTS check-am \
- clean clean-binPROGRAMS clean-generic clean-local \
- clean-noinstPROGRAMS ctags dist dist-all dist-bzip2 dist-gzip \
- dist-hook dist-shar dist-tarZ dist-zip distcheck distclean \
+ clean clean-binPROGRAMS clean-generic clean-libexecPROGRAMS \
+ clean-local ctags dist dist-all dist-bzip2 dist-gzip dist-hook \
+ dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-compile distclean-generic distclean-hdr \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-binPROGRAMS install-data install-data-am install-exec \
- install-exec-am install-info install-info-am install-man \
- install-strip installcheck installcheck-am installdirs \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
- tags uninstall uninstall-am uninstall-binPROGRAMS \
- uninstall-info-am
+ install-exec-am install-info install-info-am \
+ install-libexecPROGRAMS install-man install-strip installcheck \
+ installcheck-am installdirs maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-compile \
+ mostlyclean-generic pdf pdf-am ps ps-am tags uninstall \
+ uninstall-am uninstall-binPROGRAMS uninstall-info-am \
+ uninstall-libexecPROGRAMS
dist-hook:
find $(distdir)/testsuite -name CVS -o -name '*~' -o -name '.#*' | xargs rm -rf
diff --git a/buildrun.cxx b/buildrun.cxx
index 151c5ecd..2ec5e03c 100644
--- a/buildrun.cxx
+++ b/buildrun.cxx
@@ -10,10 +10,17 @@
#include "buildrun.h"
#include <fstream>
+#include <sstream>
+
+extern "C" {
+#include "signal.h"
+}
+
using namespace std;
+
int
compile_pass (systemtap_session& s)
{
@@ -35,8 +42,9 @@ compile_pass (systemtap_session& s)
string module_dir = string("/lib/modules/") + s.kernel_release + "/build";
string make_cmd = string("make")
+ string (" -C \"") + module_dir + string("\"");
- if (! s.verbose) make_cmd += " -s";
make_cmd += string(" M=\"") + s.tmpdir + string("\" modules");
+ if (! s.verbose)
+ make_cmd += " -s >/dev/null 2>&1";
if (s.verbose) clog << "Running " << make_cmd << endl;
int rc = system (make_cmd.c_str());
@@ -50,8 +58,24 @@ compile_pass (systemtap_session& s)
}
+
int
run_pass (systemtap_session& s)
{
- return 1;
+ if (s.test_mode)
+ return 1; // XXX: don't know how to do this yet
+ else // real run
+ {
+ // leave parent process alone
+ sighandler_t oldsig = signal (SIGINT, SIG_IGN);
+
+ // for now, just spawn stpd
+ string stpd_cmd = string("/usr/bin/sudo ") +
+ string(LIBEXECDIR) + "/stpd " + s.tmpdir + "/" + s.module_name + ".ko";
+ if (s.verbose) clog << "Running " << stpd_cmd << endl;
+ int rc = system (stpd_cmd.c_str ());
+
+ signal (SIGINT, oldsig);
+ return rc;
+ }
}
diff --git a/config.in b/config.in
index ea913bbf..caf3ecc9 100644
--- a/config.in
+++ b/config.in
@@ -48,6 +48,9 @@
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
+/* libexecdir */
+#undef LIBEXECDIR
+
/* Name of package */
#undef PACKAGE
diff --git a/configure b/configure
index db2c24d3..49eed68d 100755
--- a/configure
+++ b/configure
@@ -310,7 +310,7 @@ ac_includes_default="\
# include <unistd.h>
#endif"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP EGREP U ANSI2KNR RANLIB ac_ct_RANLIB CXXCPP DATE LIBOBJS LTLIBOBJS'
+ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar MAINTAINER_MODE_TRUE MAINTAINER_MODE_FALSE MAINT LN_S CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CPP EGREP U ANSI2KNR RANLIB ac_ct_RANLIB CXXCPP DATE LIBEXECDIR LIBOBJS LTLIBOBJS'
ac_subst_files=''
# Initialize some variables set by options.
@@ -5692,6 +5692,19 @@ _ACEOF
+
+# wha?? autoconf 2.59 does not expand these in the expected way
+# my_libexecdir=`eval echo $libexecdir`
+# my_libexecdir="$libexecdir"
+
+my_libexecdir=${prefix}/libexec
+
+cat >>confdefs.h <<_ACEOF
+#define LIBEXECDIR "$my_libexecdir"
+_ACEOF
+
+
+
ac_config_headers="$ac_config_headers config.h:config.in"
ac_config_files="$ac_config_files Makefile"
@@ -6410,6 +6423,7 @@ s,@RANLIB@,$RANLIB,;t t
s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
s,@CXXCPP@,$CXXCPP,;t t
s,@DATE@,$DATE,;t t
+s,@LIBEXECDIR@,$LIBEXECDIR,;t t
s,@LIBOBJS@,$LIBOBJS,;t t
s,@LTLIBOBJS@,$LTLIBOBJS,;t t
CEOF
diff --git a/configure.ac b/configure.ac
index ee75b2c6..07869557 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,6 +33,15 @@ date=`date +%Y-%m-%d`
AC_DEFINE_UNQUOTED(DATE, "$date", [Configuration/build date])
AC_SUBST(DATE)
+
+# wha?? autoconf 2.59 does not expand these in the expected way
+# my_libexecdir=`eval echo $libexecdir`
+# my_libexecdir="$libexecdir"
+
+my_libexecdir=${prefix}/libexec
+AC_DEFINE_UNQUOTED(LIBEXECDIR, "$my_libexecdir", [libexecdir])
+AC_SUBST(LIBEXECDIR)
+
AC_CONFIG_HEADERS([config.h:config.in])
AC_CONFIG_FILES(Makefile)
AC_OUTPUT
diff --git a/main.cxx b/main.cxx
index 5b6159c8..43a41cda 100644
--- a/main.cxx
+++ b/main.cxx
@@ -32,7 +32,7 @@ void
usage (systemtap_session& s)
{
clog
- << "SystemTap translator "
+ << "SystemTap translator/driver "
<< "(version " << VERSION << " built " << DATE << ")" << endl
<< "Copyright (C) 2005 Red Hat, Inc." << endl
<< "This is free software; see the source for copying conditions."