Rework advice for preventing empty .o files.
[gnulib.git] / config / install-sh
index e4f0039..f5061e7 100755 (executable)
@@ -1,7 +1,7 @@
 #!/bin/sh
 # install - install a program, script, or datafile
 
-scriptversion=2003-05-09.19
+scriptversion=2003-09-24.23
 
 # This originates from X11R5 (mit/util/scripts/install.sh), which was
 # later released in X11R6 (xc/config/util/install.sh) with the
@@ -151,6 +151,11 @@ if test -z "$src"; then
   exit 1
 fi
 
+# Protect names starting with `-'.
+case $src in
+  -*) src=./$src ;;
+esac
+
 if test -n "$dir_arg"; then
   dst=$src
   src=
@@ -175,6 +180,11 @@ else
     exit 1
   fi
 
+  # Protect names starting with `-'.
+  case $dst in
+    -*) dst=./$dst ;;
+  esac
+
   # If destination is a directory, append the input filename; won't work
   # if double slashes aren't ignored.
   if test -d "$dst"; then
@@ -182,11 +192,10 @@ else
   fi
 fi
 
-## this sed command emulates the dirname command
+# This sed command emulates the dirname command.
 dstdir=`echo "$dst" | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
 
 # Make sure that the destination directory exists.
-# (this part is taken from Noah Friedman's mkinstalldirs script.)
 
 # Skip lots of stat calls in the usual case.
 if test ! -d "$dstdir"; then
@@ -230,8 +239,8 @@ else
   test -z "$dstfile" && dstfile=`basename "$dst"`
 
   # Make a couple of temp file names in the proper directory.
-  dsttmp=$dstdir/#inst.$$#
-  rmtmp=$dstdir/#rm.$$#
+  dsttmp=$dstdir/_inst.$$_
+  rmtmp=$dstdir/_rm.$$_
 
   # Trap to clean up those temp files at exit.
   trap 'status=$?; rm -f "$dsttmp" "$rmtmp" && exit $status' 0