libtool-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Libtool branch, master, updated. release-2-2-2-30-ga53fd09


From: Gary V. Vaughan
Subject: [SCM] GNU Libtool branch, master, updated. release-2-2-2-30-ga53fd09
Date: Wed, 30 Apr 2008 00:35:36 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".

The branch, master has been updated
       via  a53fd09bed347444f2c14db34d00de60d657d720 (commit)
      from  2826832999f79a85089a7d434423af0e7bc6e395 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit a53fd09bed347444f2c14db34d00de60d657d720
Author: Gary V. Vaughan <address@hidden>
Date:   Tue Apr 29 15:11:54 2008 -0400

    New libtoolize --no-warn option and LIBTOOLIZE_OPTIONS parsing.
    
    * libltdl/config/general.m4sh (opt_warning): New option.
    (func_warning): Only display a warning message if $opt_warning
    is true.
    * libtoolize.m4sh: Accept options in LIBTOOLIZE_OPTIONS
    environment variable.
    (--no-warn): Parse new option.
    (func_serial_update_check, func_keyword_update): Use func_warning.
    (func_check_macros): Bail out before style issues nags when
    $opt_warning is false.
    * doc/libtool.texi (Invoking Libtoolize): Document it.
    * tests/libtoolize.at: Test it.
    * NEWS: Updated.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                   |   14 +++++++++++++
 NEWS                        |    9 ++++++++
 doc/libtool.texi            |   31 +++++++++++++++++++++++++++-
 libltdl/config/general.m4sh |    6 ++++-
 libtoolize.m4sh             |   45 ++++++++++++++++++++++++++++++++++++++++-
 tests/libtoolize.at         |   46 +++++++++++++++++++++++++++++++++++++++++++
 6 files changed, 146 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 5685bda..ca8c2a1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2008-04-29  Gary V. Vaughan  <address@hidden>
 
+       New libtoolize --no-warn option and LIBTOOLIZE_OPTIONS parsing.
+       * libltdl/config/general.m4sh (opt_warning): New option.
+       (func_warning): Only display a warning message if $opt_warning
+       is true.
+       * libtoolize.m4sh: Accept options in LIBTOOLIZE_OPTIONS
+       environment variable.
+       (--no-warn): Parse new option.
+       (func_serial_update_check, func_keyword_update): Use func_warning.
+       (func_check_macros): Bail out before style issues nags when
+       $opt_warning is false.
+       * doc/libtool.texi (Invoking Libtoolize): Document it.
+       * tests/libtoolize.at: Test it.
+       * NEWS: Updated.
+
        Fix libtoolize test failure with aclocal-1.10.1.
        * tests/libtoolize.at
        (verbatim aclocal.m4 w/o AC_CONFIG_MACRO_DIR): Force aclocal to
diff --git a/NEWS b/NEWS
index d7579e9..436e228 100644
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,15 @@ NEWS - list of user-visible changes between releases of GNU 
Libtool
 
 New in 2.2.4: 2008-??-??: CVS version 2.2.3a, Libtool team:
 
+* New features:
+
+  - New libtoolize option --no-warn, for users that want to continue to
+    use old libtool style without being nagged.
+  - Options --debug, --no-warn, --quiet and --verbose can be passed to
+    libtoolize through the environment variable LIBTOOLIZE_OPTIONS, for
+    cleaner interaction between the user and libtoolize when called by
+    autoreconf.
+
 * Bug fixes:
 
   - The documentation for lt_dlopenadvise showed the wrong type for
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 5a2bd55..31ba0c7 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -2329,6 +2329,12 @@ also specify a subdirectory name here if you are not 
using Autoconf
 for example.  If @command{libtoolize} can't determine the target
 directory, @samp{libltdl} is used as the default.
 
address@hidden --no-warn
+Normally, Libtoolize tries to diagnose use of deprecated libtool macros
+and other stylistic issues.  If you are deliberately using outdated
+calling conventions, this option prevents Libtoolize from explaining
+how to update your project's Libtool conventions.
+
 @item --nonrecursive
 If passed in conjunction with @option{--ltdl}, this option will cause
 the @command{libltdl} installed by @samp{libtoolize} to be set up for
@@ -2407,6 +2413,27 @@ Work noisily!  Give a blow by blow account of what
 Print @command{libtoolize} version information and exit.
 @end table
 
address@hidden LIBTOOLIZE_OPTIONS
+Sometimes it can be useful to pass options to @command{libtoolize} even
+though it is called by another program, such as @command{autoreconf}.  A
+limited number of options are parsed from the environment variable
address@hidden: currently @option{--debug}, @option{--no-warn},
address@hidden and @option{--verbose}.  Multiple options passed in
address@hidden must be separated with a space, comma or a
+colon.
+
+By default, a warning is issued for unknown options found in
address@hidden unless the first such option is
address@hidden  Where @command{libtoolize} has always quit
+on receipt of an unknown option at the command line, this and all
+previous releases of @command{libtoolize} will continue unabated whatever
+the content of @code{LIBTOOLIZE_OPTIONS} (modulo some possible warning
+messages).
+
address@hidden
+trick$ @kbd{LIBTOOLIZE_OPTIONS=--no-warn,--quiet autoreconf --install}
address@hidden example
+
 @findex AC_CONFIG_MACRO_DIR
 If @command{libtoolize} detects an explicit call to
 @code{AC_CONFIG_MACRO_DIR} (@pxref{Input, , The Autoconf Manual,
@@ -2442,8 +2469,8 @@ autoconf, The Autoconf Manual}) in your 
@file{configure.ac}, it
 will put the other support files in the specified directory.
 Otherwise they too end up in the project root directory.
 
address@hidden displays hints for adding libtool support to your
-package, as well.
+Unless @option{--no-warn} is passed, @command{libtoolize} displays
+hints for adding libtool support to your package, as well.
 
 @node Autoconf and LTLIBOBJS
 @subsection Autoconf and @code{LTLIBOBJS}
diff --git a/libltdl/config/general.m4sh b/libltdl/config/general.m4sh
index 29b3d91..53ff5ea 100644
--- a/libltdl/config/general.m4sh
+++ b/libltdl/config/general.m4sh
@@ -153,6 +153,7 @@ opt_dry_run=false
 opt_help=false
 opt_quiet=false
 opt_verbose=false
+opt_warning=:
 
 # func_echo arg...
 # Echo program name prefixed message, along with the current mode
@@ -185,7 +186,10 @@ func_error ()
 # Echo program name prefixed warning message to standard error.
 func_warning ()
 {
-    $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+
+    # bash bug again:
+    :
 }
 
 # func_fatal_error arg...
diff --git a/libtoolize.m4sh b/libtoolize.m4sh
index ad024ed..41b7eae 100644
--- a/libtoolize.m4sh
+++ b/libtoolize.m4sh
@@ -35,6 +35,7 @@ m4_divert_push([SCRIPT])#! /bin/sh
 # -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
@@ -43,6 +44,15 @@ m4_divert_push([SCRIPT])#! /bin/sh
 #     --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
+#
 # You must `cd' to the top directory of your package before you run
 # `$progname'.
 #
@@ -108,6 +118,28 @@ ltdldir=
 configure_ac=configure.in
 
 
+# Parse environment options
+{
+  my_sed_env_opt='1s/^\([^,:; ]*\).*$/\1/;q'
+  my_sed_env_rest='1s/^[^,:; ]*[,:; ]*\(.*\)$/\1/;q'
+
+  while test -n "$LIBTOOLIZE_OPTIONS"; do
+    opt=`echo "$LIBTOOLIZE_OPTIONS" | sed "$my_sed_env_opt"`
+    LIBTOOLIZE_OPTIONS=`echo "$LIBTOOLIZE_OPTIONS" | sed "$my_sed_env_rest"`
+
+    case $opt in
+      --debug)         opt_debug=:             ;;
+      --no-warn)       opt_warning=false       ;;
+      --quiet)         opt_quiet=:             ;;
+      --verbose)       opt_verbose=:           ;;
+
+      --*)     func_warning "unrecognized environment option \`$opt'"    ;;
+      *)       func_fatal_help "garbled LIBTOOLIZE_OPTIONS near \`$opt'" ;;
+    esac
+  done
+}
+
+
 # Parse options once, thoroughly.  This comes as soon as possible in
 # the script to make things like `libtoolize --version' happen quickly.
 {
@@ -153,6 +185,8 @@ configure_ac=configure.in
                        fi
                        ;;
 
+      --no-warn)       opt_warning=false ;;
+
       --nonrecursive|--non-recursive)
                        ltdl_mode=nonrecursive
                        ;;
@@ -743,7 +777,7 @@ func_serial_update_check ()
 
     if test -f "$my_destfile"; then
       test "X$my_src_serial" = "X0" && {
-        func_error "warning: no serial number on \`$my_srcfile', not copying."
+        func_warning "no serial number on \`$my_srcfile', not copying."
        return
       }
 
@@ -904,7 +938,7 @@ func_keyword_update ()
     if test -f "$my_destfile"; then
       my_src_serial=`$SED -e "$my_sed_script" "$my_srcfile"`
       test -z "$my_src_serial" && {
-        func_error "warning: no serial number in \`$my_srcfile', not copying."
+        func_warning "no serial number in \`$my_srcfile', not copying."
        return
       }
 
@@ -1361,6 +1395,13 @@ func_check_macros ()
       fi
     fi
 
+    ## ---------------------------------------------------------- ##
+    ## Since we return early here when --no-warn was given:       ##
+    ## DO NOT PUT ANYTHING BUT UPGRADE ADVICE MESSAGES BELOW HERE ##
+    ## ---------------------------------------------------------- ##
+
+    $opt_warning || return
+
     $seen_libtool ||
       func_echo "Remember to add \`LT_INIT' to $configure_ac."
 
diff --git a/tests/libtoolize.at b/tests/libtoolize.at
index d91eef2..d500db6 100644
--- a/tests/libtoolize.at
+++ b/tests/libtoolize.at
@@ -937,3 +937,49 @@ LT_AT_CHECK_LIBTOOLIZE([--copy --install], 0, expout)
 
 AT_CLEANUP
 
+
+## --------------------------- ##
+## Garbled LIBTOOLIZE_OPTIONS. ##
+## --------------------------- ##
+
+AT_SETUP([LIBTOOLIZE_OPTIONS])
+
+_LT_CONFIGURE_AC
+
+LIBTOOLIZE_OPTIONS="narf"
+export LIBTOOLIZE_OPTIONS
+
+AT_DATA(experr,
+[[libtoolize: garbled LIBTOOLIZE_OPTIONS near `narf'
+libtoolize: Try `libtoolize --help' for more information.
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy], 1, [ignore], experr)
+
+
+## --------------------------- ##
+## Unknown LIBTOOLIZE_OPTIONS. ##
+## --------------------------- ##
+
+LIBTOOLIZE_OPTIONS=--no-such-option
+export LIBTOOLIZE_OPTIONS
+
+AT_DATA(experr,
+[[libtoolize: warning: unrecognized environment option `--no-such-option'
+]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy], 0, [ignore], experr)
+
+
+## ----------------------------- ##
+## --no-warn environment option. ##
+## ----------------------------- ##
+
+LIBTOOLIZE_OPTIONS=--no-warn,--no-such-option
+export LIBTOOLIZE_OPTIONS
+
+AT_DATA(experr, [[]])
+
+LT_AT_CHECK_LIBTOOLIZE([--copy], 0, [ignore], experr)
+
+AT_CLEANUP


hooks/post-receive
--
GNU Libtool




reply via email to

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