* Makefile.am (dist_man1_MANS, update_mans): New macros.
($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New
rules. Use --help-all for libtool.
(MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS.
(BUILT_SOURCES): Add libtoolize.
* configure.ac: Check for help2man, set HELP2MAN.
* doc/libtool.texi: Add @direntry for libtool-invocation.
(Invoking libtool): Document -h, --help-all. Reorder mode
description for consistency.
(Compile mode): Do not document -Wl,FLAG and -XCClinker here.
(Link mode): Document -Wc,FLAG here, reformat a bit.
* libtoolize.m4sh: Reformat --help output a bit, to help
help2man.
* libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to
`libtool', not `ltmain.sh', so the former is used in the man
page.
New argument `--help-all'. If given, call func_help and
func_mode_help several times, beating output in shape with sed.
(func_mode_help): Do not exit here.
* libltdl/config/getopt.m4sh (func_usage): Work with different
indentations, but require comment hash in first column, when
grepping for '-h' in usage to end short help.
(func_help): Accept optional argument to not exit.
* NEWS, THANKS: Update.
Suggestion by Karl Berry.
Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+2008-09-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Man pages for libtoolize and libtool, new command line option
+ --help-all.
+ * Makefile.am (dist_man1_MANS, update_mans): New macros.
+ ($(srcdir)/doc/libtool.1, $(srcdir)/doc/libtoolize.1): New
+ rules. Use --help-all for libtool.
+ (MAINTAINERCLEANFILES): New macro. Add dist_man1_MANS.
+ (BUILT_SOURCES): Add libtoolize.
+ * configure.ac: Check for help2man, set HELP2MAN.
+ * doc/libtool.texi: Add @direntry for libtool-invocation.
+ (Invoking libtool): Document -h, --help-all. Reorder mode
+ description for consistency.
+ (Compile mode): Do not document -Wl,FLAG and -XCClinker here.
+ (Link mode): Document -Wc,FLAG here, reformat a bit.
+ * libtoolize.m4sh: Reformat --help output a bit, to help
+ help2man.
+ * libltdl/config/ltmain.m4sh: Likewise. Also, set PROGRAM to
+ `libtool', not `ltmain.sh', so the former is used in the man
+ page.
+ New argument `--help-all'. If given, call func_help and
+ func_mode_help several times, beating output in shape with sed.
+ (func_mode_help): Do not exit here.
+ * libltdl/config/getopt.m4sh (func_usage): Work with different
+ indentations, but require comment hash in first column, when
+ grepping for '-h' in usage to end short help.
+ (func_help): Accept optional argument to not exit.
+ * NEWS, THANKS: Update.
+ Suggestion by Karl Berry.
+
2008-09-08 Gary V. Vaughan <gary@gnu.org>
Use `-version-info 9:0:2' for one added iface since 2.2.4.
DIST_SUBDIRS = .
EXTRA_DIST =
-BUILT_SOURCES = libtool
+BUILT_SOURCES = libtool libtoolize
CLEANFILES =
MOSTLYCLEANFILES =
DISTCLEANFILES =
+MAINTAINERCLEANFILES =
include_HEADERS =
noinst_LTLIBRARIES =
cd $(srcdir)/doc && \
$(MAKEINFO) --no-headers $(MAKEINFOFLAGS) -o notes.txt notes.texi
+dist_man1_MANS = $(srcdir)/doc/libtool.1 $(srcdir)/doc/libtoolize.1
+MAINTAINERCLEANFILES += $(dist_man1_MANS)
+update_mans = \
+ PATH=.$(PATH_SEPARATOR)$$PATH; export PATH; \
+ $(HELP2MAN) --output=$@
+$(srcdir)/doc/libtool.1: $(srcdir)/$(auxdir)/ltmain.sh
+ $(update_mans) --help-option=--help-all libtool
+$(srcdir)/doc/libtoolize.1: $(srcdir)/libtoolize.in
+ $(update_mans) libtoolize
+
## ------------- ##
## Installation. ##
New in 2.2.8 2008-??-??: git version 2.2.7a, Libtool team:
+* New features:
+
+ - Libtool ships and installs man pages for libtool and libtoolize now.
+ - New libtool command line flag --help-all.
+
* Bug fixes:
- Nothing yet...
Joerg Sonnenberger joerg@netbsd.org
John Bowler jbowler@acm.org
Joseph Beckenbach III jrb3@best.com
+ Karl Berry karl@freefriends.org
Kenneth Albanowski kjahds@kjahds.com
Kevin Ryde user42@zip.com.au
Kurt D. Zeilenga Kurt@OpenLDAP.Org
AM_CONDITIONAL(HAVE_GCJ, [test -n "[$]_LT_TAGVAR(compiler, GCJ)"])
AM_CONDITIONAL(HAVE_RC, [test -n "[$]_LT_TAGVAR(compiler, RC)"])
+## ------------- ##
+## Documentation ##
+## ------------- ##
+AM_MISSING_PROG([HELP2MAN], [help2man])
## -------- ##
## Outputs. ##
@dircategory Individual utilities
@direntry
+* libtool-invocation: (libtool)Invoking libtool.
+ Running the @code{libtool} script.
* libtoolize: (libtool)Invoking libtoolize. Adding libtool support.
@end direntry
@item --finish
Same as @option{--mode=finish}.
+@item -h
+Display short help message.
+
@item --help
Display a help message and exit. If @option{--mode=@var{mode}} is
-specified, then detailed help for @var{mode} is
-displayed.
+specified, then detailed help for @var{mode} is displayed.
+
+@item --help-all
+Display help for the general options as well as detailed help for each
+operation mode, and exit.
@item --mode=@var{mode}
Use @var{mode} as the operation mode. When using libtool from the
Automatically set the library path so that another program can use
uninstalled libtool-generated programs or libraries.
-@item finish
-Complete the installation of libtool libraries on the system.
+@item link
+Create a library or an executable.
@item install
Install libraries or executables.
-@item link
-Create a library or an executable.
+@item finish
+Complete the installation of libtool libraries on the system.
@item uninstall
Delete installed libraries or executables.
@item -Wc,@var{flag}
@itemx -Xcompiler @var{flag}
-Pass a linker specific flag directly to the compiler.
-
-@item -Wl,@var{flag}
-@itemx -Xlinker @var{flag}
-Pass a linker specific flag directly to the linker.
-
-@item -XCClinker @var{flag}
-Pass a link specific flag to the compiler driver (@var{CC}) during linking.
+Pass a flag directly to the compiler.
@end table
@node Link mode
@var{output-file}, because linking against @var{output-file} already
supplies the same interface (@pxref{Linking with dlopened modules}).
+@item -Wc,@var{flag}
+@itemx -Xcompiler @var{flag}
+Pass a linker-specific flag directly to the compiler.
+
@item -Wl,@var{flag}
@itemx -Xlinker @var{flag}
-Pass a linker specific flag directly to the linker.
+Pass a linker-specific flag directly to the linker.
@item -XCClinker @var{flag}
-Pass a link specific flag to the compiler driver (@var{CC}) during linking.
+Pass a link-specific flag to the compiler driver (@var{CC}) during linking.
@end table
If the @var{output-file} ends in @samp{.la}, then a libtool library is
# Echo short help message to standard output and exit.
func_usage ()
{
- $SED -n '/^# Usage:/,/# -h/ {
+ $SED -n '/^# Usage:/,/^# *-h/ {
s/^# //
s/^# *$//
s/\$progname/'$progname'/
exit $?
}
-# func_help
-# Echo long help message to standard output and exit.
+# func_help [NOEXIT]
+# Echo long help message to standard output and exit,
+# unless 'noexit' is passed as argument.
func_help ()
{
$SED -n '/^# Usage:/,/# Report bugs to/ {
s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
p
}' < "$progpath"
- exit $?
+ ret=$?
+ if test -z "$1"; then
+ exit $ret
+ fi
}
# func_missing_arg argname
m4_define([_m4_divert(SCRIPT)], 100)
m4_divert_push([SCRIPT])# @configure_input@
-# ltmain.sh (GNU @PACKAGE@@TIMESTAMP@) @VERSION@
+# libtool (GNU @PACKAGE@@TIMESTAMP@) @VERSION@
# Written by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006, 2007 2008 Free Software Foundation, Inc.
#
# Provide generalized library-building support services.
#
-# --config show all configuration variables
-# --debug enable verbose shell tracing
-# -n, --dry-run display commands without modifying any files
-# --features display basic configuration information and exit
-# --mode=MODE use operation mode MODE
-# --preserve-dup-deps don't remove duplicate dependency libraries
-# --quiet, --silent don't print informational messages
-# --tag=TAG use configuration variables from tag TAG
-# -v, --verbose print informational messages (default)
-# --version print version information
-# -h, --help print short or long help message
+# --config show all configuration variables
+# --debug enable verbose shell tracing
+# -n, --dry-run display commands without modifying any files
+# --features display basic configuration information and exit
+# --mode=MODE use operation mode MODE
+# --preserve-dup-deps don't remove duplicate dependency libraries
+# --quiet, --silent don't print informational messages
+# --tag=TAG use configuration variables from tag TAG
+# -v, --verbose print informational messages (default)
+# --version print version information
+# -h, --help, --help-all print short, long, or detailed help message
#
# MODE must be one of the following:
#
-# clean remove files from the build directory
-# compile compile a source file into a libtool object
-# execute automatically set library path, then run a program
-# finish complete the installation of libtool libraries
-# install install libraries or executables
-# link create a library or an executable
-# uninstall remove libraries from an installed directory
+# clean remove files from the build directory
+# compile compile a source file into a libtool object
+# execute automatically set library path, then run a program
+# finish complete the installation of libtool libraries
+# install install libraries or executables
+# link create a library or an executable
+# uninstall remove libraries from an installed directory
#
# MODE-ARGS vary depending on the MODE.
# Try `$progname --help --mode=MODE' for a more detailed description of MODE.
# When reporting a bug, please describe a test case to reproduce it and
# include the following information:
#
-# host-triplet: $host
-# shell: $SHELL
-# compiler: $LTCC
-# compiler flags: $LTCFLAGS
-# linker: $LD (gnu? $with_gnu_ld)
-# $progname: (GNU @PACKAGE@@TIMESTAMP@) @VERSION@
-# automake: $automake_version
-# autoconf: $autoconf_version
+# host-triplet: $host
+# shell: $SHELL
+# compiler: $LTCC
+# compiler flags: $LTCFLAGS
+# linker: $LD (gnu? $with_gnu_ld)
+# $progname: (GNU @PACKAGE@@TIMESTAMP@) @VERSION@
+# automake: $automake_version
+# autoconf: $autoconf_version
#
# Report bugs to <bug-libtool@gnu.org>.
-PROGRAM=ltmain.sh
+PROGRAM=libtool
PACKAGE=@PACKAGE@
VERSION=@VERSION@
TIMESTAMP="@TIMESTAMP@"
-\?|-h) func_usage ;;
--help) opt_help=: ;;
+ --help-all) opt_help=': help-all' ;;
--version) func_version ;;
-*) func_fatal_help "unrecognized option \`$opt'" ;;
}
$opt_help || {
-test "$mode" = compile && func_mode_compile ${1+"$@"}
+ test "$mode" = compile && func_mode_compile ${1+"$@"}
}
func_mode_help ()
-prefer-non-pic try to building non-PIC objects only
-shared do not build a \`.o' file suitable for static linking
-static only build a \`.o' file suitable for static linking
+ -Wc,FLAG pass FLAG directly to the compiler
COMPILE-COMMAND is a command to be used in creating a \`standard' object file
from the given SOURCEFILE.
-version-info CURRENT[:REVISION[:AGE]]
specify library version info [each variable defaults to 0]
-weak LIBNAME declare that the target provides the LIBNAME interface
+ -Wc,FLAG
+ -Xcompiler FLAG pass linker-specific FLAG directly to the compiler
+ -Wl,FLAG
+ -Xlinker FLAG pass linker-specific FLAG directly to the linker
+ -XCClinker FLAG pass link-specific FLAG to the compiler driver (CC)
All other options (arguments beginning with \`-') are ignored.
$ECHO
$ECHO "Try \`$progname --help' for more information about other modes."
-
- exit $?
}
- # Now that we've collected a possible --mode arg, show help if necessary
- $opt_help && func_mode_help
+# Now that we've collected a possible --mode arg, show help if necessary
+if $opt_help; then
+ if test "$opt_help" = :; then
+ func_mode_help
+ else
+ {
+ func_help noexit
+ for mode in compile link execute install finish uninstall clean; do
+ func_mode_help
+ done
+ } | sed -n '1p; 2,$s/^Usage:/ or: /p'
+ {
+ func_help noexit
+ for mode in compile link execute install finish uninstall clean; do
+ echo
+ func_mode_help
+ done
+ } |
+ sed '1d
+ /^When reporting/,/^Report/{
+ H
+ d
+ }
+ $x
+ /information about other modes/d
+ /more detailed .*MODE/d
+ s/^Usage:.*--mode=\([^ ]*\) .*/Description of \1 mode:/'
+ fi
+ exit $?
+fi
# func_mode_execute arg...
#
# Prepare a package to use libtool.
#
-# -c, --copy copy files rather than symlinking them
-# --debug enable verbose shell tracing
-# -n, --dry-run print commands rather than running them
-# -f, --force replace existing files
-# -i, --install copy missing auxiliary files
-# --ltdl[=DIR] install libltdl sources [default: libltdl]
-# --no-warn don't display warning messages
-# --nonrecursive prepare ltdl for non-recursive make
-# -q, --quiet work silently
-# --recursive prepare ltdl for recursive make
-# --subproject prepare ltdl to configure and build independently
-# -v, --verbose verbosely report processing
-# --version print version information and exit
-# -h, --help print short or long help message
+# -c, --copy copy files rather than symlinking them
+# --debug enable verbose shell tracing
+# -n, --dry-run print commands rather than running them
+# -f, --force replace existing files
+# -i, --install copy missing auxiliary files
+# --ltdl[=DIR] install libltdl sources [default: libltdl]
+# --no-warn don't display warning messages
+# --nonrecursive prepare ltdl for non-recursive make
+# -q, --quiet work silently
+# --recursive prepare ltdl for recursive make
+# --subproject prepare ltdl to configure and build independently
+# -v, --verbose verbosely report processing
+# --version print version information and exit
+# -h, --help print short or long help message
#
# The following space or comma delimited options can be passed to $progname
# via the environment variable LIBTOOLIZE_OPTIONS, unknown environment
# options are ignored:
#
-# --debug enable verbose shell tracing
-# --no-warn don't display warning messages
-# --quiet work silently
-# --verbose verbosely report processing
+# --debug enable verbose shell tracing
+# --no-warn don't display warning messages
+# --quiet work silently
+# --verbose verbosely report processing
#
# You must `cd' to the top directory of your package before you run
# `$progname'.