bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Clarify dependencies to double-slash-root


From: Bruno Haible
Subject: Clarify dependencies to double-slash-root
Date: Wed, 08 Jul 2020 01:41:17 +0200
User-agent: KMail/5.1.3 (Linux/4.4.0-179-generic; KDE/5.18.0; x86_64; ; )

The following files use macro DOUBLE_SLASH_IS_DISTINCT_ROOT:
  lib/basename-lgpl.c
  lib/basename-lgpl.h
  lib/canonicalize.c
  lib/canonicalize-lgpl.c
  lib/dirname-lgpl.c

The corresponding modules should therefore have a dependency to
'double-slash-root'. Relying on an implicit dependency, e.g.
  canonicalize -> hash-triple -> same -> dirname -> dirname-lgpl -> 
basename-lgpl -> double-slash-root
is dangerous (maintainability problem). Listing the .m4 file
without invoking its macro is redundant.


2020-07-07  Bruno Haible  <bruno@clisp.org>

        Clarify dependencies to double-slash-root.
        * modules/canonicalize (Files): Remove m4/double-slash-root.m4.
        (Depends-on): Add double-slash-root.
        * modules/canonicalize-lgpl (Depends-on): Add double-slash-root.
        * modules/dirname-lgpl (Depends-on): Add double-slash-root.

diff --git a/modules/canonicalize b/modules/canonicalize
index 233fba9..a59b9fb 100644
--- a/modules/canonicalize
+++ b/modules/canonicalize
@@ -5,10 +5,10 @@ Files:
 lib/canonicalize.h
 lib/canonicalize.c
 m4/canonicalize.m4
-m4/double-slash-root.m4
 
 Depends-on:
 areadlink-with-size
+double-slash-root
 errno
 extensions
 file-set
diff --git a/modules/canonicalize-lgpl b/modules/canonicalize-lgpl
index 3526422..20ee790 100644
--- a/modules/canonicalize-lgpl
+++ b/modules/canonicalize-lgpl
@@ -10,15 +10,16 @@ Depends-on:
 extensions
 stdlib
 nocrash
-alloca-opt      [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
-errno           [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
-filename        [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
-lstat           [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
-malloca         [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
-memmove         [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
-pathmax         [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
-readlink        [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
-sys_stat        [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+alloca-opt        [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+double-slash-root [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+errno             [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+filename          [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+lstat             [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+malloca           [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+memmove           [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+pathmax           [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+readlink          [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
+sys_stat          [test $HAVE_CANONICALIZE_FILE_NAME = 0 || test 
$REPLACE_CANONICALIZE_FILE_NAME = 1]
 
 configure.ac:
 gl_CANONICALIZE_LGPL
diff --git a/modules/dirname-lgpl b/modules/dirname-lgpl
index b758535..8eb1dd7 100644
--- a/modules/dirname-lgpl
+++ b/modules/dirname-lgpl
@@ -8,6 +8,7 @@ lib/stripslash.c
 
 Depends-on:
 basename-lgpl
+double-slash-root
 filename
 malloc-posix
 stdbool




reply via email to

[Prev in Thread] Current Thread [Next in Thread]