* Ralf Wildenhues wrote on Sat, Jan 24, 2009 at 03:52:49PM CET: > Please note that there is an alternative short-hand, in that you > can use (among others) the following equivalently: > libtool --mode=execute PROG [ARGS]... > libtool execute PROG [ARGS]... > libtool exe PROG [ARGS]... > libtool e PROG [ARGS]...
> S'pose I'll be adding testsuite exposure to this feature. As follows. Cheers, Ralf Document --mode short-hands better, and test them. * doc/libtool.texi (Invoking libtool): Give examples for using the `--mode=MODE' short-hand `MODE', or abbreviations thereof. * libltdl/config/ltmain.m4sh: Mention the short-hand for MODE in the --help output. * tests/help.at (mode short-hands): New test group. Suggestion by Bruno Haible. diff --git a/doc/libtool.texi b/doc/libtool.texi index c3a2906..02340d9 100644 --- a/doc/libtool.texi +++ b/doc/libtool.texi @@ -1161,8 +1161,16 @@ operation mode, and exit. Use @var{mode} as the operation mode. When using libtool from the command line, you can give just @var{mode} (or a unique abbreviation of it) as the first argument as a shorthand for the full -...@option{--mode=@var{mode}}. +...@option{--mode=@var{mode}}. For example, the following are equivalent: +...@example +$ @kbd{libtool --mode=execute --dry-run gdb prog.exe} +$ @kbd{libtool execute --dry-run gdb prog.exe} +$ @kbd{libtool exe --dry-run gdb prog.exe} +$ @kbd{libtool e --dry-run gdb prog.exe} +...@end example + +...@noindent @var{mode} must be set to one of the following: @table @option diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index 83bfaf4..de63a83 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -59,7 +59,8 @@ m4_divert_push([SCRIPT])# @configure_input@ # link create a library or an executable # uninstall remove libraries from an installed directory # -# MODE-ARGS vary depending on the MODE. +# MODE-ARGS vary depending on the MODE. When passed as first option, +# `--mode=MODE' may be abbreviated as `MODE' or a unique abbreviation of that. # 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 diff --git a/tests/help.at b/tests/help.at index f0e7e94..3460a2b 100644 --- a/tests/help.at +++ b/tests/help.at @@ -36,3 +36,55 @@ AT_CHECK([$LIBTOOL --version], [], [stdout]) AT_CHECK([grep 'Copyright.*Free Software Foundation' stdout], [], [ignore]) AT_CLEANUP + + +AT_SETUP([mode short-hands]) + +AT_DATA([a.c], +[[int a () { return 0; } +]]) + +AT_DATA([main.c], +[[extern int a (); +int main () { return a (); } +]]) + +inst=`pwd`/inst +libdir=$inst/lib +bindir=$inst/bin +mkdir $inst $libdir $bindir + +AT_CHECK([$LIBTOOL compile $CC $CPPFLAGS $CFLAGS -c a.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL co $CC $CPPFLAGS $CFLAGS -c main.c], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL link $CC $CFLAGS $LDFLAGS -o liba.la a.lo ]dnl + [-no-undefined -rpath $libdir], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL l $CC $CFLAGS $LDFLAGS -o main$EXEEXT main.lo ]dnl + [liba.la], [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL execute --dry-run ./main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL exe --dry-run ./main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL e --dry-run ./main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL install cp liba.la $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL i cp main$EXEEXT $bindir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL finish $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL f $libdir], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL uninstall rm -f $libdir/liba.la], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL u rm -f $bindir/main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL clean rm -f main$EXEEXT], + [], [ignore], [ignore]) +AT_CHECK([$LIBTOOL cl liba.la], + [], [ignore], [ignore]) + +AT_CLEANUP