OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / util / src / TclTk / tcl8.6.12 / tools / installData.tcl
diff --git a/util/src/TclTk/tcl8.6.12/tools/installData.tcl b/util/src/TclTk/tcl8.6.12/tools/installData.tcl
new file mode 100644 (file)
index 0000000..4a3b1ee
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/sh
+#\
+exec tclsh "$0" ${1+"$@"}
+
+#----------------------------------------------------------------------
+#
+# installData.tcl --
+#
+#      This file installs a hierarchy of data found in the directory
+#      specified by its first argument into the directory specified
+#      by its second.
+#
+#----------------------------------------------------------------------
+#
+# Copyright (c) 2004 Kevin B. Kenny.  All rights reserved.
+# See the file "license.terms" for information on usage and redistribution
+# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
+#----------------------------------------------------------------------
+
+proc copyDir {d1 d2} {
+
+    puts [format {%*sCreating %s} [expr {4 * [info level]}] {} \
+             [file tail $d2]]
+
+    file delete -force -- $d2
+    file mkdir $d2
+
+    foreach ftail [glob -directory $d1 -nocomplain -tails *] {
+       set f [file join $d1 $ftail]
+       if {[file isdirectory $f] && [string compare CVS $ftail]} {
+           copyDir $f [file join $d2 $ftail]
+       } elseif {[file isfile $f]} {
+           file copy -force $f [file join $d2 $ftail]
+           if {$::tcl_platform(platform) eq {unix}} {
+               file attributes [file join $d2 $ftail] -permissions 0o644
+           } else {
+               file attributes [file join $d2 $ftail] -readonly 1
+           }
+       }
+    }
+
+    if {$::tcl_platform(platform) eq {unix}} {
+       file attributes $d2 -permissions 0o755
+    } else {
+       file attributes $d2 -readonly 1
+    }
+
+}
+
+copyDir [file normalize [lindex $argv 0]] [file normalize [lindex $argv 1]]