diff options
author | Bruno Haible <bruno@clisp.org> | 2010-03-28 18:32:36 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2010-03-28 18:32:36 +0200 |
commit | 1d19f103323b9ad6c43a27049f5ce7c4a586d989 (patch) | |
tree | db34aa7e5ce57166c09d1e943efb987dd396b856 /gnulib-tool | |
parent | 3a2d3d54f1163ae2f0f6e4fd00d85b92315addac (diff) | |
download | gnulib-1d19f103323b9ad6c43a27049f5ce7c4a586d989.tar.gz |
gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
Diffstat (limited to 'gnulib-tool')
-rwxr-xr-x | gnulib-tool | 35 |
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. |