[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
test mode short-hands (was: libtool --mode=execute gdb)
From: |
Ralf Wildenhues |
Subject: |
test mode short-hands (was: libtool --mode=execute gdb) |
Date: |
Thu, 29 Jan 2009 19:56:08 +0100 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
* 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
address@hidden@var{mode}}.
address@hidden@var{mode}}. For example, the following are equivalent:
address@hidden
+$ @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}
address@hidden example
+
address@hidden
@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