diff options
Diffstat (limited to 'unix/mkLinks.tcl')
-rw-r--r-- | unix/mkLinks.tcl | 119 |
1 files changed, 0 insertions, 119 deletions
diff --git a/unix/mkLinks.tcl b/unix/mkLinks.tcl deleted file mode 100644 index b0a4a6a..0000000 --- a/unix/mkLinks.tcl +++ /dev/null @@ -1,119 +0,0 @@ -#!/bin/sh -# mkLinks.tcl -- -# This generates the mkLinks script -# \ -exec tclsh "$0" ${1+"$@"} - -puts stdout \ -{#!/bin/sh -# This script is invoked when installing manual entries. It generates -# additional links to manual entries, corresponding to the procedure -# and command names described by the manual entry. For example, the -# Tcl manual entry Hash.3 describes procedures Tcl_InitHashTable, -# Tcl_CreateHashEntry, and many more. This script will make hard -# links so that Tcl_InitHashTable.3, Tcl_CreateHashEntry.3, and so -# on all refer to Hash.3 in the installed directory. -# -# Because of the length of command and procedure names, this mechanism -# only works on machines that support file names longer than 14 characters. -# This script checks to see if long file names are supported, and it -# doesn't make any links if they are not. -# -# The script takes one argument, which is the name of the directory -# where the manual entries have been installed. - -ZIP=true -while true; do - case $1 in - -s | --symlinks ) - S=-s - ;; - -z | --compress ) - ZIP=$2 - shift - ;; - *) break - ;; - esac - shift -done - -if test $# != 1; then - echo "Usage: mkLinks <options> dir" - exit 1 -fi - -if test "x$ZIP" != "xtrue"; then - touch TeST - $ZIP TeST - Z=`ls TeST* | sed 's/^[^.]*//'` - rm -f TeST* -fi - -cd $1 -echo foo > xyzzyTestingAVeryLongFileName.foo -x=`echo xyzzyTe*` -echo foo > xyzzyTestingaverylongfilename.foo -y=`echo xyzzyTestingav*` -rm xyzzyTe* -if test "$x" != "xyzzyTestingAVeryLongFileName.foo"; then - exit -fi -if test "$y" != "xyzzyTestingaverylongfilename.foo"; then - CASEINSENSITIVEFS=1 -fi -} - -set case_insensitive_test { if test "${CASEINSENSITIVEFS:-}" != "1"; then} -set case_insensitive_test_fi {; fi} - -foreach file $argv { - set in [open $file] - set tail [file tail $file] - set ext [file extension $file] - set state begin - while {[gets $in line] >= 0} { - switch $state { - begin { - if {[regexp "^.SH NAME" $line]} { - set state name - } - } - name { - regsub {\\-.*} $line {} line - set rmOutput "" - set lnOutput "" - set namelist {} - foreach name [split $line ,] { - regsub -all {(\\)? } $name "" name - if {![string match $name*$ext $tail]} { - if {[string match -nocase $name*$ext $tail]} { - set tst $case_insensitive_test - set tstfi $case_insensitive_test_fi - } else { - set tst "" - set tstfi "" - } - lappend namelist $name$ext - append rmOutput " $tst rm -f $name$ext $name$ext.* $tstfi\n" - append lnOutput " $tst ln \$S $tail\$Z $name$ext\$Z $tstfi\n" - } - } - puts "if test -r $tail; then" - puts " rm -f $tail.*" - puts " \$ZIP $tail" - if { [llength $namelist] } { - puts -nonewline $rmOutput - puts -nonewline $lnOutput - } - puts "fi" - set state end - } - end { - break - } - } - } - close $in -} -puts "exit 0" |