public inbox for dtrace@lists.linux.dev
 help / color / mirror / Atom feed
* [PATCH] configure: accept standard installation directory options
@ 2026-03-04 18:50 Kris Van Hees
  2026-03-04 20:19 ` [DTrace-devel] " Nick Alcock
  0 siblings, 1 reply; 4+ messages in thread
From: Kris Van Hees @ 2026-03-04 18:50 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:

	--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.

Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
---
 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
---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
 
 Options relating to the user environment (may need customization on
@@ -136,15 +150,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] 4+ messages in thread

* Re: [DTrace-devel] [PATCH] configure: accept standard installation directory options
  2026-03-04 18:50 [PATCH] configure: accept standard installation directory options Kris Van Hees
@ 2026-03-04 20:19 ` Nick Alcock
  2026-03-04 20:51   ` Kris Van Hees
  0 siblings, 1 reply; 4+ messages in thread
From: Nick Alcock @ 2026-03-04 20:19 UTC (permalink / raw)
  To: Kris Van Hees; +Cc: dtrace-devel, dtrace

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)

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

* Re: [DTrace-devel] [PATCH] configure: accept standard installation directory options
  2026-03-04 20:19 ` [DTrace-devel] " Nick Alcock
@ 2026-03-04 20:51   ` Kris Van Hees
  2026-03-04 20:57     ` Nick Alcock
  0 siblings, 1 reply; 4+ messages in thread
From: Kris Van Hees @ 2026-03-04 20:51 UTC (permalink / raw)
  To: Nick Alcock; +Cc: Kris Van Hees, dtrace-devel, dtrace

On Wed, Mar 04, 2026 at 08:19:42PM +0000, Nick Alcock wrote:
> 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.

Is it actually used in any way?  From what I have been able to see, the unit
directory is always SYSTEMDDIR/system, just like the presets always seem to
go in SYMTEMDDIR/system-preset (for which we never had a specific option
anyway), so it would seem that --systemd-dir is sufficient.

> > ---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'?

The help already shows the way the different settings affect one another, so I
don't see what extra thing we can do here.  Moving them to a separete section
seems odd because that means they get separated from one another.

Also, while we could spell out unused paths that are accepted for
compatibility, none of the packages I looked at for reference seem to do that.
According to the coding standard it is also perfectly fine to ignore them
(i.e. silently accept them).

But if you feel strongly about this, we can definitely move them to their own
section.

> > +        --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 :)

In summary:

 - I think that using --systemd-dir and deprecating --systemd-unit-dir is a
   valid change, especially since we hve the inconsistency of having had that
   specific option for the unit file directory but not for the presets.

 - I don't think it makes sense to separate out the options for paths that have
   effects on other paths, since grouping them all together as they are in this
   patch actually documents how they relate to one another.

 - I will move the unsused options to their own sub-section in the help to show
   they exist for compatibility only.  If we ever end up using them, we can
   move them.

DOes that sound ok?

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

* Re: [DTrace-devel] [PATCH] configure: accept standard installation directory options
  2026-03-04 20:51   ` Kris Van Hees
@ 2026-03-04 20:57     ` Nick Alcock
  0 siblings, 0 replies; 4+ messages in thread
From: Nick Alcock @ 2026-03-04 20:57 UTC (permalink / raw)
  To: Kris Van Hees; +Cc: dtrace-devel, dtrace

On 4 Mar 2026, Kris Van Hees verbalised:
> On Wed, Mar 04, 2026 at 08:19:42PM +0000, Nick Alcock wrote:
>> On 4 Mar 2026, Kris Van Hees via DTrace-devel verbalised:
>> > 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.
>
> Is it actually used in any way?  From what I have been able to see, the unit
> directory is always SYSTEMDDIR/system, just like the presets always seem to
> go in SYMTEMDDIR/system-preset (for which we never had a specific option
> anyway), so it would seem that --systemd-dir is sufficient.

Well, you can set it, and it affects where the unit files are installed.
Whether this is an option worth providing is another matter -- I was
trying to ensure that every path we installed things in could be
customized, whether or not you could coerce (e.g.) systemd into actually
looking for things in those other places. (From a quick check, it looks
like systemd does not allow customization of these paths, so probably
prefix and DESTDIR support is sufficient and nobody would ever customize
--systemd-unit-dir directly except for per-user installation under $HOME
-- which nobody would ever do with DTrace because it has to run as
root.)

So, yeah, drop it :)

>> > ---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'?
>
> The help already shows the way the different settings affect one another, so I
> don't see what extra thing we can do here.  Moving them to a separete section
> seems odd because that means they get separated from one another.

True.

> Also, while we could spell out unused paths that are accepted for
> compatibility, none of the packages I looked at for reference seem to do that.
> According to the coding standard it is also perfectly fine to ignore them
> (i.e. silently accept them).
>
> But if you feel strongly about this, we can definitely move them to their own
> section.

I just think the sheer number of them is getting a bit much. Moving the
compat ones out of the way at least means that it's easier to grasp the
ones that have an effect.

> In summary:
>
>  - I think that using --systemd-dir and deprecating --systemd-unit-dir is a
>    valid change, especially since we hve the inconsistency of having had that
>    specific option for the unit file directory but not for the presets.

Agreed. (Mea culpa.)

>  - I don't think it makes sense to separate out the options for paths that have
>    effects on other paths, since grouping them all together as they are in this
>    patch actually documents how they relate to one another.

Agreed.

>  - I will move the unsused options to their own sub-section in the help to show
>    they exist for compatibility only.  If we ever end up using them, we can
>    move them.

Agreed.

> DOes that sound ok?

Absolutely. We are in violent agreement :)

-- 
NULL && (void)

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

end of thread, other threads:[~2026-03-04 21:10 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-04 18:50 [PATCH] configure: accept standard installation directory options Kris Van Hees
2026-03-04 20:19 ` [DTrace-devel] " Nick Alcock
2026-03-04 20:51   ` Kris Van Hees
2026-03-04 20:57     ` Nick Alcock

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