From: Nick Alcock <nick.alcock@oracle.com>
To: Kris Van Hees <kris.van.hees@oracle.com>
Cc: dtrace-devel@oss.oracle.com, dtrace@lists.linux.dev
Subject: Re: [DTrace-devel] [PATCH] configure: accept standard installation directory options
Date: Wed, 04 Mar 2026 20:19:42 +0000 [thread overview]
Message-ID: <87eclz73fl.fsf@esperi.org.uk> (raw)
In-Reply-To: <DS0PR10MB7522D6733324ACDB8A52D983C27CA@DS0PR10MB7522.namprd10.prod.outlook.com> (Kris Van Hees via DTrace-devel's message of "Wed, 04 Mar 2026 13:50:40 -0500")
On 4 Mar 2026, Kris Van Hees via DTrace-devel verbalised:
> Even though we do not use them, the GNU Coding Standards expect configure
> to accept the following installation directory options as well:
>
> --infodir=PREFIX/share/info Info documentation directory
> --sysconfdir=PREFIX/etc System configuration directory
> --localstatedir=PREFIX/var Runtime system data directory
> --runstatedir=PREFIX/var/run Per-process data directory
>
> This patch also redefines some of the make variables in terms of one
> another now that a larger set is supported.
Oh, excellent!
> Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
Looks good, but...
> ---
> GNUmakefile | 13 ++++++++-----
> configure | 42 +++++++++++++++++++++++++++++++++++-------
> 2 files changed, 43 insertions(+), 12 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..96a13137 100755
> --- a/configure
> +++ b/configure
> @@ -53,16 +53,30 @@ 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
> +--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
> --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
Did you mean to entirely disappear this option? It would still have an
effect if it was kept.
> ---docdir=PREFIX/share/doc/dtrace Documentation directory
> +--oldincludedir=PREFIX/include #include directory (non-gcc)
> +--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
> +--infodir=DATARIR/info Info documentation directory
> +--localedir=DATADIR/locale locale specific data directory
> +--mandir=DATADIR/man Manpage documentation directory
> +--docdir=DATADIR/doc/dtrace Documentation root directory
> +--htmldir=DOCDIR Html documentation directory
> +--pdfdir=DOCDIR PDF documentation directory
> +--psdir=DOCDIR PS documentation directory
> --testdir=LIBDIR/dtrace/testsuite Testsuite install directory
Nice!
... really the number of these is quite overwhelming now. I think we
need a little more structure. It might be worth indicating in the help
output which options have no effect, though, since some of them do have
an effect indirectly, like --datarootdir, but some have no effect at
all, like --oldincludedir. I'm honestly shocked --oldincludedir still
exists -- I've never seen anything at all that uses it. Maybe GCC
pre-2.7.x?
Maybe these should be moved to separate --help sections, maybe titled
'Installation paths affecting other paths' and 'Unused paths accepted
for compatibility only'?
> + --pdfdir=*) write_make_var PDFDIR "$option";;
> + --psdir=*) write_make_var PSDIR "$option";;
These don't exist in most Autoconf-using programs at all, though they
are in the GNU Coding Standards. But, again, this would be fine with me
if only they were moved into a separate --help section :)
--
NULL && (void)
next prev parent reply other threads:[~2026-03-04 20:20 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-04 18:50 [PATCH] configure: accept standard installation directory options Kris Van Hees
2026-03-04 20:19 ` Nick Alcock [this message]
2026-03-04 20:51 ` [DTrace-devel] " Kris Van Hees
2026-03-04 20:57 ` Nick Alcock
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87eclz73fl.fsf@esperi.org.uk \
--to=nick.alcock@oracle.com \
--cc=dtrace-devel@oss.oracle.com \
--cc=dtrace@lists.linux.dev \
--cc=kris.van.hees@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.