libtool-patches
[Top][All Lists]
Advanced

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

Re: win32 short name and IFS='~'


From: Naofumi Yasufuku
Subject: Re: win32 short name and IFS='~'
Date: Wed, 09 Apr 2003 17:02:55 +0900
User-agent: Wanderlust/2.10.0 (Venus) SEMI/1.14.5 (Awara-Onsen) FLIM/1.14.5 (Demachiyanagi) APEL/10.4 Emacs/21.2 (i686-pc-linux-gnu) MULE/5.0 (SAKAKI)

At Fri, 04 Apr 2003 14:21:36 +0900,
Naofumi Yasufuku wrote:
> 
> At Thu, 03 Apr 2003 22:49:49 -0600,
> Robert Boehne wrote:
> > 
> > Naofumi,
> > 
> > This doesn't look safe to me at all, I would prefer to change over
> > to ? rather than change how these delicate shell expansions are handled.
> > I'm going to try ? and see how it goes.
> > 
> 
> '?' could be used in the command expressions (e.g. $?, ${var:?word}).
> If you can assure that '?' will never used in the command expressions,
> it can be used as IFS.
> 

I would suggest using a control character, for example, '' (RS:
Record Separator, 0x1E).
I believe that '' will never be used in command expressions and it
doesn't affect m4 macro processing.

The following patch changes IFS='~' to IFS=''.
I've tested it under MinGW/Cygwin and Linux using bash.

Could you please review this patch?

Regards,
--Naofumi


rs-ifs.patch:
-------------------------------------------------------------------------------
Index: ChangeLog
===================================================================
RCS file: /cvsroot/libtool/libtool/ChangeLog,v
retrieving revision 1.1220
diff -u -r1.1220 ChangeLog
--- ChangeLog   5 Apr 2003 19:32:58 -0000       1.1220
+++ ChangeLog   9 Apr 2003 06:03:36 -0000
@@ -1,3 +1,10 @@
+2003-04-09  Naofumi Yasufuku  <address@hidden>
+
+       * libtool.m4: Changed IFS='~' command separator to IFS=''
+       (RS control character, 0x1E) to treat a path name which contains
+       '~' (e.g. -Lc:/progra~1/foo/lib).
+       * ltmain.in: Likewise.
+
 2003-04-05  Peter O'Gorman  <address@hidden>
 
        * libtool.m4: if ZSH_VERSION is set then setopt NO_GLOB_SUBST so
Index: libtool.m4
===================================================================
RCS file: /cvsroot/libtool/libtool/libtool.m4,v
retrieving revision 1.314
diff -u -r1.314 libtool.m4
--- libtool.m4  5 Apr 2003 19:32:58 -0000       1.314
+++ libtool.m4  9 Apr 2003 06:03:37 -0000
@@ -191,13 +191,13 @@
 if test -n "$RANLIB"; then
   case $host_os in
   openbsd*)
-    old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds"
+    old_postinstall_cmds="\$RANLIB -t \$oldlib$old_postinstall_cmds"
     ;;
   *)
-    old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds"
+    old_postinstall_cmds="\$RANLIB \$oldlib$old_postinstall_cmds"
     ;;
   esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
+  old_archive_cmds="$old_archive_cmds\$RANLIB \$oldlib"
 fi
 
 # Only perform the check for file, if the check method requires it
@@ -1203,13 +1203,13 @@
   yes,cygwin* | yes,mingw* | yes,pw32*)
     library_names_spec='$libname.dll.a'
     # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo 
\$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
+    postinstall_cmds='base_file=`basename \${file}`
+      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i;echo 
\$dlname'\''`
+      dldir=$destdir/`dirname \$dlpath`
+      test -d \$dldir || mkdir -p \$dldir
       $install_prog $dir/$dlname \$dldir/$dlname'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
+    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`
+      dlpath=$dir/\$dldll
        $rm \$dlpath'
     shlibpath_overrides_runpath=yes
 
@@ -2528,7 +2528,7 @@
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    archive_cmds="$archive_cmds\$RANLIB \$lib"
     postinstall_cmds='$RANLIB $lib'
   fi
   ;;
@@ -2557,8 +2557,8 @@
     _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o 
$lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring'
     _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle $allow_undefined_flag -o $lib 
$libobjs $deplibs$compiler_flags'
     # Don't fix this by using the ld -exported_symbols_list flag, it doesn't 
exist in older darwin ld's
-                 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e 
"s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag  
-o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname 
$verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
-                 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e 
"s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag  -o 
$lib $libobjs $deplibs$compiler_flags~nmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
+                 _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e 
"s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym$CC -dynamiclib $allow_undefined_flag  
-o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname 
$verstringnmedit -s $output_objdir/${libname}-symbols.expsym ${lib}'
+                 _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e 
"s,^[    ]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym$CC -bundle $allow_undefined_flag  -o 
$lib $libobjs $deplibs$compiler_flagsnmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
     _LT_AC_TAGVAR(hardcode_direct, $1)=no
     _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -2829,7 +2829,7 @@
        _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
        _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
        # This is similar to how AIX traditionally builds it's shared libraries.
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o 
$output_objdir/$soname $libobjs $deplibs $compiler_flags 
${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$soname'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o 
$output_objdir/$soname $libobjs $deplibs $compiler_flags 
${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$soname'
       fi
     fi
     ;;
@@ -2859,7 +2859,7 @@
       else
        echo EXPORTS > $output_objdir/$soname.def;
        cat $export_symbols >> $output_objdir/$soname.def;
-      fi~
+      fi
       $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects 
$libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname 
${wl}--image-base=0x10000000 ${wl}--out-implib,$lib'
     else
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -2885,17 +2885,17 @@
        if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name 
$rpath/$soname $verstring'
        else
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load 
-keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib 
$allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags 
-install_name $rpath/$soname $verstring'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load 
-keep_private_externs -nostdlib -o ${lib}-master.o $libobjs$CC -dynamiclib 
$allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags 
-install_name $rpath/$soname $verstring'
       fi
       _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle ${wl}-bind_at_load 
$allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
 
     # Don't fix this by using the ld -exported_symbols_list flag, it doesn't 
exist in older darwin ld's
       if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name 
$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym 
${lib}'
+        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym$CC -dynamiclib -single_module 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name 
$rpath/$soname $verstringnmedit -s $output_objdir/${libname}-symbols.expsym 
${lib}'
       else
-        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load 
-keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib 
$allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags 
-install_name $rpath/$soname $verstring~nmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
+        _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym$CC -r ${wl}-bind_at_load 
-keep_private_externs -nostdlib -o ${lib}-master.o $libobjs$CC -dynamiclib 
$allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags 
-install_name $rpath/$soname $verstringnmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
       fi
-        _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag  -o 
$lib $libobjs $deplibs$compiler_flags~nmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
+        _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym$CC -bundle $allow_undefined_flag  -o 
$lib $libobjs $deplibs$compiler_flagsnmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
     _LT_AC_TAGVAR(hardcode_direct, $1)=no
     _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
     _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -2950,7 +2950,7 @@
       _LT_AC_TAGVAR(ld_shlibs, $1)=no
       ;;
     aCC)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -b 
${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs 
$deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || 
mv $output_objdir/$soname $lib'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname$CC -b 
${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs 
$deplibs $postdep_objects $compiler_flagstest $output_objdir/$soname = $lib || 
mv $output_objdir/$soname $lib'
       # Commands to make compiler produce verbose output that lists
       # what "hidden" libraries, object files and flags are used when
       # linking a shared library.
@@ -2963,7 +2963,7 @@
       ;;
     *)
       if test "$GXX" = yes; then
-        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC 
-shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test 
$output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname$CC 
-shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flagstest 
$output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       else
         # FIXME: insert proper C++ library support
         _LT_AC_TAGVAR(ld_shlibs, $1)=no
@@ -3252,9 +3252,9 @@
       cxx)
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym 
-soname $soname `test -n "$verstring" && echo -set_version $verstring` 
-update_registry ${objdir}/so_locations -o $lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; 
do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
-         echo "-hidden">> $lib.exp~
-         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs 
$postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  
`test -n "$verstring" && echo -set_version $verstring` -update_registry 
$objdir/so_locations -o $lib~
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; 
do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done
+         echo "-hidden">> $lib.exp
+         $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs 
$postdep_objects $compiler_flags -msym -soname $soname -Wl,-input -Wl,$lib.exp  
`test -n "$verstring" && echo -set_version $verstring` -update_registry 
$objdir/so_locations -o $lib
          $rm $lib.exp'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -3331,8 +3331,8 @@
        # Sun C++ 4.2, 5.x and Centerline C++
        _LT_AC_TAGVAR(no_undefined_flag, $1)=' -zdefs'
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -nolib 
-h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects 
$compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo 
"local: *; };" >> $lib.exp~
-       $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o 
$lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm 
$lib.exp'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.expcat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp$echo 
"local: *; };" >> $lib.exp
+       $CC -G${allow_undefined_flag} -nolib ${wl}-M ${wl}$lib.exp -h$soname -o 
$lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags$rm 
$lib.exp'
 
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
        _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -3377,8 +3377,8 @@
          _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
          if $CC --version | grep -v '^2\.7' > /dev/null; then
            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h 
$wl$soname -o $lib'
-           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo 
"local: *; };" >> $lib.exp~
-               $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.expcat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp$echo 
"local: *; };" >> $lib.exp
+               $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags$rm $lib.exp'
 
            # Commands to make compiler produce verbose output that lists
            # what "hidden" libraries, object files and flags are used when
@@ -3388,8 +3388,8 @@
            # g++ 2.7 appears to require `-G' NOT `-shared' on this
            # platform.
            _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS 
$predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h 
$wl$soname -o $lib'
-           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo 
"local: *; };" >> $lib.exp~
-               $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects 
$libobjs $deplibs $postdep_objects $compiler_flags~$rm $lib.exp'
+           _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.expcat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp$echo 
"local: *; };" >> $lib.exp
+               $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects 
$libobjs $deplibs $postdep_objects $compiler_flags$rm $lib.exp'
 
            # Commands to make compiler produce verbose output that lists
            # what "hidden" libraries, object files and flags are used when
@@ -3662,7 +3662,7 @@
 aix3*)
   test "$enable_shared" = yes && enable_static=no
   if test -n "$RANLIB"; then
-    archive_cmds="$archive_cmds~\$RANLIB \$lib"
+    archive_cmds="$archive_cmds\$RANLIB \$lib"
     postinstall_cmds='$RANLIB $lib'
   fi
   ;;
@@ -5040,7 +5040,7 @@
       ;;
 
     amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm 
$output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > 
$output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> 
$output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> 
$output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> 
$output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd 
$output_objdir && a2ixlibrary -32)'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm 
$output_objdir/a2ixlibrary.data$echo "#define NAME $libname" > 
$output_objdir/a2ixlibrary.data$echo "#define LIBRARY_ID 1" >> 
$output_objdir/a2ixlibrary.data$echo "#define VERSION $major" >> 
$output_objdir/a2ixlibrary.data$echo "#define REVISION $revision" >> 
$output_objdir/a2ixlibrary.data$AR $AR_FLAGS $lib $libobjs$RANLIB $lib(cd 
$output_objdir && a2ixlibrary -32)'
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
 
@@ -5082,7 +5082,7 @@
        else
          echo EXPORTS > $output_objdir/$soname.def;
          cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
+       fi
        $CC -shared $output_objdir/$soname.def $libobjs $deplibs 
$compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000  
${wl}--out-implib,$lib'
       else
        ld_shlibs=no
@@ -5154,7 +5154,7 @@
     aix3*)
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
       _LT_AC_TAGVAR(always_export_symbols, $1)=yes
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname 
$libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR 
$AR_FLAGS $lib $output_objdir/$soname'
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname 
$libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE$AR 
$AR_FLAGS $lib $output_objdir/$soname'
       # Note: this linker hardcodes the directories in LIBPATH if there
       # are no directories specified by -L.
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5276,13 +5276,13 @@
          _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' '
          _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes
          # This is similar to how AIX traditionally builds it's shared 
libraries.
-         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o 
$output_objdir/$soname $libobjs $deplibs $compiler_flags 
${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$soname'
+         _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o 
$output_objdir/$soname $libobjs $deplibs $compiler_flags 
${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}$AR $AR_FLAGS 
$output_objdir/$libname$release.a $output_objdir/$soname'
        fi
       fi
       ;;
 
     amigaos*)
-      _LT_AC_TAGVAR(archive_cmds, $1)='$rm 
$output_objdir/a2ixlibrary.data~$echo "#define NAME $libname" > 
$output_objdir/a2ixlibrary.data~$echo "#define LIBRARY_ID 1" >> 
$output_objdir/a2ixlibrary.data~$echo "#define VERSION $major" >> 
$output_objdir/a2ixlibrary.data~$echo "#define REVISION $revision" >> 
$output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd 
$output_objdir && a2ixlibrary -32)'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$rm 
$output_objdir/a2ixlibrary.data$echo "#define NAME $libname" > 
$output_objdir/a2ixlibrary.data$echo "#define LIBRARY_ID 1" >> 
$output_objdir/a2ixlibrary.data$echo "#define VERSION $major" >> 
$output_objdir/a2ixlibrary.data$echo "#define REVISION $revision" >> 
$output_objdir/a2ixlibrary.data$AR $AR_FLAGS $lib $libobjs$RANLIB $lib(cd 
$output_objdir && a2ixlibrary -32)'
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
       # see comment about different semantics on the GNU ld section
@@ -5305,7 +5305,7 @@
       # Tell ltmain to make .dll files, not .so files.
       shrext=".dll"
       # FIXME: Setting linknames here is a bad hack.
-      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags 
`echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dll~linknames='
+      _LT_AC_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags 
`echo "$deplibs" | $SED -e '\''s/ -lc$//'\''` -link -dlllinknames='
       # The linker will automatically build a .lib file if we build a DLL.
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='true'
       # FIXME: Should let the user specify the lib program.
@@ -5337,16 +5337,16 @@
        if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
          _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name 
$rpath/$soname $verstring'
        else
-        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load 
-keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib 
$allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags 
-install_name $rpath/$soname $verstring'
+        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load 
-keep_private_externs -nostdlib -o ${lib}-master.o $libobjs$CC -dynamiclib 
$allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags 
-install_name $rpath/$soname $verstring'
       fi
       _LT_AC_TAGVAR(module_cmds, $1)='$CC -bundle ${wl}-bind_at_load 
$allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags'
       # Don't fix this by using the ld -exported_symbols_list flag, it doesn't 
exist in older darwin ld's
         if test "X$lt_int_apple_cc_single_mod" = Xyes ; then
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name 
$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym 
${lib}'
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym$CC -dynamiclib -single_module 
$allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name 
$rpath/$soname $verstringnmedit -s $output_objdir/${libname}-symbols.expsym 
${lib}'
         else
-          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load 
-keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib 
$allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags 
-install_name $rpath/$soname $verstring~nmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym$CC -r ${wl}-bind_at_load 
-keep_private_externs -nostdlib -o ${lib}-master.o $libobjs$CC -dynamiclib 
$allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags 
-install_name $rpath/$soname $verstringnmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
         fi
-          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym~$CC -bundle $allow_undefined_flag  -o 
$lib $libobjs $deplibs$compiler_flags~nmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
+          _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[    
]*,," -e "s,^\(..*\),_&," < $export_symbols > 
$output_objdir/${libname}-symbols.expsym$CC -bundle $allow_undefined_flag  -o 
$lib $libobjs $deplibs$compiler_flagsnmedit -s 
$output_objdir/${libname}-symbols.expsym ${lib}'
       _LT_AC_TAGVAR(hardcode_direct, $1)=no
       _LT_AC_TAGVAR(hardcode_automatic, $1)=yes
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
@@ -5394,9 +5394,9 @@
 
     hpux9*)
       if test "$GCC" = yes; then
-       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$CC -shared 
-fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs 
$compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname 
$lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname$CC -shared 
-fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs 
$compiler_flagstest $output_objdir/$soname = $lib || mv $output_objdir/$soname 
$lib'
       else
-       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname~$LD -b +b 
$install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test 
$output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
+       _LT_AC_TAGVAR(archive_cmds, $1)='$rm $output_objdir/$soname$LD -b +b 
$install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flagstest 
$output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
       fi
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
       _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=:
@@ -5516,7 +5516,7 @@
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
       _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes
       _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported
-      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > 
$output_objdir/$libname.def~$echo "DESCRIPTION \"$libname\"" >> 
$output_objdir/$libname.def~$echo DATA >> $output_objdir/$libname.def~$echo " 
SINGLE NONSHARED" >> $output_objdir/$libname.def~$echo EXPORTS >> 
$output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC 
-Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags 
$output_objdir/$libname.def'
+      _LT_AC_TAGVAR(archive_cmds, $1)='$echo "LIBRARY $libname INITINSTANCE" > 
$output_objdir/$libname.def$echo "DESCRIPTION \"$libname\"" >> 
$output_objdir/$libname.def$echo DATA >> $output_objdir/$libname.def$echo " 
SINGLE NONSHARED" >> $output_objdir/$libname.def$echo EXPORTS >> 
$output_objdir/$libname.defemxexp $libobjs >> $output_objdir/$libname.def$CC 
-Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags 
$output_objdir/$libname.def'
       _LT_AC_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o 
$output_objdir/$libname.a $output_objdir/$libname.def'
       ;;
 
@@ -5540,8 +5540,8 @@
       else
        _LT_AC_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -shared${allow_undefined_flag} 
$libobjs $deplibs $linker_flags -msym -soname $soname `test -n "$verstring" && 
echo -set_version $verstring` -update_registry ${output_objdir}/so_locations -o 
$lib'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; 
do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> 
$lib.exp~
-       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags 
$libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version 
$verstring` -update_registry ${objdir}/so_locations -o $lib~$rm $lib.exp'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; 
do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; echo "-hidden">> 
$lib.exp
+       $LD -shared${allow_undefined_flag} -input $lib.exp $linker_flags 
$libobjs $deplibs -soname $soname `test -n "$verstring" && echo -set_version 
$verstring` -update_registry ${objdir}/so_locations -o $lib$rm $lib.exp'
 
        # Both c and cxx compiler support -rpath directly
        _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
@@ -5561,12 +5561,12 @@
       _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text'
       if test "$GCC" = yes; then
        _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o 
$lib $libobjs $deplibs $compiler_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo 
"local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib 
$libobjs $deplibs $compiler_flags~$rm $lib.exp'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.expcat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp$echo 
"local: *; };" >> $lib.exp
+         $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib 
$libobjs $deplibs $compiler_flags$rm $lib.exp'
       else
        _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h 
$soname -o $lib $libobjs $deplibs $linker_flags'
-       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo 
"local: *; };" >> $lib.exp~
-       $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs 
$deplibs $linker_flags~$rm $lib.exp'
+       _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > 
$lib.expcat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp$echo 
"local: *; };" >> $lib.exp
+       $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs 
$deplibs $linker_flags$rm $lib.exp'
       fi
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
@@ -5655,8 +5655,8 @@
       # $CC -shared without GNU ld will not create a library from C++
       # object files and a static libstdc++, better avoid it by now
       _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h 
$soname -o $lib $libobjs $deplibs $linker_flags'
-      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat 
$export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> 
$lib.exp~
-               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib 
$libobjs $deplibs $linker_flags~$rm $lib.exp'
+      _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.expcat 
$export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp$echo "local: *; };" >> 
$lib.exp
+               $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib 
$libobjs $deplibs $linker_flags$rm $lib.exp'
       _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)=
       _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no
       runpath_var='LD_RUN_PATH'
@@ -5692,7 +5692,7 @@
 
   if test "$enable_shared" = yes && test "$GCC" = yes; then
     case $_LT_AC_TAGVAR(archive_cmds, $1) in
-    *'~'*)
+    *''*)
       # FIXME: we may have to deal with multi-command sequences.
       ;;
     '$CC '*)
Index: ltmain.in
===================================================================
RCS file: /cvsroot/libtool/libtool/ltmain.in,v
retrieving revision 1.334
diff -u -r1.334 ltmain.in
--- ltmain.in   2 Apr 2003 16:44:38 -0000       1.334
+++ ltmain.in   9 Apr 2003 06:03:37 -0000
@@ -2278,7 +2278,7 @@
            if test -f "$output_objdir/$soname-def"; then :
            else
              $show "extracting exported symbol list from \`$soname'"
-             save_ifs="$IFS"; IFS='~'
+             save_ifs="$IFS"; IFS=''
              eval cmds=\"$extract_expsyms_cmds\"
              for cmd in $cmds; do
                IFS="$save_ifs"
@@ -2291,7 +2291,7 @@
            # Create $newlib
            if test -f "$output_objdir/$newlib"; then :; else
              $show "generating import library for \`$soname'"
-             save_ifs="$IFS"; IFS='~'
+             save_ifs="$IFS"; IFS=''
              eval cmds=\"$old_archive_from_expsyms_cmds\"
              for cmd in $cmds; do
                IFS="$save_ifs"
@@ -3548,7 +3548,7 @@
            export_symbols="$output_objdir/$libname.exp"
            $run $rm $export_symbols
            eval cmds=\"$export_symbols_cmds\"
-           save_ifs="$IFS"; IFS='~'
+           save_ifs="$IFS"; IFS=''
            for cmd in $cmds; do
              IFS="$save_ifs"
              if len=`expr "X$cmd" : ".*"` &&
@@ -3725,7 +3725,7 @@
              else
                # All subsequent reloadable object files will link in
                # the last one created.
-               eval concat_cmds=\"\$concat_cmds~$reload_cmds $objlist 
$last_robj\"
+               eval concat_cmds=\"\$concat_cmds$reload_cmds $objlist 
$last_robj\"
              fi
              last_robj=$output_objdir/$save_output-${k}.$objext
              k=`expr $k + 1`
@@ -3737,7 +3737,7 @@
          # Handle the remaining objects by creating one last
          # reloadable object file.  All subsequent reloadable object
          # files will link in the last one created.
-         test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+         test -z "$concat_cmds" || concat_cmds=$concat_cmds
          eval concat_cmds=\"\${concat_cmds}$reload_cmds $objlist $last_robj\"
 
          if ${skipped_export-false}; then
@@ -3746,7 +3746,7 @@
            $run $rm $export_symbols
            libobjs=$output
            # Append the command to create the export file.
-           eval concat_cmds=\"\$concat_cmds~$export_symbols_cmds\"
+           eval concat_cmds=\"\$concat_cmds$export_symbols_cmds\"
           fi
 
          # Set up a command to remove the reloadale object files
@@ -3761,7 +3761,7 @@
          $echo "creating a temporary reloadable object file: $output"
 
          # Loop through the commands generated above and execute them.
-         save_ifs="$IFS"; IFS='~'
+         save_ifs="$IFS"; IFS=''
          for cmd in $concat_cmds; do
            IFS="$save_ifs"
            $show "$cmd"
@@ -3788,9 +3788,9 @@
 
          # Append the command to remove the reloadable object files
          # to the just-reset $cmds.
-         eval cmds=\"\$cmds~$rm $delfiles\"
+         eval cmds=\"\$cmds$rm $delfiles\"
        fi
-       save_ifs="$IFS"; IFS='~'
+       save_ifs="$IFS"; IFS=''
        for cmd in $cmds; do
          IFS="$save_ifs"
          $show "$cmd"
@@ -3944,7 +3944,7 @@
 
       output="$obj"
       eval cmds=\"$reload_cmds\"
-      save_ifs="$IFS"; IFS='~'
+      save_ifs="$IFS"; IFS=''
       for cmd in $cmds; do
        IFS="$save_ifs"
        $show "$cmd"
@@ -3980,7 +3980,7 @@
        reload_objs="$libobjs $reload_conv_objs"
        output="$libobj"
        eval cmds=\"$reload_cmds\"
-       save_ifs="$IFS"; IFS='~'
+       save_ifs="$IFS"; IFS=''
        for cmd in $cmds; do
          IFS="$save_ifs"
          $show "$cmd"
@@ -5002,7 +5002,7 @@
              if test "$obj" = "$last_oldobj" ; then
                RANLIB=$save_RANLIB
              fi  
-             test -z "$concat_cmds" || concat_cmds=$concat_cmds~
+             test -z "$concat_cmds" || concat_cmds=$concat_cmds
              eval concat_cmds=\"\${concat_cmds}$old_archive_cmds\"
              objlist=
            fi
@@ -5012,11 +5012,11 @@
          if test "X$oldobjs" = "X" ; then
            eval cmds=\"\$concat_cmds\"
          else
-           eval cmds=\"\$concat_cmds~$old_archive_cmds\"
+           eval cmds=\"\$concat_cmds$old_archive_cmds\"
          fi
        fi
       fi
-      save_ifs="$IFS"; IFS='~'
+      save_ifs="$IFS"; IFS=''
       for cmd in $cmds; do
        IFS="$save_ifs"
        $show "$cmd"
@@ -5415,7 +5415,7 @@
          # Do each command in the postinstall commands.
          lib="$destdir/$realname"
          eval cmds=\"$postinstall_cmds\"
-         save_ifs="$IFS"; IFS='~'
+         save_ifs="$IFS"; IFS=''
          for cmd in $cmds; do
            IFS="$save_ifs"
            $show "$cmd"
@@ -5637,7 +5637,7 @@
 
       # Do each command in the postinstall commands.
       eval cmds=\"$old_postinstall_cmds\"
-      save_ifs="$IFS"; IFS='~'
+      save_ifs="$IFS"; IFS=''
       for cmd in $cmds; do
        IFS="$save_ifs"
        $show "$cmd"
@@ -5675,7 +5675,7 @@
        if test -n "$finish_cmds"; then
          # Do each command in the finish commands.
          eval cmds=\"$finish_cmds\"
-         save_ifs="$IFS"; IFS='~'
+         save_ifs="$IFS"; IFS=''
          for cmd in $cmds; do
            IFS="$save_ifs"
            $show "$cmd"
@@ -5952,7 +5952,7 @@
            if test -n "$library_names"; then
              # Do each command in the postuninstall commands.
              eval cmds=\"$postuninstall_cmds\"
-             save_ifs="$IFS"; IFS='~'
+             save_ifs="$IFS"; IFS=''
              for cmd in $cmds; do
                IFS="$save_ifs"
                $show "$cmd"
@@ -5967,7 +5967,7 @@
            if test -n "$old_library"; then
              # Do each command in the old_postuninstall commands.
              eval cmds=\"$old_postuninstall_cmds\"
-             save_ifs="$IFS"; IFS='~'
+             save_ifs="$IFS"; IFS=''
              for cmd in $cmds; do
                IFS="$save_ifs"
                $show "$cmd"
-------------------------------------------------------------------------------


Attachment: rs-ifs.patch.gz
Description: Binary data


reply via email to

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