You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by mx...@apache.org on 2011/11/14 01:22:14 UTC

svn commit: r1201557 - in /tcl/rivet/branches/rivet-namespace: ./ debian/ doc/ doc/xml/ rivet/ rivet/rivet-tcl/ src/ src/apache-2/ tclconfig/

Author: mxmanghi
Date: Mon Nov 14 00:22:13 2011
New Revision: 1201557

URL: http://svn.apache.org/viewvc?rev=1201557&view=rev
Log:
new switch --enable-rivet-commands-export to enable/disable commands in ::rivet namespace

Removed:
    tcl/rivet/branches/rivet-namespace/debian/
Modified:
    tcl/rivet/branches/rivet-namespace/   (props changed)
    tcl/rivet/branches/rivet-namespace/ChangeLog
    tcl/rivet/branches/rivet-namespace/Makefile.in
    tcl/rivet/branches/rivet-namespace/configure.ac
    tcl/rivet/branches/rivet-namespace/doc/   (props changed)
    tcl/rivet/branches/rivet-namespace/doc/xml/commands.xml
    tcl/rivet/branches/rivet-namespace/rivet/init.tcl
    tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/cookie.tcl
    tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/tclIndex
    tcl/rivet/branches/rivet-namespace/src/apache-2/mod_rivet.c
    tcl/rivet/branches/rivet-namespace/src/apache-2/rivetCore.c
    tcl/rivet/branches/rivet-namespace/src/rivet.h
    tcl/rivet/branches/rivet-namespace/src/rivetList.c
    tcl/rivet/branches/rivet-namespace/tclconfig/ltmain.sh

Propchange: tcl/rivet/branches/rivet-namespace/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 14 00:22:13 2011
@@ -1,4 +1,4 @@
 /tcl/rivet/branches/2_0:939332-1027850
 /tcl/rivet/branches/master-interp:1062190-1065801
 /tcl/rivet/branches/neh:1069501-1076014
-/tcl/rivet/trunk:1065843-1180422
+/tcl/rivet/trunk:1065843-1201294

Modified: tcl/rivet/branches/rivet-namespace/ChangeLog
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/ChangeLog?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/ChangeLog (original)
+++ tcl/rivet/branches/rivet-namespace/ChangeLog Mon Nov 14 00:22:13 2011
@@ -1,3 +1,17 @@
+2011-11-12 Massimo Manghi <mx...@apache.org>
+    * src/apache-2/rivetCore.c: reindented to improve readability.
+    * doc/xml/commands.xml: typo corrected
+    * tclconfig/ltmain.sh: new script from recently released libtools
+    * configure.ac: new macro AC_CONFIG_MACRO_DIR to include macros in m4
+
+2011-10-12 Massimo Manghi <mx...@apache.org>
+    * debian/*: actually removed from trunk (yesterday it was removed from branches/2.0)
+
+2011-10-11 Massimo Manghi <mx...@apache.org>
+    * debian/*: removed from trunk and moved into parent directory. Maintaining
+    scripts and configuration for Debianizing a package in the same package
+    repository is deprecated and error prone.
+
 2011-10-09 Massimo Manghi <mx...@apache.org>
     * debian/*: preparing to move the debian stuff away from
     development branches of Rivet. I'm committing the latest

Modified: tcl/rivet/branches/rivet-namespace/Makefile.in
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/Makefile.in?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/Makefile.in (original)
+++ tcl/rivet/branches/rivet-namespace/Makefile.in Mon Nov 14 00:22:13 2011
@@ -51,7 +51,9 @@ DIST_COMMON = README $(am__configure_dep
 	tclconfig/config.sub tclconfig/depcomp tclconfig/install-sh \
 	tclconfig/ltmain.sh tclconfig/missing
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
-am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+am__aclocal_m4_deps = $(top_srcdir)/m4/ltoptions.m4 \
+	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
+	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
 	$(top_srcdir)/tclconfig/tcl.m4 \
 	$(top_srcdir)/tclconfig/libtool.m4 \
 	$(top_srcdir)/m4/ax_prefix_config_h.m4 \

Modified: tcl/rivet/branches/rivet-namespace/configure.ac
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/configure.ac?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/configure.ac (original)
+++ tcl/rivet/branches/rivet-namespace/configure.ac Mon Nov 14 00:22:13 2011
@@ -28,6 +28,7 @@ TEA_INIT([3.9])
 AC_CONFIG_AUX_DIR(tclconfig)
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_MACRO_DIR([m4])
 
 # AX_PREFIX_CONFIG_H is a macro taken from the autotools macro archive.
 # The typical configure generated 'config.h' can be renamed and 
@@ -500,6 +501,29 @@ AC_DEFUN([HONOR_HEAD_REQUESTS],[
     fi
 ])
 
+# RIVET_COMMANDS_EXPORT (--enable-rivet-commands-export).
+# Enable export of commands in Rivet's namespace. Definining this symbols
+# sets the boolean configuration variable rivet_commands_export 
+# Default: yes
+
+AC_DEFUN([RIVET_COMMANDS_EXPORT],[
+    AC_ARG_ENABLE(
+        rivet-commands-export,
+        [  --enable-rivet-commands-export to export commands from ::rivet namespace],
+        [ rivet_commands_export=$enable_rivet_commands_export ],
+        [ rivet_commands_export="yes"]
+    )
+
+    AC_MSG_CHECKING(whether the commands in ::rivet namespace will be exported)
+    if test "$rivet_commands_export" = "yes"; then
+        AC_MSG_RESULT([yes])
+        AC_DEFINE(NAMESPACE_EXPORT,1,[commands will be exported])
+    else
+        AC_MSG_RESULT([no])
+        AC_DEFINE(NAMESPACE_EXPORT,0,[commands will not be exported])
+    fi
+])
+
 # SEPARATE_VIRTUAL_INTERPS (--enable-virtual-interps-separation)
 # Virtual hosts get their own interpreter and configuration. Different
 # applications running on different virtual hosts don't mix up variables
@@ -580,6 +604,7 @@ HONOR_HEAD_REQUESTS
 VIRTUAL_INTERPS_SEPARATION
 POST_MAX_SIZE
 UPLOAD_TO_VAR
+RIVET_COMMANDS_EXPORT
 AC_SUBST(apache_version_dir)
 AC_SUBST(MOD_RIVET_INCLUDES)
 

Propchange: tcl/rivet/branches/rivet-namespace/doc/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Nov 14 00:22:13 2011
@@ -1,3 +1,3 @@
 /tcl/rivet/branches/2_0/doc:939332-1027850
 /tcl/rivet/branches/master-interp/doc:1062190-1065801
-/tcl/rivet/trunk/doc:1065843-1180422
+/tcl/rivet/trunk/doc:1065843-1201294

Modified: tcl/rivet/branches/rivet-namespace/doc/xml/commands.xml
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/doc/xml/commands.xml?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/doc/xml/commands.xml (original)
+++ tcl/rivet/branches/rivet-namespace/doc/xml/commands.xml Mon Nov 14 00:22:13 2011
@@ -1007,15 +1007,21 @@ bxxb ccxxxxcc</programlisting>
 		</cmdsynopsis>
 	    </refsynopsisdiv>
 
-	    <refsect1>
-		<title>Description</title>
-		<para>
-		    This command is useful for situations where it is necessary
-		    to only return HTTP headers and no actual content.  For
-		    instance, when returning a 304 redirect.
-		</para>
-	    </refsect1>
-	</refentry>
+      <refsect1>
+        <title>Description</title>
+        <para>
+          Create a self referencing URL from a filename. <command>makeurl</command>
+          can be used in three ways
+          <itemizedlist> 
+            <listitem> No argument is passed to the command (returns the current script URL)</listitem>
+            <listitem> 
+                A relative style path is passed (returns the argument prepended with the
+                current script's URL)
+            </listitem>
+            <listitem> 
+                An absolute path is passed to the command: (returns the full URL to the
+                resource)
+            </listitem>
 
 	<refentry id="parray">
 	    <refnamediv>

Modified: tcl/rivet/branches/rivet-namespace/rivet/init.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/rivet/init.tcl?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/rivet/init.tcl (original)
+++ tcl/rivet/branches/rivet-namespace/rivet/init.tcl Mon Nov 14 00:22:13 2011
@@ -24,7 +24,7 @@ namespace eval ::Rivet {
     ## versions of Rivet (see code in ::Rivet::init)
     ##
 
-    proc export_tcl_commands {tclpath} {
+    proc tcl_commands_export_list {tclpath} {
 
         # we collect the commands in rivet-tcl by reading the tclIndex
         # file and then we extract the command list from auto_index
@@ -51,7 +51,7 @@ namespace eval ::Rivet {
         foreach c $command_list {
             if {[regexp {::rivet::(.*)} $c m cmd]} {
                 lappend export_list $cmd
-                namespace eval ::rivet [list namespace export $cmd]
+#               namespace eval ::rivet [list namespace export $cmd]
             }
         }
 
@@ -125,8 +125,21 @@ namespace eval ::Rivet {
 
         ## we keep in ::rivet::export_list a list of importable commands
 
-        set ::rivet::export_list [export_tcl_commands $tclpath]
+        namespace eval ::rivet [list set export_list [tcl_commands_export_list $tclpath]]
+        namespace eval ::rivet {
 
+        ## init.tcl is run by mod_rivet (which creates the ::rivet namespace) but it gets run
+        ## standalone by mkPkgindex during the installation phase. We have to make sure the
+        ## procedure won't fail in this case, so we check for the existence of the variable.
+
+            if {[info exists ::rivet::export_namespace_commands] && $::rivet::export_namespace_commands} {
+                apache_log_error debug "exporting ::rivet commands"
+                eval namespace export $::rivet::export_list
+            } else {
+                apache_log_error debug "::rivet commands won't be exported"
+            }
+
+        }
         ## Add the packages directory to the auto_path.
         ## If we have a packages$tcl_version directory
         ## (IE: packages8.3, packages8.4) append that as well.
@@ -161,7 +174,7 @@ namespace eval ::Rivet {
 ## in Rivet < 2.1.0, before the move into the ::Rivet namespace, 
 ## we alias this command only in the global namespace
 
-interp alias {} ::rivet::incr0 {} incr
+interp alias {} ::incr0 {} incr
 
 ## Initialize Rivet.
 ::Rivet::init

Modified: tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/cookie.tcl
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/cookie.tcl?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/cookie.tcl (original)
+++ tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/cookie.tcl Mon Nov 14 00:22:13 2011
@@ -5,7 +5,7 @@
 ##
 
 
-namespace ::rivet {
+namespace eval ::rivet {
 
 ## clock_to_rfc850_gmt seconds -- Convert an integer-seconds-since-1970 
 ## click value to RFC850 format, with the additional requirement that it 

Modified: tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/tclIndex
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/tclIndex?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/tclIndex (original)
+++ tcl/rivet/branches/rivet-namespace/rivet/rivet-tcl/tclIndex Mon Nov 14 00:22:13 2011
@@ -6,18 +6,21 @@
 # element name is the name of a command and the value is
 # a script that loads the command.
 
-set auto_index(::rivet::parray) [list source [file join $dir parray.tcl]]
-set auto_index(::rivet::import_keyvalue_pairs) [list source [file join $dir import_keyvalue_pairs.tcl]]
+set auto_index(::rivet::html) [list source [file join $dir html.tcl]]
 set auto_index(::rivet::lassign) [list source [file join $dir lassign.tcl]]
-set auto_index(::rivet::debug) [list source [file join $dir debug.tcl]]
+set auto_index(::rivet::random) [list source [file join $dir random.tcl]]
 set auto_index(::rivet::rivet_command_document) [list source [file join $dir rivet_command_document.tcl]]
-set auto_index(::rivet::read_file) [list source [file join $dir read_file.tcl]]
-set auto_index(::rivet::html) [list source [file join $dir html.tcl]]
-set auto_index(::rivet::load_cookies) [list source [file join $dir load_cookies.tcl]]
+set auto_index(::rivet::load_response) [list source [file join $dir load_response.tcl]]
+set auto_index(::rivet::debug) [list source [file join $dir debug.tcl]]
+set auto_index(::rivet::clock_to_rfc850_gmt) [list source [file join $dir cookie.tcl]]
+set auto_index(::rivet::make_cookie_attributes) [list source [file join $dir cookie.tcl]]
+set auto_index(::rivet::cookie) [list source [file join $dir cookie.tcl]]
+set auto_index(::rivet::lempty) [list source [file join $dir lempty.tcl]]
 set auto_index(::rivet::import_switch_args) [list source [file join $dir import_switch_args.tcl]]
+set auto_index(::rivet::lmatch) [list source [file join $dir lmatch.tcl]]
+set auto_index(::rivet::read_file) [list source [file join $dir read_file.tcl]]
+set auto_index(::rivet::import_keyvalue_pairs) [list source [file join $dir import_keyvalue_pairs.tcl]]
+set auto_index(::rivet::parray) [list source [file join $dir parray.tcl]]
 set auto_index(::rivet::wrap) [list source [file join $dir wrap.tcl]]
 set auto_index(::rivet::wrapline) [list source [file join $dir wrap.tcl]]
-set auto_index(::rivet::load_response) [list source [file join $dir load_response.tcl]]
-set auto_index(::rivet::lmatch) [list source [file join $dir lmatch.tcl]]
-set auto_index(::rivet::random) [list source [file join $dir random.tcl]]
-set auto_index(::rivet::lempty) [list source [file join $dir lempty.tcl]]
+set auto_index(::rivet::load_cookies) [list source [file join $dir load_cookies.tcl]]

Modified: tcl/rivet/branches/rivet-namespace/src/apache-2/mod_rivet.c
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/src/apache-2/mod_rivet.c?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/src/apache-2/mod_rivet.c (original)
+++ tcl/rivet/branches/rivet-namespace/src/apache-2/mod_rivet.c Mon Nov 14 00:22:13 2011
@@ -91,9 +91,9 @@ static void Rivet_CreateCache (server_re
  
 static int Rivet_chdir_file (const char *file)
 {
-    const  char *x;
-    int    chdir_retval = 0;
-    char chdir_buf[HUGE_STRING_LEN];
+    const char  *x;
+    int         chdir_retval = 0;
+    char        chdir_buf[HUGE_STRING_LEN];
 
     x = strrchr(file, '/');
     if (x == NULL) {
@@ -943,11 +943,22 @@ Rivet_PerInterpInit(server_rec *s, rivet
 
     /* Eval Rivet's init.tcl file to load in the Tcl-level commands. */
 
+    /* Watch out! Calling Tcl_PkgRequire with a version number binds this module to
+     * the 'package provide' statement in rivet/init.tcl 
+     */
+
+    /*  If rivet was configured to export the ::rivet namespace commands we have to
+     *  set the variable ::rivet::export_namespace_commands before calling init.tcl
+     *  This variable will be unset after commands are exported.
+     */
+
+    Tcl_SetVar2Ex(interp,RIVET_NS"::export_namespace_commands",NULL,Tcl_NewIntObj(RIVET_NAMESPACE_EXPORT),0);
+
     if (Tcl_PkgRequire(interp, "RivetTcl", "2.1", 1) == NULL)
     {
         ap_log_error( APLOG_MARK, APLOG_ERR, APR_EGENERAL, s,
-                "init.tcl must be installed correctly for Apache Rivet to function: %s",
-                Tcl_GetStringResult(interp) );
+                "init.tcl must be installed correctly for Apache Rivet to function: %s (%s)",
+                Tcl_GetStringResult(interp), RIVET_DIR );
         exit(1);
     }
 
@@ -961,6 +972,7 @@ Rivet_PerInterpInit(server_rec *s, rivet
     * The problem was investigated on Linux and it became clear 
     * that it's linked to the way Tcl calls dlopen (Bug #3216070)
     * The problem could be solved in Tcl8.6 
+    */
 
     if (Tcl_PkgRequire(interp, RIVETLIB_TCL_PACKAGE, "1.2", 1) == NULL)
     {
@@ -968,7 +980,7 @@ Rivet_PerInterpInit(server_rec *s, rivet
                 "Error loading rivetlib package: %s", Tcl_GetStringResult(interp) );
         exit(1);
     } 
-    */
+    /* */
 
     /* Set the output buffer size to the largest allowed value, so that we 
      * won't send any result packets to the browser unless the Rivet

Modified: tcl/rivet/branches/rivet-namespace/src/apache-2/rivetCore.c
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/src/apache-2/rivetCore.c?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/src/apache-2/rivetCore.c (original)
+++ tcl/rivet/branches/rivet-namespace/src/apache-2/rivetCore.c Mon Nov 14 00:22:13 2011
@@ -114,7 +114,7 @@ TCL_CMD_HEADER( Rivet_MakeURL )
             if (script_name_l > 0)
             {
                 // script name may have the form a directory path (and mod_rewrite 
-                // could have mapped it to a .tcl or .rvt script
+                // could have mapped it to a .tcl or .rvt script)
                 
                 if (script_name[script_name_l-1] == '/')
                 {
@@ -1428,5 +1428,6 @@ Rivet_InitCore( Tcl_Interp *interp )
     RIVET_OBJ_CMD ("testpanic",TestpanicCmd,rivet_ns);
 #endif
 
-    return Tcl_PkgProvide( interp,RIVET_TCL_PACKAGE,"1.2");
+//  return Tcl_PkgProvide( interp,RIVET_TCL_PACKAGE,"1.2");
+    return TCL_OK;
 }

Modified: tcl/rivet/branches/rivet-namespace/src/rivet.h
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/src/rivet.h?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/src/rivet.h (original)
+++ tcl/rivet/branches/rivet-namespace/src/rivet.h Mon Nov 14 00:22:13 2011
@@ -47,6 +47,8 @@ Tcl_CreateObjCommand( interp, /* Tcl int
  * created somewhere before the macro is called. 
  */
 
+#if RIVET_NAMESPACE_EXPORT == 1
+
 #define RIVET_OBJ_CMD(name,func,ns) \
 Tcl_CreateObjCommand( interp, /* Tcl interpreter */\
 		      RIVET_NS "::" name,   /* Function name in Tcl */\
@@ -55,6 +57,17 @@ Tcl_CreateObjCommand( interp, /* Tcl int
 		      (Tcl_CmdDeleteProc *)NULL /* Tcl Delete Prov */); \
 Tcl_Export(interp,ns,name,0);
 
+#else
+
+#define RIVET_OBJ_CMD(name,func,ns) \
+Tcl_CreateObjCommand( interp, /* Tcl interpreter */\
+		      RIVET_NS "::" name,   /* Function name in Tcl */\
+		      func,   /* C function name */\
+		      NULL,   /* Client Data */\
+		      (Tcl_CmdDeleteProc *)NULL /* Tcl Delete Prov */); 
+
+#endif
+
 EXTERN int Rivet_Init( Tcl_Interp *interp );
 EXTERN int Rivet_InitList( Tcl_Interp *interp, Tcl_Namespace* ns);
 EXTERN int Rivet_InitCrypt( Tcl_Interp *interp, Tcl_Namespace* ns);

Modified: tcl/rivet/branches/rivet-namespace/src/rivetList.c
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/src/rivetList.c?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/src/rivetList.c (original)
+++ tcl/rivet/branches/rivet-namespace/src/rivetList.c Mon Nov 14 00:22:13 2011
@@ -21,7 +21,7 @@
 
 /* Rivet config */
 #ifdef HAVE_CONFIG_H
-#include <config.h>
+#include <rivet_config.h>
 #endif
 
 #include <tcl.h>

Modified: tcl/rivet/branches/rivet-namespace/tclconfig/ltmain.sh
URL: http://svn.apache.org/viewvc/tcl/rivet/branches/rivet-namespace/tclconfig/ltmain.sh?rev=1201557&r1=1201556&r2=1201557&view=diff
==============================================================================
--- tcl/rivet/branches/rivet-namespace/tclconfig/ltmain.sh (original)
+++ tcl/rivet/branches/rivet-namespace/tclconfig/ltmain.sh Mon Nov 14 00:22:13 2011
@@ -1,9 +1,9 @@
 
-# libtool (GNU libtool) 2.4
+# libtool (GNU libtool) 2.4.2
 # Written by Gordon Matzigkeit <go...@gnu.ai.mit.edu>, 1996
 
 # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, 2006,
-# 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
+# 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
 # This is free software; see the source for copying conditions.  There is NO
 # warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 
@@ -41,6 +41,7 @@
 #       --quiet, --silent    don't print informational messages
 #       --no-quiet, --no-silent
 #                            print informational messages (default)
+#       --no-warn            don't display warning messages
 #       --tag=TAG            use configuration variables from tag TAG
 #   -v, --verbose            print more informational messages than default
 #       --no-verbose         don't print the extra informational messages
@@ -69,7 +70,7 @@
 #         compiler:		$LTCC
 #         compiler flags:		$LTCFLAGS
 #         linker:		$LD (gnu? $with_gnu_ld)
-#         $progname:	(GNU libtool) 2.4 Debian-2.4-2
+#         $progname:	(GNU libtool) 2.4.2 Debian-2.4.2-1
 #         automake:	$automake_version
 #         autoconf:	$autoconf_version
 #
@@ -79,9 +80,9 @@
 
 PROGRAM=libtool
 PACKAGE=libtool
-VERSION="2.4 Debian-2.4-2"
+VERSION="2.4.2 Debian-2.4.2-1"
 TIMESTAMP=""
-package_revision=1.3293
+package_revision=1.3337
 
 # Be Bourne compatible
 if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
@@ -136,15 +137,10 @@ progpath="$0"
 
 : ${CP="cp -f"}
 test "${ECHO+set}" = set || ECHO=${as_echo-'printf %s\n'}
-: ${EGREP="/bin/grep -E"}
-: ${FGREP="/bin/grep -F"}
-: ${GREP="/bin/grep"}
-: ${LN_S="ln -s"}
 : ${MAKE="make"}
 : ${MKDIR="mkdir"}
 : ${MV="mv -f"}
 : ${RM="rm -f"}
-: ${SED="/bin/sed"}
 : ${SHELL="${CONFIG_SHELL-/bin/sh}"}
 : ${Xsed="$SED -e 1s/^X//"}
 
@@ -387,7 +383,7 @@ case $progpath in
      ;;
   *)
      save_IFS="$IFS"
-     IFS=:
+     IFS=${PATH_SEPARATOR-:}
      for progdir in $PATH; do
        IFS="$save_IFS"
        test -x "$progdir/$progname" && break
@@ -771,8 +767,8 @@ func_help ()
 	s*\$LTCFLAGS*'"$LTCFLAGS"'*
 	s*\$LD*'"$LD"'*
 	s/\$with_gnu_ld/'"$with_gnu_ld"'/
-	s/\$automake_version/'"`(automake --version) 2>/dev/null |$SED 1q`"'/
-	s/\$autoconf_version/'"`(autoconf --version) 2>/dev/null |$SED 1q`"'/
+	s/\$automake_version/'"`(${AUTOMAKE-automake} --version) 2>/dev/null |$SED 1q`"'/
+	s/\$autoconf_version/'"`(${AUTOCONF-autoconf} --version) 2>/dev/null |$SED 1q`"'/
 	p
 	d
      }
@@ -1052,6 +1048,7 @@ opt_finish=false
 opt_help=false
 opt_help_all=false
 opt_silent=:
+opt_warning=:
 opt_verbose=:
 opt_silent=false
 opt_verbose=false
@@ -1120,6 +1117,10 @@ esac
 			opt_silent=false
 func_append preserve_args " $opt"
 			;;
+      --no-warning|--no-warn)
+			opt_warning=false
+func_append preserve_args " $opt"
+			;;
       --no-verbose)
 			opt_verbose=false
 func_append preserve_args " $opt"
@@ -2059,7 +2060,7 @@ func_mode_compile ()
     *.[cCFSifmso] | \
     *.ada | *.adb | *.ads | *.asm | \
     *.c++ | *.cc | *.ii | *.class | *.cpp | *.cxx | \
-    *.[fF][09]? | *.for | *.java | *.obj | *.sx | *.cu | *.cup)
+    *.[fF][09]? | *.for | *.java | *.go | *.obj | *.sx | *.cu | *.cup)
       func_xform "$libobj"
       libobj=$func_xform_result
       ;;
@@ -3201,11 +3202,13 @@ func_mode_install ()
 
       # Set up the ranlib parameters.
       oldlib="$destdir/$name"
+      func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+      tool_oldlib=$func_to_tool_file_result
 
       func_show_eval "$install_prog \$file \$oldlib" 'exit $?'
 
       if test -n "$stripme" && test -n "$old_striplib"; then
-	func_show_eval "$old_striplib $oldlib" 'exit $?'
+	func_show_eval "$old_striplib $tool_oldlib" 'exit $?'
       fi
 
       # Do each command in the postinstall commands.
@@ -3470,7 +3473,7 @@ static const void *lt_preloaded_setup() 
 	  # linked before any other PIC object.  But we must not use
 	  # pic_flag when linking with -static.  The problem exists in
 	  # FreeBSD 2.2.6 and is fixed in FreeBSD 3.1.
-	  *-*-freebsd2*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
+	  *-*-freebsd2.*|*-*-freebsd3.0*|*-*-freebsdelf3.0*)
 	    pic_flag_for_symtable=" $pic_flag -DFREEBSD_WORKAROUND" ;;
 	  *-*-hpux*)
 	    pic_flag_for_symtable=" $pic_flag"  ;;
@@ -3982,14 +3985,17 @@ func_exec_program_core ()
 # launches target application with the remaining arguments.
 func_exec_program ()
 {
-  for lt_wr_arg
-  do
-    case \$lt_wr_arg in
-    --lt-*) ;;
-    *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
-    esac
-    shift
-  done
+  case \" \$* \" in
+  *\\ --lt-*)
+    for lt_wr_arg
+    do
+      case \$lt_wr_arg in
+      --lt-*) ;;
+      *) set x \"\$@\" \"\$lt_wr_arg\"; shift;;
+      esac
+      shift
+    done ;;
+  esac
   func_exec_program_core \${1+\"\$@\"}
 }
 
@@ -5057,9 +5063,15 @@ void lt_dump_script (FILE* f)
 {
 EOF
 	    func_emit_wrapper yes |
-              $SED -e 's/\([\\"]\)/\\\1/g' \
-	           -e 's/^/  fputs ("/' -e 's/$/\\n", f);/'
-
+	      $SED -n -e '
+s/^\(.\{79\}\)\(..*\)/\1\
+\2/
+h
+s/\([\\"]\)/\\\1/g
+s/$/\\n/
+s/\([^\n]*\).*/  fputs ("\1", f);/p
+g
+D'
             cat <<"EOF"
 }
 EOF
@@ -5643,7 +5655,8 @@ func_mode_link ()
 	continue
 	;;
 
-      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+      -mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+      |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
 	func_append compiler_flags " $arg"
 	func_append compile_command " $arg"
 	func_append finalize_command " $arg"
@@ -6150,7 +6163,8 @@ func_mode_link ()
 	lib=
 	found=no
 	case $deplib in
-	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe|-threads)
+	-mt|-mthreads|-kthread|-Kthread|-pthread|-pthreads|--thread-safe \
+        |-threads|-fopenmp|-openmp|-mp|-xopenmp|-omp|-qsmp=*)
 	  if test "$linkmode,$pass" = "prog,link"; then
 	    compile_deplibs="$deplib $compile_deplibs"
 	    finalize_deplibs="$deplib $finalize_deplibs"
@@ -6834,7 +6848,7 @@ func_mode_link ()
 	         test "$hardcode_direct_absolute" = no; then
 		add="$dir/$linklib"
 	      elif test "$hardcode_minus_L" = yes; then
-		add_dir="-L$dir"
+		add_dir="-L$absdir"
 		# Try looking first in the location we're being installed to.
 		if test -n "$inst_prefix_dir"; then
 		  case $libdir in
@@ -7319,6 +7333,7 @@ func_mode_link ()
 	  # which has an extra 1 added just for fun
 	  #
 	  case $version_type in
+	  # correct linux to gnu/linux during the next big refactor
 	  darwin|linux|osf|windows|none)
 	    func_arith $number_major + $number_minor
 	    current=$func_arith_result
@@ -7438,7 +7453,7 @@ func_mode_link ()
 	  versuffix="$major.$revision"
 	  ;;
 
-	linux)
+	linux) # correct to gnu/linux during the next big refactor
 	  func_arith $current - $age
 	  major=.$func_arith_result
 	  versuffix="$major.$age.$revision"
@@ -8026,6 +8041,11 @@ EOF
 
       # Test again, we may have decided not to build it any more
       if test "$build_libtool_libs" = yes; then
+	# Remove ${wl} instances when linking with ld.
+	# FIXME: should test the right _cmds variable.
+	case $archive_cmds in
+	  *\$LD\ *) wl= ;;
+        esac
 	if test "$hardcode_into_libs" = yes; then
 	  # Hardcode the library paths
 	  hardcode_libdirs=
@@ -8056,7 +8076,7 @@ EOF
 	    elif test -n "$runpath_var"; then
 	      case "$perm_rpath " in
 	      *" $libdir "*) ;;
-	      *) func_apped perm_rpath " $libdir" ;;
+	      *) func_append perm_rpath " $libdir" ;;
 	      esac
 	    fi
 	  done
@@ -8064,11 +8084,7 @@ EOF
 	  if test -n "$hardcode_libdir_separator" &&
 	     test -n "$hardcode_libdirs"; then
 	    libdir="$hardcode_libdirs"
-	    if test -n "$hardcode_libdir_flag_spec_ld"; then
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec_ld\"
-	    else
-	      eval dep_rpath=\"$hardcode_libdir_flag_spec\"
-	    fi
+	    eval "dep_rpath=\"$hardcode_libdir_flag_spec\""
 	  fi
 	  if test -n "$runpath_var" && test -n "$perm_rpath"; then
 	    # We should set the runpath_var.
@@ -9158,6 +9174,8 @@ EOF
 	    esac
 	  done
 	fi
+	func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
+	tool_oldlib=$func_to_tool_file_result
 	eval cmds=\"$old_archive_cmds\"
 
 	func_len " $cmds"
@@ -9267,7 +9285,8 @@ EOF
 	      *.la)
 		func_basename "$deplib"
 		name="$func_basename_result"
-		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+		func_resolve_sysroot "$deplib"
+		eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $func_resolve_sysroot_result`
 		test -z "$libdir" && \
 		  func_fatal_error "\`$deplib' is not a valid libtool archive"
 		func_append newdependency_libs " ${lt_sysroot:+=}$libdir/$name"



---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-cvs-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-cvs-help@tcl.apache.org