projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Change parameter name to match comment.
[gnulib.git]
/
gnulib-tool
diff --git
a/gnulib-tool
b/gnulib-tool
index
47df7c8
..
7cab3ef
100755
(executable)
--- a/
gnulib-tool
+++ b/
gnulib-tool
@@
-22,7
+22,7
@@
progname=$0
package=gnulib
progname=$0
package=gnulib
-cvsdatestamp='$Date: 2005-0
5-14 06:03
:57 $'
+cvsdatestamp='$Date: 2005-0
8-11 10:08
:57 $'
last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
@@
-90,6
+90,9
@@
Options:
placed (default \"m4\"), for --import.
--aux-dir=DIRECTORY Directory relative --dir where auxiliary build
tools are placed (default \".\"), for --import.
placed (default \"m4\"), for --import.
--aux-dir=DIRECTORY Directory relative --dir where auxiliary build
tools are placed (default \".\"), for --import.
+ --avoid=MODULE Avoid including the given MODULE. Useful if you
+ have code that provides equivalent functionality.
+ This option can be repeated.
--lgpl Abort if modules aren't available under the LGPL.
Also modify license template from GPL to LGPL.
--libtool Use libtool rules, for --import.
--lgpl Abort if modules aren't available under the LGPL.
Also modify license template from GPL to LGPL.
--libtool Use libtool rules, for --import.
@@
-181,8
+184,9
@@
func_ln_if_changed ()
# - sourcebase from --source-base
# - m4base from --m4-base
# - auxdir from --aux-dir
# - sourcebase from --source-base
# - m4base from --m4-base
# - auxdir from --aux-dir
-# -
libtool true if --libtool was given, blank otherwise
+# -
avoidlist list of modules to avoid, from --avoid
# - lgpl true if --lgpl was given, blank otherwise
# - lgpl true if --lgpl was given, blank otherwise
+# - libtool true if --libtool was given, blank otherwise
# - do_changelog false if --no-changelog was given, : otherwise
# - dry_run true if --dry-run was given, blank otherwise
{
# - do_changelog false if --no-changelog was given, : otherwise
# - dry_run true if --dry-run was given, blank otherwise
{
@@
-193,12
+197,12
@@
func_ln_if_changed ()
sourcebase=
m4base=
auxdir=
sourcebase=
m4base=
auxdir=
-
libtool
=
+
avoidlist
=
lgpl=
lgpl=
+ libtool=
do_changelog=:
dry_run=
symbolic=
do_changelog=:
dry_run=
symbolic=
- lgpl=
supplied_opts="$@"
supplied_opts="$@"
@@
-277,12
+281,22
@@
func_ln_if_changed ()
--aux-dir=* )
auxdir=`echo "X$1" | sed -e 's/^X--aux-dir=//'`
shift ;;
--aux-dir=* )
auxdir=`echo "X$1" | sed -e 's/^X--aux-dir=//'`
shift ;;
- --libtool )
- libtool=true
+ --avoid )
+ shift
+ if test $# = 0; then
+ func_fatal_error "missing argument for --avoid"
+ fi
+ avoidlist="$avoidlist $1"
+ shift ;;
+ --avoid=* )
+ avoidlist="$avoidlist "`echo "X$1" | sed -e 's/^X--avoid=//'`
shift ;;
--lgpl )
lgpl=true
shift ;;
shift ;;
--lgpl )
lgpl=true
shift ;;
+ --libtool )
+ libtool=true
+ shift ;;
--no-changelog | --no-changelo | --no-changel | --no-change | --no-chang | --no-chan | --no-cha | --no-ch | --no-c )
do_changelog=false
shift ;;
--no-changelog | --no-changelo | --no-changel | --no-change | --no-chang | --no-chan | --no-cha | --no-ch | --no-c )
do_changelog=false
shift ;;
@@
-429,9
+443,24
@@
func_get_maintainer ()
sed -n -e "/^Maintainer$sed_extract_prog" < "$gnulib_dir/modules/$1"
}
sed -n -e "/^Maintainer$sed_extract_prog" < "$gnulib_dir/modules/$1"
}
+# func_acceptable module
+# tests whether a module is acceptable.
+# Input:
+# - avoidlist list of modules to avoid
+func_acceptable ()
+{
+ for avoid in $avoidlist; do
+ if test "$avoid" = "$1"; then
+ return 1
+ fi
+ done
+ return 0
+}
+
# func_modules_transitive_closure
# Input:
# - modules list of specified modules
# func_modules_transitive_closure
# Input:
# - modules list of specified modules
+# - avoidlist list of modules to avoid
# Output:
# - modules list of modules, including dependencies
func_modules_transitive_closure ()
# Output:
# - modules list of modules, including dependencies
func_modules_transitive_closure ()
@@
-441,12
+470,19
@@
func_modules_transitive_closure ()
for module in $modules; do
func_verify_module
if test -n "$module"; then
for module in $modules; do
func_verify_module
if test -n "$module"; then
- # Duplicate dependenies are harmless, but Jim wants a warning.
+ # Duplicate dependen
c
ies are harmless, but Jim wants a warning.
duplicated_deps=`func_get_dependencies $module | sort | uniq -d`
if test -n "$duplicated_deps"; then
echo "warning: module $module has duplicated dependencies: "`echo $duplicated_deps` 1>&2
fi
duplicated_deps=`func_get_dependencies $module | sort | uniq -d`
if test -n "$duplicated_deps"; then
echo "warning: module $module has duplicated dependencies: "`echo $duplicated_deps` 1>&2
fi
- xmodules="$xmodules $module "`func_get_dependencies $module`
+ if func_acceptable $module; then
+ xmodules="$xmodules $module"
+ for depmodule in `func_get_dependencies $module`; do
+ if func_acceptable $depmodule; then
+ xmodules="$xmodules $depmodule"
+ fi
+ done
+ fi
fi
done
xmodules=`for m in $xmodules; do echo $m; done | sort | uniq`
fi
done
xmodules=`for m in $xmodules; do echo $m; done | sort | uniq`
@@
-554,8
+590,9
@@
func_emit_lib_Makefile_am ()
# - libname library name
# - sourcebase directory relative to destdir where to place source code
# - m4base directory relative to destdir where to place *.m4 macros
# - libname library name
# - sourcebase directory relative to destdir where to place source code
# - m4base directory relative to destdir where to place *.m4 macros
-# -
libtool true if libtool will be used, blank otherwise
+# -
avoidlist list of modules to avoid, from --avoid
# - lgpl true if library's license shall be LGPL, blank otherwise
# - lgpl true if library's license shall be LGPL, blank otherwise
+# - libtool true if libtool will be used, blank otherwise
# - dry_run true if actions shall only be printed, blank otherwise
# - symbolic true if files should be symlinked, copied otherwise
# - supplied_opts all options passed to gnulib-tool
# - dry_run true if actions shall only be printed, blank otherwise
# - symbolic true if files should be symlinked, copied otherwise
# - supplied_opts all options passed to gnulib-tool
@@
-573,9
+610,12
@@
func_import ()
if test -n "$lgpl"; then
for module in $modules; do
license=`func_get_license $module`
if test -n "$lgpl"; then
for module in $modules; do
license=`func_get_license $module`
- if test $license != LGPL; then
- func_fatal_error "incompatible license on module \`$module\`: $license"
- fi
+ case $license in
+ LGPL | 'public domain') ;;
+ *)
+ func_fatal_error \
+ "incompatible license on module \`$module\`: $license" ;;
+ esac
done
fi
done
fi
@@
-680,6
+720,9
@@
func_import ()
echo "dnl Usage: gl_MODULES(module1 module2 ...)"
echo "AC_DEFUN([gl_MODULES], [])"
echo
echo "dnl Usage: gl_MODULES(module1 module2 ...)"
echo "AC_DEFUN([gl_MODULES], [])"
echo
+ echo "dnl Usage: gl_AVOID(module1 module2 ...)"
+ echo "AC_DEFUN([gl_AVOID], [])"
+ echo
echo "dnl Usage: gl_SOURCE_BASE(DIR)"
echo "AC_DEFUN([gl_SOURCE_BASE], [])"
echo
echo "dnl Usage: gl_SOURCE_BASE(DIR)"
echo "AC_DEFUN([gl_SOURCE_BASE], [])"
echo
@@
-912,6
+955,9
@@
case $mode in
/gl_MODULES[^_]/ {
s,^.*gl_MODULES([[ ]*\([^])]*\).*$,ac_modules="\1",; p;
};
/gl_MODULES[^_]/ {
s,^.*gl_MODULES([[ ]*\([^])]*\).*$,ac_modules="\1",; p;
};
+ /gl_AVOID[^_]/ {
+ s,^.*gl_AVOID([[ ]*\([^])]*\).*$,ac_avoidlist="\1",; p;
+ };
/gl_SOURCE_BASE/ {
s,^.*gl_SOURCE_BASE([[ ]*\([^])]*\).*$,ac_sourcebase="\1",; p;
};
/gl_SOURCE_BASE/ {
s,^.*gl_SOURCE_BASE([[ ]*\([^])]*\).*$,ac_sourcebase="\1",; p;
};
@@
-968,6
+1014,9
@@
case $mode in
modules="$*"
fi
modules="$*"
fi
+ # Which modules to avoid?
+ avoidlist="$avoidlist $ac_avoidlist"
+
func_import "$modules"
;;
func_import "$modules"
;;