Index: xotcl/Makefile =================================================================== diff -u -r8378485a74867cfbd1bbc4d6d0fd1b2919f205c3 -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/Makefile (.../Makefile) (revision 8378485a74867cfbd1bbc4d6d0fd1b2919f205c3) +++ xotcl/Makefile (.../Makefile) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -12,24 +12,24 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile,v 1.35 2005/01/14 23:45:58 neumann Exp $ +# RCS: @(#) $Id: Makefile,v 1.36 2005/09/09 21:07:22 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that # have been added in a customized configure script. #======================================================================== -#XOTCL_VERSION = 1.3.5 +#XOTCL_VERSION = 1.3.7 XOTCL_VERSION = 1.3 src_lib_dir = ${srcdir}/library src_doc_dir = ${srcdir}/doc src_test_dir = ${srcdir}/tests src_app_dir = ${srcdir}/apps src_generic_dir = ${srcdir}/generic -TCL_LIB_SPEC = -L/home/neumann/import/tcl8.4.9/unix -ltcl8.4 -TK_LIB_SPEC = -subdirs = +TCL_LIB_SPEC = -L/usr/local/lib -ltcl8.4 +TK_LIB_SPEC = -L/usr/local/lib -ltk8.4 +subdirs = library/store/XOTclSdbm/ library/store/XOTclGdbm/ library/xml/TclExpat-1.1/ aol_prefix = /usr/local/aolserver # Requires native paths @@ -42,9 +42,9 @@ src_app_dir_native = `echo ${src_app_dir}` src_generic_dir_native = `echo ${src_generic_dir}` -libdirs = comm lib serialize +libdirs = comm lib serialize actiweb rdf registry store xml patterns libsrc = COPYRIGHT pkgIndex.tcl -appdirs = comm scripts utils +appdirs = comm scripts utils actiweb persistence appsrc = COPYRIGHT DOC_SOURCE = \ @@ -98,23 +98,23 @@ # configuration options) composed of the named objects. #======================================================================== -PKG_LIB_FILE = libxotcl1.3.5.so -PKG_STUB_LIB_FILE = libxotclstub1.3.5.a +PKG_LIB_FILE = libxotcl1.3.7.dylib +PKG_STUB_LIB_FILE = libxotclstub1.3.7.a lib_BINARIES = $(PKG_LIB_FILE) $(PKG_STUB_LIB_FILE) BINARIES = $(lib_BINARIES) SHELL = /bin/sh srcdir = . -prefix = /usr -exec_prefix = /usr +prefix = /usr/local +exec_prefix = /usr/local bindir = ${exec_prefix}/bin -libdir = /usr/lib -datadir = /usr/share +libdir = /usr/local/lib +datadir = /usr/local/share mandir = ${prefix}/man -includedir = /usr/include +includedir = /usr/local/include DESTDIR = @@ -126,36 +126,36 @@ INSTALL_SCRIPT = ${INSTALL} PACKAGE_NAME = xotcl -PACKAGE_VERSION = 1.3.5 +PACKAGE_VERSION = 1.3.7 CC = gcc -pipe -CFLAGS_DEFAULT = -O -CFLAGS_WARNING = -Wall -Wconversion -Wno-implicit-int +CFLAGS_DEFAULT = -Os +CFLAGS_WARNING = -Wall -Wno-implicit-int CLEANFILES = *.o *.a *.so *~ core gmon.out EXEEXT = -LDFLAGS_DEFAULT = -rdynamic -MAKE_LIB = ${SHLIB_LD} -o $@ $(PKG_OBJECTS) ${SHLIB_LD_FLAGS} ${SHLIB_LD_LIBS} -MAKE_SHARED_LIB = ${SHLIB_LD} -o $@ $(PKG_OBJECTS) ${SHLIB_LD_FLAGS} ${SHLIB_LD_LIBS} +LDFLAGS_DEFAULT = -prebind -Wl,-search_paths_first +MAKE_LIB = ${SHLIB_LD} -o $@ $(PKG_OBJECTS) ${SHLIB_LD_LIBS} +MAKE_SHARED_LIB = ${SHLIB_LD} -o $@ $(PKG_OBJECTS) ${SHLIB_LD_LIBS} MAKE_STATIC_LIB = ${STLIB_LD} $@ $(PKG_OBJECTS) MAKE_STUB_LIB = ${STLIB_LD} $@ $(PKG_STUB_OBJECTS) OBJEXT = o RANLIB = : RANLIB_STUB = ranlib -SHLIB_CFLAGS = -fPIC -SHLIB_LD = gcc -pipe -shared -SHLIB_LD_FLAGS = -SHLIB_LD_LIBS = ${LIBS} -L/home/neumann/import/tcl8.4.9/unix -ltclstub8.4 +SHLIB_CFLAGS = -fno-common +SHLIB_LD = cc -dynamiclib ${LDFLAGS} +SHLIB_LD_FLAGS = @SHLIB_LD_FLAGS@ +SHLIB_LD_LIBS = ${LIBS} -L/usr/local/lib -ltclstub8.4 -L/usr/local/lib -ltkstub8.4 STLIB_LD = ${AR} cr -TCL_DEFS = -DTCL_THREADS=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_PTHREAD_ATFORK=1 -DHAVE_READDIR_R=1 -DHAVE_THREE_ARG_READDIR_R=1 -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DHAVE_SYS_IOCTL_H=1 -TCL_BIN_DIR = /home/neumann/tcl8.4.9/unix -TCL_SRC_DIR = /home/neumann/import/tcl8.4.9 +TCL_DEFS = -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DTCL_WIDE_INT_TYPE=long\ long -DWORDS_BIGENDIAN=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DNO_VALUES_H=1 -DNO_DLFCN_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -Dsocklen_t=unsigned -DHAVE_SIGNED_CHAR=1 -DHAVE_PUTENV_THAT_COPIES=1 -DHAVE_SYS_IOCTL_H=1 -DHAVE_SYS_FILIO_H=1 +TCL_BIN_DIR = /usr/local/lib +TCL_SRC_DIR = /Volumes/MacOS/Users/jago/tcl8.4.4 # This is necessary for packages that use private Tcl headers #TCL_TOP_DIR_NATIVE = $(TCL_SRC_DIR) # Not used, but retained for reference of what libs Tcl required TCL_LIBS = ${DL_LIBS} ${LIBS} ${MATH_LIBS} -pkgdatadir = /usr/share/xotcl1.3.5 -pkglibdir = /usr/lib/xotcl1.3.5 -pkgincludedir = /usr/include/xotcl1.3.5 +pkgdatadir = /usr/local/share/xotcl1.3.7 +pkglibdir = /usr/local/lib/xotcl1.3.7 +pkgincludedir = /usr/local/include/xotcl1.3.7 #======================================================================== # TCLLIBPATH seeds the auto_path in Tcl's init.tcl so we can test our @@ -166,23 +166,23 @@ EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR) TCLSH_ENV = TCL_LIBRARY=`echo $(TCL_SRC_DIR)/library` \ - LD_LIBRARY_PATH="$(EXTRA_PATH):$(LD_LIBRARY_PATH)" \ + DYLD_LIBRARY_PATH="$(EXTRA_PATH):$(DYLD_LIBRARY_PATH)" \ PATH="$(EXTRA_PATH):$(PATH)" \ TCLLIBPATH="$(top_builddir) ${srcdir}" -TCLSH_PROG = /home/neumann/tcl8.4.9/unix/tclsh +TCLSH_PROG = /usr/bin/tclsh8.4.4 TCLSH = $(TCLSH_ENV) $(TCLSH_PROG) SHARED_BUILD = 1 INCLUDES = -I$(TCL_SRC_DIR)/generic -I$(TCL_SRC_DIR)/unix -I./generic -EXTRA_CFLAGS = -DXOTCLVERSION=\"1.3\" -DXOTCLPATCHLEVEL=\".5\" -DHAVE_TCL_COMPILE_H=1 +EXTRA_CFLAGS = -DXOTCLVERSION=\"1.3\" -DXOTCLPATCHLEVEL=\".7\" # TCL_DEFS is not strictly need here, but if you remove it, then you # must make sure that configure.in checks for the necessary components # that your library may use. TCL_DEFS can actually be a problem if # you do not compile with a similar machine setup as the Tcl core was # compiled with. -#DEFS = $(TCL_DEFS) -DPACKAGE_NAME=\"xotcl\" -DPACKAGE_TARNAME=\"xotcl\" -DPACKAGE_VERSION=\"1.3.5\" -DPACKAGE_STRING=\"xotcl\ 1.3.5\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DCOMPILE_XOTCL_STUBS=1 $(EXTRA_CFLAGS) -DEFS = -DPACKAGE_NAME=\"xotcl\" -DPACKAGE_TARNAME=\"xotcl\" -DPACKAGE_VERSION=\"1.3.5\" -DPACKAGE_STRING=\"xotcl\ 1.3.5\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 -DTCL_THREADS=1 -DUSE_TCL_STUBS=1 -DCOMPILE_XOTCL_STUBS=1 $(EXTRA_CFLAGS) +#DEFS = $(TCL_DEFS) -DPACKAGE_NAME=\"xotcl\" -DPACKAGE_TARNAME=\"xotcl\" -DPACKAGE_VERSION=\"1.3.7\" -DPACKAGE_STRING=\"xotcl\ 1.3.7\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DWORDS_BIGENDIAN=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 -DTCL_THREADS=1 -DTCL_WIDE_INT_TYPE=long\ long -DUSE_TCL_STUBS=1 -DCOMPILE_XOTCL_STUBS=1 $(EXTRA_CFLAGS) +DEFS = -DPACKAGE_NAME=\"xotcl\" -DPACKAGE_TARNAME=\"xotcl\" -DPACKAGE_VERSION=\"1.3.7\" -DPACKAGE_STRING=\"xotcl\ 1.3.7\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DWORDS_BIGENDIAN=1 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DHAVE_PTHREAD_ATTR_SETSTACKSIZE=1 -DHAVE_READDIR_R=1 -DTCL_THREADS=1 -DTCL_WIDE_INT_TYPE=long\ long -DUSE_TCL_STUBS=1 -DCOMPILE_XOTCL_STUBS=1 $(EXTRA_CFLAGS) CONFIG_CLEAN_FILES = Makefile xotclConfig.sh apps/utils/xotclsh apps/utils/xowish unix/xotcl.spec unix/pkgIndex.unix autom4te.cache/ @@ -213,7 +213,7 @@ # of the Makefile, in the "BINARIES" variable. #======================================================================== -binaries: $(BINARIES) xotclsh pkgIndex.tcl +binaries: $(BINARIES) xotclsh xowish pkgIndex.tcl @if test ! "x$(subdirs)" = "x" ; then dirs="$(subdirs)" ; \ for dir in $$dirs ; do \ if (cd $$dir; $(MAKE) $@) ; then true ; else exit 1 ; fi ; \ @@ -325,7 +325,7 @@ gdb: $(TCLSH_ENV) gdb $(TCLSH_PROG) $(SCRIPT) -test: binaries libraries test-core +test: binaries libraries test-core test-actiweb #TESTFLAGS = -srcdir $(srcdir) test-core: $(TCLSH_PROG) @@ -487,7 +487,7 @@ #======================================================================== clean: - -rm -rf $(BINARIES) $(CLEANFILES) xotclsh pkgIndex.tcl ./receiver \ + -rm -rf $(BINARIES) $(CLEANFILES) xotclsh xowish pkgIndex.tcl ./receiver \ $(target_doc_dir)/*-xotcl.html find ${srcdir} -type f -name \*~ -exec rm \{} \; @if test ! "x$(subdirs)" = "x" ; then dirs="$(subdirs)" ; \ @@ -527,6 +527,7 @@ else \ echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \ $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \ + ln -s $(DESTDIR)$(pkglibdir)/$$p $(DESTDIR)$(libdir)/$$p; \ fi; \ ext=`echo $$p|sed -e "s/.*\.//"`; \ if test "x$$ext" = "xdll"; then \ @@ -617,7 +618,7 @@ @echo " setenv TCLLIBPATH \"$(TCLLIBPATH)\"" @echo " and" @if test "x$(XOTCLSH)" = "x" ; then \ - echo " /home/neumann/tcl8.4.9/unix/tclsh" ; \ + echo " /usr/bin/tclsh8.4.4" ; \ echo " package require XOTcl; namespace import -force xotcl::*" ; \ echo " or" ; \ echo " put the 'package require' line into your ~/.tclshrc" ; \ @@ -641,6 +642,7 @@ (cd ..; tar zcvf xotcl-$(PACKAGE_VERSION)-bin-linux-i686-glibc.tar.gz \ `find $(exec_prefix)/bin/xotclsh $(exec_prefix)/bin/xowish \ $(prefix)/lib/xotcl* \ + $(prefix)/lib/libxotcl* \ $(prefix)/include/xotcl*.h \ $(DESTDIR)$(pkglibdir) $(prefix)/man/man1/xo* \ -type f -o -type l | fgrep -v CVS | fgrep -v SCCS | fgrep -v .junk| fgrep -v .db | fgrep -v "~" | fgrep -v "#" | fgrep -v /receiver/` \ Index: xotcl/Makefile.in =================================================================== diff -u -r0896d4deb00780e48b5b03269bf9c4ecca948919 -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/Makefile.in (.../Makefile.in) (revision 0896d4deb00780e48b5b03269bf9c4ecca948919) +++ xotcl/Makefile.in (.../Makefile.in) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -12,7 +12,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: Makefile.in,v 1.14 2005/01/06 03:10:04 neumann Exp $ +# RCS: @(#) $Id: Makefile.in,v 1.15 2005/09/09 21:07:22 neumann Exp $ #======================================================================== # Add additional lines to handle any additional AC_SUBST cases that @@ -174,7 +174,7 @@ SHARED_BUILD = @SHARED_BUILD@ INCLUDES = @PKG_INCLUDES@ @TCL_INCLUDES@ @XOTCL_BUILD_INCLUDE_SPEC@ -EXTRA_CFLAGS = @EXTRA_CFLAGS@ @PKG_CFLAGS@ +EXTRA_CFLAGS = @PKG_CFLAGS@ # TCL_DEFS is not strictly need here, but if you remove it, then you # must make sure that configure.in checks for the necessary components @@ -188,7 +188,7 @@ CPPFLAGS = @CPPFLAGS@ LIBS = @PKG_LIBS@ @LIBS@ -AR = ar +AR = @AR@ CFLAGS = @CFLAGS@ COMPILE = $(CC) $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) @@ -527,6 +527,7 @@ else \ echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \ $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \ + ln -s $(DESTDIR)$(pkglibdir)/$$p $(DESTDIR)$(libdir)/$$p; \ fi; \ ext=`echo $$p|sed -e "s/.*\.//"`; \ if test "x$$ext" = "xdll"; then \ @@ -641,6 +642,7 @@ (cd ..; tar zcvf xotcl-$(PACKAGE_VERSION)-bin-linux-i686-glibc.tar.gz \ `find $(exec_prefix)/bin/xotclsh $(exec_prefix)/bin/xowish \ $(prefix)/lib/xotcl* \ + $(prefix)/lib/libxotcl* \ $(prefix)/include/xotcl*.h \ $(DESTDIR)$(pkglibdir) $(prefix)/man/man1/xo* \ -type f -o -type l | fgrep -v CVS | fgrep -v SCCS | fgrep -v .junk| fgrep -v .db | fgrep -v "~" | fgrep -v "#" | fgrep -v /receiver/` \ Index: xotcl/apps/actiweb/Counter2.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/apps/actiweb/Counter2.xotcl (.../Counter2.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/apps/actiweb/Counter2.xotcl (.../Counter2.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -1,9 +1,10 @@ #!../../src/xotclsh -# $Id: Counter2.xotcl,v 1.1 2004/05/23 22:50:39 neumann Exp $ +# $Id: Counter2.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ array set opts {-pkgdir .}; array set opts $argv lappend auto_path $opts(-pkgdir) package require XOTcl; namespace import -force xotcl::* + package require xotcl::actiweb::htmlPlace package require xotcl::actiweb::pageTemplate Index: xotcl/apps/actiweb/univ/UNIVERSAL.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/apps/actiweb/univ/UNIVERSAL.xotcl (.../UNIVERSAL.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/apps/actiweb/univ/UNIVERSAL.xotcl (.../UNIVERSAL.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -1,5 +1,5 @@ #!/usr/local/bin/xotclsh -#$Id: UNIVERSAL.xotcl,v 1.1 2004/05/23 22:50:39 neumann Exp $ +#$Id: UNIVERSAL.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ package require XOTcl; namespace import -force xotcl::* array set opts { -ssl 0 -instanceFile UNIVERSAL.rdf -cssFile UNIVERSAL.css -root . -pkgdir .} @@ -45,10 +45,12 @@ # # instantiate parser and parser an example text into a node tree # + +#puts stderr "parsing [loadFile $opts(-instanceFile)]" RDFParser R R parse [loadFile $opts(-instanceFile)] +puts stderr "parsing done" - # # load the nodetree from the parser into the triple database # @@ -83,7 +85,7 @@ set result "" foreach c [my info children] { if {![my isContainer $c] && - [$c info class] != "::RDFTriple"} {lappend result $c} + [$c istype Resource]} {lappend result $c} } return $result } @@ -97,10 +99,12 @@ } return $result } + # create an Instance of the Resource Database RDFdb tv::db + # define Resources with its methods Class Resource Resource instproc dump {} { @@ -214,11 +218,11 @@ } LrManager instproc nav {} { - set right [my selfAction "catalog"] - set result [my html-title "Universal Navigation Bar"] + set right [my selfAction "catalog"] + set result [my html-title "Universal Navigation Bar"] set rdfsrc [my selfAction "source $::opts(-instanceFile)"] set csssrc [my selfAction "source $::opts(-root)/$::opts(-cssFile)"] - set src [my selfAction "source [info script]"] + set src [my selfAction "source [info script]"] append result
\n \ " \n\ @@ -231,8 +235,8 @@ } LrManager instproc default {} { - set right [my selfAction "catalog"] - set nav [my selfAction "nav"] + set right [my selfAction "catalog"] + set nav [my selfAction "nav"] set result [my html-title "Universal"] append result "" } - LrManager instproc init args { next ::receiver exportObjs [self] ;# export object my exportProcs details catalog nav source ;# export methods } -# create an instance of the Rearning Resource manager +# create an instance of the Learning Resource manager LrManager univ receiver proc default {} {univ default} ;# call it like index.html as default # Invoke Tiple Visitor to feed the database tv interprete #puts stderr [tv::db prettyTriples] + receiver startEventLoop ;# Start event loop Index: xotcl/apps/comm/webserver.xotcl =================================================================== diff -u -rf7894d9be99a8da3a04218abcdb9bd46b6d625c8 -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/apps/comm/webserver.xotcl (.../webserver.xotcl) (revision f7894d9be99a8da3a04218abcdb9bd46b6d625c8) +++ xotcl/apps/comm/webserver.xotcl (.../webserver.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -1,11 +1,16 @@ #!../../src/xotclsh -# $Id: webserver.xotcl,v 1.1 2004/05/23 22:50:39 neumann Exp $ +# $Id: webserver.xotcl,v 1.2 2005/09/09 21:07:23 neumann Exp $ array set opts {-root ../../doc -port 8086 -protected-port 9096 -pkgdir .} array set opts $argv lappend auto_path $opts(-pkgdir) #if {$::tcl_platform(platform) == "windows"} {lappend auto_path .} package require XOTcl; namespace import -force xotcl::* +proc ! string { + set f [open /tmp/log w+]; + puts $f "[clock format [clock seconds]] $string" + close $f} + @ @File { description { This small demo program starts two different webservers: @@ -24,15 +29,21 @@ } } +! "#### webserver starting" # We load the following packages: # +#::xotcl::package import ::xotcl::comm::httpd package require xotcl::comm::httpd +! "#### httpd required" + # now we can start the web-server instance with these settings # Httpd h1 -port $opts(-port) -root $opts(-root) @ Httpd h1 {description "unprotected web server"} +! "#### h1 started" + # specialized worker, which executes tcl commands in web pages @ Class SpecializedWorker { description { Specialized worker that can be passed to any webserver @@ -95,9 +106,11 @@ Httpd h2 -port $opts(-protected-port) -root $opts(-root) \ -httpdWrk SpecializedWorker \ - -mixin BasicAccessControl \ + -mixin Httpd::BasicAccessControl \ -addRealmEntry test "u1 test $USER test" -protectDir test "" {} +! "#### h2 started" + # # and finally call the event loop... # Index: xotcl/doc/langRef.xotcl =================================================================== diff -u -r55764ef8921abb0e4f506e0ae6b0caf3f842276d -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/doc/langRef.xotcl (.../langRef.xotcl) (revision 55764ef8921abb0e4f506e0ae6b0caf3f842276d) +++ xotcl/doc/langRef.xotcl (.../langRef.xotcl) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -1,5 +1,5 @@ -# $Id: langRef.xotcl,v 1.7 2005/01/10 11:57:35 neumann Exp $ -package provide XOTcl-langRef 1.3.3 +# $Id: langRef.xotcl,v 1.8 2005/09/09 21:07:23 neumann Exp $ +package provide XOTcl-langRef 1.3.6 package require Tcl @ @File { @@ -35,8 +35,10 @@ <@li><@TT>self calledproc@TT>: Returns method name of the target proc (only applicable in a filter). + <@li><@TT>self isnextcall@TT>: Return 1 if this method + was invoked via next, otherwise 0 <@li><@TT>self next@TT>: Return the - "next" method on the path as a string. + "next" method on the precedence path as a string. <@li><@TT>self filterreg@TT>: In a filter: returns the name of the object/class on which the filter is registered. Returns either 'objName filter filterName' or 'className instfilter filterName'. @@ -57,12 +59,17 @@ called in a context of an instproc or an method specific proc. It allows certain optimizations and shorter to write. <@/p><@p> - <@tt> next <@/tt> executes the "next" method on the precedence - order and return with the result. + <@tt>next <@/tt> invokes the next shadowed (same-named) method on the + precedence path and returns its result. If <@tt>next@tt> is + called without arguments, the arguments of the current method + are passed through the called method. If <@tt>next@tt> is + invoked with the flag <@tt>--noArgs@tt>, the shadowed method + is called without arguments. If other arguments are specified + for next, these will be used for the call. <@/p> } - date { $Date: 2005/01/10 11:57:35 $ } + date { $Date: 2005/09/09 21:07:23 $ } } ## @@ -370,18 +377,20 @@ not specified, otherwise it returns 1 if classname matches the object's class and 0 if not. - <@li><@TT>objName info children ?pattern?@TT>: Returns the list of aggregated - objects with fully qualified names if <@TT>pattern@TT> was not specified, - otherwise it returns all children where the object name matches the pattern. + <@li><@TT>objName info children ?pattern?@TT>: Returns the + list of aggregated objects with fully qualified names if + <@TT>pattern@TT> was not specified, otherwise it returns all + children where the object name matches the pattern. - <@li><@TT>objName info commands ?pattern@TT>: Returns all commands - defined for the object if <@TT>pattern@TT> was not specified, otherwise - it returns all commands that match the pattern. + <@li><@TT>objName info commands ?pattern@TT>: Returns all + commands defined for the object if <@TT>pattern@TT> was not + specified, otherwise it returns all commands that match the + pattern. - <@li><@TT>objName info default method arg var@TT>: Returns 1 if the - argument <@TT>arg@TT> of the proc (object specific method) - <@TT>method@TT> has a default - value, otherwise 0. If it exists the default value is stored in <@TT>var@TT>. + <@li><@TT>objName info default method arg var@TT>: Returns 1 + if the argument <@TT>arg@TT> of the proc (object specific + method) <@TT>method@TT> has a default value, otherwise 0. If + it exists the default value is stored in <@TT>var@TT>. <@li><@TT>objName info filter@TT>: Returns a list of filters. With -guard modifier all filterguards are integrated @@ -430,14 +439,22 @@ <@li><@TT>objName info pre methodName@TT>: Returns pre assertions of methodName. - <@li><@TT>objName info procs ?pattern?@TT>: Returns all procs defined - for the object if <@TT>pattern@TT> was not specified, + <@li><@TT>objName info procs ?pattern?@TT>: Returns all procs + defined for the object if <@TT>pattern@TT> was not specified, otherwise it returns all procs that match the pattern. - <@li><@TT>objName info vars ?pattern?@TT>: Returns all variables defined - for the object if <@TT>pattern@TT> was not specified, otherwise it - returns all variables that match the pattern. - <@/ul> + <@li><@TT>objName info precedence ?pattern?@TT>: Returns all + classes in the precedence order from which the specified + object inherits methods. The returned list of classes contains + the mixin and instmixin classes as well as the classes of the + superclass chain in linearized order (i.e., duplicate classes + are removed). If the pattern is specified, only matching classes + are returned. + + <@li><@TT>objName info vars ?pattern?@TT>: Returns all + variables defined for the object if <@TT>pattern@TT> was not + specified, otherwise it returns all variables that match the + pattern. <@/ul> } return "Value of introspected option as a string." } @@ -1190,6 +1207,9 @@ of classes. After this call, XOTcl tries again to resolve D. If it succeeds, XOTcl will continue; otherwise, an error is generated. + <@p> + This method is called on mixin/instmixin definition calls, + istype, ismixin, class, superclass and parameterclass } return "empty string" } Index: xotcl/doc/tutorial.html =================================================================== diff -u -r8378485a74867cfbd1bbc4d6d0fd1b2919f205c3 -r435b41481fb51bf000ebe736d8574fefbeec1710 --- xotcl/doc/tutorial.html (.../tutorial.html) (revision 8378485a74867cfbd1bbc4d6d0fd1b2919f205c3) +++ xotcl/doc/tutorial.html (.../tutorial.html) (revision 435b41481fb51bf000ebe736d8574fefbeec1710) @@ -1,10 +1,10 @@ - +