public inbox for dtrace@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH v2] configure: accept standard installation directory options
@ 2026-03-05  5:01 Kris Van Hees
  2026-03-05 15:13 ` Nick Alcock
  0 siblings, 1 reply; 2+ messages in thread
From: Kris Van Hees @ 2026-03-05  5:01 UTC (permalink / raw)
  To: dtrace, dtrace-devel

Even though we do not use them, the GNU Coding Standards expect configure
to accept the following installation directory options as well:

	--libexecdir=PREFIX/libexec	Program executables directory
	--sysconfdir=PREFIX/etc		System configuration directory
	--sharedstatedir=PREFIX/com	Arch-independent data directory
	--localstatedir=PREFIX/var	Runtime system data directory
	--runstatedir=PREFIX/var/run	Per-process data directory
	--oldincludedir=PREFIX/include	#include directory (non-gcc)
	--infodir=DATADIR/info		Info documentation directory
	--localedir=DATADIR/locale	locale specific data directory
	--htmldir=DOCDIR		Html documentation directory
	--pdfdir=DOCDIR			PDF documentation directory
	--psdir=DOCDIR			PS documentation directory

This patch also redefines some of the make variables in terms of one
another now that a larger set is supported.

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
---
 GNUmakefile | 13 ++++++++-----
 configure   | 47 +++++++++++++++++++++++++++++++++++++++--------
 2 files changed, 47 insertions(+), 13 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index 38ae5423..835bc9b5 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -90,15 +90,18 @@ SBINDIR = $(prefix)/sbin
 INSTSBINDIR = $(DESTDIR)$(SBINDIR)
 UDEVDIR = $(prefix)/lib/udev/rules.d
 INSTUDEVDIR = $(DESTDIR)$(UDEVDIR)
-SYSTEMDPRESETDIR = $(prefix)/lib/systemd/system-preset
-SYSTEMDUNITDIR = $(prefix)/lib/systemd/system
+SYSTEMDDIR = $(prefix)/lib/systemd
+SYSTEMDPRESETDIR = $(SYSTEMDDIR)/system-preset
+SYSTEMDUNITDIR = $(SYSTEMDDIR)/system
 INSTSYSTEMDPRESETDIR = $(DESTDIR)$(SYSTEMDPRESETDIR)
 INSTSYSTEMDUNITDIR = $(DESTDIR)$(SYSTEMDUNITDIR)
-DOCDIR = $(prefix)/share/doc/dtrace-$(VERSION)
+DATAROOTDIR = $(prefix)/share
+DATADIR = $(DATAROOTDIR)
+DOCDIR = $(DATADIR)/doc/dtrace-$(VERSION)
 INSTDOCDIR = $(DESTDIR)$(DOCDIR)
-MANDIR = $(prefix)/share/man
+MANDIR = $(DATADIR)/man
 INSTMANDIR = $(DESTDIR)$(MANDIR)
-PKGCONFIGDIR = $(prefix)/share/pkgconfig
+PKGCONFIGDIR = $(DATADIR)/pkgconfig
 INSTPKGCONFIGDIR = $(DESTDIR)$(PKGCONFIGDIR)
 TESTDIR = $(LIBDIR)/dtrace/testsuite
 INSTTESTDIR = $(DESTDIR)$(TESTDIR)
diff --git a/configure b/configure
index cb2f585a..403b1a09 100755
--- a/configure
+++ b/configure
@@ -53,20 +53,37 @@ help()
 Installation paths:
 
 --prefix=/usr					Prefix of all installed paths
+--exec-prefix=PREFIX				Prefix of arch-dependent paths
 --objdir=build					Build directory
 --libdir=PREFIX/lib64				Library directory
 --bindir=PREFIX/sbin				Binary directory
 --sbindir=PREFIX/sbin				Alias for --bindir
 --includedir=PREFIX/include			#include directory
---mandir=PREFIX/share/man			Manpage directory
---pkg-config-dir=PREFIX/share/pkgconfig		Pkg-config directory
---udevdir=PREFIX/lib/udev/rules.d		udev rules directory
---systemd-unit-dir=PREFIX/lib/systemd/system	systemd unit directory
---docdir=PREFIX/share/doc/dtrace		Documentation directory
+--udevdir=PREFIX/lib/udev/rules.d		Udev rules directory
+--systemd-dir=PREFIX/lib/systemd		Systemd config directory
+--datarootdir=PREFIX/share			Arch-independent data root
+--datadir=DATAROOTDIR				Arch-independent data directory
+--pkg-config-dir=DATADIR/pkgconfig		Pkg-config directory
+--mandir=DATADIR/man				Manpage documentation directory
+--docdir=DATADIR/doc/dtrace			Documentation root directory
 --testdir=LIBDIR/dtrace/testsuite		Testsuite install directory
 
+Unused installation paths (provided for compatibility):
+
+--libexecdir=PREFIX/libexec			Program executables directory
+--sysconfdir=PREFIX/etc				System configuration directory
+--sharedstatedir=PREFIX/com			Arch-independent data directory
+--localstatedir=PREFIX/var			Runtime system data directory
+--runstatedir=PREFIX/var/run			Per-process data directory
+--oldincludedir=PREFIX/include			#include directory (non-gcc)
+--infodir=DATADIR/info				Info documentation directory
+--localedir=DATADIR/locale			locale specific data directory
+--htmldir=DOCDIR				Html documentation directory
+--pdfdir=DOCDIR					PDF documentation directory
+--psdir=DOCDIR					PS documentation directory
+
 Options relating to the user environment (may need customization on
-some systems, see GNUmakefile)
+some systems, see GNUmakefile):
 
 --user-uid=UID			The first non-system uid on the system
 --dumpcap-group=GROUP		Group one must run as to invoke $DUMPCAP
@@ -136,15 +153,29 @@ for option in "$@"; do
     case "$option" in
         --help) help; exit 1;;
         --prefix=*) write_make_var prefix "$option";;
+        --exec-prefix=*) write_make_var exec_prefix "$option";;
         --objdir=*) write_make_var objdir "$option";;
         --libdir=*) write_make_var LIBDIR "$option";;
         --bindir=*) write_make_var SBINDIR "$option";;
         --sbindir=*) write_make_var SBINDIR "$option";;
+        --libexecdir=*) write_make_var LIBEXECDIR "$option";;
+        --sysconfdir=*) write_make_var SYSCONFDIR "$option";;
+        --sharedstatedir=*) write_make_var SHAREDSTATEDIR "$option";;
+        --localstatedir=*) write_make_var LOCALSTATEDIR "$option";;
+        --runstatedir=*) write_make_var RUNSTATEDIR "$option";;
         --includedir=*) write_make_var INCLUDEDIR "$option";;
+        --oldincludedir=*) write_make_var OLDINCLUDEDIR "$option";;
         --udevdir=*) write_make_var UDEVDIR "$option";;
-        --systemd-unit-dir=*) write_make_var SYSTEMDUNITDIR "$option";;
-        --docdir=*) write_make_var DOCDIR "$option";;
+        --systemd-dir=*) write_make_var SYSTEMDDIR "$option";;
+        --datarootdir=*) write_make_var DATAROOTDIR "$option";;
+        --datadir=*) write_make_var DATADIR "$option";;
+        --infodir=*) write_make_var INFODIR "$option";;
+        --localedir=*) write_make_var LOCALEDIR "$option";;
         --mandir=*) write_make_var MANDIR "$option";;
+        --docdir=*) write_make_var DOCDIR "$option";;
+        --htmldir=*) write_make_var HTMLDIR "$option";;
+        --pdfdir=*) write_make_var PDFDIR "$option";;
+        --psdir=*) write_make_var PSDIR "$option";;
         --pkg-config-dir=*) write_make_var PKGCONFIGDIR "$option";;
         --testdir=*) write_make_var TESTDIR "$option";;
         CC=*) write_make_var CC "$option";;
-- 
2.51.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] configure: accept standard installation directory options
  2026-03-05  5:01 [PATCH v2] configure: accept standard installation directory options Kris Van Hees
@ 2026-03-05 15:13 ` Nick Alcock
  0 siblings, 0 replies; 2+ messages in thread
From: Nick Alcock @ 2026-03-05 15:13 UTC (permalink / raw)
  To: Kris Van Hees; +Cc: dtrace, dtrace-devel

On 5 Mar 2026, Kris Van Hees spake thusly:

> Even though we do not use them, the GNU Coding Standards expect configure
> to accept the following installation directory options as well:
>
> 	--libexecdir=PREFIX/libexec	Program executables directory
> 	--sysconfdir=PREFIX/etc		System configuration directory
> 	--sharedstatedir=PREFIX/com	Arch-independent data directory
> 	--localstatedir=PREFIX/var	Runtime system data directory
> 	--runstatedir=PREFIX/var/run	Per-process data directory
> 	--oldincludedir=PREFIX/include	#include directory (non-gcc)
> 	--infodir=DATADIR/info		Info documentation directory
> 	--localedir=DATADIR/locale	locale specific data directory
> 	--htmldir=DOCDIR		Html documentation directory
> 	--pdfdir=DOCDIR			PDF documentation directory
> 	--psdir=DOCDIR			PS documentation directory
>
> This patch also redefines some of the make variables in terms of one
> another now that a larger set is supported.
>
> Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>

Reviewed-by: Nick Alcock <nick.alcock@oracle.com>

> ---
>  GNUmakefile | 13 ++++++++-----
>  configure   | 47 +++++++++++++++++++++++++++++++++++++++--------
>  2 files changed, 47 insertions(+), 13 deletions(-)
>
> diff --git a/GNUmakefile b/GNUmakefile
> index 38ae5423..835bc9b5 100644
> --- a/GNUmakefile
> +++ b/GNUmakefile
> @@ -90,15 +90,18 @@ SBINDIR = $(prefix)/sbin
>  INSTSBINDIR = $(DESTDIR)$(SBINDIR)
>  UDEVDIR = $(prefix)/lib/udev/rules.d
>  INSTUDEVDIR = $(DESTDIR)$(UDEVDIR)
> -SYSTEMDPRESETDIR = $(prefix)/lib/systemd/system-preset
> -SYSTEMDUNITDIR = $(prefix)/lib/systemd/system
> +SYSTEMDDIR = $(prefix)/lib/systemd
> +SYSTEMDPRESETDIR = $(SYSTEMDDIR)/system-preset
> +SYSTEMDUNITDIR = $(SYSTEMDDIR)/system
>  INSTSYSTEMDPRESETDIR = $(DESTDIR)$(SYSTEMDPRESETDIR)
>  INSTSYSTEMDUNITDIR = $(DESTDIR)$(SYSTEMDUNITDIR)
> -DOCDIR = $(prefix)/share/doc/dtrace-$(VERSION)
> +DATAROOTDIR = $(prefix)/share
> +DATADIR = $(DATAROOTDIR)
> +DOCDIR = $(DATADIR)/doc/dtrace-$(VERSION)
>  INSTDOCDIR = $(DESTDIR)$(DOCDIR)
> -MANDIR = $(prefix)/share/man
> +MANDIR = $(DATADIR)/man
>  INSTMANDIR = $(DESTDIR)$(MANDIR)
> -PKGCONFIGDIR = $(prefix)/share/pkgconfig
> +PKGCONFIGDIR = $(DATADIR)/pkgconfig
>  INSTPKGCONFIGDIR = $(DESTDIR)$(PKGCONFIGDIR)
>  TESTDIR = $(LIBDIR)/dtrace/testsuite
>  INSTTESTDIR = $(DESTDIR)$(TESTDIR)
> diff --git a/configure b/configure
> index cb2f585a..403b1a09 100755
> --- a/configure
> +++ b/configure
> @@ -53,20 +53,37 @@ help()
>  Installation paths:
>  
>  --prefix=/usr					Prefix of all installed paths
> +--exec-prefix=PREFIX				Prefix of arch-dependent paths
>  --objdir=build					Build directory
>  --libdir=PREFIX/lib64				Library directory
>  --bindir=PREFIX/sbin				Binary directory
>  --sbindir=PREFIX/sbin				Alias for --bindir
>  --includedir=PREFIX/include			#include directory
> ---mandir=PREFIX/share/man			Manpage directory
> ---pkg-config-dir=PREFIX/share/pkgconfig		Pkg-config directory
> ---udevdir=PREFIX/lib/udev/rules.d		udev rules directory
> ---systemd-unit-dir=PREFIX/lib/systemd/system	systemd unit directory
> ---docdir=PREFIX/share/doc/dtrace		Documentation directory
> +--udevdir=PREFIX/lib/udev/rules.d		Udev rules directory
> +--systemd-dir=PREFIX/lib/systemd		Systemd config directory
> +--datarootdir=PREFIX/share			Arch-independent data root
> +--datadir=DATAROOTDIR				Arch-independent data directory
> +--pkg-config-dir=DATADIR/pkgconfig		Pkg-config directory
> +--mandir=DATADIR/man				Manpage documentation directory
> +--docdir=DATADIR/doc/dtrace			Documentation root directory
>  --testdir=LIBDIR/dtrace/testsuite		Testsuite install directory
>  
> +Unused installation paths (provided for compatibility):
> +
> +--libexecdir=PREFIX/libexec			Program executables directory
> +--sysconfdir=PREFIX/etc				System configuration directory
> +--sharedstatedir=PREFIX/com			Arch-independent data directory
> +--localstatedir=PREFIX/var			Runtime system data directory
> +--runstatedir=PREFIX/var/run			Per-process data directory
> +--oldincludedir=PREFIX/include			#include directory (non-gcc)
> +--infodir=DATADIR/info				Info documentation directory
> +--localedir=DATADIR/locale			locale specific data directory
> +--htmldir=DOCDIR				Html documentation directory
> +--pdfdir=DOCDIR					PDF documentation directory
> +--psdir=DOCDIR					PS documentation directory

Nice!!! (I presume the tabs are actually aligned, but thrown off by
diff and quoting prefixes.)

-- 
NULL && (void)

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-03-05 15:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-05  5:01 [PATCH v2] configure: accept standard installation directory options Kris Van Hees
2026-03-05 15:13 ` Nick Alcock

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox