+2007-09-09 Bruno Haible <bruno@clisp.org>
+
+ Allow for modules to show an arbitrary notice.
+ * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
+ * gnulib-tool: New option --extract-notice.
+ (func_usage): Document it.
+ (sed_extract_prog): Update.
+ (func_get_notice): New function.
+ (func_modules_notice): New function.
+ (func_import, func_create_testdir): Invoke it.
+ Suggested by Jim Meyering.
+
2007-09-09 Bruno Haible <bruno@clisp.org>
* gnulib-tool: New options --verbose, --quiet.
progname=$0
package=gnulib
-cvsdatestamp='$Date: 2007-09-09 11:49:58 $'
+cvsdatestamp='$Date: 2007-09-09 12:17:36 $'
last_checkin_date=`echo "$cvsdatestamp" | sed -e 's,^\$[D]ate: ,,'`
version=`echo "$last_checkin_date" | sed -e 's/ .*$//' -e 's,/,-,g'`
nl='
gnulib-tool --test --dir=directory module1 ... moduleN
gnulib-tool --megatest --dir=directory [module1 ... moduleN]
gnulib-tool --extract-description module
+ gnulib-tool --extract-notice module
gnulib-tool --extract-filelist module
gnulib-tool --extract-dependencies module
gnulib-tool --extract-autoconf-snippet module
--megatest test the given modules one by one and all together
(recommended to use CC=\"gcc -Wall\" here)
--extract-description extract the description
+ --extract-notice extract the notice or banner
--extract-filelist extract the list of files
--extract-dependencies extract the dependencies
--extract-autoconf-snippet extract the snippet for configure.ac
:a
n
s/^Description:[ ]*$//
+ s/^Notice:[ ]*$//
s/^Files:[ ]*$//
s/^Depends-on:[ ]*$//
s/^configure\.ac-early:[ ]*$//
sed -n -e "/^Description$sed_extract_prog" < "$lookedup_file"
}
+# func_get_notice module
+# Input:
+# - local_gnulib_dir from --local-dir
+func_get_notice ()
+{
+ func_lookup_file "modules/$1"
+ sed -n -e "/^Notice$sed_extract_prog" < "$lookedup_file"
+}
+
# func_get_filelist module
# Input:
# - local_gnulib_dir from --local-dir
fi
}
+# func_modules_notice
+# Input:
+# - local_gnulib_dir from --local-dir
+# - verbose integer, default 0, inc/decremented by --verbose/--quiet
+# - modules list of modules, including dependencies
+func_modules_notice ()
+{
+ if test $verbose -ge -1; then
+ for module in $modules; do
+ func_verify_module
+ if test -n "$module"; then
+ msg=`func_get_notice $module`
+ if test -n "$msg"; then
+ echo "Notice from module $module:"
+ echo "$msg" | sed -e 's/^/ /'
+ fi
+ fi
+ done
+ fi
+}
+
# func_modules_to_filelist
# Input:
# - local_gnulib_dir from --local-dir
files=`for f in $files; do echo $f; done | LC_ALL=C sort -u`
}
-
# func_execute_command command [args...]
# Executes a command.
# Uses also the variables
done
fi
+ # Show banner notice of every module.
+ func_modules_notice
+
# Determine script to apply to imported library files.
sed_transform_lib_file=
for module in $modules; do
# Add the dummy module if needed.
func_modules_add_dummy
+ # Show banner notice of every module.
+ func_modules_notice
+
# Determine final file list.
func_modules_to_filelist
if test $verbose -ge 0; then
done
;;
+ extract-notice )
+ for module
+ do
+ func_verify_module
+ if test -n "$module"; then
+ func_get_notice "$module"
+ fi
+ done
+ ;;
+
extract-filelist )
for module
do