summaryrefslogtreecommitdiff
path: root/gnulib-tool
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2010-03-28 18:32:36 +0200
committerBruno Haible <bruno@clisp.org>2010-03-28 18:32:36 +0200
commit1d19f103323b9ad6c43a27049f5ce7c4a586d989 (patch)
treedb34aa7e5ce57166c09d1e943efb987dd396b856 /gnulib-tool
parent3a2d3d54f1163ae2f0f6e4fd00d85b92315addac (diff)
downloadgnulib-1d19f103323b9ad6c43a27049f5ce7c4a586d989.tar.gz
gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
Diffstat (limited to 'gnulib-tool')
-rwxr-xr-xgnulib-tool35
1 files changed, 23 insertions, 12 deletions
diff --git a/gnulib-tool b/gnulib-tool
index 99abb622f7..47974e697f 100755
--- a/gnulib-tool
+++ b/gnulib-tool
@@ -1379,6 +1379,24 @@ func_all_modules ()
| LC_ALL=C sort -u
}
+# func_exists_module module
+# tests whether a module, given by name, exists
+# Input:
+# - local_gnulib_dir from --local-dir
+func_exists_module ()
+{
+ { test -f "$gnulib_dir/modules/$1" \
+ || { test -n "$local_gnulib_dir" && test -d "$local_gnulib_dir/modules" \
+ && test -f "$local_gnulib_dir/modules/$1"; }; } \
+ && test "CVS" != "$1" \
+ && test "ChangeLog" != "$1" \
+ && test "COPYING" != "$1" \
+ && test "README" != "$1" \
+ && test "TEMPLATE" != "$1" \
+ && test "TEMPLATE-EXTENDED" != "$1" \
+ && test "TEMPLATE-TESTS" != "$1"
+}
+
# func_verify_module
# verifies a module name
# Input:
@@ -1386,16 +1404,7 @@ func_all_modules ()
# - module module name argument
func_verify_module ()
{
- if { test -f "$gnulib_dir/modules/$module" \
- || { test -n "$local_gnulib_dir" && test -d "$local_gnulib_dir/modules" \
- && test -f "$local_gnulib_dir/modules/$module"; }; } \
- && test "CVS" != "$module" \
- && test "ChangeLog" != "$module" \
- && test "COPYING" != "$module" \
- && test "README" != "$module" \
- && test "TEMPLATE" != "$module" \
- && test "TEMPLATE-EXTENDED" != "$module" \
- && test "TEMPLATE-TESTS" != "$module"; then
+ if func_exists_module "$module"; then
# OK, $module is a correct module name.
# Verify that building the module description with 'patch' succeeds.
func_lookup_file "modules/$module"
@@ -1954,12 +1963,14 @@ func_filter_filelist ()
# - modcache true or false, from --cache-modules/--no-cache-modules
func_get_dependencies ()
{
- # ${module}-tests always implicitly depends on ${module}.
+ # ${module}-tests implicitly depends on ${module}, if that module exists.
case "$1" in
*-tests)
fgd1="$1"
func_remove_suffix fgd1 '-tests'
- echo "$fgd1"
+ if func_exists_module "$fgd1"; then
+ echo "$fgd1"
+ fi
;;
esac
# Then the explicit dependencies listed in the module description.