]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Use pkglibexec as vglibdir.
authorMark Wielaard <mark@klomp.org>
Fri, 19 Feb 2021 22:49:10 +0000 (23:49 +0100)
committerMark Wielaard <mark@klomp.org>
Sun, 28 Feb 2021 16:49:40 +0000 (17:49 +0100)
vglibdir is the directory from where valgrind loads its internal tool
executables and vgpreloads. Currently vglibdir is pkglibdir, so those
internal tools are intermingeled with normal executables and libraries
that the user might use directly.

Make vglibdir equal to pkglibexecdir so the internal tools get installed
and loaded from libexec and don't get get stored under lib.

This leaves just the static archives and the mpiwrapper libraries that
the user would link/load themselves under pkglibdir.

This seems more in line with the FHS lib/libexec standard and makes it
slightly easier to combine the tools from a multilib target (say the
memcheck-amd64-linux and memcheck-x86-linux tools) because they would
be installed under the same directory, while the pkglibdir can differ
depending on arch/target (lib/lib64).

https://bugs.kde.org/show_bug.cgi?id=433323

Makefile.all.am
Makefile.am
NEWS
coregrind/Makefile.am
mpi/Makefile.am

index 91912e02856aa7fde91f39f9a258dea53b747d7d..bcd29165daf155941ffef49a521098700fba5891 100644 (file)
@@ -50,20 +50,20 @@ inplace-noinst_DSYMS: build-noinst_DSYMS
        done
 
 # This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
-# "make install".  It copies $(noinst_PROGRAMS) into $prefix/lib/valgrind/.
+# "make install".  It copies $(noinst_PROGRAMS) into $prefix/libexec/valgrind/.
 # It needs to be depended on by an 'install-exec-local' rule.
 install-noinst_PROGRAMS: $(noinst_PROGRAMS)
-       $(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
+       $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir); \
        for f in $(noinst_PROGRAMS); do \
-         $(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibdir); \
+         $(INSTALL_PROGRAM) $$f $(DESTDIR)$(pkglibexecdir); \
        done
 
 # This is used by coregrind/Makefile.am and by <tool>/Makefile.am for doing
-# "make uninstall".  It removes $(noinst_PROGRAMS) from $prefix/lib/valgrind/.
+# "make uninstall".  It removes $(noinst_PROGRAMS) from $prefix/libexec/valgrind/.
 # It needs to be depended on by an 'uninstall-local' rule.
 uninstall-noinst_PROGRAMS:
        for f in $(noinst_PROGRAMS); do \
-         rm -f $(DESTDIR)$(pkglibdir)/$$f; \
+         rm -f $(DESTDIR)$(pkglibexecdir)/$$f; \
        done
 
 # Similar to install-noinst_PROGRAMS.
@@ -71,15 +71,15 @@ uninstall-noinst_PROGRAMS:
 # directories.  XXX: not sure whether the resulting permissions will be
 # correct when using 'cp -R'...
 install-noinst_DSYMS: build-noinst_DSYMS
-       $(mkinstalldirs) $(DESTDIR)$(pkglibdir); \
+       $(mkinstalldirs) $(DESTDIR)$(pkglibexecdir); \
        for f in $(noinst_DSYMS); do \
-         cp -R $$f.dSYM $(DESTDIR)$(pkglibdir); \
+         cp -R $$f.dSYM $(DESTDIR)$(pkglibexecdir); \
        done
 
 # Similar to uninstall-noinst_PROGRAMS.
 uninstall-noinst_DSYMS:
        for f in $(noinst_DSYMS); do \
-         rm -f $(DESTDIR)$(pkglibdir)/$$f.dSYM; \
+         rm -f $(DESTDIR)$(pkglibexecdir)/$$f.dSYM; \
        done
 
 # This needs to be depended on by a 'clean-local' rule.
index f10517edca1776b4175400918b71f20ca6d39231..f8c3fc58d70b180d0d68e68a38d3d5f45a7eb10f 100644 (file)
@@ -56,7 +56,7 @@ DEFAULT_SUPP_FILES = @DEFAULT_SUPP@
 # default.supp, as it is built from the base .supp files at compile-time.
 dist_noinst_DATA = $(SUPP_FILES)
 
-vglibdir = $(pkglibdir)
+vglibdir = $(pkglibexecdir)
 vglib_DATA = default.supp
 
 pkgconfigdir = $(libdir)/pkgconfig
diff --git a/NEWS b/NEWS
index adcb8524864d37ccf42d8210db7de254a22d0d7a..a0130678671d284ee51f3a7da93e706dc031788d 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -43,6 +43,11 @@ support for X86/macOS 10.13, AMD64/macOS 10.13 and nanoMIPS/Linux.
 
 * ==================== TOOL CHANGES ====================
 
+All the tools and their vgpreload libraries are now installed under
+libexec because they cannot be executed directly and should be run
+through the valgrind executable. This should be an internal, not user
+visible, change, but might impact valgrind packagers.
+
 * DHAT:
 
   - DHAT has been extended, with two new modes of operation. The new
@@ -133,6 +138,7 @@ where XXXXXX is the bug number as listed below.
 432809  VEX should support REX.W + POPF
 432861  PPC modsw and modsd give incorrect results for 1 mod 12
 432215  Add debuginfod functionality
+433323  Use pkglibexecdir as vglibdir
 433500  DRD regtest faulures when libstdc++ and libgcc debuginfo are installed
 n-i-bz  helgrind: If hg_cli__realloc fails, return NULL.
 
index be097f44f567930f67826355532782c1dd20a7d7..65d2c705adeb77fd9e6f20190eb4d39742938e48 100644 (file)
@@ -11,12 +11,12 @@ include $(top_srcdir)/Makefile.all.am
 
 AM_CPPFLAGS_@VGCONF_PLATFORM_PRI_CAPS@ += \
        -I$(top_srcdir)/coregrind \
-       -DVG_LIBDIR="\"$(pkglibdir)"\" \
+       -DVG_LIBDIR="\"$(pkglibexecdir)"\" \
        -DVG_PLATFORM="\"@VGCONF_ARCH_PRI@-@VGCONF_OS@\""
 if VGCONF_HAVE_PLATFORM_SEC
 AM_CPPFLAGS_@VGCONF_PLATFORM_SEC_CAPS@ += \
        -I$(top_srcdir)/coregrind \
-       -DVG_LIBDIR="\"$(pkglibdir)"\" \
+       -DVG_LIBDIR="\"$(pkglibexecdir)"\" \
        -DVG_PLATFORM="\"@VGCONF_ARCH_SEC@-@VGCONF_OS@\""
 endif
 
@@ -745,7 +745,7 @@ GDBSERVER_XML_FILES = \
        m_gdbserver/mips64-fpu.xml
 
 # so as to make sure these get copied into the install tree
-vglibdir = $(pkglibdir)
+vglibdir = $(pkglibexecdir)
 vglib_DATA  = $(GDBSERVER_XML_FILES)
 
 # so as to make sure these get copied into the tarball
index 7ad9a25538168a75dde2f61fe11ab4bd50a3e6d7..471fee02a9e5f3b6d33ae730685983dd63da9083 100644 (file)
@@ -18,16 +18,18 @@ EXTRA_DIST = \
 # libmpiwrap-<platform>.so
 #----------------------------------------------------------------------------
 
-noinst_PROGRAMS  =
+# These are really real libraries, so they should go to libdir, not libexec.
+mpidir = $(pkglibdir)
+mpi_PROGRAMS  =
 if BUILD_MPIWRAP_PRI
-noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
+mpi_PROGRAMS += libmpiwrap-@VGCONF_ARCH_PRI@-@VGCONF_OS@.so
 endif
 if BUILD_MPIWRAP_SEC
-noinst_PROGRAMS += libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
+mpi_PROGRAMS += libmpiwrap-@VGCONF_ARCH_SEC@-@VGCONF_OS@.so
 endif
 
 if VGCONF_OS_IS_DARWIN
-noinst_DSYMS = $(noinst_PROGRAMS)
+mpi_DSYMS = $(mpi_PROGRAMS)
 endif