libtool-patches
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]