From: Vince Darley Date: Wed, 3 Apr 2002 08:44:30 +0000 (+0000) Subject: build X-Git-Tag: vfs-1-2~64 X-Git-Url: http://privyetmir.co.uk/gitweb.cgi?a=commitdiff_plain;h=fd31dc633b747cf626b3979b38426bfef360051b;p=tclvfs build --- diff --git a/ChangeLog b/ChangeLog index 8502d6f..246e520 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,6 @@ +2002-04-01 Vince Darley + * Makefile.in: compilation fix from jcw. + 2002-03-16 Vince Darley * generic/vfs.c: updated for latest cvs head of Tcl 8.4a5. * library/vfs.tcl: New version from jcw, with better handling diff --git a/Makefile.in b/Makefile.in index f85f5bd..1b428d3 100644 --- a/Makefile.in +++ b/Makefile.in @@ -292,8 +292,8 @@ $(vfs_LIB_FILE): $(vfs_OBJECTS) # $(COMPILE) -c `@CYGPATH@ $(srcdir)/src/win/VFS.c` -o $@ #======================================================================== -vfs.$(OBJEXT): $(srcdir)/vfs.c - $(COMPILE) -c `@CYGPATH@ $(srcdir)/vfs.c` -o $@ +generic/vfs.$(OBJEXT): $(srcdir)/generic/vfs.c + $(COMPILE) -c `@CYGPATH@ $(srcdir)/generic/vfs.c` -o $@ #======================================================================== # End of user-definable section diff --git a/Readme.txt b/Readme.txt index 009bc9b..4053f94 100644 --- a/Readme.txt +++ b/Readme.txt @@ -40,7 +40,8 @@ Compile/build The standard 'configure ; make ; make install' should work, but if it doesn't, I'm afraid I can't help --- I am not an expert on these issues and find it amazing that to compile a single C file (generic/vfs.c) a -dozen or so TEA 'helper' files are required. +dozen or so TEA 'helper' files are required. I believe 'gmake' may +be required on some platforms. For windows, there is a VC++ makefile in the win directory ('nmake -f makefile.vc') should do the trick. diff --git a/generic/vfs.c b/generic/vfs.c index 71a0eb0..d08c228 100644 --- a/generic/vfs.c +++ b/generic/vfs.c @@ -1041,6 +1041,10 @@ VfsStat(pathPtr, bufPtr) bufPtr->st_mode |= S_IFDIR; } else if (!strcmp(str,"file")) { bufPtr->st_mode |= S_IFREG; +#ifdef S_ISLNK + } else if (!strcmp(str,"link")) { + bufPtr->st_mode |= S_IFLNK; +#endif } else { /* * Do nothing. This means we do not currently diff --git a/library/pkgIndex.tcl b/library/pkgIndex.tcl index 32250ad..4dd3631 100644 --- a/library/pkgIndex.tcl +++ b/library/pkgIndex.tcl @@ -7,10 +7,16 @@ # variable $dir must contain the full path name of this file's # directory. +# We don't really want to throw an error with older versions of +# Tcl, they should just ignore us. +if {[package provide Tcl] < 8.4} { + return +} + package require Tcl 8.4 if {[info tclversion] == 8.4} { - if {[regexp {8.4a(1|2|3)} [info patchlevel]]} { - error "Tcl 8.4a4 (Sept 4 2001) or newer is required" + if {[regexp {8.4a(1|2|3|4)} [info patchlevel]]} { + error "Tcl 8.4a5 (March 20th 2002) or newer is required" } } @@ -19,11 +25,21 @@ if {[lsearch -exact $auto_path $dir] == -1} { } if {[info exists tcl_platform(debug)]} { - package ifneeded vfs 1.0 [list load [file join $dir vfs10d[info sharedlibextension]]] + set file [file join $dir vfs10d[info sharedlibextension]] } else { - package ifneeded vfs 1.0 [list load [file join $dir vfs10[info sharedlibextension]]] + set file [file join $dir vfs10[info sharedlibextension]] } +# Don't do anything if our shared lib doesn't exist. This should +# help stop a crash on pre-release MacOS X. +if {![file exists $file]} { + unset file + return +} + +package ifneeded vfs 1.0 [list load $file] +unset file + package ifneeded scripdoc 0.3 [list source [file join $dir scripdoc.tcl]] package ifneeded mk4vfs 1.0 [list source [file join $dir mk4vfs.tcl]] package ifneeded vfslib 0.1 [list source [file join $dir vfs.tcl]] diff --git a/win/makefile.vc b/win/makefile.vc index 315911d..49c2e58 100644 --- a/win/makefile.vc +++ b/win/makefile.vc @@ -13,7 +13,7 @@ VFS_VERSION = 1.0 DLL_VERSION = 10 # comment the following line to compile with symbols -NODEBUG=0 +NODEBUG=1 !IF "$(NODEBUG)" == "1" DEBUGDEFINES =